From 3508b1050e66ba2ab0008c368c2e1b2dea065d66 Mon Sep 17 00:00:00 2001 From: Jeff Date: Wed, 1 Mar 2017 12:26:56 -0800 Subject: [PATCH 01/32] Started work on v1.34.2: More PDP-10 opcode handlers --- apps/pcx86/1981/visicalc/manifest.xml | 2 +- apps/pcx86/1982/esuite/manifest.xml | 2 +- apps/pcx86/1985/rogue/manifest.xml | 2 +- apps/pcx86/1987/thinktank/manifest.xml | 2 +- apps/pcx86/1988/moria/manifest.xml | 2 +- apps/pcx86/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 +- .../machine/exerciser/machine-8080ex1.xml | 2 +- .../machine/exerciser/machine-8080pre.xml | 2 +- .../machine/exerciser/machine-cputest.xml | 2 +- .../pc8080/machine/exerciser/machine-test.xml | 2 +- devices/pc8080/machine/exerciser/machine.xml | 2 +- .../machine/invaders/debugger/machine.xml | 2 +- devices/pc8080/machine/invaders/machine.xml | 2 +- .../machine/vt100/debugger/machine-left.xml | 2 +- .../machine/vt100/debugger/machine-right.xml | 2 +- .../pc8080/machine/vt100/debugger/machine.xml | 2 +- devices/pc8080/machine/vt100/machine-left.xml | 2 +- .../pc8080/machine/vt100/machine-right.xml | 2 +- devices/pc8080/machine/vt100/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 +- .../pcx86/machine/5150/dual/64kb/machine.xml | 2 +- .../5150/mda/64kb/debugger/machine.xml | 2 +- .../pcx86/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 +- .../pcx86/machine/5160/cga/640kb/machine.xml | 2 +- .../5160/cga/640kb/softkbd/machine.xml | 2 +- .../5160/ega/256kb/debugger/machine.xml | 2 +- .../pcx86/machine/5160/ega/256kb/machine.xml | 2 +- .../machine/5160/ega/640kb/array/machine.xml | 2 +- .../5160/ega/640kb/debugger/machine.xml | 2 +- .../pcx86/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 +- .../pcx86/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 +- .../pcx86/machine/5170/vga/2048kb/machine.xml | 2 +- .../5170/vga/4096kb/debugger/machine.xml | 2 +- .../pcx86/machine/5170/vga/4096kb/machine.xml | 2 +- .../att/6300/cga/640kb/debugger/machine.xml | 2 +- .../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/pcx86/machine/custom/machine.xml | 2 +- .../z150/cga/640kb/debugger/machine.xml | 2 +- .../machine/zenith/z150/cga/640kb/machine.xml | 2 +- .../machine/ka10/test/debugger/machine.xml | 2 +- devices/pdp10/machine/ka10/test/machine.xml | 2 +- .../machine/1120/basic/debugger/machine.xml | 2 +- devices/pdp11/machine/1120/basic/machine.xml | 2 +- .../1120/bootstrap/debugger/machine.xml | 2 +- .../pdp11/machine/1120/bootstrap/machine.xml | 2 +- .../machine/1120/monitor/debugger/machine.xml | 2 +- .../pdp11/machine/1120/monitor/machine.xml | 2 +- .../machine/1120/panel/debugger/machine.xml | 2 +- .../1120/panel/debugger/test14/machine.xml | 2 +- devices/pdp11/machine/1120/panel/machine.xml | 2 +- .../machine/1145/panel/debugger/machine.xml | 2 +- devices/pdp11/machine/1145/panel/machine.xml | 2 +- .../1145/vt100/debugger/machine-left.xml | 2 +- .../1145/vt100/debugger/machine-right.xml | 2 +- .../machine/1145/vt100/debugger/machine.xml | 2 +- .../pdp11/machine/1145/vt100/machine-left.xml | 2 +- .../machine/1145/vt100/machine-right.xml | 2 +- devices/pdp11/machine/1145/vt100/machine.xml | 2 +- .../machine/1170/4mb/debugger/machine.xml | 2 +- devices/pdp11/machine/1170/4mb/machine.xml | 2 +- .../machine/1170/monitor/debugger/machine.xml | 2 +- .../pdp11/machine/1170/monitor/machine.xml | 2 +- .../1170/panel/debugger/cpuexer/machine.xml | 2 +- .../1170/panel/debugger/machine-slim.xml | 2 +- .../machine/1170/panel/debugger/machine.xml | 2 +- devices/pdp11/machine/1170/panel/machine.xml | 2 +- .../1170/vt100/debugger/machine-left.xml | 2 +- .../1170/vt100/debugger/machine-right.xml | 2 +- .../machine/1170/vt100/debugger/machine.xml | 2 +- .../pdp11/machine/1170/vt100/machine-left.xml | 2 +- .../machine/1170/vt100/machine-right.xml | 2 +- devices/pdp11/machine/1170/vt100/machine.xml | 2 +- .../pcx86/apps/ibm/topview/1.01/manifest.xml | 2 +- disks/pcx86/apps/lotus/123/1.0a/manifest.xml | 2 +- .../apps/micropro/wordstar/3.30/manifest.xml | 2 +- .../apps/micropro/wordstar/4.00/manifest.xml | 2 +- .../apps/microsoft/chart/2.02/manifest.xml | 2 +- .../apps/microsoft/winword/2.0c/manifest.xml | 2 +- .../apps/microsoft/word/3.0/manifest.xml | 2 +- .../apps/microsoft/word/3.1/manifest.xml | 2 +- .../apps/microsoft/word/5.0/manifest.xml | 2 +- .../apps/sunnyhill/omniview/4.30/manifest.xml | 2 +- disks/pcx86/cpm/1.1b/machine.xml | 2 +- disks/pcx86/cpm/1.1b/manifest.xml | 2 +- disks/pcx86/diags/ibm/manifest.xml | 2 +- disks/pcx86/dos/compaq/1.11/manifest.xml | 2 +- disks/pcx86/dos/compaq/1.12/manifest.xml | 2 +- disks/pcx86/dos/compaq/2.12/manifest.xml | 2 +- disks/pcx86/dos/compaq/3.00/manifest.xml | 2 +- disks/pcx86/dos/compaq/3.10/manifest.xml | 2 +- disks/pcx86/dos/compaq/3.31/manifest.xml | 2 +- disks/pcx86/dos/ibm/1.00/manifest.xml | 2 +- disks/pcx86/dos/ibm/1.10/manifest.xml | 2 +- disks/pcx86/dos/ibm/2.00/manifest.xml | 2 +- disks/pcx86/dos/ibm/2.10/manifest.xml | 2 +- disks/pcx86/dos/ibm/3.00/manifest.xml | 2 +- disks/pcx86/dos/ibm/3.10/manifest.xml | 2 +- disks/pcx86/dos/ibm/3.20/manifest.xml | 2 +- disks/pcx86/dos/ibm/3.30/manifest.xml | 2 +- disks/pcx86/dos/ibm/4.00/manifest.xml | 2 +- disks/pcx86/dos/ibm/5.00/manifest.xml | 2 +- disks/pcx86/dos/ibm/6.10/manifest.xml | 2 +- disks/pcx86/dos/ibm/6.30/manifest.xml | 2 +- disks/pcx86/dos/ibm/7.00/manifest.xml | 2 +- disks/pcx86/dos/microsoft/3.20/manifest.xml | 2 +- disks/pcx86/dos/microsoft/3.21/manifest.xml | 2 +- disks/pcx86/dos/microsoft/3.30/manifest.xml | 2 +- disks/pcx86/dos/microsoft/3.31/manifest.xml | 2 +- disks/pcx86/dos/microsoft/4.00/manifest.xml | 2 +- .../dos/microsoft/4.01/720K/manifest.xml | 2 +- disks/pcx86/dos/microsoft/4.01/manifest.xml | 2 +- disks/pcx86/dos/microsoft/4.0M/manifest.xml | 2 +- disks/pcx86/dos/microsoft/5.00/manifest.xml | 2 +- disks/pcx86/dos/microsoft/6.00/manifest.xml | 2 +- disks/pcx86/dos/microsoft/6.20/manifest.xml | 2 +- disks/pcx86/dos/microsoft/6.22/manifest.xml | 2 +- disks/pcx86/empty/manifest.xml | 2 +- disks/pcx86/games/id/wolf3d/manifest.xml | 2 +- disks/pcx86/games/infocom/hhiker/manifest.xml | 2 +- disks/pcx86/games/infocom/machine.xml | 2 +- disks/pcx86/games/infocom/planet/manifest.xml | 2 +- .../games/infocom/zork1/debugger/machine.xml | 2 +- disks/pcx86/games/infocom/zork1/manifest.xml | 2 +- disks/pcx86/games/infocom/zork2/manifest.xml | 2 +- disks/pcx86/games/infocom/zork3/manifest.xml | 2 +- .../games/microsoft/adventure/machine.xml | 2 +- .../games/microsoft/adventure/manifest.xml | 2 +- .../microsoft/flightsim/1982/manifest.xml | 2 +- .../microsoft/flightsim/1984/manifest.xml | 2 +- disks/pcx86/minix/1.1/manifest.xml | 2 +- disks/pcx86/os2/ibm/1.0/manifest.xml | 2 +- disks/pcx86/os2/ibm/1.1/manifest.xml | 2 +- disks/pcx86/os2/ibm/1.3/manifest.xml | 2 +- disks/pcx86/os2/microsoft/1.0/manifest.xml | 2 +- disks/pcx86/os2/misc/manifest.xml | 2 +- .../tools/borland/pascal/3.00b/manifest.xml | 2 +- .../tools/borland/pascal/3.01a/manifest.xml | 2 +- .../pcx86/tools/ibm/bascom/1.00/manifest.xml | 2 +- .../pcx86/tools/microsoft/basic/manifest.xml | 2 +- .../pcx86/tools/microsoft/c/2.03/manifest.xml | 2 +- .../pcx86/tools/microsoft/c/3.00/manifest.xml | 2 +- .../pcx86/tools/microsoft/c/4.00/manifest.xml | 2 +- .../pcx86/tools/microsoft/c/5.00/manifest.xml | 2 +- .../tools/microsoft/c/5.10-os2/manifest.xml | 2 +- .../pcx86/tools/microsoft/c/5.10/manifest.xml | 2 +- .../tools/microsoft/masm/1.00/manifest.xml | 2 +- .../tools/microsoft/masm/3.00/manifest.xml | 2 +- .../tools/microsoft/masm/3.01/manifest.xml | 2 +- .../tools/microsoft/masm/4.00/manifest.xml | 2 +- .../tools/microsoft/masm/5.00/manifest.xml | 2 +- .../tools/microsoft/masm/5.10/manifest.xml | 2 +- .../tools/microsoft/masm/6.00/manifest.xml | 2 +- .../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/pcx86/tools/misc/manifest.xml | 2 +- disks/pcx86/unix/ibm/pcix/1.0/manifest.xml | 2 +- .../unix/microport/system-v/2.3/manifest.xml | 2 +- .../unix/sco/xenix/8086/2.1.3/manifest.xml | 2 +- disks/pcx86/windows/1.00/manifest.xml | 2 +- disks/pcx86/windows/1.01/manifest.xml | 2 +- disks/pcx86/windows/1.02/manifest.xml | 2 +- disks/pcx86/windows/1.03/manifest.xml | 2 +- disks/pcx86/windows/1.03a/manifest.xml | 2 +- disks/pcx86/windows/1.03b/manifest.xml | 2 +- disks/pcx86/windows/1.04/manifest.xml | 2 +- disks/pcx86/windows/2.03/manifest.xml | 2 +- disks/pcx86/windows/2.0x/manifest.xml | 2 +- disks/pcx86/windows/2.10/manifest.xml | 2 +- disks/pcx86/windows/2.11/manifest.xml | 2 +- disks/pcx86/windows/3.00/720K/manifest.xml | 2 +- disks/pcx86/windows/3.00/manifest.xml | 2 +- disks/pcx86/windows/3.10/manifest.xml | 2 +- disks/pcx86/windows/3.11/manifest.xml | 2 +- .../pcx86/windows/win95/4.00.499/manifest.xml | 2 +- .../pcx86/windows/win95/4.00.950/manifest.xml | 2 +- disks/pcx86/windows/wincomm/manifest.xml | 2 +- docs/pcx86/examples/components.xsl | 4 +- docs/pcx86/examples/pcx86-dbg.js | 22 +- docs/pcx86/examples/pcx86.js | 18 +- modules/pdp10/lib/cpuops.js | 138 +- modules/pdp10/lib/debugger.js | 104 +- 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 +- versions/c1pjs/1.34.2/c1p-dbg.js | 194 +++ versions/c1pjs/1.34.2/c1p.js | 157 ++ versions/c1pjs/1.34.2/common.css | 278 ++++ versions/c1pjs/1.34.2/common.xsl | 56 + versions/c1pjs/1.34.2/components.css | 108 ++ versions/c1pjs/1.34.2/components.xsl | 588 +++++++ versions/c1pjs/1.34.2/document.css | 162 ++ versions/c1pjs/1.34.2/document.xsl | 452 ++++++ versions/c1pjs/1.34.2/machine.xsl | 61 + versions/c1pjs/1.34.2/manifest.xsl | 247 +++ versions/c1pjs/1.34.2/outline.xsl | 47 + versions/pc8080/1.34.2/common.css | 278 ++++ versions/pc8080/1.34.2/common.xsl | 56 + versions/pc8080/1.34.2/components.css | 257 +++ versions/pc8080/1.34.2/components.xsl | 1383 +++++++++++++++++ versions/pc8080/1.34.2/document.css | 162 ++ versions/pc8080/1.34.2/document.xsl | 452 ++++++ versions/pc8080/1.34.2/machine.xsl | 61 + versions/pc8080/1.34.2/manifest.xsl | 247 +++ versions/pc8080/1.34.2/outline.xsl | 47 + versions/pc8080/1.34.2/pc8080-dbg.js | 301 ++++ versions/pc8080/1.34.2/pc8080.js | 221 +++ versions/pcx86/1.34.2/common.css | 278 ++++ versions/pcx86/1.34.2/common.xsl | 56 + versions/pcx86/1.34.2/components.css | 257 +++ versions/pcx86/1.34.2/components.xsl | 1383 +++++++++++++++++ versions/pcx86/1.34.2/document.css | 162 ++ versions/pcx86/1.34.2/document.xsl | 452 ++++++ versions/pcx86/1.34.2/machine.xsl | 61 + versions/pcx86/1.34.2/manifest.xsl | 247 +++ versions/pcx86/1.34.2/outline.xsl | 47 + versions/pcx86/1.34.2/pcx86-dbg.js | 888 +++++++++++ versions/pcx86/1.34.2/pcx86.js | 697 +++++++++ versions/pdpjs/1.34.2/common.css | 278 ++++ versions/pdpjs/1.34.2/common.xsl | 56 + versions/pdpjs/1.34.2/components.css | 257 +++ versions/pdpjs/1.34.2/components.xsl | 1383 +++++++++++++++++ versions/pdpjs/1.34.2/document.css | 162 ++ versions/pdpjs/1.34.2/document.xsl | 452 ++++++ versions/pdpjs/1.34.2/machine.xsl | 61 + versions/pdpjs/1.34.2/manifest.xsl | 247 +++ versions/pdpjs/1.34.2/outline.xsl | 47 + versions/pdpjs/1.34.2/pdp10-dbg.js | 225 +++ versions/pdpjs/1.34.2/pdp10.js | 161 ++ versions/pdpjs/1.34.2/pdp11-dbg.js | 394 +++++ versions/pdpjs/1.34.2/pdp11.js | 304 ++++ 297 files changed, 14771 insertions(+), 377 deletions(-) create mode 100644 versions/c1pjs/1.34.2/c1p-dbg.js create mode 100644 versions/c1pjs/1.34.2/c1p.js create mode 100644 versions/c1pjs/1.34.2/common.css create mode 100644 versions/c1pjs/1.34.2/common.xsl create mode 100644 versions/c1pjs/1.34.2/components.css create mode 100644 versions/c1pjs/1.34.2/components.xsl create mode 100644 versions/c1pjs/1.34.2/document.css create mode 100644 versions/c1pjs/1.34.2/document.xsl create mode 100644 versions/c1pjs/1.34.2/machine.xsl create mode 100644 versions/c1pjs/1.34.2/manifest.xsl create mode 100644 versions/c1pjs/1.34.2/outline.xsl create mode 100644 versions/pc8080/1.34.2/common.css create mode 100644 versions/pc8080/1.34.2/common.xsl create mode 100644 versions/pc8080/1.34.2/components.css create mode 100644 versions/pc8080/1.34.2/components.xsl create mode 100644 versions/pc8080/1.34.2/document.css create mode 100644 versions/pc8080/1.34.2/document.xsl create mode 100644 versions/pc8080/1.34.2/machine.xsl create mode 100644 versions/pc8080/1.34.2/manifest.xsl create mode 100644 versions/pc8080/1.34.2/outline.xsl create mode 100644 versions/pc8080/1.34.2/pc8080-dbg.js create mode 100644 versions/pc8080/1.34.2/pc8080.js create mode 100644 versions/pcx86/1.34.2/common.css create mode 100644 versions/pcx86/1.34.2/common.xsl create mode 100644 versions/pcx86/1.34.2/components.css create mode 100644 versions/pcx86/1.34.2/components.xsl create mode 100644 versions/pcx86/1.34.2/document.css create mode 100644 versions/pcx86/1.34.2/document.xsl create mode 100644 versions/pcx86/1.34.2/machine.xsl create mode 100644 versions/pcx86/1.34.2/manifest.xsl create mode 100644 versions/pcx86/1.34.2/outline.xsl create mode 100644 versions/pcx86/1.34.2/pcx86-dbg.js create mode 100644 versions/pcx86/1.34.2/pcx86.js create mode 100644 versions/pdpjs/1.34.2/common.css create mode 100644 versions/pdpjs/1.34.2/common.xsl create mode 100644 versions/pdpjs/1.34.2/components.css create mode 100644 versions/pdpjs/1.34.2/components.xsl create mode 100644 versions/pdpjs/1.34.2/document.css create mode 100644 versions/pdpjs/1.34.2/document.xsl create mode 100644 versions/pdpjs/1.34.2/machine.xsl create mode 100644 versions/pdpjs/1.34.2/manifest.xsl create mode 100644 versions/pdpjs/1.34.2/outline.xsl create mode 100644 versions/pdpjs/1.34.2/pdp10-dbg.js create mode 100644 versions/pdpjs/1.34.2/pdp10.js create mode 100644 versions/pdpjs/1.34.2/pdp11-dbg.js create mode 100644 versions/pdpjs/1.34.2/pdp11.js diff --git a/apps/pcx86/1981/visicalc/manifest.xml b/apps/pcx86/1981/visicalc/manifest.xml index 1af86b162..52abc2d46 100644 --- a/apps/pcx86/1981/visicalc/manifest.xml +++ b/apps/pcx86/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pcx86/1982/esuite/manifest.xml b/apps/pcx86/1982/esuite/manifest.xml index d55dc99c3..3d567896b 100644 --- a/apps/pcx86/1982/esuite/manifest.xml +++ b/apps/pcx86/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pcx86/1985/rogue/manifest.xml b/apps/pcx86/1985/rogue/manifest.xml index 153b730e4..c670ecdc9 100644 --- a/apps/pcx86/1985/rogue/manifest.xml +++ b/apps/pcx86/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pcx86/1987/thinktank/manifest.xml b/apps/pcx86/1987/thinktank/manifest.xml index 272e888bb..fd622774e 100644 --- a/apps/pcx86/1987/thinktank/manifest.xml +++ b/apps/pcx86/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pcx86/1988/moria/manifest.xml b/apps/pcx86/1988/moria/manifest.xml index 2646376ad..e3216b8e9 100644 --- a/apps/pcx86/1988/moria/manifest.xml +++ b/apps/pcx86/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pcx86/1992/moria/manifest.xml b/apps/pcx86/1992/moria/manifest.xml index d38147f44..e88925e87 100644 --- a/apps/pcx86/1992/moria/manifest.xml +++ b/apps/pcx86/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 781235f5f..020276903 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 5f9c2ecab..aa6c6d878 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 82d147ef5..acfaf76da 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 7c83d6fcb..464828971 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 de1a4639c..858bb2342 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 895eb8867..315f81200 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 941866ab1..3ba0ed508 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/pc8080/machine/exerciser/machine-8080ex1.xml b/devices/pc8080/machine/exerciser/machine-8080ex1.xml index 6a634a4fa..5fb307e6a 100644 --- a/devices/pc8080/machine/exerciser/machine-8080ex1.xml +++ b/devices/pc8080/machine/exerciser/machine-8080ex1.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Test Machine diff --git a/devices/pc8080/machine/exerciser/machine-8080pre.xml b/devices/pc8080/machine/exerciser/machine-8080pre.xml index 830efc874..58b076e14 100644 --- a/devices/pc8080/machine/exerciser/machine-8080pre.xml +++ b/devices/pc8080/machine/exerciser/machine-8080pre.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Preliminary Test Machine diff --git a/devices/pc8080/machine/exerciser/machine-cputest.xml b/devices/pc8080/machine/exerciser/machine-cputest.xml index 656feca19..270d7d7ad 100644 --- a/devices/pc8080/machine/exerciser/machine-cputest.xml +++ b/devices/pc8080/machine/exerciser/machine-cputest.xml @@ -1,5 +1,5 @@ - + 8080 CPUTEST Machine diff --git a/devices/pc8080/machine/exerciser/machine-test.xml b/devices/pc8080/machine/exerciser/machine-test.xml index 649c8aecc..30bd8c614 100644 --- a/devices/pc8080/machine/exerciser/machine-test.xml +++ b/devices/pc8080/machine/exerciser/machine-test.xml @@ -1,5 +1,5 @@ - + 8080 "Kelly Smith" Test Machine diff --git a/devices/pc8080/machine/exerciser/machine.xml b/devices/pc8080/machine/exerciser/machine.xml index 6a634a4fa..5fb307e6a 100644 --- a/devices/pc8080/machine/exerciser/machine.xml +++ b/devices/pc8080/machine/exerciser/machine.xml @@ -1,5 +1,5 @@ - + 8080 Exerciser Test Machine diff --git a/devices/pc8080/machine/invaders/debugger/machine.xml b/devices/pc8080/machine/invaders/debugger/machine.xml index a3eefdfbc..6a78e1feb 100644 --- a/devices/pc8080/machine/invaders/debugger/machine.xml +++ b/devices/pc8080/machine/invaders/debugger/machine.xml @@ -1,5 +1,5 @@ - + Space Invaders diff --git a/devices/pc8080/machine/invaders/machine.xml b/devices/pc8080/machine/invaders/machine.xml index 3d069d6d1..83ce74f67 100644 --- a/devices/pc8080/machine/invaders/machine.xml +++ b/devices/pc8080/machine/invaders/machine.xml @@ -1,5 +1,5 @@ - + Space Invaders diff --git a/devices/pc8080/machine/vt100/debugger/machine-left.xml b/devices/pc8080/machine/vt100/debugger/machine-left.xml index 6d764fe5e..dec1c01bc 100644 --- a/devices/pc8080/machine/vt100/debugger/machine-left.xml +++ b/devices/pc8080/machine/vt100/debugger/machine-left.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/debugger/machine-right.xml b/devices/pc8080/machine/vt100/debugger/machine-right.xml index 6c61957d3..827a01da7 100644 --- a/devices/pc8080/machine/vt100/debugger/machine-right.xml +++ b/devices/pc8080/machine/vt100/debugger/machine-right.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/debugger/machine.xml b/devices/pc8080/machine/vt100/debugger/machine.xml index ddfcef650..6c96abca7 100644 --- a/devices/pc8080/machine/vt100/debugger/machine.xml +++ b/devices/pc8080/machine/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/machine-left.xml b/devices/pc8080/machine/vt100/machine-left.xml index 731f537b1..54fad3ec0 100644 --- a/devices/pc8080/machine/vt100/machine-left.xml +++ b/devices/pc8080/machine/vt100/machine-left.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/machine-right.xml b/devices/pc8080/machine/vt100/machine-right.xml index c224736be..66134f549 100644 --- a/devices/pc8080/machine/vt100/machine-right.xml +++ b/devices/pc8080/machine/vt100/machine-right.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pc8080/machine/vt100/machine.xml b/devices/pc8080/machine/vt100/machine.xml index 471246a08..065d80051 100644 --- a/devices/pc8080/machine/vt100/machine.xml +++ b/devices/pc8080/machine/vt100/machine.xml @@ -1,5 +1,5 @@ - + VT100 Terminal diff --git a/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml index c24f5879b..323052e87 100644 --- a/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml index 957a562f0..0449b5e40 100644 --- a/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml b/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml index fe2a1305e..3cb98072a 100644 --- a/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml index e9e403fde..776359c0a 100644 --- a/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pcx86/machine/5150/dual/64kb/machine.xml b/devices/pcx86/machine/5150/dual/64kb/machine.xml index 8594cb834..33fd750f0 100644 --- a/devices/pcx86/machine/5150/dual/64kb/machine.xml +++ b/devices/pcx86/machine/5150/dual/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Dual Displays diff --git a/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml b/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml index f0ecd1af0..b81b588f7 100644 --- a/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/5150/mda/64kb/machine.xml b/devices/pcx86/machine/5150/mda/64kb/machine.xml index 4d80f6446..24ccf8afe 100644 --- a/devices/pcx86/machine/5150/mda/64kb/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml index d62ef12d5..c30f433fe 100644 --- a/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5150/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), MDA, 64K diff --git a/devices/pcx86/machine/5160/cga/256kb/array/machine.xml b/devices/pcx86/machine/5160/cga/256kb/array/machine.xml index 89e1c5bd0..dd0aa9008 100644 --- a/devices/pcx86/machine/5160/cga/256kb/array/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml index bbdb0144d..a4195fec1 100644 --- a/devices/pcx86/machine/5160/cga/256kb/demo/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/cga/256kb/demo/machine.xml b/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml index 2f22d7fe7..5c4f47326 100644 --- a/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/demo/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml index abadb9341..f7a0890c6 100644 --- a/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml index 3b0323782..84a71fa85 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/cga/256kb/win101/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml index 85d46215e..db721c4cb 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml +++ b/devices/pcx86/machine/5160/cga/256kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows 1.01 diff --git a/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml index 97b94c323..5919520e8 100644 --- a/devices/pcx86/machine/5160/cga/256kb/win101/softkbd/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml index ff5043b00..50f7d1187 100644 --- a/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/512kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 512K, WIN101 diff --git a/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml index 245274c20..e7ce3d21c 100644 --- a/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/640kb/machine.xml b/devices/pcx86/machine/5160/cga/640kb/machine.xml index c13e9a164..c8897a92a 100644 --- a/devices/pcx86/machine/5160/cga/640kb/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml b/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml index be66c0658..410dd8752 100644 --- a/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/cga/640kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml b/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml index db8dbe1e8..6bb3ab049 100644 --- a/devices/pcx86/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/ega/256kb/machine.xml b/devices/pcx86/machine/5160/ega/256kb/machine.xml index b862117d9..0e8a0d6d2 100644 --- a/devices/pcx86/machine/5160/ega/256kb/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/ega/640kb/array/machine.xml b/devices/pcx86/machine/5160/ega/640kb/array/machine.xml index 7838b9050..9d05aa295 100644 --- a/devices/pcx86/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/ega/640kb/debugger/machine.xml b/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml index 0e4494b36..f818fdbd3 100644 --- a/devices/pcx86/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/ega/640kb/machine.xml b/devices/pcx86/machine/5160/ega/640kb/machine.xml index b80e5daef..bec6d8de7 100644 --- a/devices/pcx86/machine/5160/ega/640kb/machine.xml +++ b/devices/pcx86/machine/5160/ega/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml b/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml index ce4a2f01a..98a2923a0 100644 --- a/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml index ab2b14630..7e026cd08 100644 --- a/devices/pcx86/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5160/mda/256kb/fake188/machine.xml b/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml index 2e5010947..b4dd4d672 100644 --- a/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/fake188/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/256kb/machine.xml b/devices/pcx86/machine/5160/mda/256kb/machine.xml index 23c934589..c249f64b2 100644 --- a/devices/pcx86/machine/5160/mda/256kb/machine.xml +++ b/devices/pcx86/machine/5160/mda/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml index 41766b9f9..68ad34e9c 100644 --- a/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml +++ b/devices/pcx86/machine/5160/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive diff --git a/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml index 8698694bc..65aa8af6b 100644 --- a/devices/pcx86/machine/5170/cga/640kb/rev3/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/cga/640kb/rev3/machine.xml b/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml index 8ce217d91..e6e3c7a22 100644 --- a/devices/pcx86/machine/5170/cga/640kb/rev3/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml index 532934cbc..4007c19ea 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev1/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml index 9a2568759..658ceb325 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev1/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml index 839c1c78e..ee4cb6115 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml index 1eb3f7e94..54f19b35f 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml index 25f9657ad..93a86ebe4 100644 --- a/devices/pcx86/machine/5170/ega/1152kb/rev3/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml index b43c3f82f..47709d4bc 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml index f459a7e92..d5774d335 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/2048kb/rev3/machine.xml b/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml index 0a9397e12..c4f5cdd10 100644 --- a/devices/pcx86/machine/5170/ega/2048kb/rev3/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml b/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml index 5b0e4d7b6..57acc16ad 100644 --- a/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml +++ b/devices/pcx86/machine/5170/ega/640kb/rev1/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml b/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml index 11093232c..42dc5549f 100644 --- a/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml +++ b/devices/pcx86/machine/5170/ega/640kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml b/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml index 585967c92..3e16bfbe6 100644 --- a/devices/pcx86/machine/5170/mda/640kb/rev3/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/mda/640kb/rev3/machine.xml b/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml index d523e975b..c50b4a45d 100644 --- a/devices/pcx86/machine/5170/mda/640kb/rev3/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/vga/2048kb/debugger/machine.xml b/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml index 34e6d77a1..b666e6aa5 100644 --- a/devices/pcx86/machine/5170/vga/2048kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/vga/2048kb/machine.xml b/devices/pcx86/machine/5170/vga/2048kb/machine.xml index a615ce0f3..0079c21b8 100644 --- a/devices/pcx86/machine/5170/vga/2048kb/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/vga/4096kb/debugger/machine.xml b/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml index 411494412..f8e0e8b77 100644 --- a/devices/pcx86/machine/5170/vga/4096kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/5170/vga/4096kb/machine.xml b/devices/pcx86/machine/5170/vga/4096kb/machine.xml index a62557d4a..31c279f06 100644 --- a/devices/pcx86/machine/5170/vga/4096kb/machine.xml +++ b/devices/pcx86/machine/5170/vga/4096kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk diff --git a/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml index 028c59d0e..db9781883 100644 --- a/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/att/6300/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pcx86/machine/att/6300/cga/640kb/machine.xml b/devices/pcx86/machine/att/6300/cga/640kb/machine.xml index 60a839ce7..be90f5819 100644 --- a/devices/pcx86/machine/att/6300/cga/640kb/machine.xml +++ b/devices/pcx86/machine/att/6300/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml index 9e5a5fea3..6449b7652 100644 --- a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml index 2390b416b..c606917f8 100644 --- a/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml +++ b/devices/pcx86/machine/cdp/mpc1600/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml index 3790f03dd..d235b9302 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml index 169494ebc..569c7561c 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/2048kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml index 986e5cefe..a64e15eeb 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml index c1e233516..ec27c6eef 100644 --- a/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml +++ b/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml index c7207235d..e1ab6679c 100644 --- a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml +++ b/devices/pcx86/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/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml index 9398df582..f974f03b3 100644 --- a/devices/pcx86/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml index 3c5325f6f..a98563a9b 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml index 785eee381..dac29001e 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/2048kb/machine.xml +++ b/devices/pcx86/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/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml index 19f753b9d..c791b3be2 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml +++ b/devices/pcx86/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/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml b/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml index b9d445f26..c3f9c88af 100644 --- a/devices/pcx86/machine/compaq/deskpro386/vga/4096kb/machine.xml +++ b/devices/pcx86/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/pcx86/machine/custom/machine.xml b/devices/pcx86/machine/custom/machine.xml index 1f55f75bc..f06a2a17e 100644 --- a/devices/pcx86/machine/custom/machine.xml +++ b/devices/pcx86/machine/custom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml b/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml index f56e3960e..50d6e8a5a 100644 --- a/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml +++ b/devices/pcx86/machine/zenith/z150/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml b/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml index f3169b0a9..3e09fd23a 100644 --- a/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml +++ b/devices/pcx86/machine/zenith/z150/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/devices/pdp10/machine/ka10/test/debugger/machine.xml b/devices/pdp10/machine/ka10/test/debugger/machine.xml index d0f53469d..aaeae0081 100644 --- a/devices/pdp10/machine/ka10/test/debugger/machine.xml +++ b/devices/pdp10/machine/ka10/test/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-10 Test Machine with Debugger diff --git a/devices/pdp10/machine/ka10/test/machine.xml b/devices/pdp10/machine/ka10/test/machine.xml index f42aafca4..1e03d53db 100644 --- a/devices/pdp10/machine/ka10/test/machine.xml +++ b/devices/pdp10/machine/ka10/test/machine.xml @@ -1,5 +1,5 @@ - + PDP-10 Test Machine diff --git a/devices/pdp11/machine/1120/basic/debugger/machine.xml b/devices/pdp11/machine/1120/basic/debugger/machine.xml index ada648ebe..ff79f5488 100644 --- a/devices/pdp11/machine/1120/basic/debugger/machine.xml +++ b/devices/pdp11/machine/1120/basic/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, PDP-11 BASIC, Debugger diff --git a/devices/pdp11/machine/1120/basic/machine.xml b/devices/pdp11/machine/1120/basic/machine.xml index 64550ccc6..7c248906c 100644 --- a/devices/pdp11/machine/1120/basic/machine.xml +++ b/devices/pdp11/machine/1120/basic/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, PDP-11 BASIC diff --git a/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml b/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml index 407d44ff4..c3485238a 100644 --- a/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml +++ b/devices/pdp11/machine/1120/bootstrap/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, Bootstrap Loader, Debugger diff --git a/devices/pdp11/machine/1120/bootstrap/machine.xml b/devices/pdp11/machine/1120/bootstrap/machine.xml index 13cfd6ca7..71c62ab3c 100644 --- a/devices/pdp11/machine/1120/bootstrap/machine.xml +++ b/devices/pdp11/machine/1120/bootstrap/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20: 16Kb, Bootstrap Loader diff --git a/devices/pdp11/machine/1120/monitor/debugger/machine.xml b/devices/pdp11/machine/1120/monitor/debugger/machine.xml index 4661b8d79..cffe6df16 100644 --- a/devices/pdp11/machine/1120/monitor/debugger/machine.xml +++ b/devices/pdp11/machine/1120/monitor/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 Boot Monitor with 56Kb and Debugger diff --git a/devices/pdp11/machine/1120/monitor/machine.xml b/devices/pdp11/machine/1120/monitor/machine.xml index 87f55ba6d..06406280c 100644 --- a/devices/pdp11/machine/1120/monitor/machine.xml +++ b/devices/pdp11/machine/1120/monitor/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 Boot Monitor with 56Kb diff --git a/devices/pdp11/machine/1120/panel/debugger/machine.xml b/devices/pdp11/machine/1120/panel/debugger/machine.xml index 0cfa20d30..3d3fb8162 100644 --- a/devices/pdp11/machine/1120/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1120/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel and Debugger diff --git a/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml b/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml index a88e789a2..3b96dea06 100644 --- a/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml +++ b/devices/pdp11/machine/1120/panel/debugger/test14/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel and TEST 14 diff --git a/devices/pdp11/machine/1120/panel/machine.xml b/devices/pdp11/machine/1120/panel/machine.xml index f4d686755..5fc90b67d 100644 --- a/devices/pdp11/machine/1120/panel/machine.xml +++ b/devices/pdp11/machine/1120/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/20 with Front Panel diff --git a/devices/pdp11/machine/1145/panel/debugger/machine.xml b/devices/pdp11/machine/1145/panel/debugger/machine.xml index 7c7e4e332..9ec3afea1 100644 --- a/devices/pdp11/machine/1145/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1145/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1145/panel/machine.xml b/devices/pdp11/machine/1145/panel/machine.xml index 543266d8c..8d1c1f2df 100644 --- a/devices/pdp11/machine/1145/panel/machine.xml +++ b/devices/pdp11/machine/1145/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml b/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml index 2c5587a8d..9f140fc8b 100644 --- a/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml +++ b/devices/pdp11/machine/1145/vt100/debugger/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine-right.xml b/devices/pdp11/machine/1145/vt100/debugger/machine-right.xml index 6e9a594ee..cb355d5a7 100644 --- a/devices/pdp11/machine/1145/vt100/debugger/machine-right.xml +++ b/devices/pdp11/machine/1145/vt100/debugger/machine-right.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine.xml b/devices/pdp11/machine/1145/vt100/debugger/machine.xml index 377b8a9a4..d3fd69e8c 100644 --- a/devices/pdp11/machine/1145/vt100/debugger/machine.xml +++ b/devices/pdp11/machine/1145/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1145/vt100/machine-left.xml b/devices/pdp11/machine/1145/vt100/machine-left.xml index 54dd3fea4..61b2908e4 100644 --- a/devices/pdp11/machine/1145/vt100/machine-left.xml +++ b/devices/pdp11/machine/1145/vt100/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1145/vt100/machine-right.xml b/devices/pdp11/machine/1145/vt100/machine-right.xml index 49b29fe21..c051adffc 100644 --- a/devices/pdp11/machine/1145/vt100/machine-right.xml +++ b/devices/pdp11/machine/1145/vt100/machine-right.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1145/vt100/machine.xml b/devices/pdp11/machine/1145/vt100/machine.xml index 71ad9d579..8c9ec1a11 100644 --- a/devices/pdp11/machine/1145/vt100/machine.xml +++ b/devices/pdp11/machine/1145/vt100/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/45 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/4mb/debugger/machine.xml b/devices/pdp11/machine/1170/4mb/debugger/machine.xml index 088823f46..927809ed4 100644 --- a/devices/pdp11/machine/1170/4mb/debugger/machine.xml +++ b/devices/pdp11/machine/1170/4mb/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 4Mb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1170/4mb/machine.xml b/devices/pdp11/machine/1170/4mb/machine.xml index f0309614d..2a60373d5 100644 --- a/devices/pdp11/machine/1170/4mb/machine.xml +++ b/devices/pdp11/machine/1170/4mb/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 4Mb and Front Panel diff --git a/devices/pdp11/machine/1170/monitor/debugger/machine.xml b/devices/pdp11/machine/1170/monitor/debugger/machine.xml index 308bf24f3..efec5c1b4 100644 --- a/devices/pdp11/machine/1170/monitor/debugger/machine.xml +++ b/devices/pdp11/machine/1170/monitor/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Boot Monitor, and Debugger diff --git a/devices/pdp11/machine/1170/monitor/machine.xml b/devices/pdp11/machine/1170/monitor/machine.xml index 1bfae955e..8e965d5e6 100644 --- a/devices/pdp11/machine/1170/monitor/machine.xml +++ b/devices/pdp11/machine/1170/monitor/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Boot Monitor diff --git a/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml b/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml index 9ccadb3cb..7870ba5da 100644 --- a/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml +++ b/devices/pdp11/machine/1170/panel/debugger/cpuexer/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb running CPU Exerciser diff --git a/devices/pdp11/machine/1170/panel/debugger/machine-slim.xml b/devices/pdp11/machine/1170/panel/debugger/machine-slim.xml index 185c9f733..a63159bc9 100644 --- a/devices/pdp11/machine/1170/panel/debugger/machine-slim.xml +++ b/devices/pdp11/machine/1170/panel/debugger/machine-slim.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1170/panel/debugger/machine.xml b/devices/pdp11/machine/1170/panel/debugger/machine.xml index 882457165..854018c3a 100644 --- a/devices/pdp11/machine/1170/panel/debugger/machine.xml +++ b/devices/pdp11/machine/1170/panel/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel and Debugger diff --git a/devices/pdp11/machine/1170/panel/machine.xml b/devices/pdp11/machine/1170/panel/machine.xml index dd82ae281..4b42e9480 100644 --- a/devices/pdp11/machine/1170/panel/machine.xml +++ b/devices/pdp11/machine/1170/panel/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml b/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml index ddae7ff17..5df2dbaa6 100644 --- a/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml +++ b/devices/pdp11/machine/1170/vt100/debugger/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1170/vt100/debugger/machine-right.xml b/devices/pdp11/machine/1170/vt100/debugger/machine-right.xml index 1d9b53732..73fb57987 100644 --- a/devices/pdp11/machine/1170/vt100/debugger/machine-right.xml +++ b/devices/pdp11/machine/1170/vt100/debugger/machine-right.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1170/vt100/debugger/machine.xml b/devices/pdp11/machine/1170/vt100/debugger/machine.xml index 1f28eee7b..880d0e60a 100644 --- a/devices/pdp11/machine/1170/vt100/debugger/machine.xml +++ b/devices/pdp11/machine/1170/vt100/debugger/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb, Front Panel, and Debugger diff --git a/devices/pdp11/machine/1170/vt100/machine-left.xml b/devices/pdp11/machine/1170/vt100/machine-left.xml index af83b9b74..db132868b 100644 --- a/devices/pdp11/machine/1170/vt100/machine-left.xml +++ b/devices/pdp11/machine/1170/vt100/machine-left.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/vt100/machine-right.xml b/devices/pdp11/machine/1170/vt100/machine-right.xml index 20b051c47..aa4685319 100644 --- a/devices/pdp11/machine/1170/vt100/machine-right.xml +++ b/devices/pdp11/machine/1170/vt100/machine-right.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/devices/pdp11/machine/1170/vt100/machine.xml b/devices/pdp11/machine/1170/vt100/machine.xml index 6af550c0e..a48452ade 100644 --- a/devices/pdp11/machine/1170/vt100/machine.xml +++ b/devices/pdp11/machine/1170/vt100/machine.xml @@ -1,5 +1,5 @@ - + PDP-11/70 with 256Kb and Front Panel diff --git a/disks/pcx86/apps/ibm/topview/1.01/manifest.xml b/disks/pcx86/apps/ibm/topview/1.01/manifest.xml index 7d26fda63..a5e53803a 100644 --- a/disks/pcx86/apps/ibm/topview/1.01/manifest.xml +++ b/disks/pcx86/apps/ibm/topview/1.01/manifest.xml @@ -1,5 +1,5 @@ - + TopView 1.01 diff --git a/disks/pcx86/apps/lotus/123/1.0a/manifest.xml b/disks/pcx86/apps/lotus/123/1.0a/manifest.xml index 14abceb43..411b4eda3 100644 --- a/disks/pcx86/apps/lotus/123/1.0a/manifest.xml +++ b/disks/pcx86/apps/lotus/123/1.0a/manifest.xml @@ -1,5 +1,5 @@ - + 1-2-3 1.0a diff --git a/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml b/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml index 8a3f3cc77..fcf1fe375 100644 --- a/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml +++ b/disks/pcx86/apps/micropro/wordstar/3.30/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 3.30 diff --git a/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml b/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml index b16169a6d..736733fa0 100644 --- a/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml +++ b/disks/pcx86/apps/micropro/wordstar/4.00/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 4.00 diff --git a/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml b/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml index 55123b852..e297995ff 100644 --- a/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml +++ b/disks/pcx86/apps/microsoft/chart/2.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Chart 2.02 diff --git a/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml b/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml index 03dabeb1d..424c499f8 100644 --- a/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml +++ b/disks/pcx86/apps/microsoft/winword/2.0c/manifest.xml @@ -1,5 +1,5 @@ - + Word for Windows 2.0c diff --git a/disks/pcx86/apps/microsoft/word/3.0/manifest.xml b/disks/pcx86/apps/microsoft/word/3.0/manifest.xml index 3b46c307a..c855e625a 100644 --- a/disks/pcx86/apps/microsoft/word/3.0/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/3.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.0 diff --git a/disks/pcx86/apps/microsoft/word/3.1/manifest.xml b/disks/pcx86/apps/microsoft/word/3.1/manifest.xml index 11d37ef74..eb4ca4213 100644 --- a/disks/pcx86/apps/microsoft/word/3.1/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/3.1/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.1 diff --git a/disks/pcx86/apps/microsoft/word/5.0/manifest.xml b/disks/pcx86/apps/microsoft/word/5.0/manifest.xml index 8c293fc43..3cf91fba4 100644 --- a/disks/pcx86/apps/microsoft/word/5.0/manifest.xml +++ b/disks/pcx86/apps/microsoft/word/5.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 5.0 diff --git a/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml b/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml index a6703b374..fe8e45f33 100644 --- a/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml +++ b/disks/pcx86/apps/sunnyhill/omniview/4.30/manifest.xml @@ -1,5 +1,5 @@ - + Omniview 386 4.30 diff --git a/disks/pcx86/cpm/1.1b/machine.xml b/disks/pcx86/cpm/1.1b/machine.xml index 1a91cbd81..ecc1f89da 100644 --- a/disks/pcx86/cpm/1.1b/machine.xml +++ b/disks/pcx86/cpm/1.1b/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running CP/M-86 diff --git a/disks/pcx86/cpm/1.1b/manifest.xml b/disks/pcx86/cpm/1.1b/manifest.xml index e3e573988..5abb64f97 100644 --- a/disks/pcx86/cpm/1.1b/manifest.xml +++ b/disks/pcx86/cpm/1.1b/manifest.xml @@ -1,5 +1,5 @@ - + CP/M-86 1.1B diff --git a/disks/pcx86/diags/ibm/manifest.xml b/disks/pcx86/diags/ibm/manifest.xml index f2c645b8a..060a2114a 100644 --- a/disks/pcx86/diags/ibm/manifest.xml +++ b/disks/pcx86/diags/ibm/manifest.xml @@ -1,5 +1,5 @@ - + IBM PC Diagnostics Diagnostics diff --git a/disks/pcx86/dos/compaq/1.11/manifest.xml b/disks/pcx86/dos/compaq/1.11/manifest.xml index fbb548a1e..5d5c97ce9 100644 --- a/disks/pcx86/dos/compaq/1.11/manifest.xml +++ b/disks/pcx86/dos/compaq/1.11/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.11 diff --git a/disks/pcx86/dos/compaq/1.12/manifest.xml b/disks/pcx86/dos/compaq/1.12/manifest.xml index 7c1be4177..08a6e304b 100644 --- a/disks/pcx86/dos/compaq/1.12/manifest.xml +++ b/disks/pcx86/dos/compaq/1.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.12 diff --git a/disks/pcx86/dos/compaq/2.12/manifest.xml b/disks/pcx86/dos/compaq/2.12/manifest.xml index 1dc951093..628035abe 100644 --- a/disks/pcx86/dos/compaq/2.12/manifest.xml +++ b/disks/pcx86/dos/compaq/2.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 2.12 diff --git a/disks/pcx86/dos/compaq/3.00/manifest.xml b/disks/pcx86/dos/compaq/3.00/manifest.xml index df6860b54..f62be53a8 100644 --- a/disks/pcx86/dos/compaq/3.00/manifest.xml +++ b/disks/pcx86/dos/compaq/3.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.00 diff --git a/disks/pcx86/dos/compaq/3.10/manifest.xml b/disks/pcx86/dos/compaq/3.10/manifest.xml index 0c6f14222..04d80ddd2 100644 --- a/disks/pcx86/dos/compaq/3.10/manifest.xml +++ b/disks/pcx86/dos/compaq/3.10/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.10 diff --git a/disks/pcx86/dos/compaq/3.31/manifest.xml b/disks/pcx86/dos/compaq/3.31/manifest.xml index eb29eb7b7..eaab16b31 100644 --- a/disks/pcx86/dos/compaq/3.31/manifest.xml +++ b/disks/pcx86/dos/compaq/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pcx86/dos/ibm/1.00/manifest.xml b/disks/pcx86/dos/ibm/1.00/manifest.xml index d51de2f32..5b357d024 100644 --- a/disks/pcx86/dos/ibm/1.00/manifest.xml +++ b/disks/pcx86/dos/ibm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.00 diff --git a/disks/pcx86/dos/ibm/1.10/manifest.xml b/disks/pcx86/dos/ibm/1.10/manifest.xml index cc6694f3f..2cafbb492 100644 --- a/disks/pcx86/dos/ibm/1.10/manifest.xml +++ b/disks/pcx86/dos/ibm/1.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.10 diff --git a/disks/pcx86/dos/ibm/2.00/manifest.xml b/disks/pcx86/dos/ibm/2.00/manifest.xml index ea635f2bf..88a3a0718 100644 --- a/disks/pcx86/dos/ibm/2.00/manifest.xml +++ b/disks/pcx86/dos/ibm/2.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.00 diff --git a/disks/pcx86/dos/ibm/2.10/manifest.xml b/disks/pcx86/dos/ibm/2.10/manifest.xml index 69fd4ee6b..93757cc8d 100644 --- a/disks/pcx86/dos/ibm/2.10/manifest.xml +++ b/disks/pcx86/dos/ibm/2.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.10 diff --git a/disks/pcx86/dos/ibm/3.00/manifest.xml b/disks/pcx86/dos/ibm/3.00/manifest.xml index 93bf21340..244105341 100644 --- a/disks/pcx86/dos/ibm/3.00/manifest.xml +++ b/disks/pcx86/dos/ibm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.00 diff --git a/disks/pcx86/dos/ibm/3.10/manifest.xml b/disks/pcx86/dos/ibm/3.10/manifest.xml index eaae908f2..682fe9902 100644 --- a/disks/pcx86/dos/ibm/3.10/manifest.xml +++ b/disks/pcx86/dos/ibm/3.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.10 diff --git a/disks/pcx86/dos/ibm/3.20/manifest.xml b/disks/pcx86/dos/ibm/3.20/manifest.xml index 4c890d199..57baec458 100644 --- a/disks/pcx86/dos/ibm/3.20/manifest.xml +++ b/disks/pcx86/dos/ibm/3.20/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.20 diff --git a/disks/pcx86/dos/ibm/3.30/manifest.xml b/disks/pcx86/dos/ibm/3.30/manifest.xml index b6b81b17f..6083c8da9 100644 --- a/disks/pcx86/dos/ibm/3.30/manifest.xml +++ b/disks/pcx86/dos/ibm/3.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.30 diff --git a/disks/pcx86/dos/ibm/4.00/manifest.xml b/disks/pcx86/dos/ibm/4.00/manifest.xml index b109e677f..599185217 100644 --- a/disks/pcx86/dos/ibm/4.00/manifest.xml +++ b/disks/pcx86/dos/ibm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 4.00 diff --git a/disks/pcx86/dos/ibm/5.00/manifest.xml b/disks/pcx86/dos/ibm/5.00/manifest.xml index bc4cd5b75..1cc00c7d5 100644 --- a/disks/pcx86/dos/ibm/5.00/manifest.xml +++ b/disks/pcx86/dos/ibm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 5.00 diff --git a/disks/pcx86/dos/ibm/6.10/manifest.xml b/disks/pcx86/dos/ibm/6.10/manifest.xml index fd6574750..c0eb6ab00 100644 --- a/disks/pcx86/dos/ibm/6.10/manifest.xml +++ b/disks/pcx86/dos/ibm/6.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.10 diff --git a/disks/pcx86/dos/ibm/6.30/manifest.xml b/disks/pcx86/dos/ibm/6.30/manifest.xml index c393900a6..b59edf2c5 100644 --- a/disks/pcx86/dos/ibm/6.30/manifest.xml +++ b/disks/pcx86/dos/ibm/6.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.30 diff --git a/disks/pcx86/dos/ibm/7.00/manifest.xml b/disks/pcx86/dos/ibm/7.00/manifest.xml index 71c88dd76..81089254d 100644 --- a/disks/pcx86/dos/ibm/7.00/manifest.xml +++ b/disks/pcx86/dos/ibm/7.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 7.00 diff --git a/disks/pcx86/dos/microsoft/3.20/manifest.xml b/disks/pcx86/dos/microsoft/3.20/manifest.xml index e4e5c3fbc..f90302391 100644 --- a/disks/pcx86/dos/microsoft/3.20/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.20 diff --git a/disks/pcx86/dos/microsoft/3.21/manifest.xml b/disks/pcx86/dos/microsoft/3.21/manifest.xml index 29de76c0b..741280d92 100644 --- a/disks/pcx86/dos/microsoft/3.21/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.21/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.21 diff --git a/disks/pcx86/dos/microsoft/3.30/manifest.xml b/disks/pcx86/dos/microsoft/3.30/manifest.xml index 9d04bb4d5..7bcdfd111 100644 --- a/disks/pcx86/dos/microsoft/3.30/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.30/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.30 diff --git a/disks/pcx86/dos/microsoft/3.31/manifest.xml b/disks/pcx86/dos/microsoft/3.31/manifest.xml index 2d83f26e4..14d41925a 100644 --- a/disks/pcx86/dos/microsoft/3.31/manifest.xml +++ b/disks/pcx86/dos/microsoft/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pcx86/dos/microsoft/4.00/manifest.xml b/disks/pcx86/dos/microsoft/4.00/manifest.xml index 4874edab7..b6c855d65 100644 --- a/disks/pcx86/dos/microsoft/4.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.00 diff --git a/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml b/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml index b299d1d1e..1c061e272 100644 --- a/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.01/720K/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pcx86/dos/microsoft/4.01/manifest.xml b/disks/pcx86/dos/microsoft/4.01/manifest.xml index 9755f6e63..707126416 100644 --- a/disks/pcx86/dos/microsoft/4.01/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.01/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pcx86/dos/microsoft/4.0M/manifest.xml b/disks/pcx86/dos/microsoft/4.0M/manifest.xml index 33f3e85dd..5277a3524 100644 --- a/disks/pcx86/dos/microsoft/4.0M/manifest.xml +++ b/disks/pcx86/dos/microsoft/4.0M/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.0M diff --git a/disks/pcx86/dos/microsoft/5.00/manifest.xml b/disks/pcx86/dos/microsoft/5.00/manifest.xml index 82786dea5..08a74add0 100644 --- a/disks/pcx86/dos/microsoft/5.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 5.00 diff --git a/disks/pcx86/dos/microsoft/6.00/manifest.xml b/disks/pcx86/dos/microsoft/6.00/manifest.xml index 75bb87009..c465b5d0f 100644 --- a/disks/pcx86/dos/microsoft/6.00/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.00 diff --git a/disks/pcx86/dos/microsoft/6.20/manifest.xml b/disks/pcx86/dos/microsoft/6.20/manifest.xml index d1ae2e2c4..5d857d677 100644 --- a/disks/pcx86/dos/microsoft/6.20/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.20 diff --git a/disks/pcx86/dos/microsoft/6.22/manifest.xml b/disks/pcx86/dos/microsoft/6.22/manifest.xml index 4acf80bca..b23f5d789 100644 --- a/disks/pcx86/dos/microsoft/6.22/manifest.xml +++ b/disks/pcx86/dos/microsoft/6.22/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.22 diff --git a/disks/pcx86/empty/manifest.xml b/disks/pcx86/empty/manifest.xml index d7bdb19cd..6a30ba976 100644 --- a/disks/pcx86/empty/manifest.xml +++ b/disks/pcx86/empty/manifest.xml @@ -1,5 +1,5 @@ - + Empty Diskettes diff --git a/disks/pcx86/games/id/wolf3d/manifest.xml b/disks/pcx86/games/id/wolf3d/manifest.xml index 291880763..3c7f77679 100644 --- a/disks/pcx86/games/id/wolf3d/manifest.xml +++ b/disks/pcx86/games/id/wolf3d/manifest.xml @@ -1,5 +1,5 @@ - + Wolfenstein 3D diff --git a/disks/pcx86/games/infocom/hhiker/manifest.xml b/disks/pcx86/games/infocom/hhiker/manifest.xml index d373ce327..c7f3e6e3b 100644 --- a/disks/pcx86/games/infocom/hhiker/manifest.xml +++ b/disks/pcx86/games/infocom/hhiker/manifest.xml @@ -1,5 +1,5 @@ - + The Hitchhiker's Guide to the Galaxy diff --git a/disks/pcx86/games/infocom/machine.xml b/disks/pcx86/games/infocom/machine.xml index 1b3b40ff2..4118a9f91 100644 --- a/disks/pcx86/games/infocom/machine.xml +++ b/disks/pcx86/games/infocom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pcx86/games/infocom/planet/manifest.xml b/disks/pcx86/games/infocom/planet/manifest.xml index 66e4e649b..395a98208 100644 --- a/disks/pcx86/games/infocom/planet/manifest.xml +++ b/disks/pcx86/games/infocom/planet/manifest.xml @@ -1,5 +1,5 @@ - + Planetfall diff --git a/disks/pcx86/games/infocom/zork1/debugger/machine.xml b/disks/pcx86/games/infocom/zork1/debugger/machine.xml index 489ac6ba0..59cf2157e 100644 --- a/disks/pcx86/games/infocom/zork1/debugger/machine.xml +++ b/disks/pcx86/games/infocom/zork1/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zork I (IBM PC Model 5150) diff --git a/disks/pcx86/games/infocom/zork1/manifest.xml b/disks/pcx86/games/infocom/zork1/manifest.xml index 5fc661aac..f172cc63f 100644 --- a/disks/pcx86/games/infocom/zork1/manifest.xml +++ b/disks/pcx86/games/infocom/zork1/manifest.xml @@ -1,5 +1,5 @@ - + Zork I diff --git a/disks/pcx86/games/infocom/zork2/manifest.xml b/disks/pcx86/games/infocom/zork2/manifest.xml index e1f719d94..77f1ba6ff 100644 --- a/disks/pcx86/games/infocom/zork2/manifest.xml +++ b/disks/pcx86/games/infocom/zork2/manifest.xml @@ -1,5 +1,5 @@ - + Zork II diff --git a/disks/pcx86/games/infocom/zork3/manifest.xml b/disks/pcx86/games/infocom/zork3/manifest.xml index 85c96d9c9..eefda4723 100644 --- a/disks/pcx86/games/infocom/zork3/manifest.xml +++ b/disks/pcx86/games/infocom/zork3/manifest.xml @@ -1,5 +1,5 @@ - + Zork III diff --git a/disks/pcx86/games/microsoft/adventure/machine.xml b/disks/pcx86/games/microsoft/adventure/machine.xml index 7d72c869d..b470c3521 100644 --- a/disks/pcx86/games/microsoft/adventure/machine.xml +++ b/disks/pcx86/games/microsoft/adventure/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running Microsoft Adventure diff --git a/disks/pcx86/games/microsoft/adventure/manifest.xml b/disks/pcx86/games/microsoft/adventure/manifest.xml index a9dedff98..ea9b5c09c 100644 --- a/disks/pcx86/games/microsoft/adventure/manifest.xml +++ b/disks/pcx86/games/microsoft/adventure/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Adventure 1.00 diff --git a/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml b/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml index c36ad7b96..63a015c62 100644 --- a/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml +++ b/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml b/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml index 436ea7c74..178f9e7c4 100644 --- a/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml +++ b/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pcx86/minix/1.1/manifest.xml b/disks/pcx86/minix/1.1/manifest.xml index 517cf286b..75861faac 100644 --- a/disks/pcx86/minix/1.1/manifest.xml +++ b/disks/pcx86/minix/1.1/manifest.xml @@ -1,5 +1,5 @@ - + MINIX 1.1 diff --git a/disks/pcx86/os2/ibm/1.0/manifest.xml b/disks/pcx86/os2/ibm/1.0/manifest.xml index faf0b6ec2..7c1b67868 100644 --- a/disks/pcx86/os2/ibm/1.0/manifest.xml +++ b/disks/pcx86/os2/ibm/1.0/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.0 diff --git a/disks/pcx86/os2/ibm/1.1/manifest.xml b/disks/pcx86/os2/ibm/1.1/manifest.xml index 40d85bbc6..5cb6abffe 100644 --- a/disks/pcx86/os2/ibm/1.1/manifest.xml +++ b/disks/pcx86/os2/ibm/1.1/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.1 diff --git a/disks/pcx86/os2/ibm/1.3/manifest.xml b/disks/pcx86/os2/ibm/1.3/manifest.xml index 8b2ce376f..653dd11ea 100644 --- a/disks/pcx86/os2/ibm/1.3/manifest.xml +++ b/disks/pcx86/os2/ibm/1.3/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.3 diff --git a/disks/pcx86/os2/microsoft/1.0/manifest.xml b/disks/pcx86/os2/microsoft/1.0/manifest.xml index 1b319835e..f94697301 100644 --- a/disks/pcx86/os2/microsoft/1.0/manifest.xml +++ b/disks/pcx86/os2/microsoft/1.0/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 1.0 diff --git a/disks/pcx86/os2/misc/manifest.xml b/disks/pcx86/os2/misc/manifest.xml index 38cf3edee..a29491136 100644 --- a/disks/pcx86/os2/misc/manifest.xml +++ b/disks/pcx86/os2/misc/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 Prototype Disks diff --git a/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml b/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml index 69e789386..1f433765c 100644 --- a/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml +++ b/disks/pcx86/tools/borland/pascal/3.00b/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml b/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml index 511e47f6e..dac52175d 100644 --- a/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml +++ b/disks/pcx86/tools/borland/pascal/3.01a/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml b/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml index acaf66ed3..a295a7935 100644 --- a/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml +++ b/disks/pcx86/tools/ibm/bascom/1.00/manifest.xml @@ -1,5 +1,5 @@ - + IBM BASIC Compiler 1.00 diff --git a/disks/pcx86/tools/microsoft/basic/manifest.xml b/disks/pcx86/tools/microsoft/basic/manifest.xml index b33323311..341a7fbe8 100644 --- a/disks/pcx86/tools/microsoft/basic/manifest.xml +++ b/disks/pcx86/tools/microsoft/basic/manifest.xml @@ -1,5 +1,5 @@ - + MS BASIC diff --git a/disks/pcx86/tools/microsoft/c/2.03/manifest.xml b/disks/pcx86/tools/microsoft/c/2.03/manifest.xml index 50c5897fa..7d7a3588f 100644 --- a/disks/pcx86/tools/microsoft/c/2.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 2.03 diff --git a/disks/pcx86/tools/microsoft/c/3.00/manifest.xml b/disks/pcx86/tools/microsoft/c/3.00/manifest.xml index 4dd63a377..491d9617c 100644 --- a/disks/pcx86/tools/microsoft/c/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 3.00 diff --git a/disks/pcx86/tools/microsoft/c/4.00/manifest.xml b/disks/pcx86/tools/microsoft/c/4.00/manifest.xml index e27c3ebb5..89cfdd20b 100644 --- a/disks/pcx86/tools/microsoft/c/4.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 4.00 diff --git a/disks/pcx86/tools/microsoft/c/5.00/manifest.xml b/disks/pcx86/tools/microsoft/c/5.00/manifest.xml index a6d33066a..33a76e6aa 100644 --- a/disks/pcx86/tools/microsoft/c/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.00 diff --git a/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml b/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml index 9b5a28224..e9ec18542 100644 --- a/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.10-os2/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10-OS2 diff --git a/disks/pcx86/tools/microsoft/c/5.10/manifest.xml b/disks/pcx86/tools/microsoft/c/5.10/manifest.xml index 9a15d7315..e1afe5a6e 100644 --- a/disks/pcx86/tools/microsoft/c/5.10/manifest.xml +++ b/disks/pcx86/tools/microsoft/c/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10 diff --git a/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml index 8f11aba08..ae5d4dbc1 100644 --- a/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 1.00 diff --git a/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml index 718dcb7b2..aaa5f18bb 100644 --- a/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.00 diff --git a/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml b/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml index 5ab61f4ef..c4cfe6bc6 100644 --- a/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/3.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.01 diff --git a/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml index 33a47dd3e..3ae19844c 100644 --- a/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 4.00 diff --git a/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml index 40f80f5eb..9ab3cbd2f 100644 --- a/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.00 diff --git a/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml b/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml index ace35feb8..68d71bc45 100644 --- a/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.10 diff --git a/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml b/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml index 60ea2354d..218ccf099 100644 --- a/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/6.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.00 diff --git a/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml b/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml index be20e7907..08c98d784 100644 --- a/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml +++ b/disks/pcx86/tools/microsoft/masm/6.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.11 diff --git a/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml b/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml index 2127fa16b..daf3caa6b 100644 --- a/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/mouse/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS Mouse 5.00 diff --git a/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml b/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml index 6417d5136..0fc072b62 100644 --- a/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml +++ b/disks/pcx86/tools/microsoft/os2/sdk/1.02/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 SDK 1.02 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml index 88dee456f..fca24508a 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.01 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml index c0e6a65f9..eb7e2d22d 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.03 diff --git a/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml index b98dec067..f098ea76f 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.04 os2museum.com diff --git a/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml index 5a483184f..78a301e10 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 2.03 os2museum.com diff --git a/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml b/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml index 02298e409..8cf3f81d1 100644 --- a/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml +++ b/disks/pcx86/tools/microsoft/windows/sdk/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 3.00 diff --git a/disks/pcx86/tools/misc/manifest.xml b/disks/pcx86/tools/misc/manifest.xml index 6d8739a54..55dc09305 100644 --- a/disks/pcx86/tools/misc/manifest.xml +++ b/disks/pcx86/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/pcx86/unix/ibm/pcix/1.0/manifest.xml b/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml index 7f485e236..ca212ad46 100644 --- a/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml +++ b/disks/pcx86/unix/ibm/pcix/1.0/manifest.xml @@ -1,5 +1,5 @@ - + PC/IX 1.0 diff --git a/disks/pcx86/unix/microport/system-v/2.3/manifest.xml b/disks/pcx86/unix/microport/system-v/2.3/manifest.xml index 3da9d1178..0dabd8072 100644 --- a/disks/pcx86/unix/microport/system-v/2.3/manifest.xml +++ b/disks/pcx86/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/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml b/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml index 4883203c5..9410d9565 100644 --- a/disks/pcx86/unix/sco/xenix/8086/2.1.3/manifest.xml +++ b/disks/pcx86/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/pcx86/windows/1.00/manifest.xml b/disks/pcx86/windows/1.00/manifest.xml index 4835d4ffe..aed794551 100644 --- a/disks/pcx86/windows/1.00/manifest.xml +++ b/disks/pcx86/windows/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.00 diff --git a/disks/pcx86/windows/1.01/manifest.xml b/disks/pcx86/windows/1.01/manifest.xml index 92e870366..71055a0f0 100644 --- a/disks/pcx86/windows/1.01/manifest.xml +++ b/disks/pcx86/windows/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.01 diff --git a/disks/pcx86/windows/1.02/manifest.xml b/disks/pcx86/windows/1.02/manifest.xml index 06efa9dc8..87a6b78c4 100644 --- a/disks/pcx86/windows/1.02/manifest.xml +++ b/disks/pcx86/windows/1.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.02 diff --git a/disks/pcx86/windows/1.03/manifest.xml b/disks/pcx86/windows/1.03/manifest.xml index dc4d2dfa9..62e3ed163 100644 --- a/disks/pcx86/windows/1.03/manifest.xml +++ b/disks/pcx86/windows/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03 diff --git a/disks/pcx86/windows/1.03a/manifest.xml b/disks/pcx86/windows/1.03a/manifest.xml index ccb781a46..48a1cb4f0 100644 --- a/disks/pcx86/windows/1.03a/manifest.xml +++ b/disks/pcx86/windows/1.03a/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03a diff --git a/disks/pcx86/windows/1.03b/manifest.xml b/disks/pcx86/windows/1.03b/manifest.xml index f59bae650..03e4b3046 100644 --- a/disks/pcx86/windows/1.03b/manifest.xml +++ b/disks/pcx86/windows/1.03b/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03b diff --git a/disks/pcx86/windows/1.04/manifest.xml b/disks/pcx86/windows/1.04/manifest.xml index 21d5564c2..7fb0ffd77 100644 --- a/disks/pcx86/windows/1.04/manifest.xml +++ b/disks/pcx86/windows/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.04 os2museum.com diff --git a/disks/pcx86/windows/2.03/manifest.xml b/disks/pcx86/windows/2.03/manifest.xml index 31f0d06f4..995768b38 100644 --- a/disks/pcx86/windows/2.03/manifest.xml +++ b/disks/pcx86/windows/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.03 diff --git a/disks/pcx86/windows/2.0x/manifest.xml b/disks/pcx86/windows/2.0x/manifest.xml index 73511dfef..e1536d5c2 100644 --- a/disks/pcx86/windows/2.0x/manifest.xml +++ b/disks/pcx86/windows/2.0x/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.0x diff --git a/disks/pcx86/windows/2.10/manifest.xml b/disks/pcx86/windows/2.10/manifest.xml index 51198b95d..c94d497d5 100644 --- a/disks/pcx86/windows/2.10/manifest.xml +++ b/disks/pcx86/windows/2.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.10 diff --git a/disks/pcx86/windows/2.11/manifest.xml b/disks/pcx86/windows/2.11/manifest.xml index 5d9dcee68..f1863b65b 100644 --- a/disks/pcx86/windows/2.11/manifest.xml +++ b/disks/pcx86/windows/2.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.11 diff --git a/disks/pcx86/windows/3.00/720K/manifest.xml b/disks/pcx86/windows/3.00/720K/manifest.xml index 9f0a822df..4c8d35cd7 100644 --- a/disks/pcx86/windows/3.00/720K/manifest.xml +++ b/disks/pcx86/windows/3.00/720K/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pcx86/windows/3.00/manifest.xml b/disks/pcx86/windows/3.00/manifest.xml index 0ce2ae0cf..15a71dfa8 100644 --- a/disks/pcx86/windows/3.00/manifest.xml +++ b/disks/pcx86/windows/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pcx86/windows/3.10/manifest.xml b/disks/pcx86/windows/3.10/manifest.xml index 250c0cbfb..4bd4eedbe 100644 --- a/disks/pcx86/windows/3.10/manifest.xml +++ b/disks/pcx86/windows/3.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.10 diff --git a/disks/pcx86/windows/3.11/manifest.xml b/disks/pcx86/windows/3.11/manifest.xml index 9fdad3f9e..0e677f6c2 100644 --- a/disks/pcx86/windows/3.11/manifest.xml +++ b/disks/pcx86/windows/3.11/manifest.xml @@ -1,5 +1,5 @@ - + Windows for Workgroups 3.11 diff --git a/disks/pcx86/windows/win95/4.00.499/manifest.xml b/disks/pcx86/windows/win95/4.00.499/manifest.xml index c69b7fd1d..4ac848872 100644 --- a/disks/pcx86/windows/win95/4.00.499/manifest.xml +++ b/disks/pcx86/windows/win95/4.00.499/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (Build 499) diff --git a/disks/pcx86/windows/win95/4.00.950/manifest.xml b/disks/pcx86/windows/win95/4.00.950/manifest.xml index dbfd0bfe8..acbda3608 100644 --- a/disks/pcx86/windows/win95/4.00.950/manifest.xml +++ b/disks/pcx86/windows/win95/4.00.950/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (RTM) 4.00.950 diff --git a/disks/pcx86/windows/wincomm/manifest.xml b/disks/pcx86/windows/wincomm/manifest.xml index cf21ca72d..770adaf59 100644 --- a/disks/pcx86/windows/wincomm/manifest.xml +++ b/disks/pcx86/windows/wincomm/manifest.xml @@ -1,5 +1,5 @@ - + Windows COMM Driver (Source) diff --git a/docs/pcx86/examples/components.xsl b/docs/pcx86/examples/components.xsl index e26d61f5a..937a5b3a8 100644 --- a/docs/pcx86/examples/components.xsl +++ b/docs/pcx86/examples/components.xsl @@ -14,11 +14,11 @@ pcjs pcx86 PCx86 - 1.34.1 + 1.34.2 www.pcjs.org - + diff --git a/docs/pcx86/examples/pcx86-dbg.js b/docs/pcx86/examples/pcx86-dbg.js index 065c0cfa0..106ecf05b 100644 --- a/docs/pcx86/examples/pcx86-dbg.js +++ b/docs/pcx86/examples/pcx86-dbg.js @@ -813,7 +813,7 @@ a.P("no return addresses found")}break;case "l":if("ln"==g[0]){aB(a,g[1],!0);bre fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var eC=0,Xg="";for(ld in Sb)if(!fb||fb==ld){var fC=!!(a.ic&Sb[ld]);if(null===md||md==fC)Xg&&(Xg+=","),++eC%10||(Xg+="\n\t"),"key"==ld&&(ld="keys"),Xg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off"); a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Xg||"none"));hy(a)}break;case "o":var Cm=g[1],gC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,gC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){dB(a,b.substr(5));break}var Ot="pr"==g[0]?1:0,rf=1+Ot;if(a.I)a.P("step in progress"); else{var bj,Pt=!1,Hb=fy(a,A(a.H),a.H.Z.U);do switch(bj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Iy(a,Hb,1);bj=!0;break;case 204:case 206:a.I=rf;Iy(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Iy(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Iy(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Iy(a,Hb,Hb.Hb?7:5);break;case 255:var Qt=a.hb(Hb)&14591;if(4351==Qt||6399==Qt)a.I=rf,Vz(a,Hb);break;case 243:case 242:Iy(a,Hb,1);Pt=bj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Pt&& -(a.I=rf,Iy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Lz(a)||(a.pa&&a.pa.ld(),a.I=0)):fB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Nz(a,g);break;case "t":fB(a,g[0],g[1]);break;case "u":Oz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){$A(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.1 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]); +(a.I=rf,Iy(a,Hb,1))}while(bj);a.I?(a.Gd(a.B,Hb,!0),Lz(a)||(a.pa&&a.pa.ld(),a.I=0)):fB(a,Ot?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Nz(a,g);break;case "t":fB(a,g[0],g[1]);break;case "u":Oz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){$A(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Yg;void 0!==g[3]&&(Yg=+g[3]); switch(g[2]){case "int":a.H.T.Se=Yg;break;case "start":a.H.T.wf=Yg;break;case "stop":a.H.T.Ue=Yg;break;default:a.P("unknown cs option");break a}void 0!==Yg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"), a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){dB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in hB)Fm+="\n"+Ba(Gm,7)+hB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(St){a.P("debugger error: "+(St.stack||St.message)),d=!1}return d} function jy(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Uz(a,b[+d]))return!1;return!0} @@ -846,23 +846,23 @@ ly,[119,R|S|X,jB|4096]],[[155,R|V|4096,W|V|4096],ly,[98,R|V|X],[96,R|V|X],[95,R| CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},vy={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96, TASK_IOPM:100};ab(function(){for(var a=Ab(document,"pcx86","debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bBB){if(d.load(this.L)){this.F=new Xf(this,"1.34.1",LB);this.F.load()&&(MB(this,d),a=NB,OB(this.F));this.F.set(IB,Fa());PB(this.F);var e=this.A&&!this.I;if(a==JB||sb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=HB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= +function FB(a,b){var c=new Xf(a,"1.34.2",GB);if(c.load()&&HB(c)){var d=c.get(IB),e=b?b.get(IB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=zB.prototype; +l.Lf=function(a){void 0===a&&(a=this.A||(this.L?JB:BB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Xf(this,"1.34.2");if(a==KB)b=!0;else if(a>BB){if(d.load(this.L)){this.F=new Xf(this,"1.34.2",LB);this.F.load()&&(MB(this,d),a=NB,OB(this.F));this.F.set(IB,Fa());PB(this.F);var e=this.A&&!this.I;if(a==JB||sb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=HB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ta(QB,""),this.B=null)):this.P(f+": "+g),OB(d),d.load()?(c=HB(d),e=!0):c=!1))}e&&FB(this,c?d:null)}else a==NB&&d.clear()}else FB(this);delete this.L;delete this.M}e=tb(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(RB(this,this.H,b,c,a),this.H.lf());this.Y&&(MB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0}; -function MB(a,b){if(sb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.34.1"};d.url=a.da;d.user=c;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} -function gB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xf(a,"1.34.1"),g=new Xf(a,"1.34.1",GB),h=Fa();g.set(IB,h);f.set(IB,h);f.set(SB,"1.34.1");f.set(TB,window?window.location.href:null);f.set(UB,Na());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k).*?(<\/xsl:variable>)/,"$1pcx86$2") function mC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);mC(a,b,c)}})}else c(a,null)} function nC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ab(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ya(a))}function f(a){e("Error: "+a);k&&(--jC||jb(!0));k=!1}var g,h,k=!0;jC++;qb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));p.appendChild(w)}c|| -(c="/versions/pcx86/1.34.1/components.xsl");m=function(d,h){h?kC(c,null,null,!1,e,function(d,k){k?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jC||jb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jC||jb(!0)):f("invalid machine element: "+ +(c="/versions/pcx86/1.34.2/components.xsl");m=function(d,h){h?kC(c,null,null,!1,e,function(d,k){k?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jC||jb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jC||jb(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kC(b,a,d,!0,e,m):lC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function oC(a,b,c,d){jb(!1);return nC(a,b,c,d)}window.embedPC=oC;window.embedPCx86=oC;window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Cb[a]){for(var c=!0,d=Cb,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=w.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=va(m)}else"xsl"==w&&(e=m=va(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, "©"),a=Xa(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
\n')+"...\n",a=a+(' +
+ + + + + + + + + + + + + +
+ + + + 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 + + + + + + + black + + + + + + 32 + + + + + + 32 + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + + + + + null + + + + + video + ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'',smoothing: + + + + + + + + + + + + + + debugger + + + + + + + + + + + + + + panel + + + + + + + + + + + + + [ + {} + , + ] + + + + computer + ,modules: + + + + + type:'',refID:'',start:,end: + + + diff --git a/versions/c1pjs/1.34.2/document.css b/versions/c1pjs/1.34.2/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/c1pjs/1.34.2/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.34.2/document.xsl b/versions/c1pjs/1.34.2/document.xsl new file mode 100644 index 000000000..bf6d6a4c4 --- /dev/null +++ b/versions/c1pjs/1.34.2/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.34.2/machine.xsl b/versions/c1pjs/1.34.2/machine.xsl new file mode 100644 index 000000000..ce9dbcd73 --- /dev/null +++ b/versions/c1pjs/1.34.2/machine.xsl @@ -0,0 +1,61 @@ + + + + +]> + + + + + + + + + + + + + + + + + js + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/c1pjs/1.34.2/manifest.xsl b/versions/c1pjs/1.34.2/manifest.xsl new file mode 100644 index 000000000..c2ab49fb5 --- /dev/null +++ b/versions/c1pjs/1.34.2/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.34.2/outline.xsl b/versions/c1pjs/1.34.2/outline.xsl new file mode 100644 index 000000000..305e717cb --- /dev/null +++ b/versions/c1pjs/1.34.2/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.34.2/common.css b/versions/pc8080/1.34.2/common.css new file mode 100644 index 000000000..a569abc64 --- /dev/null +++ b/versions/pc8080/1.34.2/common.css @@ -0,0 +1,278 @@ +@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 { + + overflow: hidden; +} +.c1pjs { + overflow: visible; +} +.machine-placeholder { + text-align: center; + font-weight: bold; +} +.machine-floating { + position: relative; + z-index: auto; + background-color: transparent; + padding-right: 0; +} +.machine-sticky { + position: fixed !important; + z-index: 1 !important; + background-color: #404040 !important; + padding-right: 16px !important; + top: 0 !important; +} +.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-main blockquote { + text-align: justify; +} +.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.34.2/common.xsl b/versions/pc8080/1.34.2/common.xsl new file mode 100644 index 000000000..3d7f6ded7 --- /dev/null +++ b/versions/pc8080/1.34.2/common.xsl @@ -0,0 +1,56 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +

    Powered by JavaScript, Vanilla JS, and GitHub

    +
    +
    +
    + + +
    +

    + +
    +
    + +
    diff --git a/versions/pc8080/1.34.2/components.css b/versions/pc8080/1.34.2/components.css new file mode 100644 index 000000000..4b9429040 --- /dev/null +++ b/versions/pc8080/1.34.2/components.css @@ -0,0 +1,257 @@ +@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: 20px; + vertical-align: middle; + float: left; + font-family: Monaco, "Lucida Console", monospace; +} +.pcjs-controls textarea { + font-family: Monaco, "Lucida Console", monospace; + font-size: x-small; +} +.pcjs-fieldset { + border: none; + margin: 0; + padding: 0; +} +.pcjs-flag { + font-family: Monaco, "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 20px; + vertical-align: middle; +} +.pcjs-progress { + height: 20px; + width: 200px; + margin-top: 8px; + border: 1px solid black; + position: relative; +} +.pcjs-progress-bar { + height: 20px; + width: 0; + background-color: gold; + position: absolute; + top: 0; +} +.pcjs-progress-text { + height: 20px; + width: 200px; + font-size: small; + line-height: 20px; + text-align: center; + position: absolute; + top: 0; + z-index: 1; +} +.pcjs-register { + font-family: Monaco, "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 20px; + 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: 2.0em; +} +.pcjs-key { + border: 1px solid black; + font-size: x-small; + text-align: center; + position: absolute; + height: 34px; + line-height: 34px; + background-color: #ffffff; +} +.pcjs-panel-group { + color: #ffffff; + background-color: #404040; +} +.pcjs-triplet { + padding: 1px; +} +.pcjs-ledlbl { + text-align: center; + font-size: 40%; + background-color: #000000; +} +.pcjs-ledlbl0 { + text-align: right; + font-size: 50%; + background-color: #8d4076; +} +.pcjs-ledlbl1 { + text-align: right; + font-size: 50%; + background-color: #d83662; +} +.pcjs-ledpad { + text-align: center; + font-size: x-small; + line-height: 32px; + background-color: #000000; + border-bottom-left-radius: 20%; + border-bottom-right-radius: 20%; +} +.pcjs-led { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + text-align: center; + vertical-align: middle; + background-color: #000000; +} +.pcjs-rled { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + border-radius: 50%; + text-align: center; + vertical-align: middle; + background-color: #ff0000; + max-width: 50%; + max-height: 50%; +} +.pcjs-swlbl { + text-align: center; + font-size: 40%; + line-height: 16px; + background-color: #000000; + border-top-left-radius: 20%; + border-top-right-radius: 20%; +} +.pcjs-swpad { + height: 32px; + background-color: #000000; +} +.pcjs-switch { + height: 10px; + width: 28px; + margin-top: 0; + max-width: 90%; + background-color: #00ff00; +} +.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: 800px) { + .pcjs-textarea { + width: 100% !important; + } + .pcjs-registers { + width: 100% !important; + max-width: none !important; + padding-left: 0 !important; + padding-right: 0 !important; + } + .pdp11-device { + width: 98% !important; + max-width: none !important; + margin-left: 8px !important; + padding-left: 0 !important; + padding-right: 0 !important; + } +} +@media screen and (min-width: 1200px) { + .machine-left { + max-width: 48%; + float: left; + } + .machine-right { + max-width: 48%; + float: left; + margin-left: 30px; + } + .machine-right + * { + clear: both; + } +} diff --git a/versions/pc8080/1.34.2/components.xsl b/versions/pc8080/1.34.2/components.xsl new file mode 100644 index 000000000..5008cfac1 --- /dev/null +++ b/versions/pc8080/1.34.2/components.xsl @@ -0,0 +1,1383 @@ + + + +]> + + + + + + + + pc + pcjs + pc8080 + PC8080 + 1.34.2 + www.pcjs.org + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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; + clear:both; + position:; + position:relative; + text-align:; + float:left; + + + + + + + + + + + + + + + + + + +
    + + + font-size:; + + + + + -label + + + + width:; + width:; + + + + + + + + text-align:right; + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + ; + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8088 + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + + null + + + + + + 0 + + + + + + + -1 + + + + + + + -1 + + + + + + + -1 + + + + + + ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: + + + + + + + + + + + + + + + 8087 + + + + + + + + + + + + ,model:'',stepping:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + {} + + + + + + + + + + + + + + + + + chipset + ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + device + ,type:'',baudReceive:,baudTransmit:,autoMount:'' + + + + + + + + + + + + + + + + + + + + keyboard + ,model:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + parallel + ,adapter:,binding:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + false + + + + + serial + ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: + + + + + + + + + + + + + + + + + + + + mouse + ,serial:'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fdc + ,autoMount:'',sortBy:'' + + + + + + + + + + + + + + + + + + + + + xt + + + + + hdc + ,drives:'',type:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + null + + + + + + + + + + + + + + + + + rom + ,addr:,size:,alias:,file:'',notify:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + null + + + + + + null + + + + + + true + + + + + ram + ,addr:,size:,file:'',load:,exec:,test: + + + + + + + + + + + + + + + + + + + + + null + + + + + + + 256 + + + + + + + 224 + + + + + + + black + + + + + + 0 + + + + + + 0 + + + + + + false + + + + + + 1bpp + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + false + + + + + + 1 + + + + + + 1 + + + + + + + 80 + + + + + + + 25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + 0 + + + + + + null + + + + + + 0 + + + + + + 60 + + + + + video + ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: + + + + + + + + + + + + + + + 16 + + + + + + + + + + + + + + + + + debugger + ,base:,commands:'',messages:'' + + + + + + + + + + + + + + panel + + + + + + + + + + + + + + + + + + + + + true + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + computer + ,autoPower:,busWidth:,resume:'',state:'' + + + + + + + +
    diff --git a/versions/pc8080/1.34.2/document.css b/versions/pc8080/1.34.2/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/pc8080/1.34.2/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.34.2/document.xsl b/versions/pc8080/1.34.2/document.xsl new file mode 100644 index 000000000..42312676d --- /dev/null +++ b/versions/pc8080/1.34.2/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.34.2/machine.xsl b/versions/pc8080/1.34.2/machine.xsl new file mode 100644 index 000000000..e8b293cd0 --- /dev/null +++ b/versions/pc8080/1.34.2/machine.xsl @@ -0,0 +1,61 @@ + + + + +]> + + + + + + + + + + + + + + + + + js + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pc8080/1.34.2/manifest.xsl b/versions/pc8080/1.34.2/manifest.xsl new file mode 100644 index 000000000..a5294ae52 --- /dev/null +++ b/versions/pc8080/1.34.2/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.34.2/outline.xsl b/versions/pc8080/1.34.2/outline.xsl new file mode 100644 index 000000000..a42465da4 --- /dev/null +++ b/versions/pc8080/1.34.2/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.34.2/pc8080-dbg.js b/versions/pc8080/1.34.2/pc8080-dbg.js new file mode 100644 index 000000000..2dfad659d --- /dev/null +++ b/versions/pc8080/1.34.2/pc8080-dbg.js @@ -0,0 +1,301 @@ +(function(){/* + http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/cpudef.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/messages.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/panel.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/bus.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/memory.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/cpu.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/cpustate.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/cpuops.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/chipset.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/rom.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/ram.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/keyboard.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/video.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/serial.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/debugger.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2017 +*/ +var l;function aa(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]} +for(var ca="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},da="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,ea=["Math","trunc"],fa=0;faa?-b:b};ka!=ia&&null!=ka&&ca(da,ha,{configurable:!0,writable:!0,value:ka}); +var m={Be:0,Ee:1,Fe:2,Ge:3,He:4,Ie:5,Je:6,Ke:7,Le:8,Me:9,Ne:10,Oe:11,Pe:12,Qe:13,Re:14,Se:15,Te:16,Ue:17,Ve:18,We:19,Xe:20,Ye:21,Ze:22,$e:23,af:24,bf:25,cf:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ab:65,Ub:66,Vb:67,Fb:68,E:69,Yb:70,Zb:71,$b:72,ac:73,bc:74,cc:75,Hb:76,gc:77,hc:78,lc:79,mc:80,Q:81,nc:82,pc:83,qc:84,rc:85,tc:86,uc:87, +wc:88,xc:89,wb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yc:97,ud:98,xd:99,d:100,e:101,Bd:102,Dd:103,Ed:104,Fd:105,Od:106,k:107,Pd:108,Rd:109,n:110,Sd:111,p:112,q:113,r:114,oe:115,t:116,pe:117,qe:118,re:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,df:127},la={59:186,61:187,173:189,224:91}; +function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return xa[a]})}function ya(a,b){return(a+" ").slice(0,b)} +function Aa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var xa={"&":"&","<":"<",">":">",'"':""","'":"'"},Ca={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +function Da(a,b,c){var d=0,e=a.length,f=0;for(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())} +function Fa(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;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Qa=g.load;d.Ia=g.exec;if(e=g.bytes)d.ka=e;else if(e=g.words)for(d.ka=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.ka=Array(4*e.length),f=c=0;c>8&255,d.ka[f++]=e[c]>>16&255,d.ka[f++]=e[c]>>24&255;else(e=g.data)?d.Mf=e:d.ka=g;d.ka&&(d.ka.length?1==d.ka.length&&(r(d.ka[0]),d=null):(r("Empty resource: "+a),d=null));d.ra=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.cb=this.id:(this.eb=this.id.substr(0,a),this.cb=this.id.substr(a+1));this.G={ready:!1,mb:!1,Ib:!1,ja:!1,error:!1};this.zb=null;this.G.error=!1;this.ha=c||0;this.K=this.u=this.H=this.R=this.ta=null;gb.push(this)} +function hb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function jb(){return Date.now()||+new Date}function bb(a,b,c){b||r((c?c+": ":"")+a)}function r(a){window&&window.alert(a)}function kb(a){var b=!1;window&&(b=window.confirm(a));return b}function lb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.g&&(this.g=10);15>2;this.j=this.w-1;this.L=this.N/this.w|0;this.I=this.L-1;this.A=[];this.B=[];this.D=this.F=!1;this.S=[];this.T=[];a=new z;Pb(a,this.K);this.b=Array(this.L);for(b=0;b>>a.g;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.J)return h.pb+=h.J-e,h.J=e,!0;if(e>=h.J+h.pb){p=h.size-(e-k);p>f&&(p=f);h.pb=e-h.J+p;e=k+a.w;f-=p;g++;continue}}return Rb(Sb,e,f)}e=new z(e,p,a.w,d);Pb(e,a.K,h);a.b[g++]=e;e=k+a.w;f-=p}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Tb[d]+" at "+q(b)),!0):Rb(Ub,b,c)} +function Vb(a,b){return a.b[(b&a.C)>>>a.g].ob(b&a.j,b)}function Wb(a,b){var c=b&a.j,d=(b&a.C)>>>a.g;return c!=a.j?a.b[d].Hc(c,b):a.b[d++].Ya(c,b)|a.b[d&a.I].Ya(0,b+1)<<8}function Xb(a,b){var c=b&a.j,d=(b&a.C)>>>a.g;return c!=a.j?a.b[d].Nb(c,b):a.b[d++].ob(c,b)|a.b[d&a.I].ob(0,b+1)<<8}function Yb(a,b,c){a.b[(b&a.C)>>>a.g].qb(b&a.j,c&255,b)}function Zb(a,b,c){var d=b&a.j,e=(b&a.C)>>>a.g;d!=a.j?a.b[e].Kc(d,c&65535,b):(a.b[e++].$a(d,c&255,b),a.b[e&a.I].$a(0,c>>8&255,b+1))} +function $b(a){for(var b=0,c=[],d=0;d>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.K&&a.F!=g[1]&&ic(a.K,b,k)}else a.K&&(Fb(a.K,a,b,k,d),a.F&&ic(a.K,b,k));f+=h<<3;b+=h;e-=h}}function Rb(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Sb=1,Ub=2,jc;if(Gb){var tc=new ArrayBuffer(2);(new DataView(tc)).setUint16(0,256,!0);jc=256===(new Uint16Array(tc))[0]}else jc=!1;var uc=jc; +function z(a,b,c,d){this.id=vc+=2;this.b=null;this.J=a;this.pb=b;this.size=c||0;this.type=d||wc;this.u=d==xc;Pb(this);this.Ca=this.Dc=!1;if(c)if(Gb)this.j=new ArrayBuffer(c),this.R=new DataView(this.j,0,c),this.g=new Uint8Array(this.j,0,c),this.w=new Uint16Array(this.j,0,c>>1),this.b=new Int32Array(this.j,0,c>>2),yc(this,uc?zc:Ac);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)};l.ie=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};l.me=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};l.ve=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.Ca=!0};l.ge=function(a,b){if(this.K&&null!=this.J){var c=this.K;Hc(c,this.J+a,1,c.I)&&c.da(!0)}return this.ob(a,b)};l.ke=function(a,b){if(this.K&&null!=this.J){var c=this.K;Hc(c,this.J+a,2,c.I)&&c.da(!0)}return this.Nb(a,b)}; +l.te=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Hc(d,this.J+a,1,d.w)&&d.da(!0)}this.u?this.rb(0,b):this.qb(a,b,c)};l.xe=function(a,b,c){if(this.K&&null!=this.J){var d=this.K;Hc(d,this.J+a,2,d.w)&&d.da(!0)}this.u?this.rb(0,b):this.Sb(a,b,c)};l.fe=function(a){return this.g[a]};l.he=function(a){return this.g[a]};l.je=function(a){return this.R.getUint16(a,!0)};l.le=function(a){return a&1?this.g[a]|this.g[a+1]<<8:this.w[a>>1]};l.se=function(a,b){this.g[a]=b;this.Ca=!0}; +l.ue=function(a,b){this.g[a]=b;this.Ca=!0};l.we=function(a,b){this.R.setUint16(a,b,!0);this.Ca=!0};l.ye=function(a,b){a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.w[a>>1]=b;this.Ca=!0};var wc=0,xc=2,Tb=["NONE","RAM","ROM","VID","H/W"],vc=0,Cc=[],Bc=[z.prototype.ie,z.prototype.ve,z.prototype.me,z.prototype.ze],Fc=[z.prototype.ge,z.prototype.te,z.prototype.ke,z.prototype.xe];if(Gb)var Ac=[z.prototype.fe,z.prototype.se,z.prototype.je,z.prototype.we],zc=[z.prototype.he,z.prototype.ue,z.prototype.le,z.prototype.ye]; +function Ic(a,b){t.call(this,"CPU",a,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.U=c;this.Ta=Math.round(this.Fa/1E4)/100;this.Z=this.Ta*this.U;this.G.la=!1;this.G.Qb=!1;this.G.lb=a.autoStart;this.G.Bc=!1;this.G.Wa=!1;this.ya=this.oa=0;this.za=a.csStart;this.na=a.csInterval;this.sa=a.csStop;this.T=[];this.Db=this.tb.bind(this);Ab(this)}aa(Ic,t);l=Ic.prototype; +l.Ea=function(a,b,c,d){this.R=a;this.H=b;this.K=d;for(b=0;b=a.oa&&(a.oa+=a.na,c=!0);0<=a.sa&&a.sa<=Rc(a)&&(a.na=a.sa=-1,Mc(a),a.da(),c=!0);c&&a.i(Rc(a)+" cycles: checksum="+n(a.ya))}} +l.ca=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.P[b]=c;a=!0;break;case "run":this.P[b]=c;c.onclick=function(){var a;if(a=d.R)if(a=d.R,a.G.ja)a=!0;else{var b=null,c,h=lb(a.id);for(c=0;ca.Y/a.Z?b=1:d=!0;a.U=b;b=a.Ta*a.U;if(a.Z!=b){a.Z=b;b=a.Z.toFixed(2)+"Mhz";var e=a.P.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.R&&a.R.Za()}Tc(a,a.X);a.X=0;a.V=jb();a.ea=0;Uc(a);return d}function Wc(a,b){var c=a.T.length;a.T.push([-1,b]);return c}function Xc(a,b,c){0<=b&&ba.T[b][0]&&(c*=a.Fa*a.U/1E3,a.T[b][0]=c+Yc(a))}function Yc(a,b){var c=a.ga-=a.b;a.b=0;b&&(a.ga=0);return c} +l.tb=function(a){if(Cb(this,!0)){if(!this.G.la){Sc(this);this.R&&this.R.start(this.V,Rc(this));this.G.la=!0;this.G.Qb=!0;this.W&&this.W.start();var b=this.P.run;b&&(b.textContent="Halt");this.R&&(Zc(this.R,!0),a&&this.R.Za(!0))}this.Va>=this.Fa&&Uc(this,!0);this.Ha=0;this.Ma=jb();this.ea&&(a=this.Ma-this.ea,a>this.jb&&(this.V+=a,this.V>this.Ma&&(this.V=this.Ma)));try{do{for(var c,d=this.G.Wa?1:this.Na,e=this.T.length-1;0<=e;e--){var f=this.T[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Eb(c);c=Yc(this,!0); +this.Ha+=c;this.X+=c;Qc(this,c);a=c;for(var g=this.T.length-1;0<=g;g--){var h=this.T[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.wa-=c;if(0>=this.wa){this.wa+=this.Na;++this.kb>=ld&&(this.R&&Zc(this.R),this.kb=0);break}}while(this.G.la)}catch(k){this.da();Pc(this);this.R&&this.R.stop(jb(),Rc(this));Cb(this,!1);yb(this,k.stack||k.message);return}c=setTimeout;d=this.Db;this.ea=jb();e=this.jb;this.Ha&&(e=Math.round(e*this.Ha/this.Na));e-=this.ea-this.Ma;if(f=this.ea-this.V)this.Y=Math.round(this.X/ +(10*f))/100,864E5<=f&&(this.ma=0,Sc(this));if(0>e||this.Ye&&(this.V-=e),e=0;this.Va+=this.Ha;this.ea+=e;c(d,e)}else Pc(this),this.R&&this.R.stop(jb(),Rc(this))};l.Eb=function(){return 0};l.da=function(a){Bb(this,!0);Yc(this);Tc(this,this.X);this.X=0;if(this.G.la){this.G.la=!1;this.W&&this.W.stop();var b=this.P.run;b&&(b.textContent="Run")}this.G.complete=a};function Pc(a,b){if(a.R){for(var c=a.R,d=0;d>8&255;a.A=b&255}function xd(a){return a.B<<8|a.C}function yd(a,b){a.B=b>>8&255;a.C=b&255}function D(a){return a.D<<8|a.F} +function zd(a,b){a.D=b>>8&255;a.F=b&255}function A(a,b){a.j=b&65535}function Ad(a){return a.I&256?1:0}function Bd(a,b){a.I=a.I&255|b}function Cd(a){return Hb[a.L&255]?4:0}function Dd(a){return(a.L^a.O)&16?16:0}function Ed(a){return a.I&255?0:64}function Fd(a){return a.L&128?128:0}function td(a){return a.N&-214|Fd(a)|Ed(a)|Dd(a)|Cd(a)|Ad(a)}function rd(a,b){a.I=a.L=a.O=0;b&1&&(a.I|=256);b&4||(a.L|=1);b&16&&(a.O|=16);b&64||(a.I|=255);b&128&&(a.L^=192);a.N=a.N&-726|b&512|2} +function Gd(a,b){a.O=a.g^b;return a.L=(a.I=a.g+b)&255}function Hd(a,b){a.O=a.g^b;return a.L=(a.I=a.g+b+(a.I&256?1:0))&255}function Id(a,b){a.I=a.L=a.O=a.g&b;(a.g|b)&8&&(a.O^=16);return a.I}function Jd(a,b){a.O=b^255;b=a.L=b+255&255;a.I=a.I&-256|b;return b}function Kd(a,b){a.O=b;b=a.L=b+1&255;a.I=a.I&-256|b;return b}function Ld(a,b){return a.L=a.I=a.O=a.g|b}function Md(a,b){b^=255;a.O=a.g^b;return a.L=(a.I=a.g+b+1^256)&255} +function Nd(a,b){b^=255;a.O=a.g^b;return a.L=(a.I=a.g+b+(a.I&256?0:1)^256)&255}function Od(a,b){return a.L=a.I=a.O=a.g^b}function E(a,b){a=a.H;return a.b[(b&a.C)>>>a.g].Ya(b&a.j,b)}function Pd(a,b,c){a=a.H;a.b[(b&a.C)>>>a.g].$a(b&a.j,c&255,b)}function F(a){var b=E(a,a.j);A(a,a.j+1);return b}function G(a){var b=Wb(a.H,a.j);A(a,a.j+2);return b}function Qd(a){var b=Wb(a.H,a.M);a.M=a.M+2&65535;return b}function H(a,b){a.M=a.M-2&65535;Zb(a.H,a.M,b)} +function Rd(a){if(a.b&&a.S&255&&a.N&512){for(var b=0;8>b&&!(a.S&1<b?255:1<>8;Bd(this,a&256);this.b-=4},Vd,function(){var a;zd(this,a=D(this)+vd(this));Bd(this,a>>8&256);this.b-=10},function(){this.g=E(this,vd(this));this.b-=7},function(){wd(this,vd(this)-1);this.b-= +5},function(){this.A=Kd(this,this.A);this.b-=5},function(){this.A=Jd(this,this.A);this.b-=5},function(){this.A=F(this);this.b-=7},function(){var a=this.g<<8&256;this.g=(a|this.g)>>1;Bd(this,a);this.b-=4},Vd,function(){yd(this,G(this));this.b-=10},function(){Pd(this,xd(this),this.g);this.b-=7},function(){yd(this,xd(this)+1);this.b-=5},function(){this.B=Kd(this,this.B);this.b-=5},function(){this.B=Jd(this,this.B);this.b-=5},function(){this.B=F(this);this.b-=7},function(){var a=this.g<<1;this.g=a&255| +Ad(this);Bd(this,a&256);this.b-=4},Vd,function(){var a;zd(this,a=D(this)+xd(this));Bd(this,a>>8&256);this.b-=10},function(){this.g=E(this,xd(this));this.b-=7},function(){yd(this,xd(this)-1);this.b-=5},function(){this.C=Kd(this,this.C);this.b-=5},function(){this.C=Jd(this,this.C);this.b-=5},function(){this.C=F(this);this.b-=7},function(){var a=this.g<<8;this.g=(Ad(this)<<8|this.g)>>1;Bd(this,a&256);this.b-=4},Vd,function(){zd(this,G(this));this.b-=10},function(){var a=G(this);Zb(this.H,a,D(this)); +this.b-=16},function(){zd(this,D(this)+1);this.b-=5},function(){this.D=Kd(this,this.D);this.b-=5},function(){this.D=Jd(this,this.D);this.b-=5},function(){this.D=F(this);this.b-=7},function(){var a=0,b=Ad(this);if(Dd(this)||9<(this.g&15))a|=6;if(b||154<=this.g)a|=96,b=1;this.g=Gd(this,a);Bd(this,b?256:0);this.b-=4},Vd,function(){var a;zd(this,a=D(this)+D(this));Bd(this,a>>8&256);this.b-=10},function(){var a;a=G(this);a=Wb(this.H,a);zd(this,a);this.b-=16},function(){zd(this,D(this)-1);this.b-=5},function(){this.F= +Kd(this,this.F);this.b-=5},function(){this.F=Jd(this,this.F);this.b-=5},function(){this.F=F(this);this.b-=7},function(){this.g=~this.g&255;this.b-=4},Vd,function(){this.M=G(this)&65535;this.b-=10},function(){Pd(this,G(this),this.g);this.b-=13},function(){this.M=this.M+1&65535;this.b-=5},function(){var a=D(this);Pd(this,a,Kd(this,E(this,a)));this.b-=10},function(){var a=D(this);Pd(this,a,Jd(this,E(this,a)));this.b-=10},function(){Pd(this,D(this),F(this));this.b-=10},function(){this.I|=256;this.b-= +4},Vd,function(){var a;zd(this,a=D(this)+this.M);Bd(this,a>>8&256);this.b-=10},function(){this.g=E(this,G(this));this.b-=13},function(){this.M=this.M-1&65535;this.b-=5},function(){this.g=Kd(this,this.g);this.b-=5},function(){this.g=Jd(this,this.g);this.b-=5},function(){this.g=F(this);this.b-=7},function(){Bd(this,Ad(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.w=this.A;this.b-=5},function(){this.w=this.B;this.b-=5},function(){this.w=this.C;this.b-=5},function(){this.w=this.D;this.b-= +5},function(){this.w=this.F;this.b-=5},function(){this.w=E(this,D(this));this.b-=7},function(){this.w=this.g;this.b-=5},function(){this.A=this.w;this.b-=5},function(){this.b-=5},function(){this.A=this.B;this.b-=5},function(){this.A=this.C;this.b-=5},function(){this.A=this.D;this.b-=5},function(){this.A=this.F;this.b-=5},function(){this.A=E(this,D(this));this.b-=7},function(){this.A=this.g;this.b-=5},function(){this.B=this.w;this.b-=5},function(){this.B=this.A;this.b-=5},function(){this.b-=5},function(){this.B= +this.C;this.b-=5},function(){this.B=this.D;this.b-=5},function(){this.B=this.F;this.b-=5},function(){this.B=E(this,D(this));this.b-=7},function(){this.B=this.g;this.b-=5},function(){this.C=this.w;this.b-=5},function(){this.C=this.A;this.b-=5},function(){this.C=this.B;this.b-=5},function(){this.b-=5},function(){this.C=this.D;this.b-=5},function(){this.C=this.F;this.b-=5},function(){this.C=E(this,D(this));this.b-=7},function(){this.C=this.g;this.b-=5},function(){this.D=this.w;this.b-=5},function(){this.D= +this.A;this.b-=5},function(){this.D=this.B;this.b-=5},function(){this.D=this.C;this.b-=5},function(){this.b-=5},function(){this.D=this.F;this.b-=5},function(){this.D=E(this,D(this));this.b-=7},function(){this.D=this.g;this.b-=5},function(){this.F=this.w;this.b-=5},function(){this.F=this.A;this.b-=5},function(){this.F=this.B;this.b-=5},function(){this.F=this.C;this.b-=5},function(){this.F=this.D;this.b-=5},function(){this.b-=5},function(){this.F=E(this,D(this));this.b-=7},function(){this.F=this.g; +this.b-=5},function(){Pd(this,D(this),this.w);this.b-=7},function(){Pd(this,D(this),this.A);this.b-=7},function(){Pd(this,D(this),this.B);this.b-=7},function(){Pd(this,D(this),this.C);this.b-=7},function(){Pd(this,D(this),this.D);this.b-=7},function(){Pd(this,D(this),this.F);this.b-=7},function(){var a=this.j-1;if(this.La.length)for(var b=0;b>8;this.b-=10},function(){var a=G(this);Fd(this)||A(this,a);this.b-=10},function(){this.N&=-513;this.b-=4},function(){var a=G(this);Fd(this)||(H(this,this.j),A(this,a),this.b-=6);this.b-=11},function(){H(this,td(this)&255|this.g<<8);this.b-=11},function(){this.g=Ld(this,F(this));this.b-=7},function(){H(this,this.j);A(this,48);this.b-=11},function(){Fd(this)&& +(A(this,Qd(this)),this.b-=6);this.b-=5},function(){this.M=D(this)&65535;this.b-=5},function(){var a=G(this);Fd(this)&&A(this,a);this.b-=10},function(){this.N|=512;this.b-=4;Rd(this)},function(){var a=G(this);Fd(this)&&(H(this,this.j),A(this,a),this.b-=6);this.b-=11},Yd,function(){Md(this,F(this));this.b-=7},function(){H(this,this.j);A(this,56);this.b-=11}]; +function Zd(a){t.call(this,"ChipSet",a,32768);var b=a.model;b&&!$d[b]&&bb("Unrecognized ChipSet model: "+b);this.g=$d[b]||{};a.sound&&(this.U=null,window&&(this.U=window.AudioContext||window.webkitAudioContext),this.U&&new this.U);Ab(this)}aa(Zd,t);l=Zd.prototype;l.ca=function(){return!1}; +l.Ea=function(a,b,c,d){this.H=b;this.u=c;this.K=d;this.R=a;this.B=Kb(a,"Keyboard");this.C=Kb(a,"SerialPort");this.video=Kb(a,"Video");bc(b,this,this.g.Bb);gc(b,this,this.g.Cb);if(d){var e=this;ae(d,16384,function(){for(var a="",b=0;b>8-this.T&255;x(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.Wd=function(a,b,c){x(this,a,b,c,"SHIFT.COUNT",null,!0);this.T=b};l.Yd=function(a,b,c){x(this,a,b,c,"SOUND1",null,!0);this.Y=b};l.Xd=function(a,b,c){x(this,a,b,c,"SHIFT.DATA",null,!0);this.N=b<<8|this.N>>8}; +l.Zd=function(a,b,c){x(this,a,b,c,"SOUND2",null,!0);this.Z=b};l.$d=function(a,b,c){x(this,a,b,c,"WATCHDOG",null,!0)};function ce(a){var b=0,c=0,d=~a.M;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} +l.Md=function(a,b){var c=this.D,c=c&~J.xa.jc;if((Rc(this.u)&64)<<1&&(c|=J.xa.jc,c!=this.D)){var d,e;d=this.L&1;e=this.L>>1&7;switch(e){case J.Aa.Ja.nd:break;case J.Aa.Ja.Lc:this.M=this.M<<1|d;break;case J.Aa.Ja.Rc:d=ce(this);this.j[d]=J.Aa.vb;Eb(this,"doNVRCommand(): erase data at addr "+q(d));break;case J.Aa.Ja.Mc:this.b=this.b<<1|d;break;case J.Aa.Ja.rd:d=ce(this);e=this.b&J.Aa.vb;this.j[d]=e;Eb(this,"doNVRCommand(): write data "+q(e)+" to addr "+q(d));break;case J.Aa.Ja.ld:d=ce(this);e=this.j[d]; +null==e&&(e=J.Aa.vb);this.b=e;Eb(this,"doNVRCommand(): read data "+q(e)+" from addr "+q(d));break;case J.Aa.Ja.md:this.b<<=1;this.S=this.b&J.Aa.vb+1;break;default:Eb(this,"doNVRCommand(): unrecognized command "+qa(e))}}c&=~J.xa.kc;this.S&&(c|=J.xa.kc);c&=~J.xa.dc;if(d=this.B){d=this.B;if(e=d.A)e=d.u,e=Rc(d.u)>=d.F+e.Fa*e.U/1E3*1.2731488;e&&(d.A=!1);d=!d.A}d&&(c|=J.xa.dc);c&=~J.xa.sc;this.C&&this.C.ia&de&&(c|=J.xa.sc);this.D=c;x(this,a,null,b,"FLAGS",c);return c}; +l.ae=function(a,b,c){x(this,a,b,c,"BRIGHTNESS");this.W=b};l.de=function(a,b,c){x(this,a,b,c,"NVR.LATCH");this.L=b};l.ce=function(a,b,c){x(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.w=this.w&-4|a;break;case 1:this.w=this.w&-13|a<<2;this.video&&(b=this.video,a=this.w,Eb(b,"updateScrollOffset("+a+")"),b.sa!==a&&((b.sa=a)?md(b,!0):b.ya=!0));break;case 2:switch(a){case 0:this.O=~this.O;break;case 2:case 3:this.X=3-a}break;case 3:this.V=a}}; +l.be=function(a,b,c){x(this,a,b,c,"DC011");b&J.Ka.kd?(b&=J.Ka.oc,this.I!=b&&(this.I=b,this.video&&(a=this.video,b=this.I==J.Ka.oc?50:60,Eb(a,"updateRate("+b+")"),a.jb=b))):(b&=J.Ka.Wb,this.F!=b&&(this.F=b,this.video&&(a=this.F==J.Ka.Wb?132:80,b=this.video,Eb(b,"updateDimensions("+a+","+(80>>0,g],v=Da(u,k,a.Ac);0>v&&u.splice(-(v+1),0,k)}p&&(h.a=p.replace(/''/g,'"'))}a.A.push({Nf:b,J:c,Qd:d,ra:e,zc:f})}delete this.ra}return!0};ge.prototype.ua=function(){return!0}; +function he(a,b,c,d){if(d)a.aa("Unable to load system ROM (error "+d+": "+b+")");else{hb(a.eb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.b=f;else if(g)for(a.b=Array(4*g.length),d=c=0;c>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.ra=e.symbols;if(!a.b.length){r("Empty ROM: "+b);return}if(1==a.b.length){r(a.b[0]);return}}catch(h){a.aa("ROM data error: "+h.message);return}else for(b= +c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e>>f.g;0>>= +f.g;0=m.ab&&a<=m.wb?d.g&(Re|Se)||(d.g|=Se,Oe(d,20,!0),Te(d)):a>=m.yc&&a<=m.z&&d.g&Se&&(d.g&=~Se,Oe(d,20,!1),Te(d));return!0}),c.onpaste=function(a){a:{if(d.C&&d.C.Ra&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a=a.clipboardData||window.clipboardData)){Ue(d.C,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ua&&void 0!==this.b.Ua[b])return this.P[e]=c,c.onclick= +function(a,b){return function(d){d.preventDefault&&d.preventDefault();d=!0;var e=0;17==b?e=Ve:20==b&&(e=Se);if(e){c.style.fontWeight="normal";if(d=!(a.g&e))c.style.fontWeight="bold";We(a,b,d)}Oe(a,b,d,!e);a.R&&a.R.Za()}}(this,this.b.Ua[b]),!0}}return!1};l.Ea=function(a,b,c,d){this.R=a;this.u=c;this.K=d;var e=this;this.L=Wc(this.u,function(){Xe(e)});this.W=Kb(a,"ChipSet");this.C=Kb(a,"SerialPort");bc(b,this,this.b.Bb);gc(b,this,this.b.Cb)}; +l.va=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ua=function(a){return a?this.save():!0};l.reset=function(){this.j=[];this.g=0;this.b.INIT&&!this.restore(this.b.INIT)&&this.aa("reset error")};l.save=function(){var a=new ud(this);switch(this.b.pa){case K.pa:a.set(0,[this.D,this.B,this.A,this.F,-1])}return a.data()}; +l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.pa){case Ye.pa:return!0;case K.pa:return this.D=b[0],Te(this,this.D&K.Ba.ec),this.B=b[1],this.A=b[2],this.F=b[3],this.w=b[4],!0}return!1};function Te(a,b){var c;null!=b?a.I=b:b=a.I;for(var d in a.b.fb)if(c="led-"+d,c=a.P[c]){var e=a.b.fb[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+n(16711680,6):"#000000"}if(c=a.P["led-caps-lock"])c.style.backgroundColor=a.g&Se?"#"+n(65280,6):"#000000"} +function We(a,b,c,d){var e=0;switch(b){case 16:e=d?Ze:$e;break;case 17:e=d?af:Ve;break;case 18:e=d?bf:cf;break;case 91:e=d?df:ef;break;case 20:e=Se,c=!(a.g&e)}e&&(a.g=c?a.g|e:a.g&~e);return c} +function Qe(a,b,c){var d=!0,e=b.keyCode,e=la[e]||e;c=We(a,e,c,2==b.location);var f;a:if(e=a.b.Tb[e]||e,a.b.Sa[e])f=e;else{for(f in a.b.Ua)if(a.b.Ua[f]===e)break a;f=null}f&&!b.metaKey&&(d=!1,a.g&(ff|gf)&&(13==f?(f=118,d=!0):8==f&&(f=46,d=!0),d&&(a.g=c?a.g|gf:a.g&~gf)),d=Oe(a,f,c),(!(f>=m.ab&&f<=m.wb)||a.g|hf)&&b.preventDefault&&b.preventDefault());return d} +function Pe(a,b,c){var d=!0;if(c){var e=b.keyCode,f=a.b.Sa[e],g;if(g=f){a:{for(var h in a.b.sb)if(a.b.sb[h]==f){f=+h;break a}f=0}g=!f}g&&(d=Oe(a,e,c,!0),b.preventDefault&&b.preventDefault())}return d} +function Oe(a,b,c,d){var e;a:{for(e=0;ee?a.j.push({Pb:b,Mb:Date.now(),yb:d||!1}):(a.j[e].Mb=Date.now(),a.j[e].yb=d||!1),d&&Xe(a);else if(0<=e){if(!a.j[e].yb&&(d=a.j[e].Mb)&&Date.now()-dc||c>e)c=e}else{Oe(a,d,!1);b=0;continue}}b++}0<=c&&Xc(a.u,a.L,c)}l.Nd=function(a,b){var c=this.B;0<=this.w&&(this.w"]]= +229,N[m["<"]]=230,N[m.hc]=231,N[m.Ub]=232,N[m.wc]=233,N[m["?"]]=245,N[m.gc]=246,N[m.tc]=248,N[m.Vb]=249,N[m.wb]=250,N),Tb:{},fb:{},Ua:{"caps-lock":20,ctrl:17,esc:27,tab:9,"num-comma":116,"break":117,"line-feed":118,"no-scroll":119,setup:120},Nc:{qa:130,INIT:127},Ba:{qa:130,bd:1,ad:2,$c:4,Zc:8,cd:16,fc:32,ec:63,od:64,Ce:128,INIT:0},Yc:127};K.fb={l4:K.Ba.bd,l3:K.Ba.ad,l2:K.Ba.$c,l1:K.Ba.Zc,locked:K.Ba.cd,local:K.Ba.fc,online:~K.Ba.fc,"caps-lock":Se};var Ne={SI1978:Ye,VT100:K}; +K.INIT=[[K.Ba.INIT,K.Nc.INIT,!1,0,-1]];K.Bb={130:Me.prototype.Nd};K.Cb={130:Me.prototype.ee};Va(function(){for(var a=rb(document,"pc8080","keyboard"),b=0;b>3)*a.N,!Qb(a.H,a.ma,a.L,3)))return!1;a.L?(a.Va=a.j.createImageData(b,c),a.hb=16/a.na|0,qf(a,a.L>>1)):qf(a,(a.O+1)*a.Z);a.D=document.createElement("canvas");a.D.width=b;a.D.height=c;a.wa=a.D.getContext("2d");a.T={};a.X=1<=a.Ha?8:16,f=8>(7>4)*c)}return k}l.va=function(a,b){return b||!a||this.restore(a)?!0:!1};l.ua=function(a){return!a||this.save()};l.save=function(){var a=new ud(this);a.set(0,[]);return a.data()};l.restore=function(){return!0}; +l.Xa=function(){var a=!1;if(this.b){if(this.b.Xa){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.M/this.I;b>c&&(a=Math.round(c/b*100)+"%")}this.Ta?(this.F.style.width=a,this.F.style.width=a,this.F.style.display="block",this.F.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Xa();a=!0}this.V&&this.V.focus()}return a}; +function of(a,b){!b&&a.b&&(a.Ta?a.F.style.width=a.F.style.height="":a.b.style.width=a.b.style.height="");Eb(a,"notifyFullScreen("+b+")")}function qf(a,b){a.gb=b;a.W=!1;if(void 0===a.A||a.A.length!=a.gb)a.A=Array(a.gb)}function Bf(a,b,c,d,e){d=a.g?(b.height-c-1)*b.width+d:c+d*b.width;e&&a.Y==sf&&(208<=c&&236>c?e=a.X+tf:28<=c&&72>c&&(e=a.X+uf));a=a.U[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} +function md(a,b){var c=!0;if(!b){a.oa&&(120==a.oa?a.ib&1?(Sd(a.u,2),c=!1):Sd(a.u,1):Sd(a.u,4));if(c&&a.W&&a.L){for(var d=a.H,e=a.L,f=!0,g=a.ma>>>d.g;0>=1);;){var y=Vb(a.H,u++);if((y&Cf)==Cf){var w=Vb(a.H,u++),d=w&Df,c=(w&Ef)<<8|Vb(a.H,u),c=c+(w&Ff? +Gf:Hf);break}if(p>4)*y.ba,L,ja,ua,na,Ma=y.fa,fc=y.ba;C?(L=B*w.fa,ja=e*w.ba,ua=w.fa,na=w.ba):(L=B*w.La,ja=e*w.Ma,ua=w.La,na=w.Ma);y.fa>w.fa&&(L*=2,ua*=2);y.ba>w.ba&&(v==Af&&(T+=w.ba),fc=w.ba);C?C.drawImage(y.canvas,za,T,Ma,fc,L,ja,ua,na):(L+=0,ja+=0,w.j.drawImage(y.canvas, +za,T,Ma,fc,L,ja,ua,na))}h++}g++}e++}}a.W=!0;!b&&a.ya&&1==h&&(a.A[k]=-1,h=0);a.ya=!1;(h||b)&&a.wa&&a.j.drawImage(a.D,0,a.sa,a.C,a.N-a.ba,0,0,a.Db,a.td)}else{e=a.ma;f=e+a.L;k=h=g=0;b=a.C;p=0;c=a.N;v=d=0;u=a.na;B=(1<>8|(w&255)<<8);h>C&B,Bf(a,a.Va,h++,k,za),C+=u;h>p&&(p=h);k=d&&(d=k+1)}e+=2;g++;if(h>=a.C&&(h=0,k++,k>a.N))break}a.W=!0;bMissing <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<=Ia().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||Qa("aspect"));f&&.3<=f&&3.33>=f&&(Ua("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");Pa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"),f.style.fontSize="16px");c.appendChild(f);var g=e.getContext("2d"),d=new lf(d,e,g,f,c);qb(d,c)}}); +function If(a){t.call(this,"SerialPort",a,8388608);this.T=+a.adapter;switch(this.T){case 0:this.U=0;this.X=2;break;default:r("Unrecognized serial adapter #"+this.T);return}this.g=this.j=null;this.V=a.tabSize;this.S=a.charBOL;this.w=0;this.N=!1;this.D=!0;var b=a.binding;if("console"==b)this.j="";else{var c;a=Jf;b&&(void 0===c&&(c="Panel"),(c=ob(c,this.id))&&(b=c.P[b])&&this.ca(null,a,b))}this.A="";this.b=this.Ra=this.I=null;this.exports={connect:this.Fc,receiveData:this.Ob,receiveStatus:this.ne}} +aa(If,t);l=If.prototype;l.ca=function(a,b,c,d){var e=this;switch(b){case Jf:return this.P[b]=this.g=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==c.length){var d=Aa(c[0]);if(d!=this.cb)return;c=Aa(c[1]);if(this.b=mb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.D);if(this.Ra=e.receiveData){this.D=a;this.I=e.receiveStatus;this.status("Connected "+this.eb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +l.va=function(a,b){if(!b)if(this.Fc(this.D),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.ua=function(a){return a?this.save():!0};l.reset=function(){Nf(this)};l.save=function(){var a=new ud(this),b=0,c=[];c[b++]=this.F;c[b++]=this.M;c[b++]=this.O;c[b++]=this.ia;c[b++]=this.B;c[b++]=this.C;c[b]=this.L;a.set(0,c);return a.data()};l.restore=function(a){return Nf(this,a[0])}; +function Nf(a,b){var c=0;b||(b=Of);a.F=b[c++];a.M=b[c++];a.O=b[c++];a.ia=b[c++];a.B=b[c++];a.C=b[c++];a.L=b[c];return!0}function Pf(a,b){var c=a.L&b;b&15||(c>>=4);b=Qf[c];c=((a.B&Rf)>>2)+6;a.B&Sf&&c++;c+=((a.B&Tf)>>6)+1>>1;return 1E3/Math.round(b/c)}function Kf(a,b){Eb(a,"receiveByte("+qa(b)+"), status="+qa(a.ia));return a.N||a.ia&Uf?!1:(a.M=b,a.ia|=Uf,Sd(a.u,a.X),!0)} +l.Ob=function(a){null!=a&&(this.A="number"!=typeof a?a:this.A+String.fromCharCode(a));this.A&&(Kf(this,this.A.charCodeAt(0))&&(this.A=this.A.substr(1)),this.A&&this.u&&Xc(this.u,this.Y,Pf(this,Vf)));return!0};l.ne=function(a){this.ia&=~Wf;a&64&&(this.ia|=Wf)};function Ue(a,b){a.ia=a.ia|de|Xf;b&&a.Ra&&a.Ra.call(a.b,b)}l.Hd=function(a,b){var c=this.M;x(this,a,null,b,"DATA",c);this.ia&=~Uf;return c};l.Gd=function(a,b){var c=this.ia;x(this,a,null,b,"STATUS",c);return c}; +l.Vd=function(a,b,c){x(this,a,b,c,"DATA");this.O=b;this.ia&=~(de|Xf);Eb(this,"transmitByte("+qa(b)+")");if(19==b)this.N=!0;else if(17==b)this.N=!1;else if(this.Ra&&this.Ra.call(this.b,b),this.g)if(8==b)this.g.value=this.g.value.slice(0,-1),0":String.fromCharCode(b);c=a.length;9==b?(b=this.V||8,c=b-this.w%b,this.V&&(a=ya("",c))):13==b&&(this.w=c=0,a="\n");this.S&&!this.w&&c&&(a=String.fromCharCode(this.S)+a);this.g.value+=a;this.g.scrollTop= +this.g.scrollHeight;this.w+=c}else if(null!=this.j){if(10==b||1024<=this.j.length)this.i(this.j),this.j="";10!=b&&(this.j+=String.fromCharCode(b))}this.u&&Xc(this.u,this.Z,Pf(this,Yf))};l.Ud=function(a,b,c){x(this,a,b,c,"CONTROL");this.F?(this.I&&(b^this.C)&(Zf|$f)&&(a=0,this.D?(a|=b&Zf?32:0,a|=b&$f?320:0):(a|=b&Zf?16:0,a|=b&$f?1048576:0),this.I.call(this.b,a)),this.C=b,this.C&ag&&(this.F=!1)):(this.B=b,this.F=!0)};l.Td=function(a,b,c){x(this,a,b,c,"BAUDRATES");this.L=b}; +var Rf=12,Sf=16,Tf=192,$f=2,Zf=32,ag=64,de=1,Uf=2,Xf=4,Wf=128,Vf=15,Yf=240,Qf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Of=[!1,0,0,133,142,39,238],Jf="buffer",Lf={0:If.prototype.Hd,1:If.prototype.Gd},Mf={0:If.prototype.Vd,1:If.prototype.Ud,2:If.prototype.Td};Va(function(){for(var a=rb(document,"pc8080","serial"),b=0;bthis.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.L?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b}; +function cg(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 dg(a,b,c){var d;if(b){b=eg(a,b);for(var e=0,f=!1,g=b,h=[],k=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,y--;g=v+g;d>>=8}d=n(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} +function jg(a,b){if(b)return hg(a,b,a.S[b]);var c=0;for(b in a.S)hg(a,b,a.S[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var gg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function kg(a){bg.call(this,a);this.style=lg;this.F=mg();this.ma=mg();this.O=mg();this.A=[];this.j=this.I=this.w=[];ng(this);this.W=0;og(this);this.Z={};pg(this,a.messages);this.ea=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Oc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Oc(b,a)})}aa(kg,bg);l=kg.prototype; +l.Ea=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Kc(a,"messages"))&&pg(this,a);this.ga=qg;ae(this,64,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=rg(sg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;k--;){var u=b[e];u.type==c?p++||d.i("..."):(c=u.type,p=Tb[c],u&&d.i(n(u.id)+" %"+n(e<>>e.g;f!=e.j?e.b[g].Sb(f,b&65535,d):(e.b[g++].qb(f,b&255,d),e.b[g&e.I].qb(0,b>>8&255,d+1));c&&ug(a,c);Pc(this.u,!0)}};function mg(a){return{J:a,Da:!1}}function vg(a){return[a.J,a.Da]}function Tg(a){return{J:a[0],Da:a[1]}} +function sg(a,b,c){var d;c=(c?a.F:a.ma).J;if(void 0!==b){d=b=eg(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=Fa(Yg,a.substr(b,1))));return c};function Zg(a,b){var c=0;a=a.Lb(b);if(void 0!==a)switch(b){case $g:case ah:case bh:case ch:case dh:case eh:case fh:case gh:c=2;break;case hh:case ih:case jh:case kh:case lh:case mh:case nh:c=4}return c?n(a,c):"??"} +l.Lb=function(a){var b;if(0<=a){var c=this.u;switch(a){case $g:b=c.g;break;case ah:b=c.w;break;case bh:b=c.A;break;case hh:b=vd(c);break;case ch:b=c.B;break;case dh:b=c.C;break;case ih:b=xd(c);break;case eh:b=c.D;break;case fh:b=c.F;break;case jh:b=D(c);break;case gh:b=E(c,D(c));break;case kh:b=c.M;break;case lh:b=c.j;break;case mh:b=td(c);break;case nh:b=td(c)&255|c.g<<8}}return b}; +function oh(a,b){b=eg(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Kb(b,c+1),0<=e&&(b=b.substr(0,c)+Zg(a,e)+b.substr(c+1+Yg[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ma(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=sg(a,e))?(d=e+' "'+Xg(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=sg(a,e))?(ug(d),d=e+ +' "'+Xg(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Wg(mg(this.u.j).J));this.ha&1073741824?this.X.push(a):this.V&&a==this.V||(this.V=a,this.ha&-2147483648&&(this.da(),a+=" (cpu halted)"),this.i(a),this.u&&(a=this.u,Yc(a),a.wa=0,Pc(a)))}; +function Fb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ha&h)!=h||a.message(b.cb+"."+(null!=d?"outPort":"inPort")+"("+q(c)+","+(f?f:"unknown")+(null!=d?","+qa(d):"")+")"+(null!=g?": "+qa(g):"")+(null!=e?" at "+Wg(e):""))} +function og(a){var b;if(Td(a)){if(!a.D||!a.D.length){a.D=Array(ph);for(b=0;b>>d.g],!1)}a.I=["br"];if(a.w)for(b=1;b>>d.g],!0);a.w=["bw"];a.oa=0}l.Pa=function(a,b,c){var d=!0;c||vh(this,a,b,!1,!0);if(a!=this.j){var e=rg(b);if(-1===e)this.i("invalid address: "+Wg(b.J)),d=!1;else{var f=this.H;f.b[e>>>f.g].Pa(e&f.j,a==this.w)}}d&&(a.push(b),c?b.Da=!0:(wh(this,a,a.length-1,"set"),og(this)));return d}; +function vh(a,b,c,d,e){var f=!1;c=rg(c);for(var g=1;g>>d.g],b==a.w));h.Da||og(a);break}}return f}function xh(a,b){for(var c=1;c>24,4);break;case Kh:C=n(y.Gb(C,2),4);break;default:y="imm("+q(w)+")";break a}y.style==Ah&&w&Lh?C="["+C+"]":w&Mh||(C=(y.style==lg?"$":"0x")+C);y=C}else w&Mh?(y=(v&Nh)>>8, +w=Yg[y],a.style==Ah&&v&Lh&&(y==gh&&(w="HL"),w="["+w+"]"),y=w):w&Oh&&(y=(f>>3&7).toString());if(!y||!y.length){h="INVALID";break}0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Qd;if(e>=g&&e>8&255;case "C":d.A=f&255;break;case "D":d.B=f&255;break; +case "DE":d.B=f>>8&255;case "E":d.C=f&255;break;case "H":d.D=f&255;break;case "HL":d.D=f>>8&255;case "L":d.F=f&255;break;case "SP":d.M=f&65535;break;case "PC":A(d,f);a.F=mg(d.j);break;case "PS":rd(d,f);break;case "PSW":rd(d,f&255|d.N&-256);d.g=f>>8;break;case "CF":d.I=f?d.I|256:d.I&255;break;case "PF":f?Cd(d)||(d.L^=1):Cd(d)&&(d.L^=1);break;case "AF":d.O=f?~d.L&16|d.O&-17:d.L&16|d.O&-17;break;case "ZF":d.I=f?d.I&-256:d.I|255;break;case "SF":f?Fd(d)||(d.L^=192):Fd(d)&&(d.L^=192);break;case "IF":d.N= +f?d.N|512:d.N&-513;break;default:a.i("unknown register: "+e);return}Pc(d);a.i("updated registers:")}a.i(Sh(a));c&&(a.F=mg(d.j),th(a,Wg(a.F.J)))}}function Zh(a,b){b=Aa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.i(oh(a,c[2])):dg(a,b,!0)}function $h(a,b,c){var d="t"!=b;c=fg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Sa(c,function(){return Cb(a,!0)&&tg(a,e,d,!1)},function(){Pc(a.u);Cb(a,!1)})} +function th(a,b,c,d){if(b=sg(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=sg(a,c,!0);if(!d||d.Jh[0].indexOf("+"))){var p=h[0]+":";h[2]&&(p+=" "+h[2]);a.i(p)}h[3]&&(g=h[3],f=null);f=zh(a,b,g,f);a.i(f);a.F=b;e-=b.J-k;c++}}} +l.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.L?a="end":a=this.g[this.b+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Aa(a.substring(d,f))),d=f+1}}return b}; +function yh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.L&&(a.i("ended assemble at "+Wg(a.O.J)),a.F=a.O,a.L=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.V=null;if(zb(a)&&0p||"z"Za.length&&(a.i("note: only "+Za.length+" available"),Ba=Za.length);Na-=Ba;0>Na&&(null==Za[Za.length-1].J?(Ba=Na+Ba,Na=0):Na+=Za.length);var te=[];"call"==Ag&&(kc=1E5,te=["CALL"]);for(void 0!==zg&&a.i(Ba+" instructions earlier:");0< +kc&&Na!=a.T;){var Dg=Za[Na++];if(null==Dg.J)break;var lc=mg(Dg.J),Ei=Ba--,Eg=zh(a,lc,"history",Ei);(!te.length||0<=Eg.indexOf(te[0]))&&a.i(Eg);lc.Jb&&(Na+=lc.Jb,kc-=lc.Jb,Ba-=lc.Jb);Na>=Za.length&&(Na=0);a.sa=Ba;Cg++;kc--}}Cg||(a.i("no "+Bg+"history available"),a.sa=void 0)}else{var $c=sg(a,na);if($c){var ad=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||fc),ad=fg(a,Ma)>>>0,65536>4||1;Fi--&&0ed?String.fromCharCode(ed):".";cd--}mc&&(mc+="\n");mc+=na+" "+ve+(nc?"":" "+Fg)}mc&&a.i(mc);a.ma=$c}}}}break;case "e":if("else"==f[0])break;var fd=1,Gg=255,Hg=a.Ga,Ig=a.Xb;"ew"==f[0]&&(fd=2,Gg=65535,Hg=a.Gb,Ig=a.Qc);var Jg=fd<<1,Kg=f[1];if(null==Kg)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a"); +else{var gd=sg(a,Kg);if(gd)for(var hd=2;hdCe;){for(var ub=null,Li=256;65536>qc.J>>>0;){Mg.J=a.Gb(qc,2);if(null==qc.J||!Li--)break;for(var Mi=a,jd=Mg, +Ng=null,rc=jd.J,Og=rc,De=1;6>=De&&rc;De++){if(2\nLicense: GPL version 3 or later ");for(b=0;bji){if(li(d,this.F)){this.w=new ud(this,"1.34.2",ui);li(this.w)&&(vi(this,d),a=wi,xi(this.w));this.w.set(ri,Ea());yi(this.w);var e=this.b&&!this.C;if(a==si||kb("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=qi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?li(d,g):("error"==f&&"no machine state"!= +g?(this.aa("Error: "+g),"unable to verify user"==g&&(Oa(zi,""),this.g=null)):this.i(f+": "+g),xi(d),li(d)?(c=qi(d),e=!0):c=!1))}e&&oi(this,c?d:null)}else a==wi&&d.clear()}else oi(this);delete this.F;delete this.I}e=lb(this.id);for(f=0;fa[1];a=a[2];this.W=!0;this.G.ja=!0;var d=this.P.power;d&&(d.textContent="Shutdown");this.u&&(Ai(this,this.u,b,c,a),this.u.lb());this.N&&(vi(this,b),b.clear());!c&&this.w&&(this.w.clear(),delete this.w);this.j=0}; +function vi(a,b){if(kb("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.g||"";b=b.toString();var d={app:"PC8080",ver:"1.34.2"};d.url=a.U;d.user=c;d.type="bug";d.data=b;Ga("http://www.pcjs.org/api/v1/report",d,!0)}} +function ai(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new ud(a,"1.34.2"),g=new ud(a,"1.34.2",pi),h=Ea();g.set(ri,h);f.set(ri,h);f.set(Bi,"1.34.2");f.set(Ci,window?window.location.href:null);f.set(Di,Ia());a.u&&a.u.ua&&(c&&a.u.da(),d=a.u.ua(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.G.ja=!1,!1===d&&(e=null)));for(var h=lb(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(u){f=null,a=u.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ga(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],p,u=/( [a-z]+=)(['"])(.*?)\2/g;p=u.exec(f);)k=0>k.indexOf(p[1])?k.replace(">",p[0]+">"):k.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[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);Yi(a,b,c)}})}else c(a,null)} +function Zi(a,b,c,d){function e(a){if(void 0===h){var b=g&&rb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=wa(a))}function f(a){e("Error: "+a);k&&(--Vi||cb(!0));k=!1}var g,h,k=!0;Vi++;ib[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));u.appendChild(v)}c|| +(c="/versions/pc8080/1.34.2/components.xsl");p=function(d,h){h?Wi(c,null,null,!1,e,function(d,k){k?(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Vi||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Vi||cb(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Wi(b,a,d,!0,e,p):Xi(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(B){f(B.message)}return k}window.embedPC8080=function(a,b,c,d){cb(!1);return Zi(a,b,c,d)};window.findMachineComponent=function(a,b){return ob(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!tb[a]){for(var c=!0,d=tb,e=a,f=b.length,g=[],h=[],k="",p=null,u=0;ua?-b:b};ia!=ha&&null!=ia&&aa(ba,ga,{configurable:!0,writable:!0,value:ia}); +var n={Yd:0,ae:1,be:2,ce:3,de:4,ee:5,fe:6,ge:7,he:8,ie:9,je:10,ke:11,le:12,me:13,ne:14,oe:15,pe:16,qe:17,re:18,se:19,te:20,ue:21,ve:22,we:23,xe:24,ye:25,ze:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,sb:66,tb:67,kb:68,E:69,wb:70,xb:71,yb:72,zb:73,Ab:74,Bb:75,lb:76,Fb:77,Gb:78,Jb:79,Kb:80,Q:81,Lb:82,Nb:83,Ob:84,Pb:85,Rb:86,Sb:87, +Ub:88,Vb:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Wb:97,Rc:98,Tc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,jd:106,k:107,kd:108,ld:109,n:110,md:111,p:112,q:113,r:114,Kd:115,t:116,Ld:117,Md:118,Nd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ae:127},ja={59:186,61:187,173:189,224:91}; +function ka(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=e?48:55),d=String.fromCharCode(e)+d;a=Math.trunc(a/16)}return(void 0===c?"":c)+d}function la(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0"']/g,function(a){return qa[a]})}function ra(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +var qa={"&":"&","<":"<",">":">",'"':""","'":"'"},sa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +function ta(){function a(a){return(10>a?"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 ua(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var m="",q;for(q in b)b.hasOwnProperty(q)&&(m&&(m+="&"),m+=q+"="+encodeURIComponent(b[q]));m=m.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(m)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function va(a,b){var c,d={T:null,sa:null,Aa:null,ta:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Aa=g.load;d.ta=g.exec;if(e=g.bytes)d.T=e;else if(e=g.words)for(d.T=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.T=Array(4*e.length),f=c=0;c>8&255,d.T[f++]=e[c]>>16&255,d.T[f++]=e[c]>>24&255;else(e=g.data)?d.hf=e:d.T=g;d.T&&(d.T.length?1==d.T.length&&(r(d.T[0]),d=null):(r("Empty resource: "+a),d=null));d.sa=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ya=this.id:(this.Ka=this.id.substr(0,a),this.Ya=this.id.substr(a+1));this.i={ready:!1,ab:!1,nb:!1,V:!1,error:!1};this.eb=null;this.i.error=!1;this.J=this.m=this.u=this.D=this.pa=null;u.push(this)} +function Oa(a,b,c){Pa[a]&&b&&(Pa[a][b]=c)}function Qa(){return Date.now()||+new Date}function Ja(a,b,c){b||r((c?c+": ":"")+a)}function r(a){window&&window.alert(a)}function Ra(a){var b=!1;window&&(b=window.confirm(a));return b}function Sa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>1)+2;10>this.b&&(this.b=10);15>2;this.f=this.c-1;this.h=this.v/this.c|0;this.o=this.h-1;this.j=[];this.l=[];this.B=[];this.C=[];a=new C;jb(a,this.J);this.a=Array(this.h);for(b=0;b>>a.b;0f&&(q=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ra)return h.ib+=h.Ra-e,h.Ra=e,!0;if(e>=h.Ra+h.ib){q=h.size-(e-m);q>f&&(q=f);h.ib=e-h.Ra+q;e=m+a.c;f-=q;g++;continue}}return lb(mb,e,f)}e=new C(e,q,a.c,d);jb(e,a.J,h);a.a[g++]=e;e=m+a.c;f-=q}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+nb[d]+" at "+p(b,4,!0)),!0):lb(ob,b,c)}function qb(a,b){return a.a[(b&a.g)>>>a.b].hb(b&a.f,b)} +function rb(a,b){var c=b&a.f,d=(b&a.g)>>>a.b;return c!=a.f?a.a[d].Ed(c,b):a.a[d++].Ua(c,b)|a.a[d&a.o].Ua(0,b+1)<<8}function sb(a,b,c){a.a[(b&a.g)>>>a.b].gc(b&a.f,c&255,b)}function tb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.b;d!=a.f?a.a[e].Sd(d,c&65535,b):(a.a[e++].Va(d,c&255,b),a.a[e&a.o].Va(0,c>>8&255,b+1))} +function ub(a){for(var b=0,c=[],d=0;d>1),this.a=new Int32Array(this.m,0,c>>2),Db(this,zb?Eb:Fb);else{this.a=Array(c>>2);for(a=0;a>2),b=0;b>8,c)};k.Dd=function(a){return this.a[a>>2]>>>((a&3)<<3)&255}; +k.Id=function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8};k.Rd=function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<>8);this.ja=!0};k.Bd=function(a,b){return this.hb(a,b)};k.Gd=function(a,b){return this.ec(a,b)};k.Pd=function(a,b,c){this.w||this.gc(a,b,c)}; +k.Ud=function(a,b,c){this.w||this.h(a,b,c)};k.Ad=function(a){return this.b[a]};k.Cd=function(a){return this.b[a]};k.Fd=function(a){return this.u.getUint16(a,!0)};k.Hd=function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.g[a>>1]};k.Od=function(a,b){this.b[a]=b;this.ja=!0};k.Qd=function(a,b){this.b[a]=b;this.ja=!0};k.Td=function(a,b){this.u.setUint16(a,b,!0);this.ja=!0};k.Vd=function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.g[a>>1]=b;this.ja=!0}; +var Bb=0,Cb=2,nb=["NONE","RAM","ROM","VID","H/W"],Ab=0,Hb=[],Gb=[C.prototype.Dd,C.prototype.Rd,C.prototype.Id,C.prototype.Wd],Kb=[C.prototype.Bd,C.prototype.Pd,C.prototype.Gd,C.prototype.Ud];if(db)var Fb=[C.prototype.Ad,C.prototype.Od,C.prototype.Fd,C.prototype.Td],Eb=[C.prototype.Cd,C.prototype.Qd,C.prototype.Hd,C.prototype.Vd]; +function Lb(a,b){t.call(this,"CPU",a);var c=a.multiplier||1;this.na=a.cycles||b;this.O=c;this.Ea=Math.round(this.na/1E4)/100;this.X=this.Ea*this.O;this.i.ka=!1;this.i.fc=!1;this.i.Sa=a.autoStart;this.i.Xb=!1;this.i.bb=!1;this.wa=this.ea=0;this.xa=a.csStart;this.ha=a.csInterval;this.la=a.csStop;this.H=[];this.mb=this.jb.bind(this);B(this)}l(Lb,t);k=Lb.prototype; +k.qa=function(a,b,c,d){this.D=a;this.u=b;this.J=d;for(b=0;ba.R/a.X&&(b=1);a.O=b;b=a.Ea*a.O;if(a.X!=b){a.X=b;b=a.X.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.D&&Wb(a.D)}a.I+=a.P;a.P=0;a.L=Qa();a.W=0;Tb(a)}function Xb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function Yb(a,b,c){0<=b&&ba.H[b][0]&&(c*=a.na*a.O/1E3,a.H[b][0]=c+Zb(a))}function Zb(a,b){var c=a.da-=a.a;a.a=0;b&&(a.da=0);return c} +k.jb=function(a){if(cb(this,!0)){if(!this.i.ka){Sb(this);this.D&&this.D.start(this.L,Vb(this));this.i.ka=!0;this.i.fc=!0;this.N&&this.N.start();var b=this.w.run;b&&(b.textContent="Halt");this.D&&($b(this.D,!0),a&&Wb(this.D,!0))}this.Ga>=this.na&&Tb(this,!0);this.oa=0;this.va=Qa();this.W&&(a=this.va-this.W,a>this.Pa&&(this.L+=a,this.L>this.va&&(this.L=this.va)));try{do{for(var c,d=this.i.bb?1:this.ya,e=this.H.length-1;0<=e;e--){var f=this.H[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.vb(c);c=Zb(this,!0); +this.oa+=c;this.P+=c;a=c;this.i.bb&&(b=!1,this.wa=this.wa+this.$b()|0,this.ea-=a,0>=this.ea&&(this.ea+=this.ha,b=!0),0<=this.la&&this.la<=Vb(this)&&(this.ha=this.la=-1,Pb(this),Rb(this),b=!0),b&&this.aa(Vb(this)+" cycles: checksum="+p(this.wa)));a=c;for(var g=this.H.length-1;0<=g;g--){var h=this.H[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ma-=c;if(0>=this.ma){this.ma+=this.ya;++this.Qa>=ac&&(this.D&&$b(this.D),this.Qa=0);break}}while(this.i.ka)}catch(m){Rb(this);Qb(this);this.D&&this.D.stop(Qa(), +Vb(this));cb(this,!1);c=m.stack||m.message;this.i.error=!0;this.G(c);return}c=setTimeout;d=this.mb;this.W=Qa();e=this.Pa;this.oa&&(e=Math.round(e*this.oa/this.ya));e-=this.W-this.va;if(f=this.W-this.L)this.R=Math.round(this.P/(10*f))/100,864E5<=f&&(this.I=0,Sb(this));if(0>e||this.Re&&(this.L-=e),e=0;this.Ga+=this.oa;this.W+=e;c(d,e)}else Qb(this),this.D&&this.D.stop(Qa(),Vb(this))};k.vb=function(){return 0}; +function Rb(a){a.i.ab&&(a.i.nb=!0);Zb(a);a.I+=a.P;a.P=0;if(a.i.ka){a.i.ka=!1;a.N&&a.N.stop();var b=a.w.run;b&&(b.textContent="Run")}a.i.complete=void 0}function Qb(a){if(a.D){for(var b=a.D,c=0;c>8&255;a.c=b&255}function mc(a){return a.h<<8|a.f}function nc(a,b){a.h=b>>8&255;a.f=b&255}function G(a){return a.j<<8|a.l} +function H(a,b){a.j=b>>8&255;a.l=b&255}function D(a,b){a.s=b&65535}function I(a){return a.o&256?1:0}function oc(a,b){a.o=a.o&255|b}function pc(a){return eb[a.v&255]?4:0}function jc(a){return a.F&-214|(a.v&128?128:0)|(a.o&255?0:64)|((a.v^a.B)&16?16:0)|pc(a)|I(a)}function hc(a,b){a.o=a.v=a.B=0;b&1&&(a.o|=256);b&4||(a.v|=1);b&16&&(a.B|=16);b&64||(a.o|=255);b&128&&(a.v^=192);a.F=a.F&-726|b&512|2}function qc(a,b){a.B=a.b^b;return a.v=(a.o=a.b+b)&255} +function rc(a,b){a.B=a.b^b;return a.v=(a.o=a.b+b+(a.o&256?1:0))&255}function sc(a,b){a.o=a.v=a.B=a.b&b;(a.b|b)&8&&(a.B^=16);return a.o}function tc(a,b){a.B=b^255;b=a.v=b+255&255;a.o=a.o&-256|b;return b}function uc(a,b){a.B=b;b=a.v=b+1&255;a.o=a.o&-256|b;return b}function vc(a,b){return a.v=a.o=a.B=a.b|b}function J(a,b){b^=255;a.B=a.b^b;return a.v=(a.o=a.b+b+1^256)&255}function wc(a,b){b^=255;a.B=a.b^b;return a.v=(a.o=a.b+b+(a.o&256?0:1)^256)&255}function xc(a,b){return a.v=a.o=a.B=a.b^b} +function K(a,b){a=a.u;return a.a[(b&a.g)>>>a.b].Ua(b&a.f,b)}function M(a,b,c){a=a.u;a.a[(b&a.g)>>>a.b].Va(b&a.f,c&255,b)}function N(a){var b=K(a,a.s);D(a,a.s+1);return b}function O(a){var b=rb(a.u,a.s);D(a,a.s+2);return b}function P(a){var b=rb(a.u,a.A);a.A=a.A+2&65535;return b}function Q(a,b){a.A=a.A-2&65535;tb(a.u,a.A,b)}function yc(a){if(a.a&&a.C&255&&a.F&512){for(var b=0;8>b&&!(a.C&1<b?255:1<>8;oc(this,a&256);this.a-=4},Ac,function(){var a;H(this,a=G(this)+kc(this));oc(this,a>>8&256);this.a-=10},function(){this.b=K(this,kc(this));this.a-=7},function(){lc(this,kc(this)-1);this.a-=5}, +function(){this.c=uc(this,this.c);this.a-=5},function(){this.c=tc(this,this.c);this.a-=5},function(){this.c=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;oc(this,a);this.a-=4},Ac,function(){nc(this,O(this));this.a-=10},function(){M(this,mc(this),this.b);this.a-=7},function(){nc(this,mc(this)+1);this.a-=5},function(){this.h=uc(this,this.h);this.a-=5},function(){this.h=tc(this,this.h);this.a-=5},function(){this.h=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|I(this); +oc(this,a&256);this.a-=4},Ac,function(){var a;H(this,a=G(this)+mc(this));oc(this,a>>8&256);this.a-=10},function(){this.b=K(this,mc(this));this.a-=7},function(){nc(this,mc(this)-1);this.a-=5},function(){this.f=uc(this,this.f);this.a-=5},function(){this.f=tc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(I(this)<<8|this.b)>>1;oc(this,a&256);this.a-=4},Ac,function(){H(this,O(this));this.a-=10},function(){var a=O(this);tb(this.u,a,G(this));this.a-=16}, +function(){H(this,G(this)+1);this.a-=5},function(){this.j=uc(this,this.j);this.a-=5},function(){this.j=tc(this,this.j);this.a-=5},function(){this.j=N(this);this.a-=7},function(){var a=0,b=I(this);if((this.v^this.B)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=qc(this,a);oc(this,b?256:0);this.a-=4},Ac,function(){var a;H(this,a=G(this)+G(this));oc(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=rb(this.u,a);H(this,a);this.a-=16},function(){H(this,G(this)-1);this.a-=5},function(){this.l= +uc(this,this.l);this.a-=5},function(){this.l=tc(this,this.l);this.a-=5},function(){this.l=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Ac,function(){this.A=O(this)&65535;this.a-=10},function(){M(this,O(this),this.b);this.a-=13},function(){this.A=this.A+1&65535;this.a-=5},function(){var a=G(this);M(this,a,uc(this,K(this,a)));this.a-=10},function(){var a=G(this);M(this,a,tc(this,K(this,a)));this.a-=10},function(){M(this,G(this),N(this));this.a-=10},function(){this.o|=256;this.a-=4},Ac, +function(){var a;H(this,a=G(this)+this.A);oc(this,a>>8&256);this.a-=10},function(){this.b=K(this,O(this));this.a-=13},function(){this.A=this.A-1&65535;this.a-=5},function(){this.b=uc(this,this.b);this.a-=5},function(){this.b=tc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){oc(this,I(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.h;this.a-=5},function(){this.g=this.f;this.a-=5},function(){this.g=this.j;this.a-=5},function(){this.g= +this.l;this.a-=5},function(){this.g=K(this,G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.a-=5},function(){this.c=this.h;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.j;this.a-=5},function(){this.c=this.l;this.a-=5},function(){this.c=K(this,G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.h=this.g;this.a-=5},function(){this.h=this.c;this.a-=5},function(){this.a-=5},function(){this.h=this.f; +this.a-=5},function(){this.h=this.j;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=K(this,G(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.f=this.g;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.a-=5},function(){this.f=this.j;this.a-=5},function(){this.f=this.l;this.a-=5},function(){this.f=K(this,G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.j=this.g;this.a-=5},function(){this.j= +this.c;this.a-=5},function(){this.j=this.h;this.a-=5},function(){this.j=this.f;this.a-=5},function(){this.a-=5},function(){this.j=this.l;this.a-=5},function(){this.j=K(this,G(this));this.a-=7},function(){this.j=this.b;this.a-=5},function(){this.l=this.g;this.a-=5},function(){this.l=this.c;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.f;this.a-=5},function(){this.l=this.j;this.a-=5},function(){this.a-=5},function(){this.l=K(this,G(this));this.a-=7},function(){this.l=this.b; +this.a-=5},function(){M(this,G(this),this.g);this.a-=7},function(){M(this,G(this),this.c);this.a-=7},function(){M(this,G(this),this.h);this.a-=7},function(){M(this,G(this),this.f);this.a-=7},function(){M(this,G(this),this.j);this.a-=7},function(){M(this,G(this),this.l);this.a-=7},function(){var a=this.s-1;if(this.ra.length)for(var b=0;b>>=f)&m;if(void 0!==g&&g[0])g[0](a,m,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);I(this)||(Q(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){Q(this,mc(this));this.a-=11},function(){this.b=J(this,N(this));this.a-=7},function(){Q(this,this.s);D(this,16);this.a-=11},function(){I(this)&&(D(this,P(this)),this.a-=6);this.a-=5},Cc,function(){var a=O(this);I(this)&&D(this,a);this.a-=10},function(){for(var a= +N(this),b=this.u,c=this.s+-2&65535,d=1,e=0,f=0;0>8;this.a-=10},function(){var a=O(this);this.v&128||D(this,a);this.a-=10},function(){this.F&=-513;this.a-=4},function(){var a=O(this);this.v&128||(Q(this,this.s), +D(this,a),this.a-=6);this.a-=11},function(){Q(this,jc(this)&255|this.b<<8);this.a-=11},function(){this.b=vc(this,N(this));this.a-=7},function(){Q(this,this.s);D(this,48);this.a-=11},function(){this.v&128&&(D(this,P(this)),this.a-=6);this.a-=5},function(){this.A=G(this)&65535;this.a-=5},function(){var a=O(this);this.v&128&&D(this,a);this.a-=10},function(){this.F|=512;this.a-=4;yc(this)},function(){var a=O(this);this.v&128&&(Q(this,this.s),D(this,a),this.a-=6);this.a-=11},Dc,function(){J(this,N(this)); +this.a-=7},function(){Q(this,this.s);D(this,56);this.a-=11}];function S(a){t.call(this,"ChipSet",a);var b=a.model;b&&!Ec[b]&&Ja("Unrecognized ChipSet model: "+b);this.b=Ec[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}l(S,t);k=S.prototype;k.S=function(){return!1}; +k.qa=function(a,b,c,d){this.u=b;this.m=c;this.J=d;this.D=a;this.h=gb(a,"Keyboard");this.g=gb(a,"SerialPort");this.video=gb(a,"Video");vb(b,this,this.b.fb);wb(b,this,this.b.gb)};k.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ba=function(a){return a?this.save():!0};k.reset=function(){this.b.INIT&&!this.restore(this.b.INIT)&&this.G("reset error")}; +k.save=function(){var a=new E(this);switch(this.b.Y){case T.Y:a.set(0,[this.W,this.f,this.X,this.B,this.H,this.P,this.R]);break;case V.Y:a.set(0,[this.N,this.s]),a.set(1,[this.l,this.o]),a.set(2,[this.c,this.C,this.O,this.L]),a.set(3,[this.A,this.a,this.v,this.F,this.j])}return a.data()}; +k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.Y){case T.Y:return this.W=b[0],this.f=b[1],this.X=b[2],this.B=b[3],this.H=b[4],this.P=b[5],this.R=b[6],!0;case V.Y:return this.N=b[0],this.s=b[1],b=a[1],this.l=b[0],this.o=b[1],b=a[2],this.c=b[0],this.C=b[1],this.O=b[2],this.L=b[3],b=a[3],this.A=b[0],this.a=b[1],this.v=b[2],this.F=b[3],this.j=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.dd=function(){return this.W};k.ed=function(){return this.f};k.fd=function(){return this.X}; +k.cd=function(){return this.B>>8-this.H&255};k.qd=function(a,b){this.H=b};k.sd=function(a,b){this.P=b};k.rd=function(a,b){this.B=b<<8|this.B>>8};k.td=function(a,b){this.R=b};k.ud=function(){};function Fc(a){var b=0,c=0,d=~a.A;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c} +k.gd=function(){var a=this.s,a=a&~V.ga.Hb;if((Vb(this.m)&64)<<1&&(a|=V.ga.Hb,a!=this.s)){var b,c;b=this.v&1;switch(this.v>>1&7){case V.ia.Ca.kc:this.A=this.A<<1|b;break;case V.ia.Ca.pc:b=Fc(this);this.j[b]=V.ia.Za;break;case V.ia.Ca.lc:this.a=this.a<<1|b;break;case V.ia.Ca.Pc:b=Fc(this);c=this.a&V.ia.Za;this.j[b]=c;break;case V.ia.Ca.Kc:b=Fc(this);c=this.j[b];null==c&&(c=V.ia.Za);this.a=c;break;case V.ia.Ca.Lc:this.a<<=1,this.F=this.a&V.ia.Za+1}}a&=~V.ga.Ib;this.F&&(a|=V.ga.Ib);a&=~V.ga.Cb;if(b=this.h){b= +this.h;if(c=b.h)c=b.m,c=Vb(b.m)>=b.o+c.na*c.O/1E3*1.2731488;c&&(b.h=!1);b=!b.h}b&&(a|=V.ga.Cb);a&=~V.ga.Qb;this.g&&this.g.U&Gc&&(a|=V.ga.Qb);return this.s=a};k.vd=function(a,b){this.N=b};k.yd=function(a,b){this.v=b};k.xd=function(a,b){a=b&3;switch(b>>2&3){case 0:this.c=this.c&-4|a;break;case 1:this.c=this.c&-13|a<<2;this.video&&(b=this.video,a=this.c,b.la!==a&&((b.la=a)?bc(b,!0):b.na=!0));break;case 2:switch(a){case 0:this.C=~this.C;break;case 2:case 3:this.O=3-a}break;case 3:this.L=a}}; +k.wd=function(a,b){b&V.ua.Jc?(b&=V.ua.Mb,this.o!=b&&(this.o=b,this.video&&(this.video.bc=this.o==V.ua.Mb?50:60))):(b&=V.ua.ub,this.l!=b&&(this.l=b,this.video&&(a=this.video,b=this.l==V.ua.ub?132:80,a.C=b,a.M=a.va,80>8&255,a.a[d++]=g[c]>>16&255,a.a[d++]=g[c]>>24&255;else a.a=e;a.sa=e.symbols;if(!a.a.length){r("Empty ROM: "+b);return}if(1==a.a.length){r(a.a[0]);return}}catch(h){a.G("ROM data error: "+h.message);return}else for(b= +c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.a=Array(b.length),e=0;e>>f.b;0>>=f.b;0=n.Ia&&a<=n.$a?d.b&(Zc|$c)||(d.b|=$c,Wc(d,20,!0),ad(d)):a>=n.Wb&&a<=n.z&&d.b&$c&&(d.b&=~$c,Wc(d,20,!1),ad(d));return!0}),c.onpaste=function(a){a:{if(d.g&&d.g.Ba&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a=a.clipboardData||window.clipboardData)){bd(d.g,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.a.Fa&&void 0!==this.a.Fa[b])return this.w[e]=c,c.onclick= +function(a,b){return function(d){d.preventDefault&&d.preventDefault();d=!0;var e=0;17==b?e=cd:20==b&&(e=$c);if(e){c.style.fontWeight="normal";if(d=!(a.b&e))c.style.fontWeight="bold";dd(a,b,d)}Wc(a,b,d,!e);a.D&&Wb(a.D)}}(this,this.a.Fa[b]),!0}}return!1};k.qa=function(a,b,c,d){this.D=a;this.m=c;this.J=d;var e=this;this.v=Xb(this.m,function(){ed(e)});this.N=gb(a,"ChipSet");this.g=gb(a,"SerialPort");vb(b,this,this.a.fb);wb(b,this,this.a.gb)}; +k.ca=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ba=function(a){return a?this.save():!0};k.reset=function(){this.c=[];this.b=0;this.a.INIT&&!this.restore(this.a.INIT)&&this.G("reset error")};k.save=function(){var a=new E(this);switch(this.a.Y){case W.Y:a.set(0,[this.l,this.j,this.h,this.o,-1])}return a.data()}; +k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.a.Y){case fd.Y:return!0;case W.Y:return this.l=b[0],ad(this,this.l&W.fa.Db),this.j=b[1],this.h=b[2],this.o=b[3],this.f=b[4],!0}return!1};function ad(a,b){var c;null!=b?a.s=b:b=a.s;for(var d in a.a.La)if(c="led-"+d,c=a.w[c]){var e=a.a.La[d],f=!!(b&e);e&e-1&&(f=!(b&~e));c.style.backgroundColor=f?"#"+p(16711680,6):"#000000"}if(c=a.w["led-caps-lock"])c.style.backgroundColor=a.b&$c?"#"+p(65280,6):"#000000"} +function dd(a,b,c,d){var e=0;switch(b){case 16:e=d?gd:id;break;case 17:e=d?jd:cd;break;case 18:e=d?kd:ld;break;case 91:e=d?md:nd;break;case 20:e=$c,c=!(a.b&e)}e&&(a.b=c?a.b|e:a.b&~e);return c} +function Yc(a,b,c){var d=!0,e=b.keyCode,e=ja[e]||e;c=dd(a,e,c,2==b.location);var f;a:if(e=a.a.rb[e]||e,a.a.Da[e])f=e;else{for(f in a.a.Fa)if(a.a.Fa[f]===e)break a;f=null}f&&!b.metaKey&&(d=!1,a.b&(od|pd)&&(13==f?(f=118,d=!0):8==f&&(f=46,d=!0),d&&(a.b=c?a.b|pd:a.b&~pd)),d=Wc(a,f,c),(!(f>=n.Ia&&f<=n.$a)||a.b|qd)&&b.preventDefault&&b.preventDefault());return d} +function Xc(a,b,c){var d=!0;if(c){var e=b.keyCode,f=a.a.Da[e],g;if(g=f){a:{for(var h in a.a.Wa)if(a.a.Wa[h]==f){f=+h;break a}f=0}g=!f}g&&(d=Wc(a,e,c,!0),b.preventDefault&&b.preventDefault())}return d} +function Wc(a,b,c,d){var e;a:{for(e=0;ee?a.c.push({qb:b,ob:Date.now(),cb:d||!1}):(a.c[e].ob=Date.now(),a.c[e].cb=d||!1),d&&ed(a);else if(0<=e){if(!a.c[e].cb&&(d=a.c[e].ob)&&Date.now()-dc||c>e)c=e}else{Wc(a,d,!1);b=0;continue}}b++}0<=c&&Yb(a.m,a.v,c)}k.hd=function(){var a=this.j;0<=this.f&&(this.f"]]= +229,Y[n["<"]]=230,Y[n.Gb]=231,Y[n.sb]=232,Y[n.Ub]=233,Y[n["?"]]=245,Y[n.Fb]=246,Y[n.Rb]=248,Y[n.tb]=249,Y[n.$a]=250,Y),rb:{},La:{},Fa:{"caps-lock":20,ctrl:17,esc:27,tab:9,"num-comma":116,"break":117,"line-feed":118,"no-scroll":119,setup:120},mc:{Z:130,INIT:127},fa:{Z:130,Ac:1,zc:2,yc:4,xc:8,Bc:16,Eb:32,Db:63,Mc:64,Zd:128,INIT:0},wc:127};W.La={l4:W.fa.Ac,l3:W.fa.zc,l2:W.fa.yc,l1:W.fa.xc,locked:W.fa.Bc,local:W.fa.Eb,online:~W.fa.Eb,"caps-lock":$c};var Vc={SI1978:fd,VT100:W}; +W.INIT=[[W.fa.INIT,W.mc.INIT,!1,0,-1]];W.fb={130:Uc.prototype.hd};W.gb={130:Uc.prototype.zd};Fa(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b>3)*a.B,!kb(a.u,a.da,a.v,3)))return!1;a.v?(a.Ga=a.c.createImageData(b,c),a.Na=16/a.ea|0,yd(a,a.v>>1)):yd(a,(a.C+1)*a.R);a.l=document.createElement("canvas");a.l.width=b;a.l.height=c;a.ma=a.l.getContext("2d");a.H={};a.O=1<=a.va?8:16,f=8>(7>4)*c)}return m}k.ca=function(a,b){return b||!a||this.restore(a)?!0:!1};k.ba=function(a){return!a||this.save()};k.save=function(){var a=new E(this);a.set(0,[]);return a.data()};k.restore=function(){return!0}; +k.Ha=function(){var a=!1;if(this.a){if(this.a.Ha){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.A/this.s;b>c&&(a=Math.round(c/b*100)+"%")}this.Ea?(this.o.style.width=a,this.o.style.width=a,this.o.style.display="block",this.o.style.margin="auto"):(this.a.style.width=a,this.a.style.height="auto");this.a.style.backgroundColor="black";this.a.Ha();a=!0}this.L&&this.L.focus()}return a}; +function wd(a,b){!b&&a.a&&(a.Ea?a.o.style.width=a.o.style.height="":a.a.style.width=a.a.style.height="")}function yd(a,b){a.Ma=b;a.N=!1;if(void 0===a.g||a.g.length!=a.Ma)a.g=Array(a.Ma)}function Jd(a,b,c,d,e){d=a.b?(b.height-c-1)*b.width+d:c+d*b.width;e&&a.P==Ad&&(208<=c&&236>c?e=a.O+Bd:28<=c&&72>c&&(e=a.O+Cd));a=a.I[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]} +function bc(a,b){var c=!0;if(!b){a.ha&&(120==a.ha?a.Oa&1?(zc(a.m,2),c=!1):zc(a.m,1):zc(a.m,4));if(c&&a.N&&a.v){for(var d=a.u,e=a.v,f=!0,g=a.da>>>d.b;0>=1);;){var z=qb(a.u,x++);if((z&Kd)==Kd){var v=qb(a.u,x++),d=v&Ld,c=(v&Md)<<8|qb(a.u,x),c=c+(v&Nd?Od: +Pd);break}if(q>4)*z.K,da,xa,Wa,pb,hd=z.M,ec=z.K;F?(da=L*v.M,xa=e*v.K,Wa=v.M,pb=v.K):(da=L*v.wa,xa=e*v.xa,Wa=v.wa,pb=v.xa);z.M>v.M&&(da*=2,Wa*=2);z.K>v.K&&(w==Id&&(U+=v.K),ec=v.K);F?F.drawImage(z.canvas,Z,U,hd,ec,da,xa,Wa,pb):(da+=0,xa+=0,v.c.drawImage(z.canvas,Z,U,hd,ec, +da,xa,Wa,pb))}h++}g++}e++}}a.N=!0;!b&&a.na&&1==h&&(a.g[m]=-1,h=0);a.na=!1;(h||b)&&a.ma&&a.c.drawImage(a.l,0,a.la,a.j,a.B-a.K,0,0,a.mb,a.jc)}else{e=a.da;f=e+a.v;m=h=g=0;b=a.j;q=0;c=a.B;w=d=0;x=a.ea;L=(1<>>v.b;v=z!=v.f?v.a[Z].ec(z,F):v.a[Z++].hb(z,F)|v.a[Z&v.o].hb(0,F+1)<<8;if(a.N&&v===a.g[g])h+=a.Na;else{a.g[g]=v;(F=w)&&(v=v>>8|(v&255)<<8);h>F&L,Jd(a,a.Ga,h++,m,Z),F+=x;h>q&&(q=h);m=d&&(d=m+1)}e+= +2;g++;if(h>=a.j&&(h=0,m++,m>a.B))break}a.N=!0;bMissing <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<=(window?window.navigator.userAgent:"").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||Ca("aspect"));f&&.3<=f&&3.33>=f&&(Ea("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");Ba("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"),f.style.fontSize="16px");c.appendChild(f);var g=e.getContext("2d"),d=new td(d,e,g,f,c);Va(d,c)}}); +function Qd(a){t.call(this,"SerialPort",a);this.H=+a.adapter;switch(this.H){case 0:this.I=0;this.O=2;break;default:r("Unrecognized serial adapter #"+this.H);return}this.b=this.c=null;this.L=a.tabSize;this.F=a.charBOL;this.f=0;this.B=!1;this.l=!0;var b=a.binding;if("console"==b)this.c="";else{var c;a=Rd;b&&(void 0===c&&(c="Panel"),(c=Ua(c,this.id))&&(b=c.w[b])&&this.S(null,a,b))}this.g="";this.a=this.Ba=this.s=null;this.exports={connect:this.ac,receiveData:this.pb,receiveStatus:this.Jd}}l(Qd,t); +k=Qd.prototype;k.S=function(a,b,c,d){var e=this;switch(b){case Rd:return this.w[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64");if(2==c.length){var d=ra(c[0]);if(d!=this.Ya)return;c=ra(c[1]);if(this.a=Ta(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.l);if(this.Ba=e.receiveData){this.l=a;this.s=e.receiveStatus;this.status("Connected "+this.Ka+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +k.ca=function(a,b){if(!b)if(this.ac(this.l),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.ba=function(a){return a?this.save():!0};k.reset=function(){Vd(this)};k.save=function(){var a=new E(this),b=0,c=[];c[b++]=this.o;c[b++]=this.A;c[b++]=this.C;c[b++]=this.U;c[b++]=this.h;c[b++]=this.j;c[b]=this.v;a.set(0,c);return a.data()};k.restore=function(a){return Vd(this,a[0])}; +function Vd(a,b){var c=0;b||(b=Wd);a.o=b[c++];a.A=b[c++];a.C=b[c++];a.U=b[c++];a.h=b[c++];a.j=b[c++];a.v=b[c];return!0}function Xd(a,b){var c=a.v&b;b&15||(c>>=4);b=Yd[c];c=((a.h&Zd)>>2)+6;a.h&$d&&c++;c+=((a.h&ae)>>6)+1>>1;return 1E3/Math.round(b/c)}function Sd(a,b){return a.B||a.U&be?!1:(a.A=b,a.U|=be,zc(a.m,a.O),!0)} +k.pb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Sd(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.m&&Yb(this.m,this.P,Xd(this,ce)));return!0};k.Jd=function(a){this.U&=~de;a&64&&(this.U|=de)};function bd(a,b){a.U=a.U|Gc|ee;b&&a.Ba&&a.Ba.call(a.a,b)}k.bd=function(){var a=this.A;this.U&=~be;return a};k.ad=function(){return this.U}; +k.pd=function(a,b){this.C=b;this.U&=~(Gc|ee);if(19==b)this.B=!0;else if(17==b)this.B=!1;else if(this.Ba&&this.Ba.call(this.a,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0":String.fromCharCode(b);c=a.length;9==b?(b=this.L||8,c=b-this.f%b,this.L&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.F&&!this.f&&c&&(a=String.fromCharCode(this.F)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight; +this.f+=c}else if(null!=this.c){if(10==b||1024<=this.c.length)this.aa(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.m&&Yb(this.m,this.R,Xd(this,fe))};k.od=function(a,b){this.o?(this.s&&(b^this.j)&(ge|he)&&(a=0,this.l?(a|=b&ge?32:0,a|=b&he?320:0):(a|=b&ge?16:0,a|=b&he?1048576:0),this.s.call(this.a,a)),this.j=b,this.j&ie&&(this.o=!1)):(this.h=b,this.o=!0)};k.nd=function(a,b){this.v=b}; +var Zd=12,$d=16,ae=192,he=2,ge=32,ie=64,Gc=1,be=2,ee=4,de=128,ce=15,fe=240,Yd=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Wd=[!1,0,0,133,142,39,238],Rd="buffer",Td={0:Qd.prototype.bd,1:Qd.prototype.ad},Ud={0:Qd.prototype.pd,1:Qd.prototype.od,2:Qd.prototype.nd};Fa(function(){for(var a=A(document,"pc8080","serial"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;ble){if(ne(d,this.o)){this.f=new E(this,"1.34.2",we);ne(this.f)&&(xe(this,d),a=ye,ze(this.f));this.f.set(te,ta());Ae(this.f);var e=this.a&&!this.j;if(a==ue||Ra("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=se(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ne(d,g):("error"==f&&"no machine state"!= +g?(this.G("Error: "+g),"unable to verify user"==g&&(Aa(Be,""),this.b=null)):this.aa(f+": "+g),ze(d),ne(d)?(c=se(d),e=!0):c=!1))}e&&qe(this,c?d:null)}else a==ye&&d.clear()}else qe(this);delete this.o;delete this.s}e=Sa(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.i.V=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.m&&(Ce(this,this.m,b,c,a),this.m.Sa());this.B&&(xe(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.c=0}; +function xe(a,b){if(Ra("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.b||"";b=b.toString();var d={app:"PC8080",ver:"1.34.2"};d.url=a.I;d.user=c;d.type="bug";d.data=b;ua("http://www.pcjs.org/api/v1/report",d,!0)}} +function De(a,b,c){var d,e="none";if(a.c)return null;a.c--;var f=new E(a,"1.34.2"),g=new E(a,"1.34.2",re),h=ta();g.set(te,h);f.set(te,h);f.set(Ee,"1.34.2");f.set(Fe,window?window.location.href:null);f.set(Ge,window?window.navigator.userAgent:"");a.m&&a.m.ba&&(c&&Rb(a.m),d=a.m.ba(b,c),"object"===typeof d&&f.set(a.m.id,d),c&&(a.m.i.V=!1,!1===d&&(e=null)));for(var h=Sa(a.id),m=0;mf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PC8080$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){f=null,a=x.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(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 m=h[0],q,x=/( [a-z]+=)(['"])(.*?)\2/g;q=x.exec(f);)m=0>m.indexOf(q[1])?m.replace(">",q[0]+">"):m.replace(new RegExp(q[1]+"(['\"])(.*?)\\1"),q[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,""); +a=a.replace(d[0],g);Oe(a,b,c)}})}else c(a,null)} +function Pe(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=pa(a))}function f(a){e("Error: "+a);m&&(--Le||Ka(!0));m=!1}var g,h,m=!0;Le++;Pa[a]={};try{if(g=document.getElementById(a)){var q;if("object"==typeof resources&&(q=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=q:w.appendChild(document.createTextNode(q));x.appendChild(w)}c|| +(c="/versions/pc8080/1.34.2/components.xsl");q=function(d,h){h?Me(c,null,null,!1,e,function(d,m){m?(Oa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=h.transformNode(m))?(g.outerHTML=m,--Le||Ka(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Le||Ka(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Me(b,a,d,!0,e,q):Ne(b,null,a,d,!1,e,q)}else f("missing machine element: "+a)}catch(L){f(L.message)}return m}window.embedPC8080=function(a,b,c,d){Ka(!1);return Pe(a,b,c,d)};window.findMachineComponent=function(a,b){return Ua(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ya[a]){for(var c=!0,d=Ya,e=a,f=b.length,g=[],h=[],m="",q=null,x=0;x + + + + +]> + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +

    Powered by JavaScript, Vanilla JS, and GitHub

    +
    +
    +
    + + +
    +

    + +
    +
    + +
    diff --git a/versions/pcx86/1.34.2/components.css b/versions/pcx86/1.34.2/components.css new file mode 100644 index 000000000..4b9429040 --- /dev/null +++ b/versions/pcx86/1.34.2/components.css @@ -0,0 +1,257 @@ +@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: 20px; + vertical-align: middle; + float: left; + font-family: Monaco, "Lucida Console", monospace; +} +.pcjs-controls textarea { + font-family: Monaco, "Lucida Console", monospace; + font-size: x-small; +} +.pcjs-fieldset { + border: none; + margin: 0; + padding: 0; +} +.pcjs-flag { + font-family: Monaco, "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 20px; + vertical-align: middle; +} +.pcjs-progress { + height: 20px; + width: 200px; + margin-top: 8px; + border: 1px solid black; + position: relative; +} +.pcjs-progress-bar { + height: 20px; + width: 0; + background-color: gold; + position: absolute; + top: 0; +} +.pcjs-progress-text { + height: 20px; + width: 200px; + font-size: small; + line-height: 20px; + text-align: center; + position: absolute; + top: 0; + z-index: 1; +} +.pcjs-register { + font-family: Monaco, "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 20px; + 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: 2.0em; +} +.pcjs-key { + border: 1px solid black; + font-size: x-small; + text-align: center; + position: absolute; + height: 34px; + line-height: 34px; + background-color: #ffffff; +} +.pcjs-panel-group { + color: #ffffff; + background-color: #404040; +} +.pcjs-triplet { + padding: 1px; +} +.pcjs-ledlbl { + text-align: center; + font-size: 40%; + background-color: #000000; +} +.pcjs-ledlbl0 { + text-align: right; + font-size: 50%; + background-color: #8d4076; +} +.pcjs-ledlbl1 { + text-align: right; + font-size: 50%; + background-color: #d83662; +} +.pcjs-ledpad { + text-align: center; + font-size: x-small; + line-height: 32px; + background-color: #000000; + border-bottom-left-radius: 20%; + border-bottom-right-radius: 20%; +} +.pcjs-led { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + text-align: center; + vertical-align: middle; + background-color: #000000; +} +.pcjs-rled { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + border-radius: 50%; + text-align: center; + vertical-align: middle; + background-color: #ff0000; + max-width: 50%; + max-height: 50%; +} +.pcjs-swlbl { + text-align: center; + font-size: 40%; + line-height: 16px; + background-color: #000000; + border-top-left-radius: 20%; + border-top-right-radius: 20%; +} +.pcjs-swpad { + height: 32px; + background-color: #000000; +} +.pcjs-switch { + height: 10px; + width: 28px; + margin-top: 0; + max-width: 90%; + background-color: #00ff00; +} +.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: 800px) { + .pcjs-textarea { + width: 100% !important; + } + .pcjs-registers { + width: 100% !important; + max-width: none !important; + padding-left: 0 !important; + padding-right: 0 !important; + } + .pdp11-device { + width: 98% !important; + max-width: none !important; + margin-left: 8px !important; + padding-left: 0 !important; + padding-right: 0 !important; + } +} +@media screen and (min-width: 1200px) { + .machine-left { + max-width: 48%; + float: left; + } + .machine-right { + max-width: 48%; + float: left; + margin-left: 30px; + } + .machine-right + * { + clear: both; + } +} diff --git a/versions/pcx86/1.34.2/components.xsl b/versions/pcx86/1.34.2/components.xsl new file mode 100644 index 000000000..355a5004b --- /dev/null +++ b/versions/pcx86/1.34.2/components.xsl @@ -0,0 +1,1383 @@ + + + +]> + + + + + + + + pc + pcjs + pcx86 + PCx86 + 1.34.2 + www.pcjs.org + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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; + clear:both; + position:; + position:relative; + text-align:; + float:left; + + + + + + + + + + + + + + + + + + +
    + + + font-size:; + + + + + -label + + + + width:; + width:; + + + + + + + + text-align:right; + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + ; + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8088 + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + + null + + + + + + 0 + + + + + + + -1 + + + + + + + -1 + + + + + + + -1 + + + + + + ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: + + + + + + + + + + + + + + + 8087 + + + + + + + + + + + + ,model:'',stepping:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + {} + + + + + + + + + + + + + + + + + chipset + ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + device + ,type:'',baudReceive:,baudTransmit:,autoMount:'' + + + + + + + + + + + + + + + + + + + + keyboard + ,model:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + parallel + ,adapter:,binding:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + false + + + + + serial + ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: + + + + + + + + + + + + + + + + + + + + mouse + ,serial:'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fdc + ,autoMount:'',sortBy:'' + + + + + + + + + + + + + + + + + + + + + xt + + + + + hdc + ,drives:'',type:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + null + + + + + + + + + + + + + + + + + rom + ,addr:,size:,alias:,file:'',notify:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + null + + + + + + null + + + + + + true + + + + + ram + ,addr:,size:,file:'',load:,exec:,test: + + + + + + + + + + + + + + + + + + + + + null + + + + + + + 256 + + + + + + + 224 + + + + + + + black + + + + + + 0 + + + + + + 0 + + + + + + false + + + + + + 1bpp + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + false + + + + + + 1 + + + + + + 1 + + + + + + + 80 + + + + + + + 25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + 0 + + + + + + null + + + + + + 0 + + + + + + 60 + + + + + video + ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: + + + + + + + + + + + + + + + 16 + + + + + + + + + + + + + + + + + debugger + ,base:,commands:'',messages:'' + + + + + + + + + + + + + + panel + + + + + + + + + + + + + + + + + + + + + true + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + computer + ,autoPower:,busWidth:,resume:'',state:'' + + + + + + + +
    diff --git a/versions/pcx86/1.34.2/document.css b/versions/pcx86/1.34.2/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/pcx86/1.34.2/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/pcx86/1.34.2/document.xsl b/versions/pcx86/1.34.2/document.xsl new file mode 100644 index 000000000..f92d7e307 --- /dev/null +++ b/versions/pcx86/1.34.2/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/pcx86/1.34.2/machine.xsl b/versions/pcx86/1.34.2/machine.xsl new file mode 100644 index 000000000..9fe3dfa15 --- /dev/null +++ b/versions/pcx86/1.34.2/machine.xsl @@ -0,0 +1,61 @@ + + + + +]> + + + + + + + + + + + + + + + + + js + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pcx86/1.34.2/manifest.xsl b/versions/pcx86/1.34.2/manifest.xsl new file mode 100644 index 000000000..c0ce0a253 --- /dev/null +++ b/versions/pcx86/1.34.2/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/pcx86/1.34.2/outline.xsl b/versions/pcx86/1.34.2/outline.xsl new file mode 100644 index 000000000..37e4da1c3 --- /dev/null +++ b/versions/pcx86/1.34.2/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/pcx86/1.34.2/pcx86-dbg.js b/versions/pcx86/1.34.2/pcx86-dbg.js new file mode 100644 index 000000000..106ecf05b --- /dev/null +++ b/versions/pcx86/1.34.2/pcx86-dbg.js @@ -0,0 +1,888 @@ +(function(){/* + http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/interrupts.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/messages.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/debugger.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/panel.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/bus.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/memory.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/cpu.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86seg.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86cpu.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86fpu.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86func.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86help.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86mods.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86ops.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/x86op0f.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/chipset.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/rom.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/ram.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/keyboard.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/video.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/parallel.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/serial.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/mouse.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/disk.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/fdc.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/hdc.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pcx86/lib/computer.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/save.js (C) Jeff Parsons 2012-2017 +*/ +var l,aa;function ba(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]} +for(var da="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ea="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,fa=["Math","trunc"],ga=0;gaa?-b:b};ka!=ja&&null!=ka&&da(ea,ia,{configurable:!0,writable:!0,value:ka}); +var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},n={lp:0,np:1,op:2,hl:3,pp:4,qp:5,rp:6,sp:7,tp:8,up:9,vp:10,wp:11,xp:12,yp:13,zp:14,Ap:15,Bp:16,Cp:17,Dp:18,Ep:19,Fp:20,Gp:21,Hp:22,Ip:23,Jp:24,Kp:25,Lp:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39, +"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ce:65,ti:66,ui:67,vi:68,E:69,wi:70,xi:71,yi:72,zi:73,Ai:74,Bi:75,Ci:76,Di:77,Ei:78,Fi:79,Gi:80,Q:81,Hi:82,Ii:83,Ji:84,Ki:85,Li:86,Mi:87,Ni:88,Oi:89,eg:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,de:97,vl:98,xl:99,d:100,e:101,Hl:102,Il:103,Jl:104,Kl:105,an:106,k:107,dn:108,hn:109,n:110,qn:111,p:112,q:113,r:114,No:115,t:116,Qo:117,Ro:118,So:119,x:120, +y:121,z:122,"{":123,"|":124,"}":125,"~":126,Mp:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var na={};na[n["1"]]=n["!"];na[n["2"]]=n["@"];na[n["3"]]=n["#"];na[n["4"]]=n.$;na[n["5"]]=n["%"];na[n["6"]]=n["^"];na[n["7"]]=n["&"];na[n["8"]]=n["*"];na[n["9"]]=n["("];na[n["0"]]=n[")"];na[186]=n[":"];na[187]=n["+"];na[188]=n["<"];na[189]=n._;na[190]=n[">"]; +na[191]=n["?"];na[192]=n["~"];na[219]=n["{"];na[220]=n["|"];na[221]=n["}"];na[222]=n['"'];na[173]=n._;na[61]=n["+"];na[59]=n[":"]; +function oa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function qa(a,b){var c,d="";b?32>=1,f--;return d} +function ra(a,b,c){var d="";if(!b||4>=8;return(c?"0b":"")+d}function sa(a,b,c){b?12"']/g,function(a){return Aa[a]})} +function Ba(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"},Da={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function Ea(a,b,c){var d=0,e=a.length,f=0;for(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())}function Ga(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.nh|g<>a.shift} +function Ia(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;ca?this.be=this.id:(this.xe=this.id.substr(0,a),this.be=this.id.substr(a+1));this.ea={ready:!1,pf:!1,$g:!1,Yb:!1,error:!1};this.pg=null;this.ea.error=!1;this.ic=c||0;this.ba=this.H=this.ka=this.pa=this.Ie=null;ob.push(this)} +function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function hb(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b=this.x&&a=this.y&&b=c>>2);d?(b=new Ub(a.x,a.y,a.Nc,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Ub(a.x,a.y,a.Nc*b/c|0,a.A),a.x+=b.Nc,a.Nc-=b.Nc);return b}function Wb(a){nb.call(this,"Panel",a);this.F=this.G=this.L=-1}ba(Wb,nb);l=Wb.prototype;l.Cb=function(a,b,c,d){return this.pa&&this.pa.Cb(a,b,c,d)||this.H&&this.H.Cb(a,b,c,d)||this.B&&this.B.Cb(a,b,c,d)||this.ba&&this.ba.Cb(a,b,c,d)?!0:nb.prototype.Cb.call(this,a,b,c,d)}; +l.uc=function(a,b,c,d){this.pa=a;this.ka=b;this.H=c;this.ba=d;this.B=Xb(a,"Keyboard")};l.Xb=function(a,b){b||Yb();return!0};l.Wb=function(){return!0};l.Vd=function(a,b){a.button||(this.L=b?0:-1,Zb(this,a,b))};l.tf=function(a){Zb(this,a)}; +function Zb(a,b,c){var d=$b/null.offsetWidth,e=ac/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.L||(a.L=Math.abs(a.F-d)>Math.abs(a.G-b)?1:2),1==a.L?b=a.G:2==a.L&&(d=a.F));a.F=d;a.G=b;if(0<=d&&d<$b&&0<=b&&bd&&(f=d);c= +f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.ga)){b=c;if(a.context&&a.N&&a.O){e=dc-ec;f=a.N.width;a.O.fillStyle=fc;a.O.fillRect(0,e,f,ec);gc(a,e+hc,a.N,a.O);a.W=a.ha.width/24|0;if(null==b)ic(a,"Mouse over memory to dump");else for(ic(a,q(b,8,!0),null,0,1),d=1;16>=d;d++){for(var g="",h=1;8>=h;h++){var k;k=a.ka;var m=b++;k=k.aa[(m&k.C)>>>k.A].Zd(m&k.D,m);ic(a,q(k,2),null,1);g+=32<=k&&128>k?String.fromCharCode(k):"."}ic(a,g,null,0,1)}a.context.drawImage(a.N,0,e,f,ec,a.Da,a.Ha,a.va,a.za)}a.ga=c}}} +function jc(a,b,c,d){a.A.kf[a.A.$i++]={Ll:b,Hd:c,type:d};return Ga(cc,b,c,0,d)}function gc(a,b,c,d){var e,f=null.style.color,g=a.ta=10;a.C=g;a.I=b;a.J=a.aa=hc;e||(e=a.Z||a.aa+"px "+kc);a.M=a.Z=e;c&&(a.ha=c);d&&(a.D=d,a.la=f||"white")}function ic(a,b,c,d,e){a.D.font=a.M;a.D.fillStyle=a.la;a.D.fillText(b,a.C,a.I);a.C+=a.W;null!=c&&(16!=a.Ca?b=c.toString():(b=8>a.qa?"0x":"",b+=q(c,a.qa)),a.D.fillText(b,a.C,a.I),a.C+=a.W);d&&(a.C+=a.W*d);e&&(a.C=a.ta,a.I+=(a.J+2)*(e||1))} +function Yb(){for(var a=!1,b=Ab(document,"pcx86","panel"),c=0;c>2,lc=ac,dc=ac,fc="black",ec=ac>>1;ab(Yb); +function mc(a,b,c){nb.call(this,"Bus",a);this.H=b;this.ba=c;this.I=a.busWidth||20;this.O=Math.pow(2,this.I);this.N=this.C=this.O-1|0;this.A=32==this.I||20>=this.I?12:24>=this.I?14:15;this.B=1<>2;this.D=this.B-1;this.M=this.O/this.B|0;this.W=this.M-1;this.F=[];this.G=[];this.K=this.L=!1;this.Y=[];this.Z=[];a=new x;nc(a,this.ba);this.aa=Array(this.M);for(b=0;b>>a.A;0g&&(p=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.xa)return k.ve+=k.xa-f,k.xa=f,!0;if(f>=k.xa+k.ve){p=k.size-(f-m);p>g&&(p=g);k.ve=f-k.xa+p;f=m+a.B;g-=p;h++;continue}}return qc(a,sc,f,g)}f=new x(f,p,a.B,d,e);nc(f,a.ba,k);a.aa[h++]=f;f=m+a.B;g-=p}return 0>=g?(tc(a.H),a.H.ea.vb||a.status(Math.floor(c/1024)+"Kb "+vc[d]+" at "+q(b)),!0):qc(a,wc,b,c)} +function oc(a,b){32==a.I?b?a.J&&(xc(a,1048576,1048576,a.J),a.J=null):a.J||(a.J=yc(a,1048576,1048576),xc(a,1048576,1048576,yc(a,0,1048576))):20>>this.A;0>>a.A;0>>=a.A;0>>a.A;0>>this.A].Bc(a&this.D,a)};function Jc(a,b){var c=b&a.D,d=(b&a.C)>>>a.A;return c!=a.D?a.aa[d].Nf(c,b):a.aa[d++].Zd(c,b)|a.aa[d&a.W].Zd(0,b+1)<<8} +l.fc=function(a,b){this.aa[(a&this.C)>>>this.A].Dc(a&this.D,b&255,a)};function Kc(a,b,c){var d=b&a.D,e=(b&a.C)>>>a.A;d!=a.D?a.aa[e].ri(d,c&65535,b):(a.aa[e++].bf(d,c&255,b),a.aa[e&a.W].bf(0,c>>8&255,b+1))}l.wj=function(){return null}; +function Lc(a,b){var c=0,d=[],e=!a.J&&a.N==a.C;e||oc(a,!0);for(var f=0;f>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ba&&a.L!=g[1]&&Uc(a.ba,b,k)}else a.ba&&(Nb(a.ba,a,b,k,e),a.L&&Uc(a.ba,b,k));f+=h<<3;b+=h;c-=h}}function qc(a,b,c,d,e){b="Memory block error ("+b+": "+q(c)+","+q(d)+")";e?a.ba?a.ba.message(b):a.log(b):hb(b);return!1}var cc,Vc={Hk:20,count:8,aq:1,type:3},Wc=0,Xc;for(Xc in Vc){var Yc=Vc[Xc];Vc[Xc]={nh:(1<>1),this.X=new Int32Array(this.I,0,c>>2),Ac(this,Fc?Gc:Hc);else{this.X=Array(c>>2);for(e=0;e>2),b=0;b>8,c)};l.oi=function(a,b,c){this.Dc(a++,b&255,c++);this.Dc(a++,b>>8&255,c++);this.Dc(a++,b>>16&255,c++);this.Dc(a,b>>>24,c)};l.xo=function(a){return this.X[a>>2]>>>((a&3)<<3)&255}; +l.Jo=function(a){var b=a>>2;a=(a&3)<<3;var c=this.X[b]>>a;return 24>a?c&65535:c&255|(this.X[b+1]&255)<<8};l.Do=function(a){var b=a>>2;a=(a&3)<<3;var c=this.X[b];a&&(c=c>>>a|this.X[b+1]<<32-a);return c};l.Vo=function(a,b){var c=a>>2;a=(a&3)<<3;this.X[c]=this.X[c]&~(255<>2;a=(a&3)<<3;24>a?this.X[c]=this.X[c]&~(65535<>8);this.Oa=!0}; +l.ap=function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<>>32-a}else this.X[c]=b;this.Oa=!0};l.wo=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a)||this.C&&rd(this.C,b,1,!1);return this.Zd(a,b)};l.Io=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a,2)||this.C&&rd(this.C,b,2,!1);return this.Nf(a,b)};l.Co=function(a,b){this.ba&&null!=this.xa&&qd(this.ba,this.xa+a,4)||this.C&&rd(this.C,b,4,!1);return this.ji(a,b)}; +l.Uo=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a)||this.C&&rd(this.C,c,1,!0);this.D?this.cf(0,b,c):this.bf(a,b,c)};l.gp=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,2)||this.C&&rd(this.C,c,2,!0);this.D?this.cf(0,b,c):this.ri(a,b,c)};l.$o=function(a,b,c){this.ba&&null!=this.xa&&sd(this.ba,this.xa+a,4)||this.C&&rd(this.C,c,4,!0);this.D?this.cf(0,b,c):this.K(a,b,c)};l.zo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Bc(a,b)}; +l.Lo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Mf(a,b)};l.Fo=function(a,b){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.F;return this.pd.Nd(a,b)};l.Xo=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Dc(a,b,c)};l.jp=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Tf(a,b,c)};l.cp=function(a,b,c){this.lb.X[this.A]|=this.F;this.mb.X[this.B]|=this.J;this.pd.Sf(a,b,c)}; +l.Ao=function(a,b){return td(this.C,b,!1).Bc(a,b)};l.Mo=function(a,b){return td(this.C,b,!1).Mf(a,b)};l.Go=function(a,b){return td(this.C,b,!1).Nd(a,b)};l.Yo=function(a,b,c){td(this.C,c,!0).Dc(a,b,c)};l.kp=function(a,b,c){td(this.C,c,!0).Tf(a,b,c)};l.ep=function(a,b,c){td(this.C,c,!0).Sf(a,b,c)};l.vo=function(a){return this.Pa[a]};l.Qk=function(a){return this.Pa[a]};l.yo=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Bc=this.Qk;return this.Pa[a]}; +l.Ho=function(a){return this.G.getUint16(a,!0)};l.Vk=function(a){return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Ko=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Mf=this.Vk;return a&1?this.Pa[a]|this.Pa[a+1]<<8:this.Rd[a>>1]};l.Bo=function(a){return this.G.getInt32(a,!0)};l.Sk=function(a){return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]}; +l.Eo=function(a){this.lb.X[this.A]|=32;this.mb.X[this.B]|=32;this.Nd=this.Sk;return a&3?this.Pa[a]|this.Pa[a+1]<<8|this.Pa[a+2]<<16|this.Pa[a+3]<<24:this.X[a>>2]};l.To=function(a,b){this.Pa[a]=b;this.Oa=!0};l.el=function(a,b){this.Pa[a]=b;this.Oa=!0};l.Wo=function(a,b){this.Pa[a]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Dc=this.el;this.pd.Oa=!0};l.fp=function(a,b){this.G.setUint16(a,b,!0);this.Oa=!0};l.gl=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.Oa=!0}; +l.ip=function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.Rd[a>>1]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Tf=this.gl;this.pd.Oa=!0};l.Zo=function(a,b){this.G.setInt32(a,b,!0);this.Oa=!0};l.fl=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.Oa=!0}; +l.bp=function(a,b){a&3?(this.Pa[a]=b,this.Pa[a+1]=b>>8,this.Pa[a+2]=b>>16,this.Pa[a+3]=b>>24):this.X[a>>2]=b;this.lb.X[this.A]|=32;this.mb.X[this.B]|=96;this.Sf=this.fl;this.pd.Oa=!0};function ud(a){Ob&&!Fc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a} +var bd=0,Ec=2,cd=5,ed=6,vd=["black","blue","green","cyan"],vc="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),ad=0,gd=[],Ic=[x.prototype.xo,x.prototype.Vo,x.prototype.Jo,x.prototype.hp,x.prototype.Do,x.prototype.ap],pd=[x.prototype.wo,x.prototype.Uo,x.prototype.Io,x.prototype.gp,x.prototype.Co,x.prototype.$o],fd=[x.prototype.zo,x.prototype.Xo,x.prototype.Lo,x.prototype.jp,x.prototype.Fo,x.prototype.cp],dd=[x.prototype.Ao,x.prototype.Yo,x.prototype.Mo,x.prototype.kp,x.prototype.Go,x.prototype.ep]; +if(Ob)var Hc=[x.prototype.vo,x.prototype.To,x.prototype.Ho,x.prototype.fp,x.prototype.Bo,x.prototype.Zo],Gc=[x.prototype.Qk,x.prototype.el,x.prototype.Vk,x.prototype.gl,x.prototype.Sk,x.prototype.fl],wd=[x.prototype.yo,x.prototype.Wo,x.prototype.Ko,x.prototype.ip,x.prototype.Eo,x.prototype.bp]; +function xd(a,b){nb.call(this,"CPU",a,1);b=a.cycles||b;var c=a.multiplier||1;this.T={};this.T.sd=b;this.T.Kd=c;this.T.rg=Math.round(this.T.sd/1E4)/100;this.T.oe=this.T.rg*this.T.Kd;this.ea.vb=!1;this.ea.ni=!1;this.ea.lf=a.autoStart;this.ea.kj=!1;this.ea.He=!1;this.T.uf=this.T.Te=0;this.T.wf=a.csStart;this.T.Se=a.csInterval;this.T.Ue=a.csStop;this.Ql=this.Uf.bind(this);Jb(this)}ba(xd,nb);l=xd.prototype; +l.uc=function(a,b,c,d){this.pa=a;this.ka=b;this.ba=d;for(b=0;b=a.T.Te&&(a.T.Te+=a.T.Se,c=!0);0<=a.T.Ue&&a.T.Ue<=Ed(a)&&(a.T.Se=a.T.Ue=-1,Bd(a),a.Jb(),c=!0);c&&a.P(Ed(a)+" cycles: checksum="+q(a.T.uf))}} +l.Cb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.na[b]=c;a=!0;break;case "run":this.na[b]=c;c.onclick=function(){var a;if(a=d.pa)if(a=d.pa,a.ea.Yb)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.T.rg&&(c=Math.round(c/a.T.Kd));return c}function Ad(a){a.T.Wd=0;a.Dd=a.md=a.zc=a.A=0;Bd(a);Fd(a,1)} +function Fd(a,b,c){var d=!1;if(void 0!==b){.8>a.T.Wd/a.T.oe?b=1:d=!0;a.T.Kd=b;b=a.T.rg*a.T.Kd;if(a.T.oe!=b){a.T.oe=b;b=a.T.oe.toFixed(2)+"Mhz";var e=a.na.setSpeed;e&&(e.textContent=b);a.P("target speed: "+b)}c&&a.pa&&a.pa.ld()}Hd(a,a.md);a.md=0;a.T.Xd=Ka();a.T.pe=0;Id(a);return d} +l.Uf=function(a){if(Lb(this,!0)){if(!this.ea.vb){Fd(this);this.pa&&this.pa.start(this.T.Xd,Ed(this));this.ea.vb=!0;this.ea.ni=!0;this.W&&this.W.start();var b=this.na.run;b&&(b.textContent="Halt");this.pa&&(Nd(this.pa,!0),a&&this.pa.ld(!0))}this.T.th>=this.T.sd&&Id(this,!0);this.T.zf=0;this.T.sg=Ka();this.T.pe&&(a=this.T.sg-this.T.pe,a>this.T.Dj&&(this.T.Xd+=a,this.T.Xd>this.T.sg&&(this.T.Xd=this.T.sg)));try{do{var c=this.ea.He?1:this.T.nn;if(this.W){Od(this.W);var d=this.W;a=c;var e=d.G[0];if(e.le){var f= +(Ed(d.H,d.O)-e.jd)/d.Ba|0,g=Pd(d,0)-f;e.mode==Qd&&(g-=f);var h=g*d.Ba|0;e.mode==Qd&&(h>>=1);a>h&&(a=h)}var c=a,k=this.W;a=c;if(k.A&&k.A[Rd]&Td){var m=k.Z-Ed(k.H,k.O);0m&&(a=m)}c=a}try{this.Lg(c)}catch(w){if("number"!=typeof w)throw w;}var p=this.zc-this.A;this.md+=p;this.T.zf+=p;Hd(this,0,!0);Dd(this,p);this.T.yf-=p;0>=this.T.yf&&(this.T.yf+=this.T.Fj,this.pa&&Ud(this.pa));this.T.xf-=p;0>=this.T.xf&&(this.T.xf+=this.T.Ej,this.pa&&Nd(this.pa));this.T.Ve-=p;if(0>=this.T.Ve){this.T.Ve+=this.T.sh; +break}}while(this.ea.vb)}catch(w){this.Jb();Cd(this);this.pa&&this.pa.stop(Ka(),Ed(this));Lb(this,!1);Gb(this,w.stack||w.message);return}c=setTimeout;d=this.Ql;this.T.pe=Ka();e=this.T.Dj;this.T.zf&&(e=Math.round(e*this.T.zf/this.T.sh));e-=this.T.pe-this.T.sg;if(f=this.T.pe-this.T.Xd)this.T.Wd=Math.round(this.md/(10*f))/100,864E5<=f&&(this.Dd=0,this.W&&Od(this.W,!0),Fd(this));if(0>e||this.T.Wde&&(this.T.Xd-=e),e=0;this.T.th+=this.T.zf;this.T.pe+=e;c(d,e)}else Cd(this),this.pa&&this.pa.stop(Ka(), +Ed(this))};l.Lg=function(){return 0};l.Jb=function(a){Kb(this,!0);this.zc-=this.A;this.A=0;Hd(this,this.md);this.md=0;if(this.ea.vb){this.ea.vb=!1;this.W&&this.W.stop();var b=this.na.run;b&&(b.textContent="Run")}this.ea.complete=a};function Cd(a,b){a.pa&&(Ud(a.pa,b),Nd(a.pa,b))}var Jd=30,Kd=60,Md=2,yd=["power","reset"]; +function Vd(a,b,c,d){this.gc=a;this.ba=a.ba;this.id=b;this.$b=c||"";this.U=0;this.Ka=65535;this.Nb=this.Ka+1;this.Ab=this.qc=this.ext=this.jb=this.type=this.ua=0;this.Lb=-1;this.V=this.Jc=2;this.R=this.wa=65535;this.G=this.mh;this.D=this.dj;this.F=this.fj;this.A={U:-1,ua:0,Ka:0,jb:0,type:0,ext:0,Lb:-1};1==this.id&&(this.Jf=0,this.C=null,this.Pe=!1,this.H=Array(32),this.B=[]);Wd(this,!0,d)}function Xd(a,b){a.B.push(b);return[a.B.length,Yd]}l=Vd.prototype; +l.mh=function(a){this.U=a&65535;return this.ua=this.U<<4};l.qg=function(a,b){var c,d,e=this.gc;a&=65535;a&4?(c=e.Eb.ua,d=c+e.Eb.Ka|0):(c=e.Kb,d=e.Pc);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,Zd(this,c,a,b);this.id<$d&&y.call(e,b&&this.id==ae?10:13,a&65532)}return-1};l.gn=function(a){var b=this.gc;a=b.Pb+(a<<2);var c=b.ja(a);b.O&=-769;return this.load(b.ja(a+2))+c|0}; +l.fn=function(a){var b=this.gc;a<<=3;var c=b.Pb+a|0;if(7<=(b.cd-c|0))return this.C=!0,a=Zd(this,c,a),-1!==a&&(a+=this.Jf),a;y.call(b,13,a|2);return-1};l.dj=function(a){return this.ua+a|0};l.fj=function(a){return this.ua+a|0};l.cj=function(a,b){return(a>>>0)+b<=this.Nb?this.ua+a|0:this.kg()};l.zl=function(a,b){return(a>>>0)+b>this.Nb?this.ua+a|0:this.kg()};l.kg=function(){y.call(this.gc,13,0);return-1};l.ej=function(a,b){return(a>>>0)+b<=this.Nb?this.ua+a|0:this.lg()}; +l.Al=function(a,b){return(a>>>0)+b>this.Nb?this.ua+a|0:this.lg()};l.lg=function(){y.call(this.gc,13,0);return-1};function be(a,b,c,d,e){a.U=b;a.ua=d;a.Ka=e;a.Nb=(e>>>0)+1;a.jb=c;a.type=c&7936;a.ext=c>>16&192;a.Lb=(b&4?a.gc.Eb.ua:a.gc.Kb)+(b&65528)|0;a.id>>0)+1;a.jb=e;a.type=e&7936;a.ext=0;a.Lb=b;a.id>>0)+1,a.jb=a.A.jb,a.type=a.A.type,a.ext=a.A.ext,a.Lb=a.A.Lb,a.A.U=-1,Wd(a,!0,!0,!1),a.ua;a.A.U=-1;var f=e.ja(b+0),g=e.ja(b+4),h=g&7936,k=e.ja(b+2)|(g&255)<<16,m=e.ja(b+6),p=c&65528;if(80386<=e.ca){var w=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case ee:var u=a.C;a.Pe=!1;if(u&&c==Yd&&a.B.length){var F=a.B[a.Jf-1];if(F&&!F())return-1}var K=c&3,H=(g&24576)>>13,F=-1,I,T;p||b>= +e.Kb&&b=a.Ab&&(K>a.Ab&&(F=fe(e),ge(e,fe(e),!0),he(e,F),a.Pe=!0),F=0);else{if(256==h||2304==h)return ie(a,c,u)?a.ua:-1;if(1024==h)F=2,T=0,Kh||2048==(h&2560))return y.call(e,13,c&65532),-1;if(!(g&32768))return y.call(e,11,c&65532),-1}break;case ae:if(!p||4096>h||512!=(h&2560))return y.call(e,13,c&65532),-1;if(!(g&32768))return y.call(e,12,c&65532), +-1;break;case ce:u=h&-513;if(!p||256!=u&&2304!=u)return y.call(e,13,c&65532),-1;2304==u&&(a.Si=k+e.ja(k+102)|0,a.tl=k+a.Ka|0);break;case $d:if(!(h&4096)&&768>>0)+1,a.jb=g,a.type=h,a.ext=m,a.Lb=b,Wd(a,!0,!0,!1));return k} +function ie(a,b,c){var d=a.gc,e=a.Ab,f=d.la.U,g=d.la.ua;if(!c){if(!(d.la.type&512))return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.jb&=-513)}if(-1===d.la.load(b))return!1;var h=d.la.ua;if(!1!==c){if(d.la.type&512)return y.call(d,13,b&65532),!1;d.fb(d.la.Lb+4,d.la.jb|=512)}d.la.type=d.la.type&-513|d.la.jb&512;256==d.la.type||768==d.la.type?(d.fb(g+14,A(d)),d.fb(g+16,re(d)),d.fb(g+18,d.D),d.fb(g+20,d.I),d.fb(g+22,d.L),d.fb(g+24,d.G),d.fb(g+26,z(d)),d.fb(g+28,d.M),d.fb(g+30,d.K),d.fb(g+32,d.J),d.fb(g+ +34,d.oa.U),d.fb(g+36,d.Z.U),d.fb(g+38,d.Y.U),d.fb(g+40,d.Ca.U),d.Eb.load(d.ja(h+42)),se(d,d.ja(h+16)|(c?16384:0)),d.D=d.ja(h+18),d.I=d.ja(h+20),d.L=d.ja(h+22),d.G=d.ja(h+24),d.M=d.ja(h+28),d.K=d.ja(h+30),d.J=d.ja(h+32),d.oa.load(d.ja(h+34)),d.Ca.load(d.ja(h+40)),te(d,d.ja(h+14),d.ja(h+36)),b=38,g=26,a.Ab>>0)+1)}; +function Wd(a,b,c,d){void 0===c&&(c=!!(a.gc.qa&1));a.Oc=!1;if(c)if(a.load=a.qg,a.Cj=a.fn,a.bc=a.cj,a.cc=a.ej,void 0===d&&(d=!!(a.gc.O&131072)),d)a.load=a.G,a.bc=a.D,a.cc=a.F,a.Ab=a.qc=3,a.V=2,a.R=a.wa=65535,a.Ka=65535,a.Nb=a.Ka+1,a.Jc=a.V,a.Lb=-1,a.Pe=!1;else{if(!(a.U&-4))a.bc=a.kg,a.cc=a.lg;else if(a.type&4096){6144==(a.type&6656)&&(a.bc=a.kg);if(a.type&2048||!(a.type&512))a.cc=a.lg;1024==(a.type&3072)&&(a.bc==a.cj&&(a.bc=a.zl),a.cc==a.ej&&(a.cc=a.Al),a.Oc=!0);b&&a.id<$d&&a.U&-4&&-1!==a.Lb&&(c=a.Lb+ +5,d=a.gc.Ia(c),d&1||a.gc.fc(c,d|1))}b&&(a.Ab=a.U&3,a.qc=(a.jb&24576)>>13,80386>a.gc.ca||!(a.ext&64)?(a.V=2,a.R=65535):(a.V=4,a.R=-1),a.Jc=a.V,a.wa=a.R)}else a.load=a.mh,a.Cj=a.gn,a.bc=a.dj,a.cc=a.fj,a.Ab=a.qc=0,a.Lb=-1,a.Pe=!1}var ee=1,qe=2,ae=3,ce=4,$d=6,Yd=1; +function ze(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}xd.call(this,a,c);this.ca=b;a=a.stepping;this.we=b+(a?oa(a,16):0);this.Ri=61442;this.Qd=1792;this.si=28672;this.Vf=4;this.Ta=255;this.B=80286<=this.ca?Qb:Pb;this.va=Ae;this.bj=Be;this.ij=Ce;this.nj=De;if(80186<=this.ca&&(this.va=Ae.slice(),this.bj=Be.slice(),this.ij=Ce.slice(),this.Ta=31,this.va[15]=Ee,this.va[96]=Fe,this.va[97]=Ge,this.va[98]=He,this.va[99]=Ee,this.va[100]=Ee,this.va[101]= +Ee,this.va[102]=Ee,this.va[103]=Ee,this.va[104]=Ie,this.va[105]=Je,this.va[106]=Ke,this.va[107]=Le,this.va[108]=Me,this.va[109]=Ne,this.va[110]=Oe,this.va[111]=Pe,this.va[192]=Qe,this.va[193]=Re,this.va[200]=Se,this.va[201]=Te,this.va[241]=Ue,this.bj[7]=Ve,this.ij[7]=Ve,80286<=this.ca)){this.Ri=2;this.Qd|=28672;this.Vf=0;this.va[15]=We;this.Pd=Xe.slice();for(b=0;b=this.we&&(this.Pd[166]=hf,this.Pd[167]=jf)}}this.Yf=[];this.Zf=[];this.ag=0;Ad(this);this.ea.complete=this.ea.jj=!1;this.tj=0;this.sc=this.aa=[];this.qb=this.Ng=this.Db=this.Wf=this.df=this.ef=this.ed=0;kf(this)}ba(ze,xd);function lf(a,b,c,d){b=(d?a.sc:a.aa)[b>>>a.qb];c?--b.ie||od(b):--b.he||nd(b);d&&tc(a)} +function mf(a){var b;if(a.aa===a.sc){a.aa=Array(a.Wf);a.$f=new x(null,0,0,cd,null,a);nc(a.$f,a.ba);for(b=0;b>>20,f=a.sc[(a.Wc+e&a.ef)>>>a.qb],g=f.Nd(e);if(!(g&1))return d||tf.call(a,b,!1,c),a.ff;if(!(g&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;var h=(b&4190208)>>>10,g=a.sc[((g&-4096)+h&a.ef)>>>a.qb],k=g.Nd(h);if(!(k&1))return d||tf.call(a,b,!1,c),a.ff;if(!(k&4)&&3==a.Ma)return d||tf.call(a,b,!0,c),a.ff;c=a.sc[((k&-4096)+(b&4095)&a.ef)>>>a.qb];if(d)return c;d=b>>>a.qb;k=a.aa[d];b&=-4096;var m;0>2;b.mb=g;b.B=h>>2;Ob&&Fc&&c.X&&!c.controller&&!c.he&&!c.ie?(b.Pa=c.Pa,b.Rd=c.Rd,b.X=c.X,Ac(b,wd)):(b.F=c?ud(32):0,b.J=c?ud(96):0,Ac(b,fd));nc(b,a.ba,k);a.aa[d]=b;a.Xf.push(d);return b}function uf(a){a.aa!==a.sc&&(a.aa=a.sc,a.$f=null,a.Xf=null,a.ff=null)}l=ze.prototype;l.reset=function(){this.ea.vb&&this.Jb();kf(this);Ad(this);this.ea.error=!1}; +function vf(a,b){var c;switch(b){case 0:c=a.D;break;case 1:c=a.I;break;case 2:c=a.L;break;case 3:c=a.G;break;case 4:c=z(a);break;case 5:c=a.M;break;case 6:c=a.K;break;case 7:c=a.J}return c}function wf(a,b,c){switch(b){case 0:a.D=c;break;case 1:a.I=c;break;case 2:a.L=c;break;case 3:a.G=c;break;case 4:he(a,c);break;case 5:a.M=c;break;case 6:a.K=c;break;case 7:a.J=c}} +function kf(a){a.D=0;a.G=0;a.I=0;a.L=0;a.Hc=0;a.M=0;a.K=0;a.J=0;a.vc=!1;a.Ba=a.$a=0;a.bn=[0,0];a.cn=[0,0];a.ya=0;a.sj=0;a.ga=0;a.qa=65520;a.Pb=0;a.cd=1023;a.O=a.lc=0;a.ze=a.hf=a.ye=a.Ae=0;a.Uc=-1;a.Ad=a.Vc=-1;a.Bd=a.ta=-1;a.Z=new Vd(a,ee,"CS");a.Ca=new Vd(a,qe,"DS");a.oa=new Vd(a,qe,"ES");a.Y=new Vd(a,ae,"SS");he(a,0);ge(a,0);if(80386<=a.ca){switch(a.we){case 80562:case 80563:a.L=771;break;case 80578:a.L=772;break;case 80594:a.L=773;break;case 80595:case 80596:a.L=776}a.qa=16;a.Og=0;a.Cd=0;a.Wc=0; +a.Qb=[0,0,0,0,null,null,0,0];a.dg=[null,null,null,null,null,null,0,0];a.Ga=new Vd(a,qe,"FS");a.Ha=new Vd(a,qe,"GS");uf(a)}a.Qg=new Vd(a,0,"NULL");a.Da=a.Ca;a.Rb=a.Y;a.N=a.ha=0;a.C=a.F=-1;a.eb=a.Qg;a.Za=0;if(80286>a.ca)te(a,0,65535);else{a.Kb=0;a.Pc=65535;a.Eb=new Vd(a,5,"LDT",!0);a.la=new Vd(a,ce,"TSS",!0);a.xb=new Vd(a,$d,"VER",!0);te(a,65520,61440);var b,c=A(a);b=a.Z;var d=-65536;80386>b.gc.ca&&(d&=16777215);b=b.ua=d;a.da=b+c|0;a.Pg=(b>>>0)+(a.Z.Ka>>>0)+1}se(a,0);je(a)} +function xf(a){2==a.Jc?(a.Sb=a.ja,a.kc=yf,a.tc=zf,a.kd=Af,2==a.V?(a.ma=Bf,a.za=Cf,a.rb=Df):(a.ma=Ef,a.za=Ff,a.rb=Gf)):(a.Sb=a.ia,a.kc=Hf,a.tc=If,a.kd=Jf,2==a.V?(a.ma=Kf,a.za=Lf,a.rb=Mf):(a.ma=Nf,a.za=Of,a.rb=Pf))}function ke(a,b){a.V!=b&&(a.ha|=1024,a.V=b,a.R=2==b?65535:-1,Qf(a))}function Qf(a){2==a.V?(a.Fb=32768,a.hb=a.ja,a.yb=a.fb,2==a.Jc?(a.ma=Bf,a.za=Cf,a.rb=Df):(a.ma=Kf,a.za=Lf,a.rb=Mf)):(a.Fb=-2147483648,a.hb=a.ia,a.yb=a.ab,2==a.Jc?(a.ma=Ef,a.za=Ff,a.rb=Gf):(a.ma=Nf,a.za=Of,a.rb=Pf))} +function Rf(a){a.Jc=a.Z.Jc;a.wa=a.Z.wa;xf(a);a.V=a.Z.V;a.R=a.Z.R;Qf(a);a.ha&=-3073}l.uj=function(){var a=this.D+this.G+this.I+this.L+z(this)+this.M+this.K+this.J|0;return a=a+A(this)+this.Z.U+this.Ca.U+this.Y.U+this.oa.U+re(this)|0};function Sf(a,b,c){void 0===a.Yf[b]&&(a.Yf[b]=[]);a.Yf[b].push(c)}function Tf(a,b,c){c&&(null==a.Zf[b]&&a.ag++,a.Zf[b]=c)}function Uf(a,b){var c=a.Zf[b];null!=c&&(c(--a.ag),delete a.Zf[b])} +function Vf(a,b){for(var c=a.Qb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Qb[e],g=g&~(d>>2&3);b?a.aa[g>>>a.qb].Gd(g&a.Db,f,a):(g=a.aa[g>>>a.qb],f?--g.ie||od(g):--g.he||nd(g))}c>>=2;d>>=4}}function rd(a,b,c,d){if(!(a.N&8192)&&a.Qb[7]&255){c--;var e=a.Qb[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.Qb[g]&&b<=a.Qb[g]+h){a.Qb[6]|=1<>=2;f>>=4}}} +function je(a,b,c){void 0===b&&(b=!!(a.qa&1));void 0===c&&(c=!!(a.O&131072));a.nj=b&&!c?Wf:De;Wd(a.Z,!1,b,c);Wd(a.Ca,!1,b,c);Wd(a.Y,!1,b,c);Wd(a.oa,!1,b,c);80386<=a.ca&&(Wd(a.Ga,!1,b,c),Wd(a.Ha,!1,b,c));Rf(a)} +l.save=function(){var a=new Xf(this);a.set(0,[this.D,this.G,this.I,this.L,z(this),this.M,this.K,this.J]);var b=A(this),c=this.Z.save(),d=this.Ca.save(),e=this.Y.save(),f=this.oa.save(),g;null!=this.Kb?(g=[this.qa,this.Kb,this.Pc,this.Pb,this.cd,this.Eb.save(),this.la.save(),this.lc],80386<=this.ca&&(g.push(this.Og),g.push(this.Cd),g.push(this.Wc),g.push(this.Qb),g.push(this.dg))):g=null;b=[b,c,d,e,f,g,re(this)];80386<=this.ca&&(b.push(this.Ga.save()),b.push(this.Ha.save()));a.set(1,b);a.set(2,[this.Da.$b, +this.Rb.$b,this.N,this.ha,this.Za,this.C,this.F]);a.set(3,[0,this.Dd,this.T.Kd]);a.set(4,Lc(this.ka,!!(this.qa&-2147483648)));return a.data()}; +l.restore=function(a){var b=a[0];this.D=b[0];this.G=b[1];this.I=b[2];this.L=b[3];var c=b[4];this.M=b[5];this.K=b[6];this.J=b[7];b=a[1];this.Z.restore(b[1]);this.Ca.restore(b[2]);this.Y.restore(b[3]);this.oa.restore(b[4]);var d=b[5];d&&d.length&&(this.qa=d[0],this.Kb=d[1],this.Pc=d[2],this.Pb=d[3],this.cd=d[4],this.Eb.restore(d[5]),this.la.restore(d[6]),this.lc=d[7],80386<=this.ca&&(this.Og=d[8],this.Cd=d[9],this.Wc=d[10],this.Qb=d[11],this.dg=d[12]),je(this));se(this,b[6]);var d=!1,e;a:{e=this.ka; +var f=a[4],g;for(g=0;g>>0)+(a.Z.Ka>>>0)+1;a.Ma=a.Z.Ab;Rf(a)}function te(a,b,c,d){var e=a.Z;e.Jf=b;e.C=d;b=e.load(c);return-1!==b?($f(a,b+(a.Z.Jf&a.Z.R)),a.Z.Pe):null} +function ag(a,b){b=(a.da>>>0)+b;b>a.Pg&&(8088>=a.ca||a.Z.Ka==a.Z.wa?b=a.Z.ua+(b-a.Pg&a.R):y.call(a,13,0));return b|0}function bg(a){a.da=a.Bd}function z(a){return a.Hc&~a.Y.wa|a.Aa-a.Y.ua}function he(a,b){a.Hc=b;a.Aa=a.Y.ua+(b&a.Y.wa)|0}function cg(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&dg(a),g&2&&eg(a),g&4&&fg(a),g&8&&gg(a),g&16&&hg(a),g&32&&ig(a))}f?(a.ze=d,a.ye=b):(a.ze=b,a.ye=d);a.hf=c;a.Ae=d;a.resultType=e} +function jg(a,b,c,d,e){a.resultType=c|26;a.Ae=b;d?kg(a):lg(a);e?mg(a):ng(a);return b}function og(a,b,c,d){c&d?kg(a):lg(a);(b^c)&d?mg(a):ng(a)}function pg(a){return dg(a)?1:0}function dg(a){a.resultType&1&&(a.O&=-2,(a.ze^(a.ze^a.hf)&(a.hf^a.ye))&a.resultType&-2147450752&&(a.O|=1),a.resultType&=-2);return a.O&1}function eg(a){a.resultType&2&&(a.O&=-5,38505>>((a.Ae^a.Ae>>4)&15)&1&&(a.O|=4),a.resultType&=-3);return a.O&4} +function fg(a){a.resultType&4&&(a.O&=-17,(a.ye^a.ze^a.hf)&16&&(a.O|=16),a.resultType&=-5);return a.O&16}function gg(a){a.resultType&8&&(a.O&=-65,a.Ae&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.O|=64),a.resultType&=-9);return a.O&64}function hg(a){a.resultType&16&&(a.O&=-129,a.Ae&a.resultType&-2147450752&&(a.O|=128),a.resultType&=-17);return a.O&128} +function ig(a){a.resultType&32&&(a.O&=-2049,(a.ze^a.ye)&(a.hf^a.ye)&a.resultType&-2147450752&&(a.O|=2048),a.resultType&=-33);return a.O&2048}function lg(a){a.resultType&=-2;a.O&=-2}function qg(a){a.resultType&=-5;a.O&=-17}function rg(a){a.resultType&=-9;a.O&=-65}function ng(a){a.resultType&=-33;a.O&=-2049}function kg(a){a.resultType&=-2;a.O|=1}function ug(a){a.resultType&=-5;a.O|=16}function vg(a){a.resultType&=-9;a.O|=64}function mg(a){a.resultType&=-33;a.O|=2048} +function re(a){return a.O&-2262|dg(a)|eg(a)|fg(a)|gg(a)|hg(a)|ig(a)}function wg(a,b){b|=a.qa&1|65520;a.qa=a.qa&-65536|b&65535;a.qa&1&&je(a,!0)}function se(a,b,c){a.qa&1||(b&=~a.si);void 0===c&&(c=a.Ma);c?b=b&-12289|a.O&12288:a.lc=(b&12288)>>12;c>a.lc&&(b=b&-513|a.O&512);a.resultType=128;a.O=a.O&~(a.Qd|2261)|b&(a.Qd|2261)|a.Ri;a.O&256&&(a.Za|=2,a.N|=4)} +function xg(a,b,c,d){var e=0;if(a.qa&1&&(a.Ma>a.lc||a.O&131072)&&a.la.Si)for(var f=a.la.Si+(b>>>3),e=(1<>>=8,f++;return e?(t(a,256)&&Mb(a,"checkIOPM("+ta(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),y.call(a,13,0),!1):!0} +l.Cb=function(a,b,c){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.na[b]=c;this.tj++;a=!0;break;default:a=xd.prototype.Cb.call(this,a,b,c)}return a}; +function yg(a,b,c,d){var e=(d?a.sc:a.aa)[(b&a.ed)>>>a.qb];e&&e.type==cd&&(e=td(a,b,!1,!0));if(e){var f=b&a.Db;if(!c||1==c)return e.Zd(f,b);if(2==c)return f>>this.qb].Bc(a&this.Db,a)}; +l.ja=function(a){var b=a&this.Db,c=(a&this.ed)>>>this.qb;this.A-=this.B.zg;if(b>>this.qb;if(b>>this.qb].Dc(a&this.Db,b&255,a)}; +l.fb=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.qb;this.A-=this.B.zg;c>8&255,a+1))};l.ab=function(a,b){var c=a&this.Db,d=(a&this.ed)>>>this.qb;this.A-=this.B.zg;if(c>>=8}}; +function zg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,1);return a.N&1?0:a.Ia(a.C)}function D(a,b){return zg(a,a.Da,b)}function Ag(a,b){return zg(a,a.Rb,b)}function Bg(a,b,c){a.eb=b;a.wb=c&a.wa;a.C=b.bc(a.wb,a.V);return a.N&1?0:a.hb(a.C)}function E(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function Cg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,2);return a.N&1?0:a.ja(a.C)}function G(a,b){a.eb=a.Da;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)} +function Dg(a,b){a.eb=a.Rb;a.wb=b&a.wa;a.C=a.eb.bc(a.wb,4);return a.N&1?0:a.ia(a.C)}function Eg(a,b){a.N&2||a.fc(a.eb.cc(a.wb,1),b)}function Fg(a,b){a.N&2||a.fb(a.eb.cc(a.wb,2),b)}function Gg(a,b){a.N&2||a.ab(a.eb.cc(a.wb,4),b)}function le(a,b,c){return a.hb(b.bc(c,a.V))}l.ra=function(){var a=ag(this,1),b=this.Ia(this.da);this.da=a;return b};function Hg(a){var b=ag(a,2),c=a.ja(a.da);a.da=b;return c}function J(a){var b=ag(a,a.Jc),c=a.Sb(a.da);a.da=b;return c} +l.Ea=function(){var a=ag(this,this.V),b=this.hb(this.da);this.da=a;return b};l.S=function(){var a=ag(this,1),b=this.Ia(this.da)<<24>>24;this.da=a;return b};function fe(a){var b=a.hb(a.Aa);a.Aa=a.Aa+a.V|0;var c=a.cg-a.Aa|0;0>c&&0<=(a.cg^a.Aa)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?he(a,a.Aa-a.Y.ua&a.Y.wa):-1>c&&y.call(a,12,0));return b} +function me(a,b,c,d){c=a.Aa-c|0;0>(c-a.gf|0)&&0<=(a.gf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(he(a,c-a.Y.ua&a.Y.wa),c=a.Aa):y.call(a,12,0));switch(d){case 1:a.fc(c,b);break;case 2:a.fb(c,b);break;case 4:a.ab(c,b)}a.Aa=c}function pe(a,b){var c=a.Aa-a.V|0;0>(c-a.gf|0)&&0<=(a.gf^c)&&(8088>=a.ca||!a.Y.Oc&&a.Y.Ka==a.Y.wa||a.Y.Oc&&!a.Y.Ka?(he(a,c-a.Y.ua&a.Y.wa),c=a.Aa):y.call(a,12,0));a.yb(c,b);a.Aa=c} +function Ig(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ca)2this.ca?0:1,e=0;2>e;e++){switch(d){case 0:if(this.Za&1&&this.O&512){var f=Kg(this.W);if(-1<=f&&(this.Za&=-2,0<=f)){this.Za&=-5; +Lg.call(this,f);d=!0;break a}}break;case 1:if(this.Za&2){this.Za&=-3;80386<=this.ca&&(this.Qb[6]|=16384);Lg.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.P("interrupt dispatched");this.N=0;break}if(this.Za&4){this.N=this.A=0;break}}if(b){if(Mg(this.ba,this.da,c)){this.Jb();break}c=1}this.N=0;this.va[this.ra()].call(this)}while(0>11;ch(this);dh(this,a[b++]);for(c=0;c=eh&&fh(a,gh))}function ch(a){a.fa&=-129;a.fa&~a.Zb&63&&(a.fa|=128);if(a.fa&128&&!(a.Zb&128))return a=a.W,a.ca>=eh?hh(a,gh):a.da&ih||Lg.call(a.H,2),!0;a=a.W;a.ca>=eh&&fh(a,gh);return!1}function jh(a,b){80387<=a.ca||(b&=-65);a.fa|=b;return ch(a)} +function ah(a){return a.fa|a.B<<11}function kh(a,b){return isFinite(b)?!0:!jh(a,Infinity===b?8:16)}function lh(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,kh(a,d)||(d=null));return d}function mh(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,kh(a,d)||(d=null));return d}function nh(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,kh(a,d)||(d=null));return d}function oh(a,b,c){var d=null;null==b||null==c||!c&&jh(a,2)||(d=b/c,kh(a,d)||(d=null));return d} +function ph(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.fa=a.fa&-18177|d;return!0}return!1}function qh(a,b,c){if(null==b)return null;var d=a.Zb&3072;d?d=1024==d||3072==d&&0=c){if(jh(a,1))return null;d=-c}else if(d<-c){if(jh(a,1))return null;d=-c}a.G[0]=d|0;2147483648d&&(a.G[1]=-1))}return d} +function rh(a,b){var c=3;a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function sh(a){var b=a.B+0&7;return a.C&1<>16}function xh(a){return a.H.ia(a.H.C)}function yh(a){a.ha[0]=a.H.ia(a.H.C);return a.Z[0]}function zh(a){a.G[0]=a.H.ia(a.H.C);a.G[1]=a.H.ia(a.H.C+4);return a.K[0]} +function Ah(a){a.D[0]=a.H.ia(a.H.C);a.D[1]=a.H.ia(a.H.C+4);a.D[2]=a.H.ja(a.H.C+8);return a.D}l.mi=function(){this.H.ab(this.H.C,this.G[0])};l.bl=function(){this.H.ab(this.H.C,this.G[0]);this.H.ab(this.H.C+4,this.G[1])};function Bh(a){a.H.ab(a.H.C,a.D[0]);a.H.ab(a.H.C+4,a.D[1]);a.H.fb(a.H.C+8,a.D[2])}function Ch(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.G[0]=b;a.G[1]=c|(d|e)<<20;return a.K[0]} +function vh(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.D[0]=b<<11;a.D[1]=e;a.D[2]=c>>16&32768|d;return a.D}function Dh(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Eh(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ch(a);dh(a,d.hb(b+=d.V));!(d.qa&1)||d.O&131072?(a.I=d.hb(b+=d.V),c=d.hb(b+=d.V),a.O=c&2047,a.I|=(c&-4096)<<4,a.M=-1,a.J=d.hb(b+=d.V),a.J|=(d.hb(b+=d.V)&-4096)<<4,a.N=-1):(a.I=d.hb(b+=d.V),c=d.hb(b+=d.V),a.M=c&65535,a.O=c>>16&2047,a.J=d.hb(b+=d.V),a.N=d.hb(b+=d.V)&65535);return b+d.V} +function Ih(a,b){var c=a.H;c.yb(b,a.Zb);c.yb(b+=c.V,ah(a));c.yb(b+=c.V,bh(a));if(!(c.qa&1)||c.O&131072){var d=(a.M<<4)+a.I;c.yb(b+=c.V,d);c.yb(b+=c.V,d>>4&-4096|a.O);d=(a.N<<4)+a.J;c.yb(b+=c.V,d);c.yb(b+=c.V,d>>4&-4096)}else c.yb(b+=c.V,a.I),c.yb(b+=c.V,a.M|a.O<<16),c.yb(b+=c.V,a.J),c.yb(b+=c.V,a.N);return b+c.V}function Jh(){this.fa&=-32896;ch(this)}function Kh(){ph(this,M(this,0),M(this,this.A))}function Lh(){ph(this,M(this,0),M(this,this.A))&&Fh(this)}function Mh(){Lh.call(this)} +function Nh(){N(this,0,oh(this,M(this,0),yh(this)))}function Oh(){this.C&=~(1<>20&2047)-1023),this.G[1]=(this.G[1]|1072693248)&-1073741825,Gh(this,this.K[0]))},102:function(){this.B=this.B-1&7;this.fa&=-513},103:function(){this.B= +this.B+1&7;this.fa&=-513},112:function(){N(this,0,M(this,0)%M(this,1))},113:function(){N(this,1,M(this,1)*Math.log(M(this,0)+1)/Math.LN2)&&Fh(this)},114:function(){var a=M(this,0),b=null;if(0<=a||!jh(this,1))b=Math.sqrt(a),kh(this,b)||(b=null);N(this,0,b)},116:function(){N(this,0,qh(this,M(this,0),gi))},117:function(){var a=M(this,0),b=M(this,1);null!=a&&null!=b&&N(this,0,a*Math.pow(2,0>>0);Gh(this,a)},6:function(){var a=qh(this,Fh(this));null!=a&&(this.D[0]=Eh(a,8),this.D[1]=Eh(a/1E8,8),this.D[2]=Eh(a/1E16,2),0>a&&(this.D[2]|=32768),Bh(this))},7:function(){null!=qh(this,M(this,0),gi)&&(this.bl(),Fh(this))},48:function(){Oh.call(this);Fh(this)},49:ai,50:Wh,51:Wh,52:Zh}},ii=[Jh,Ph,Qh,Rh,Sh,Th,Xh,Uh,Yh,Zh];ab(function(){for(var a=Ab(document,"pcx86","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.Ij;(bd)&&y.call(this,5);this.N|=2;return a}function ri(a,b){var c=0;if(b){rg(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else vg(this);this.A-=11+3*c;return a}function si(a,b){var c=0;if(b){rg(this);for(var d=2==this.V?15:31,e=1<>>=1;c++;d--}}else vg(this);this.A-=11+3*c;return a} +function ti(a,b){a&1<<(b&(2==this.V?15:31))?kg(this):lg(this);this.A-=-1===this.C?3:6;this.N|=2;return a}function ui(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a^b}function vi(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a&~b}function wi(a,b){b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=-1===this.C?6:8;return a|b} +function xi(a,b){if(-1===this.C)return ti.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=6;this.N|=2;return a}function yi(a,b){if(-1===this.C)return ui.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a^b} +function zi(a,b){if(-1===this.C)return vi.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a&~b}function Ai(a,b){if(-1===this.C)return wi.call(this,a,b);var c=this.V<<3;if(b>=c||b<-c)a=Bg(this,this.eb,this.wb+(b>>(2==this.V?4:5))*this.V);b=1<<(b&(2==this.V?15:31));a&b?kg(this):lg(this);this.A-=8;return a|b} +function Bi(a,b){cg(this,a,b,a-b|0,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ah:this.B.Ib;this.N|=2;return a}function Ci(a,b){cg(this,a,b,a-b|0,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ah:this.B.Ib;this.N|=2;return a} +function Di(a){if(this.Tc){var b=this.Tc,c=this.sj,d=this.ga,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=hi[c][f]){if(0>ii.indexOf(e)){var f=b.H,g=f.Bd;8087==b.ca&&(f.ha&16&&g++,f.ha&32&&g++);b.M=f.Z.U;b.I=g-f.Z.ua;-1!==f.C&&(b.N=f.eb.U,b.J=f.C-f.eb.ua);b.O=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.C?2:8;return a}function Ei(a){if(80186>this.ca)return Fi.call(this,a);y.call(this,13,0);return a}function Ve(a){y.call(this,6);return a} +function Fi(a){Ye.call(this);return a}function Gi(a,b){a=Hi.call(this,this.S(),b);80386>this.ca&&(this.A-=12);return a}function Ii(a,b){a=this.Ea();a=2==this.V?Hi.call(this,a,b):Ji.call(this,a,b);80386>this.ca&&(this.A-=12);return a}function Ki(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Li.call(this,a,b);c&&(this.Ba=~this.Ba+1|0,this.$a=~this.$a+(this.Ba?0:1)|0)} +function Hi(a,b){a=(a<<16>>16)*(b<<16>>16)|0;32767a?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return a&65535}function Ji(a,b){Ki.call(this,a,b);this.$a!=this.Ba>>31?(kg(this),mg(this)):(lg(this),ng(this));this.A-=-1===this.C?9:12;return this.Ba}function Mi(a,b){this.A-=14+(-1===this.C?0:2);rg(this);-1!==this.xb.load(b)&&this.xb.qc>=this.Ma&&this.xb.qc>=(b&3)&&(vg(this),a=this.xb.jb&-256,2=this.Ma)&&this.xb.qc>=(b&3))return vg(this),this.xb.Ka;rg(this);return a}function cj(a,b){if(-1===this.C)return Ye.call(this),a;ge(this,this.ja(this.C+this.V));this.A-=this.B.Xe;return b} +function dj(a,b){this.A-=-1===this.F?-1===this.C?this.B.sk:this.B.rk:this.B.pk;return b}function ej(a,b){switch(this.ga>>3&7){case 4:this.ya=this.D;break;case 5:this.ya=this.I;break;case 6:this.ya=this.L;break;case 7:this.ya=this.G}return b}function fj(a,b){return b} +function gj(a,b){a=this.ga>>3&7;switch(a){case 0:this.ya=this.D;break;case 2:this.ya=this.L;break;case 3:this.ya=this.G;break;default:if(80286==this.ca||80386==this.ca&&4!=a&&5!=a)y.call(this,6);else switch(a){case 1:this.ya=this.I;break;case 4:this.ya=z(this);break;case 5:this.ya=this.M;break;case 6:this.ya=this.K;break;case 7:this.ya=this.J}}return dj.call(this,0,b)} +function hj(a,b){switch(this.ga>>3&7){case 0:b=this.oa.U;break;case 1:b=this.Z.U;break;case 2:b=this.Y.U;break;case 3:b=this.Ca.U;break;case 4:if(80386<=this.ca){b=this.Ga.U;break}y.call(this,6);b=a;break;case 5:if(80386<=this.ca){b=this.Ha.U;break}default:y.call(this,6),b=a}-1!==this.F&&ke(this,2);return dj.call(this,0,b)} +function Li(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.Ba=d<<16|e&65535;this.$a=f+((d>>>16)+b*a)|0}else this.Ba=a*b|0,this.$a=0}function ij(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,128)}function jj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a|b,this.Fb)&this.R} +function kj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255}function lj(a,b){var c=a-b-pg(this)|0;cg(this,a,b,c,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function mj(){return ig(this)?1:0}function nj(){return dg(this)?1:0}function oj(){return dg(this)?0:1}function pj(){return gg(this)?1:0}function qj(){return gg(this)?0:1}function rj(){return dg(this)||gg(this)?1:0} +function sj(){return dg(this)||gg(this)?0:1}function tj(){return hg(this)?1:0}function uj(){return hg(this)?0:1}function vj(){return eg(this)?1:0}function wj(){return eg(this)?0:1}function xj(){return!hg(this)!=!ig(this)?1:0}function yj(){return!hg(this)!=!ig(this)?0:1}function zj(){return gg(this)||!hg(this)!=!ig(this)?1:0}function Aj(){return gg(this)||!hg(this)!=!ig(this)?0:1}function Bj(a,b){return Cj.call(this,a,b,this.ra())}function Dj(a,b){return Ej.call(this,a,b,this.ra())} +function Fj(a,b){return Cj.call(this,a,b,this.I&31)}function Gj(a,b){return Ej.call(this,a,b,this.I&31)}function Hj(a,b){return Ij.call(this,a,b,this.ra())}function Jj(a,b){return Kj.call(this,a,b,this.ra())}function Lj(a,b){return Ij.call(this,a,b,this.I&31)}function Mj(a,b){return Kj.call(this,a,b,this.I&31)}function Nj(a,b){var c=a-b|0;cg(this,a,b,c,191,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&255} +function Oj(a,b){var c=a-b|0;cg(this,a,b,c,this.Fb|63,!0);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return c&this.R}function Pj(a,b){jg(this,a&b,128);this.A-=-1===this.F?-1===this.C?this.B.bi:this.B.Gf:this.B.Gf;this.N|=2;return a}function Qj(a,b){jg(this,a&b,this.Fb);this.A-=-1===this.F?-1===this.C?this.B.bi:this.B.Gf:this.B.Gf;this.N|=2;return a}function Rj(a,b){var c=this.D&this.R,d=(1<<(this.I&31))-1;return a&~(d<>(this.D&this.R)&(1<<(this.I&31))-1&this.R}function Tj(a,b){if(-1===this.C){switch(this.ga&7){case 0:this.D=this.D&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.G=this.G&-256|a;break;case 4:this.D=this.D&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.L=this.L&-65281|a<<8;break;case 7:this.G=this.G&-65281|a<<8}this.A-=this.B.di}else this.F=this.C,Eg(this,a),this.A-=this.B.ci;return b} +function Uj(a,b){if(-1===this.C){switch(this.ga&7){case 0:this.D=this.D&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.L=this.L&~this.R|a;break;case 3:this.G=this.G&~this.R|a;break;case 4:he(this,z(this)&~this.R|a);break;case 5:this.M=this.G&~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.di}else this.F=this.C,this.N&2||this.yb(this.eb.cc(this.wb,this.V),a),this.A-=this.B.ci;return b} +function Vj(a,b){a^=b;jg(this,a,128);this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return a}function Wj(a,b){this.A-=-1===this.F?-1===this.C?this.B.mc:this.B.Ib:this.B.Ac;return jg(this,a^b,this.Fb)&this.R}function Xj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Yj(a){var b=a-1|0;cg(this,a,1,b,this.Fb|62,!0);this.A-=2;return a&~this.R|b&this.R} +function Zj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1,f=this.bn;f[0]=c>>>0;f[1]=0;c=this.cn;c[0]=a>>>0;for(c[1]=b>>>0;0>>=0,a[1]++),e+=e;do 0<=Xj(c,f)&&(a=c,b=f,a[0]-=b[0],a[1]-=b[1],0>a[0]&&(a[0]>>>=0,a[1]--),d+=e),a=f,a[0]>>>=1,a[1]&1&&(a[0]=(a[0]|2147483648)>>>0),a[1]>>>=1,e/=2;while(1<=e);this.Ba=d;this.$a=c[0];return!0}function ak(a){var b=a+1|0;cg(this,a,1,b,this.Fb|62);this.A-=2;return a&~this.R|b&this.R} +function bk(a){this.qa=a;je(this);this.qa&-2147483648?mf(this):uf(this)}function ue(a){this.Wc=a;tc(this)}function ck(a){this.N|=1;this.tc.call(this,a);this.A-=-1===this.C?4:5}function Cj(a,b,c){if(c){16>>16-c)&65535;jg(this,a,32768,d&32768)}return a}function Ej(a,b,c){if(c){var d=a<>>32-c;jg(this,a,-2147483648,d&-2147483648)}return a} +function Ij(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;jg(this,a,32768,d&1)}return a}function Kj(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;jg(this,a,-2147483648,d&1)}return a}function dk(){this.A-=-1===this.C?2:this.B.Fk;return 1}function ek(){var a=this.I&255;this.A-=(-1===this.C?this.B.Vh:this.B.Uh)+(a<this.Uc?(-1!=this.Ad&&(this.Ad!==this.Z.U&&(this.Z.Ab=this.Ad&3,Zf(this,this.Ad)),this.Ad=-1),this.Bd!==this.da&&$f(this,this.Bd),-1!=this.Vc&&(this.Vc!==this.Y.U&&ge(this,this.Vc),this.Vc=-1),-1!==this.ta&&(this.ta!==this.Aa&&he(this,this.Hc&~this.Y.wa|this.ta-this.Y.ua),this.ta=-1)):8!=this.Uc?(b=0,a=8):(b=0,a=-1,kf(this),e=d=!1)):$f(this,this.Bd);var f=a,g=b,h=32,k=yg(this,this.da);204!=k||this.cd||(d=!1);this.O&131072&&(6== +f&&99==k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.da&&1048575>=this.da&&(d=!1);t(this,h|-2147483648)&&(d=!0);if(t(this,h)||d){var m=this.ea.vb,f="Fault "+r(f)+(null!=g?" ("+ta(g)+")":"")+" on opcode "+r(k);d&&m&&(f+=" (blocked)");this.ba?(Mb(this,f,d||h,!0),d&&(d=m,this.ba.Jb())):(this.Fa(f),this.Jb())}if(d&&e)throw-1;if(e)throw this.Uc=a,jk.call(this,a,b,c),this.Bd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;} +function tf(a,b,c){this.Cd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ma&&(a|=4);y.call(this,14,a)}function lk(a){var b=a.jb&7680;a.U&65528&&(6144==b||7168==b||7168>b&&a.qc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.L>>8&255;break;case 199:c=this.G>>8&255;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D&255;break;case 1:b=this.I&255;break;case 2:b=this.L&255;break;case 3:b=this.G&255;break;case 4:b=this.D>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.L>>8&255;break;case 7:b=this.G>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.D= +this.D&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.G=this.G&-256|a;break;case 4:this.D=this.D&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.L=this.L&-65281|a<<8;break;case 7:this.G=this.G&-65281|a<<8}} +function zf(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=D(this,this.G+this.K);this.F=this.C;break;case 1:b=D(this,this.G+this.J);this.F=this.C;break;case 2:b=Ag(this,this.M+this.K);this.F=this.C;break;case 3:b=Ag(this,this.M+this.J);this.F=this.C;break;case 4:b=D(this,this.K);this.F=this.C;break;case 5:b=D(this,this.J);this.F=this.C;break;case 6:b=D(this,J(this));this.F=this.C;break;case 7:b=D(this,this.G);this.F=this.C;break;case 64:b=D(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:b=D(this,this.G+this.J+this.S());this.F=this.C;break;case 66:b=Ag(this,this.M+this.K+this.S());this.F=this.C;break;case 67:b=Ag(this,this.M+this.J+this.S());this.F=this.C;break;case 68:b=D(this,this.K+this.S());this.F=this.C;break;case 69:b=D(this,this.J+this.S());this.F=this.C;break;case 70:b=Ag(this,this.M+this.S());this.F=this.C;break;case 71:b=D(this,this.G+this.S());this.F=this.C;break;case 128:b=D(this,this.G+this.K+J(this));this.F=this.C;break;case 129:b=D(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:b=Ag(this,this.M+this.K+J(this));this.F=this.C;break;case 131:b=Ag(this,this.M+this.J+J(this));this.F=this.C;break;case 132:b=D(this,this.K+J(this));this.F=this.C;break;case 133:b=D(this,this.J+J(this));this.F=this.C;break;case 134:b=Ag(this,this.M+J(this));this.F=this.C;break;case 135:b=D(this,this.G+J(this));this.F=this.C;break;case 192:b=this.D&255;break;case 193:b=this.I&255;break;case 194:b=this.L&255;break;case 195:b=this.G&255;break;case 196:b=this.D>>8&255;break; +case 197:b=this.I>>8&255;break;case 198:b=this.L>>8&255;break;case 199:b=this.G>>8&255;break;default:b=0}switch(this.ga>>3&7){case 0:c=this.D&255;break;case 1:c=this.I&255;break;case 2:c=this.L&255;break;case 3:c=this.G&255;break;case 4:c=this.D>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.L>>8&255;break;case 7:c=this.G>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Eg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Eg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Eg(this, +a);this.A-=this.B.wc;break;case 6:Eg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Eg(this,a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Eg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Eg(this,a);this.A-=this.B.Va;break;case 192:this.D=this.D&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.L=this.L&-256|a;break;case 195:this.G=this.G&-256|a;break;case 196:this.D=this.D&-65281|a<<8;break;case 197:this.I= +this.I&-65281|a<<8;break;case 198:this.L=this.L&-65281|a<<8;break;case 199:this.G=this.G&-65281|a<<8}} +function Af(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=D(this,this.G+this.K);this.F=this.C;break;case 1:c=D(this,this.G+this.J);this.F=this.C;break;case 2:c=Ag(this,this.M+this.K);this.F=this.C;break;case 3:c=Ag(this,this.M+this.J);this.F=this.C;break;case 4:c=D(this,this.K);this.F=this.C;break;case 5:c=D(this,this.J);this.F=this.C;break;case 6:c=D(this,J(this));this.F=this.C;break;case 7:c=D(this,this.G);this.F=this.C;break;case 64:c=D(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:c=D(this,this.G+this.J+this.S());this.F=this.C;break;case 66:c=Ag(this,this.M+this.K+this.S());this.F=this.C;break;case 67:c=Ag(this,this.M+this.J+this.S());this.F=this.C;break;case 68:c=D(this,this.K+this.S());this.F=this.C;break;case 69:c=D(this,this.J+this.S());this.F=this.C;break;case 70:c=Ag(this,this.M+this.S());this.F=this.C;break;case 71:c=D(this,this.G+this.S());this.F=this.C;break;case 128:c=D(this,this.G+this.K+J(this));this.F=this.C;break;case 129:c=D(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:c=Ag(this,this.M+this.K+J(this));this.F=this.C;break;case 131:c=Ag(this,this.M+this.J+J(this));this.F=this.C;break;case 132:c=D(this,this.K+J(this));this.F=this.C;break;case 133:c=D(this,this.J+J(this));this.F=this.C;break;case 134:c=Ag(this,this.M+J(this));this.F=this.C;break;case 135:c=D(this,this.G+J(this));this.F=this.C;break;case 192:c=this.D&255;break;case 193:c=this.I&255;break;case 194:c=this.L&255;break;case 195:c=this.G&255;break;case 196:c=this.D>>8&255;break; +case 197:c=this.I>>8&255;break;case 198:c=this.L>>8&255;break;case 199:c=this.G>>8&255;break;default:c=0}a=a[this.ga>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Eg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Eg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Eg(this,a);this.A-=this.B.wc;break;case 6:Eg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Eg(this,a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Eg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Eg(this, +a);this.A-=this.B.Va;break;case 192:this.D=this.D&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.L=this.L&-256|a;break;case 195:this.G=this.G&-256|a;break;case 196:this.D=this.D&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.L=this.L&-65281|a<<8;break;case 199:this.G=this.G&-65281|a<<8}} +function Bf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=E(this,this.G+this.K);this.A-=this.B.Rc;break;case 1:c=E(this,this.G+this.J);this.A-=this.B.Sc;break;case 2:c=Cg(this,this.M+this.K);this.A-=this.B.Sc;break;case 3:c=Cg(this,this.M+this.J);this.A-=this.B.Rc;break;case 4:c=E(this,this.K);this.A-=this.B.wc;break;case 5:c=E(this,this.J);this.A-=this.B.wc;break;case 6:c=E(this,J(this));this.A-=this.B.td;break;case 7:c=E(this,this.G);this.A-=this.B.wc;break;case 64:c=E(this,this.G+this.K+ +this.S());this.A-=this.B.Tb;break;case 65:c=E(this,this.G+this.J+this.S());this.A-=this.B.Ub;break;case 66:c=Cg(this,this.M+this.K+this.S());this.A-=this.B.Ub;break;case 67:c=Cg(this,this.M+this.J+this.S());this.A-=this.B.Tb;break;case 68:c=E(this,this.K+this.S());this.A-=this.B.Va;break;case 69:c=E(this,this.J+this.S());this.A-=this.B.Va;break;case 70:c=Cg(this,this.M+this.S());this.A-=this.B.Va;break;case 71:c=E(this,this.G+this.S());this.A-=this.B.Va;break;case 128:c=E(this,this.G+this.K+J(this)); +this.A-=this.B.Tb;break;case 129:c=E(this,this.G+this.J+J(this));this.A-=this.B.Ub;break;case 130:c=Cg(this,this.M+this.K+J(this));this.A-=this.B.Ub;break;case 131:c=Cg(this,this.M+this.J+J(this));this.A-=this.B.Tb;break;case 132:c=E(this,this.K+J(this));this.A-=this.B.Va;break;case 133:c=E(this,this.J+J(this));this.A-=this.B.Va;break;case 134:c=Cg(this,this.M+J(this));this.A-=this.B.Va;break;case 135:c=E(this,this.G+J(this));this.A-=this.B.Va;break;case 192:c=this.D&65535;break;case 193:c=this.I& +65535;break;case 194:c=this.L&65535;break;case 195:c=this.G&65535;break;case 196:c=z(this)&65535;break;case 197:c=this.M&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D&65535;break;case 1:b=this.I&65535;break;case 2:b=this.L&65535;break;case 3:b=this.G&65535;break;case 4:b=z(this)&65535;break;case 5:b=this.M&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.D= +this.D&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.L=this.L&-65536|a;break;case 3:this.G=this.G&-65536|a;break;case 4:he(this,z(this)&-65536|a);break;case 5:this.M=this.M&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} +function Cf(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=E(this,this.G+this.K);this.F=this.C;break;case 1:b=E(this,this.G+this.J);this.F=this.C;break;case 2:b=Cg(this,this.M+this.K);this.F=this.C;break;case 3:b=Cg(this,this.M+this.J);this.F=this.C;break;case 4:b=E(this,this.K);this.F=this.C;break;case 5:b=E(this,this.J);this.F=this.C;break;case 6:b=E(this,J(this));this.F=this.C;break;case 7:b=E(this,this.G);this.F=this.C;break;case 64:b=E(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:b=E(this,this.G+this.J+this.S());this.F=this.C;break;case 66:b=Cg(this,this.M+this.K+this.S());this.F=this.C;break;case 67:b=Cg(this,this.M+this.J+this.S());this.F=this.C;break;case 68:b=E(this,this.K+this.S());this.F=this.C;break;case 69:b=E(this,this.J+this.S());this.F=this.C;break;case 70:b=Cg(this,this.M+this.S());this.F=this.C;break;case 71:b=E(this,this.G+this.S());this.F=this.C;break;case 128:b=E(this,this.G+this.K+J(this));this.F=this.C;break;case 129:b=E(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:b=Cg(this,this.M+this.K+J(this));this.F=this.C;break;case 131:b=Cg(this,this.M+this.J+J(this));this.F=this.C;break;case 132:b=E(this,this.K+J(this));this.F=this.C;break;case 133:b=E(this,this.J+J(this));this.F=this.C;break;case 134:b=Cg(this,this.M+J(this));this.F=this.C;break;case 135:b=E(this,this.G+J(this));this.F=this.C;break;case 192:b=this.D&65535;break;case 193:b=this.I&65535;break;case 194:b=this.L&65535;break;case 195:b=this.G&65535;break;case 196:b=z(this)&65535; +break;case 197:b=this.M&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.ga>>3&7){case 0:c=this.D&65535;break;case 1:c=this.I&65535;break;case 2:c=this.L&65535;break;case 3:c=this.G&65535;break;case 4:c=z(this)&65535;break;case 5:c=this.M&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:Fg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Fg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Fg(this, +a);this.A-=this.B.wc;break;case 6:Fg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Fg(this,a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Fg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Fg(this,a);this.A-=this.B.Va;break;case 192:this.D=this.D&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.L=this.L&-65536|a;break;case 195:this.G=this.G&-65536|a;break;case 196:he(this,z(this)&-65536|a);break; +case 197:this.M=this.M&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} +function Df(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=E(this,this.G+this.K);this.F=this.C;break;case 1:c=E(this,this.G+this.J);this.F=this.C;break;case 2:c=Cg(this,this.M+this.K);this.F=this.C;break;case 3:c=Cg(this,this.M+this.J);this.F=this.C;break;case 4:c=E(this,this.K);this.F=this.C;break;case 5:c=E(this,this.J);this.F=this.C;break;case 6:c=E(this,J(this));this.F=this.C;break;case 7:c=E(this,this.G);this.F=this.C;break;case 64:c=E(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:c=E(this,this.G+this.J+this.S());this.F=this.C;break;case 66:c=Cg(this,this.M+this.K+this.S());this.F=this.C;break;case 67:c=Cg(this,this.M+this.J+this.S());this.F=this.C;break;case 68:c=E(this,this.K+this.S());this.F=this.C;break;case 69:c=E(this,this.J+this.S());this.F=this.C;break;case 70:c=Cg(this,this.M+this.S());this.F=this.C;break;case 71:c=E(this,this.G+this.S());this.F=this.C;break;case 128:c=E(this,this.G+this.K+J(this));this.F=this.C;break;case 129:c=E(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:c=Cg(this,this.M+this.K+J(this));this.F=this.C;break;case 131:c=Cg(this,this.M+this.J+J(this));this.F=this.C;break;case 132:c=E(this,this.K+J(this));this.F=this.C;break;case 133:c=E(this,this.J+J(this));this.F=this.C;break;case 134:c=Cg(this,this.M+J(this));this.F=this.C;break;case 135:c=E(this,this.G+J(this));this.F=this.C;break;case 192:c=this.D&65535;break;case 193:c=this.I&65535;break;case 194:c=this.L&65535;break;case 195:c=this.G&65535;break;case 196:c=z(this)&65535; +break;case 197:c=this.M&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}a=a[this.ga>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Fg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Fg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Fg(this,a);this.A-=this.B.wc;break;case 6:Fg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Fg(this,a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Fg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Fg(this, +a);this.A-=this.B.Va;break;case 192:this.D=this.D&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.L=this.L&-65536|a;break;case 195:this.G=this.G&-65536|a;break;case 196:he(this,z(this)&-65536|a);break;case 197:this.M=this.M&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} +function Ef(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=G(this,this.G+this.K);this.A-=this.B.Rc;break;case 1:c=G(this,this.G+this.J);this.A-=this.B.Sc;break;case 2:c=Dg(this,this.M+this.K);this.A-=this.B.Sc;break;case 3:c=Dg(this,this.M+this.J);this.A-=this.B.Rc;break;case 4:c=G(this,this.K);this.A-=this.B.wc;break;case 5:c=G(this,this.J);this.A-=this.B.wc;break;case 6:c=G(this,J(this));this.A-=this.B.td;break;case 7:c=G(this,this.G);this.A-=this.B.wc;break;case 64:c=G(this,this.G+this.K+ +this.S());this.A-=this.B.Tb;break;case 65:c=G(this,this.G+this.J+this.S());this.A-=this.B.Ub;break;case 66:c=Dg(this,this.M+this.K+this.S());this.A-=this.B.Ub;break;case 67:c=Dg(this,this.M+this.J+this.S());this.A-=this.B.Tb;break;case 68:c=G(this,this.K+this.S());this.A-=this.B.Va;break;case 69:c=G(this,this.J+this.S());this.A-=this.B.Va;break;case 70:c=Dg(this,this.M+this.S());this.A-=this.B.Va;break;case 71:c=G(this,this.G+this.S());this.A-=this.B.Va;break;case 128:c=G(this,this.G+this.K+J(this)); +this.A-=this.B.Tb;break;case 129:c=G(this,this.G+this.J+J(this));this.A-=this.B.Ub;break;case 130:c=Dg(this,this.M+this.K+J(this));this.A-=this.B.Ub;break;case 131:c=Dg(this,this.M+this.J+J(this));this.A-=this.B.Tb;break;case 132:c=G(this,this.K+J(this));this.A-=this.B.Va;break;case 133:c=G(this,this.J+J(this));this.A-=this.B.Va;break;case 134:c=Dg(this,this.M+J(this));this.A-=this.B.Va;break;case 135:c=G(this,this.G+J(this));this.A-=this.B.Va;break;case 192:c=this.D;break;case 193:c=this.I;break; +case 194:c=this.L;break;case 195:c=this.G;break;case 196:c=z(this);break;case 197:c=this.M;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D;break;case 1:b=this.I;break;case 2:b=this.L;break;case 3:b=this.G;break;case 4:b=z(this);break;case 5:b=this.M;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.D=a;break;case 1:this.I=a;break;case 2:this.L=a;break;case 3:this.G=a;break;case 4:he(this, +a);break;case 5:this.M=a;break;case 6:this.K=a;break;case 7:this.J=a}} +function Ff(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=G(this,this.G+this.K);this.F=this.C;break;case 1:b=G(this,this.G+this.J);this.F=this.C;break;case 2:b=Dg(this,this.M+this.K);this.F=this.C;break;case 3:b=Dg(this,this.M+this.J);this.F=this.C;break;case 4:b=G(this,this.K);this.F=this.C;break;case 5:b=G(this,this.J);this.F=this.C;break;case 6:b=G(this,J(this));this.F=this.C;break;case 7:b=G(this,this.G);this.F=this.C;break;case 64:b=G(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:b=G(this,this.G+this.J+this.S());this.F=this.C;break;case 66:b=Dg(this,this.M+this.K+this.S());this.F=this.C;break;case 67:b=Dg(this,this.M+this.J+this.S());this.F=this.C;break;case 68:b=G(this,this.K+this.S());this.F=this.C;break;case 69:b=G(this,this.J+this.S());this.F=this.C;break;case 70:b=Dg(this,this.M+this.S());this.F=this.C;break;case 71:b=G(this,this.G+this.S());this.F=this.C;break;case 128:b=G(this,this.G+this.K+J(this));this.F=this.C;break;case 129:b=G(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:b=Dg(this,this.M+this.K+J(this));this.F=this.C;break;case 131:b=Dg(this,this.M+this.J+J(this));this.F=this.C;break;case 132:b=G(this,this.K+J(this));this.F=this.C;break;case 133:b=G(this,this.J+J(this));this.F=this.C;break;case 134:b=Dg(this,this.M+J(this));this.F=this.C;break;case 135:b=G(this,this.G+J(this));this.F=this.C;break;case 192:b=this.D;break;case 193:b=this.I;break;case 194:b=this.L;break;case 195:b=this.G;break;case 196:b=z(this);break;case 197:b=this.M;break; +case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.ga>>3&7){case 0:c=this.D;break;case 1:c=this.I;break;case 2:c=this.L;break;case 3:c=this.G;break;case 4:c=z(this);break;case 5:c=this.M;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:Gg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Gg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Gg(this,a);this.A-=this.B.wc;break;case 6:Gg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Gg(this, +a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Gg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Gg(this,a);this.A-=this.B.Va;break;case 192:this.D=a;break;case 193:this.I=a;break;case 194:this.L=a;break;case 195:this.G=a;break;case 196:he(this,a);break;case 197:this.M=a;break;case 198:this.K=a;break;case 199:this.J=a}} +function Gf(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=G(this,this.G+this.K);this.F=this.C;break;case 1:c=G(this,this.G+this.J);this.F=this.C;break;case 2:c=Dg(this,this.M+this.K);this.F=this.C;break;case 3:c=Dg(this,this.M+this.J);this.F=this.C;break;case 4:c=G(this,this.K);this.F=this.C;break;case 5:c=G(this,this.J);this.F=this.C;break;case 6:c=G(this,J(this));this.F=this.C;break;case 7:c=G(this,this.G);this.F=this.C;break;case 64:c=G(this,this.G+this.K+this.S());this.F=this.C;break; +case 65:c=G(this,this.G+this.J+this.S());this.F=this.C;break;case 66:c=Dg(this,this.M+this.K+this.S());this.F=this.C;break;case 67:c=Dg(this,this.M+this.J+this.S());this.F=this.C;break;case 68:c=G(this,this.K+this.S());this.F=this.C;break;case 69:c=G(this,this.J+this.S());this.F=this.C;break;case 70:c=Dg(this,this.M+this.S());this.F=this.C;break;case 71:c=G(this,this.G+this.S());this.F=this.C;break;case 128:c=G(this,this.G+this.K+J(this));this.F=this.C;break;case 129:c=G(this,this.G+this.J+J(this)); +this.F=this.C;break;case 130:c=Dg(this,this.M+this.K+J(this));this.F=this.C;break;case 131:c=Dg(this,this.M+this.J+J(this));this.F=this.C;break;case 132:c=G(this,this.K+J(this));this.F=this.C;break;case 133:c=G(this,this.J+J(this));this.F=this.C;break;case 134:c=Dg(this,this.M+J(this));this.F=this.C;break;case 135:c=G(this,this.G+J(this));this.F=this.C;break;case 192:c=this.D;break;case 193:c=this.I;break;case 194:c=this.L;break;case 195:c=this.G;break;case 196:c=z(this);break;case 197:c=this.M;break; +case 198:c=this.K;break;case 199:c=this.J}a=a[this.ga>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Gg(this,a);this.A-=this.B.Rc;break;case 1:case 2:Gg(this,a);this.A-=this.B.Sc;break;case 4:case 5:case 7:Gg(this,a);this.A-=this.B.wc;break;case 6:Gg(this,a);this.A-=this.B.td;break;case 64:case 67:case 128:case 131:Gg(this,a);this.A-=this.B.Tb;break;case 65:case 66:case 129:case 130:Gg(this,a);this.A-=this.B.Ub;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Gg(this, +a);this.A-=this.B.Va;break;case 192:this.D=a;break;case 193:this.I=a;break;case 194:this.L=a;break;case 195:this.G=a;break;case 196:he(this,a);break;case 197:this.M=a;break;case 198:this.K=a;break;case 199:this.J=a}} +function Hf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=D(this,this.D);break;case 1:c=D(this,this.I);break;case 2:c=D(this,this.L);break;case 3:c=D(this,this.G);break;case 4:c=D(this,nk.call(this,0));break;case 5:c=D(this,J(this));break;case 6:c=D(this,this.K);break;case 7:c=D(this,this.J);break;case 64:c=D(this,this.D+this.S());break;case 65:c=D(this,this.I+this.S());break;case 66:c=D(this,this.L+this.S());break;case 67:c=D(this,this.G+this.S());break;case 68:c=D(this,nk.call(this,1)+this.S()); +break;case 69:c=Ag(this,this.M+this.S());break;case 70:c=D(this,this.K+this.S());break;case 71:c=D(this,this.J+this.S());break;case 128:c=D(this,this.D+J(this));break;case 129:c=D(this,this.I+J(this));break;case 130:c=D(this,this.L+J(this));break;case 131:c=D(this,this.G+J(this));break;case 132:c=D(this,nk.call(this,2)+J(this));break;case 133:c=Ag(this,this.M+J(this));break;case 134:c=D(this,this.K+J(this));break;case 135:c=D(this,this.J+J(this));break;case 192:c=this.D&255;break;case 193:c=this.I& +255;break;case 194:c=this.L&255;break;case 195:c=this.G&255;break;case 196:c=this.D>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.L>>8&255;break;case 199:c=this.G>>8&255;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D&255;break;case 1:b=this.I&255;break;case 2:b=this.L&255;break;case 3:b=this.G&255;break;case 4:b=this.D>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.L>>8&255;break;case 7:b=this.G>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.D= +this.D&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.G=this.G&-256|a;break;case 4:this.D=this.D&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.L=this.L&-65281|a<<8;break;case 7:this.G=this.G&-65281|a<<8}} +function If(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=D(this,this.D);this.F=this.C;break;case 1:b=D(this,this.I);this.F=this.C;break;case 2:b=D(this,this.L);this.F=this.C;break;case 3:b=D(this,this.G);this.F=this.C;break;case 4:b=D(this,nk.call(this,0));this.F=this.C;break;case 5:b=D(this,J(this));this.F=this.C;break;case 6:b=D(this,this.K);this.F=this.C;break;case 7:b=D(this,this.J);this.F=this.C;break;case 64:b=D(this,this.D+this.S());this.F=this.C;break;case 65:b=D(this,this.I+this.S()); +this.F=this.C;break;case 66:b=D(this,this.L+this.S());this.F=this.C;break;case 67:b=D(this,this.G+this.S());this.F=this.C;break;case 68:b=D(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:b=Ag(this,this.M+this.S());this.F=this.C;break;case 70:b=D(this,this.K+this.S());this.F=this.C;break;case 71:b=D(this,this.J+this.S());this.F=this.C;break;case 128:b=D(this,this.D+J(this));this.F=this.C;break;case 129:b=D(this,this.I+J(this));this.F=this.C;break;case 130:b=D(this,this.L+J(this));this.F= +this.C;break;case 131:b=D(this,this.G+J(this));this.F=this.C;break;case 132:b=D(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:b=Ag(this,this.M+J(this));this.F=this.C;break;case 134:b=D(this,this.K+J(this));this.F=this.C;break;case 135:b=D(this,this.J+J(this));this.F=this.C;break;case 192:b=this.D&255;break;case 193:b=this.I&255;break;case 194:b=this.L&255;break;case 195:b=this.G&255;break;case 196:b=this.D>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.L>>8&255;break;case 199:b= +this.G>>8&255;break;default:b=0}switch(this.ga>>3&7){case 0:c=this.D&255;break;case 1:c=this.I&255;break;case 2:c=this.L&255;break;case 3:c=this.G&255;break;case 4:c=this.D>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.L>>8&255;break;case 7:c=this.G>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.D=this.D&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.L=this.L&-256|a;break;case 195:this.G=this.G&-256|a;break;case 196:this.D=this.D&-65281|a<<8;break;case 197:this.I= +this.I&-65281|a<<8;break;case 198:this.L=this.L&-65281|a<<8;break;case 199:this.G=this.G&-65281|a<<8;break;default:Eg(this,a)}} +function Jf(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=D(this,this.D);this.F=this.C;break;case 1:c=D(this,this.I);this.F=this.C;break;case 2:c=D(this,this.L);this.F=this.C;break;case 3:c=D(this,this.G);this.F=this.C;break;case 4:c=D(this,nk.call(this,0));this.F=this.C;break;case 5:c=D(this,J(this));this.F=this.C;break;case 6:c=D(this,this.K);this.F=this.C;break;case 7:c=D(this,this.J);this.F=this.C;break;case 64:c=D(this,this.D+this.S());this.F=this.C;break;case 65:c=D(this,this.I+this.S()); +this.F=this.C;break;case 66:c=D(this,this.L+this.S());this.F=this.C;break;case 67:c=D(this,this.G+this.S());this.F=this.C;break;case 68:c=D(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:c=Ag(this,this.M+this.S());this.F=this.C;break;case 70:c=D(this,this.K+this.S());this.F=this.C;break;case 71:c=D(this,this.J+this.S());this.F=this.C;break;case 128:c=D(this,this.D+J(this));this.F=this.C;break;case 129:c=D(this,this.I+J(this));this.F=this.C;break;case 130:c=D(this,this.L+J(this));this.F= +this.C;break;case 131:c=D(this,this.G+J(this));this.F=this.C;break;case 132:c=D(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:c=Ag(this,this.M+J(this));this.F=this.C;break;case 134:c=D(this,this.K+J(this));this.F=this.C;break;case 135:c=D(this,this.J+J(this));this.F=this.C;break;case 192:c=this.D&255;break;case 193:c=this.I&255;break;case 194:c=this.L&255;break;case 195:c=this.G&255;break;case 196:c=this.D>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.L>>8&255;break;case 199:c= +this.G>>8&255;break;default:c=0}a=a[this.ga>>3&7].call(this,c,b.call(this));switch(d){case 192:this.D=this.D&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.L=this.L&-256|a;break;case 195:this.G=this.G&-256|a;break;case 196:this.D=this.D&-65281|a<<8;break;case 197:this.I=this.I&-65281|a<<8;break;case 198:this.L=this.L&-65281|a<<8;break;case 199:this.G=this.G&-65281|a<<8;break;default:Eg(this,a)}} +function Kf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=E(this,this.D);break;case 1:c=E(this,this.I);break;case 2:c=E(this,this.L);break;case 3:c=E(this,this.G);break;case 4:c=E(this,nk.call(this,0));break;case 5:c=E(this,J(this));break;case 6:c=E(this,this.K);break;case 7:c=E(this,this.J);break;case 64:c=E(this,this.D+this.S());break;case 65:c=E(this,this.I+this.S());break;case 66:c=E(this,this.L+this.S());break;case 67:c=E(this,this.G+this.S());break;case 68:c=E(this,nk.call(this,1)+this.S()); +break;case 69:c=Cg(this,this.M+this.S());break;case 70:c=E(this,this.K+this.S());break;case 71:c=E(this,this.J+this.S());break;case 128:c=E(this,this.D+J(this));break;case 129:c=E(this,this.I+J(this));break;case 130:c=E(this,this.L+J(this));break;case 131:c=E(this,this.G+J(this));break;case 132:c=E(this,nk.call(this,2)+J(this));break;case 133:c=Cg(this,this.M+J(this));break;case 134:c=E(this,this.K+J(this));break;case 135:c=E(this,this.J+J(this));break;case 192:c=this.D&65535;break;case 193:c=this.I& +65535;break;case 194:c=this.L&65535;break;case 195:c=this.G&65535;break;case 196:c=z(this)&65535;break;case 197:c=this.M&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D&65535;break;case 1:b=this.I&65535;break;case 2:b=this.L&65535;break;case 3:b=this.G&65535;break;case 4:b=z(this)&65535;break;case 5:b=this.M&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.D= +this.D&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.L=this.L&-65536|a;break;case 3:this.G=this.G&-65536|a;break;case 4:he(this,z(this)&-65536|a);break;case 5:this.M=this.M&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} +function Lf(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=E(this,this.D);this.F=this.C;break;case 1:b=E(this,this.I);this.F=this.C;break;case 2:b=E(this,this.L);this.F=this.C;break;case 3:b=E(this,this.G);this.F=this.C;break;case 4:b=E(this,nk.call(this,0));this.F=this.C;break;case 5:b=E(this,J(this));this.F=this.C;break;case 6:b=E(this,this.K);this.F=this.C;break;case 7:b=E(this,this.J);this.F=this.C;break;case 64:b=E(this,this.D+this.S());this.F=this.C;break;case 65:b=E(this,this.I+this.S()); +this.F=this.C;break;case 66:b=E(this,this.L+this.S());this.F=this.C;break;case 67:b=E(this,this.G+this.S());this.F=this.C;break;case 68:b=E(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:b=Cg(this,this.M+this.S());this.F=this.C;break;case 70:b=E(this,this.K+this.S());this.F=this.C;break;case 71:b=E(this,this.J+this.S());this.F=this.C;break;case 128:b=E(this,this.D+J(this));this.F=this.C;break;case 129:b=E(this,this.I+J(this));this.F=this.C;break;case 130:b=E(this,this.L+J(this));this.F= +this.C;break;case 131:b=E(this,this.G+J(this));this.F=this.C;break;case 132:b=E(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:b=Cg(this,this.M+J(this));this.F=this.C;break;case 134:b=E(this,this.K+J(this));this.F=this.C;break;case 135:b=E(this,this.J+J(this));this.F=this.C;break;case 192:b=this.D&65535;break;case 193:b=this.I&65535;break;case 194:b=this.L&65535;break;case 195:b=this.G&65535;break;case 196:b=z(this)&65535;break;case 197:b=this.M&65535;break;case 198:b=this.K&65535;break; +case 199:b=this.J&65535;break;default:b=0}switch(this.ga>>3&7){case 0:c=this.D&65535;break;case 1:c=this.I&65535;break;case 2:c=this.L&65535;break;case 3:c=this.G&65535;break;case 4:c=z(this)&65535;break;case 5:c=this.M&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.D=this.D&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.L=this.L&-65536|a;break;case 195:this.G=this.G&-65536|a;break;case 196:he(this,z(this)& +-65536|a);break;case 197:this.M=this.M&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Fg(this,a)}} +function Mf(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=E(this,this.D);this.F=this.C;break;case 1:c=E(this,this.I);this.F=this.C;break;case 2:c=E(this,this.L);this.F=this.C;break;case 3:c=E(this,this.G);this.F=this.C;break;case 4:c=E(this,nk.call(this,0));this.F=this.C;break;case 5:c=E(this,J(this));this.F=this.C;break;case 6:c=E(this,this.K);this.F=this.C;break;case 7:c=E(this,this.J);this.F=this.C;break;case 64:c=E(this,this.D+this.S());this.F=this.C;break;case 65:c=E(this,this.I+this.S()); +this.F=this.C;break;case 66:c=E(this,this.L+this.S());this.F=this.C;break;case 67:c=E(this,this.G+this.S());this.F=this.C;break;case 68:c=E(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:c=Cg(this,this.M+this.S());this.F=this.C;break;case 70:c=E(this,this.K+this.S());this.F=this.C;break;case 71:c=E(this,this.J+this.S());this.F=this.C;break;case 128:c=E(this,this.D+J(this));this.F=this.C;break;case 129:c=E(this,this.I+J(this));this.F=this.C;break;case 130:c=E(this,this.L+J(this));this.F= +this.C;break;case 131:c=E(this,this.G+J(this));this.F=this.C;break;case 132:c=E(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:c=Cg(this,this.M+J(this));this.F=this.C;break;case 134:c=E(this,this.K+J(this));this.F=this.C;break;case 135:c=E(this,this.J+J(this));this.F=this.C;break;case 192:c=this.D&65535;break;case 193:c=this.I&65535;break;case 194:c=this.L&65535;break;case 195:c=this.G&65535;break;case 196:c=z(this)&65535;break;case 197:c=this.M&65535;break;case 198:c=this.K&65535;break; +case 199:c=this.J&65535;break;default:c=0}a=a[this.ga>>3&7].call(this,c,b.call(this));switch(d){case 192:this.D=this.D&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.L=this.L&-65536|a;break;case 195:this.G=this.G&-65536|a;break;case 196:he(this,z(this)&-65536|a);break;case 197:this.M=this.M&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Fg(this,a)}} +function Nf(a){var b,c;switch((this.ga=this.ra())&199){case 0:c=G(this,this.D);break;case 1:c=G(this,this.I);break;case 2:c=G(this,this.L);break;case 3:c=G(this,this.G);break;case 4:c=G(this,nk.call(this,0));break;case 5:c=G(this,J(this));break;case 6:c=G(this,this.K);break;case 7:c=G(this,this.J);break;case 64:c=G(this,this.D+this.S());break;case 65:c=G(this,this.I+this.S());break;case 66:c=G(this,this.L+this.S());break;case 67:c=G(this,this.G+this.S());break;case 68:c=G(this,nk.call(this,1)+this.S()); +break;case 69:c=Dg(this,this.M+this.S());break;case 70:c=G(this,this.K+this.S());break;case 71:c=G(this,this.J+this.S());break;case 128:c=G(this,this.D+J(this));break;case 129:c=G(this,this.I+J(this));break;case 130:c=G(this,this.L+J(this));break;case 131:c=G(this,this.G+J(this));break;case 132:c=G(this,nk.call(this,2)+J(this));break;case 133:c=Dg(this,this.M+J(this));break;case 134:c=G(this,this.K+J(this));break;case 135:c=G(this,this.J+J(this));break;case 192:c=this.D;break;case 193:c=this.I;break; +case 194:c=this.L;break;case 195:c=this.G;break;case 196:c=z(this);break;case 197:c=this.M;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.ga>>3&7;switch(d){case 0:b=this.D;break;case 1:b=this.I;break;case 2:b=this.L;break;case 3:b=this.G;break;case 4:b=z(this);break;case 5:b=this.M;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.D=a;break;case 1:this.I=a;break;case 2:this.L=a;break;case 3:this.G=a;break;case 4:he(this, +a);break;case 5:this.M=a;break;case 6:this.K=a;break;case 7:this.J=a}} +function Of(a){var b,c,d=(this.ga=this.ra())&199;switch(d){case 0:b=G(this,this.D);this.F=this.C;break;case 1:b=G(this,this.I);this.F=this.C;break;case 2:b=G(this,this.L);this.F=this.C;break;case 3:b=G(this,this.G);this.F=this.C;break;case 4:b=G(this,nk.call(this,0));this.F=this.C;break;case 5:b=G(this,J(this));this.F=this.C;break;case 6:b=G(this,this.K);this.F=this.C;break;case 7:b=G(this,this.J);this.F=this.C;break;case 64:b=G(this,this.D+this.S());this.F=this.C;break;case 65:b=G(this,this.I+this.S()); +this.F=this.C;break;case 66:b=G(this,this.L+this.S());this.F=this.C;break;case 67:b=G(this,this.G+this.S());this.F=this.C;break;case 68:b=G(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:b=Dg(this,this.M+this.S());this.F=this.C;break;case 70:b=G(this,this.K+this.S());this.F=this.C;break;case 71:b=G(this,this.J+this.S());this.F=this.C;break;case 128:b=G(this,this.D+J(this));this.F=this.C;break;case 129:b=G(this,this.I+J(this));this.F=this.C;break;case 130:b=G(this,this.L+J(this));this.F= +this.C;break;case 131:b=G(this,this.G+J(this));this.F=this.C;break;case 132:b=G(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:b=Dg(this,this.M+J(this));this.F=this.C;break;case 134:b=G(this,this.K+J(this));this.F=this.C;break;case 135:b=G(this,this.J+J(this));this.F=this.C;break;case 192:b=this.D;break;case 193:b=this.I;break;case 194:b=this.L;break;case 195:b=this.G;break;case 196:b=z(this);break;case 197:b=this.M;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.ga>> +3&7){case 0:c=this.D;break;case 1:c=this.I;break;case 2:c=this.L;break;case 3:c=this.G;break;case 4:c=z(this);break;case 5:c=this.M;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.D=a;break;case 193:this.I=a;break;case 194:this.L=a;break;case 195:this.G=a;break;case 196:he(this,a);break;case 197:this.M=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Gg(this,a)}} +function Pf(a,b){var c,d=(this.ga=this.ra())&199;switch(d){case 0:c=G(this,this.D);this.F=this.C;break;case 1:c=G(this,this.I);this.F=this.C;break;case 2:c=G(this,this.L);this.F=this.C;break;case 3:c=G(this,this.G);this.F=this.C;break;case 4:c=G(this,nk.call(this,0));this.F=this.C;break;case 5:c=G(this,J(this));this.F=this.C;break;case 6:c=G(this,this.K);this.F=this.C;break;case 7:c=G(this,this.J);this.F=this.C;break;case 64:c=G(this,this.D+this.S());this.F=this.C;break;case 65:c=G(this,this.I+this.S()); +this.F=this.C;break;case 66:c=G(this,this.L+this.S());this.F=this.C;break;case 67:c=G(this,this.G+this.S());this.F=this.C;break;case 68:c=G(this,nk.call(this,1)+this.S());this.F=this.C;break;case 69:c=Dg(this,this.M+this.S());this.F=this.C;break;case 70:c=G(this,this.K+this.S());this.F=this.C;break;case 71:c=G(this,this.J+this.S());this.F=this.C;break;case 128:c=G(this,this.D+J(this));this.F=this.C;break;case 129:c=G(this,this.I+J(this));this.F=this.C;break;case 130:c=G(this,this.L+J(this));this.F= +this.C;break;case 131:c=G(this,this.G+J(this));this.F=this.C;break;case 132:c=G(this,nk.call(this,2)+J(this));this.F=this.C;break;case 133:c=Dg(this,this.M+J(this));this.F=this.C;break;case 134:c=G(this,this.K+J(this));this.F=this.C;break;case 135:c=G(this,this.J+J(this));this.F=this.C;break;case 192:c=this.D;break;case 193:c=this.I;break;case 194:c=this.L;break;case 195:c=this.G;break;case 196:c=z(this);break;case 197:c=this.M;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}a=a[this.ga>> +3&7].call(this,c,b.call(this));switch(d){case 192:this.D=a;break;case 193:this.I=a;break;case 194:this.L=a;break;case 195:this.G=a;break;case 196:he(this,a);break;case 197:this.M=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Gg(this,a)}} +function nk(a){var b=this.ra(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.D;break;case 1:d=this.I;break;case 2:d=this.L;break;case 3:d=this.G;break;case 4:d=0;break;case 5:d=this.M;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.D;break;case 1:e=this.I;break;case 2:e=this.L;break;case 3:e=this.G;break;case 4:e=z(this);this.Da=this.Rb;break;case 5:a?(e=this.M,this.Da=this.Rb):e=J(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||fg(this)?(c+=6,80286<=this.ca&&255>8&255;9<(c&15)||fg(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.D=this.D&-65536|d<<8|c;a?kg(this):lg(this);b?ug(this):qg(this);this.A-=this.B.qe},function(){this.D=ak.call(this,this.D)},function(){this.I=ak.call(this,this.I)},function(){this.L=ak.call(this,this.L)},function(){this.G=ak.call(this,this.G)},function(){he(this, +ak.call(this,z(this)))},function(){this.M=ak.call(this,this.M)},function(){this.K=ak.call(this,this.K)},function(){this.J=ak.call(this,this.J)},function(){this.D=Yj.call(this,this.D)},function(){this.I=Yj.call(this,this.I)},function(){this.L=Yj.call(this,this.L)},function(){this.G=Yj.call(this,this.G)},function(){he(this,Yj.call(this,z(this)))},function(){this.M=Yj.call(this,this.M)},function(){this.K=Yj.call(this,this.K)},function(){this.J=Yj.call(this,this.J)},function(){pe(this,this.D&this.R); +this.A-=this.B.Ic},function(){pe(this,this.I&this.R);this.A-=this.B.Ic},function(){pe(this,this.L&this.R);this.A-=this.B.Ic},function(){pe(this,this.G&this.R);this.A-=this.B.Ic},function(){pe(this,z(this)-2&65535);this.A-=this.B.Ic},function(){pe(this,this.M&this.R);this.A-=this.B.Ic},function(){pe(this,this.K&this.R);this.A-=this.B.Ic},function(){pe(this,this.J&this.R);this.A-=this.B.Ic},function(){this.D=this.D&~this.R|fe(this);this.A-=this.B.nc},function(){this.I=this.I&~this.R|fe(this);this.A-= +this.B.nc},function(){this.L=this.L&~this.R|fe(this);this.A-=this.B.nc},function(){this.G=this.G&~this.R|fe(this);this.A-=this.B.nc},function(){he(this,z(this)&~this.R|fe(this));this.A-=this.B.nc},function(){this.M=this.M&~this.R|fe(this);this.A-=this.B.nc},function(){this.K=this.K&~this.R|fe(this);this.A-=this.B.nc},function(){this.J=this.J&~this.R|fe(this);this.A-=this.B.nc},ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,yk,zk,Ak,Bk,Ck,Dk,Ek,function(){this.rb.call(this, +Tk,this.Ea);this.A-=-1===this.F?1:this.B.yg},Ek,function(){this.rb.call(this,Tk,this.S);this.A-=-1===this.F?1:this.B.yg},function(){this.tc.call(this,Pj)},function(){this.za.call(this,Qj)},function(){this.kc.call(this,Tj)},function(){this.ma.call(this,Uj)},Gk,Hk,Ik,Jk,function(){this.N|=1;this.za.call(this,hj)},function(){this.N|=1;this.Da=this.Rb=this.Qg;this.ma.call(this,Oi)},function(){var a;this.ma.call(this,gj);switch(this.ga>>3&7){case 0:a=this.D;this.D=this.ya;oe(this,a);break;case 1:a=this.I; +this.I=this.ya;Zf(this,a);break;case 2:a=this.L;this.L=this.ya;ge(this,a);break;case 3:a=this.G;this.G=this.ya;ne(this,a);break;case 4:a=z(this);he(this,this.ya);80386<=this.ca?this.Ga.load(a):oe(this,a);break;case 5:a=this.M;this.M=this.ya;80386<=this.ca?this.Ha.load(a):Zf(this,a);break;case 6:a=this.K;this.K=this.ya;ge(this,a);break;case 7:a=this.J,this.J=this.ya,ne(this,a)}},function(){this.N|=1;this.ta=this.Aa;this.ya=fe(this);this.rb.call(this,Uk,hk);this.ta=-1},function(){this.A-=3},function(){var a= +this.D;this.D=this.D&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.L&this.R;this.L=this.L&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.G&this.R;this.G=this.G&~this.R|a&this.R;this.A-=3},function(){var a=this.D,b=z(this);this.D=this.D&~this.R|b&this.R;he(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a= +this.D;this.D=this.D&~this.R|this.K&this.R;this.K=this.K&~this.R|a&this.R;this.A-=3},function(){var a=this.D;this.D=this.D&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.D=2==this.V?this.D&-65536|this.D<<24>>24&65535:this.D<<16>>16;this.A-=2},function(){this.L=2==this.V?this.L&-65536|(this.D&32768?65535:0):this.D&-2147483648?-1:0;this.A-=this.B.Kj},function(){ik.call(this,this.Ea(),Hg(this));this.A-=this.B.Nj},function(){this.A-=3},function(){var a=re(this);a&131072&& +3>this.lc?y.call(this,13,0):(pe(this,a&-196609),this.A-=this.B.Ic)},function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=fe(this),a=a&65535|this.O&-65536;se(this,a);this.A-=this.B.nc}},function(){var a=this.D>>8&255;a&1?kg(this):lg(this);a&4?(this.resultType&=-3,this.O|=4):(this.resultType&=-3,this.O&=-5);a&16?ug(this):qg(this);a&64?vg(this):rg(this);a&128?(this.resultType&=-17,this.O|=128):(this.resultType&=-17,this.O&=-129);this.A-=this.B.Vb},function(){this.D=this.D&-65281|(re(this)& +213)<<8;this.A-=this.B.Vb},function(){var a=this.D&-256,b;b=J(this);b=this.Ia(this.Da.bc(b,1));this.D=a|b;this.A-=this.B.Kh},function(){this.D=this.D&~this.R|le(this,this.Da,J(this));this.A-=this.B.Kh},function(){var a=J(this),b=this.D;this.fc(this.Da.cc(a,1),b);this.A-=this.B.Lh},function(){var a=J(this),b=this.D;this.yb(this.Da.cc(a,this.V),b);this.A-=this.B.Lh},function(){var a=1,b=0,c=this.wa,d=this.B.Mh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.ha&256||(this.A-=this.B.Nh));if(a--){var e= +this.Ia(this.Da.bc(this.K&c,1));this.fc(this.oa.cc(this.J&c,1),e);e=this.O&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&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Mh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Oh,this.ha&256||(this.A-=this.B.Nh));if(a--){var e=le(this,this.Da,this.K&c);this.yb(this.oa.cc(this.J&c,this.V),e);e=this.O&1024?-this.V:this.V;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&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.xh;this.ha&192&&(a=this.I&c,b=1,d=this.B.zh,this.ha&256||(this.A-=this.B.yh));if(a--){var e=zg(this,this.Da,this.K),f=zg(this,this.oa,this.J);this.F=this.C;Bi.call(this,e,f);e=this.O&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.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.xh;this.ha&192&& +(a=this.I&c,b=1,d=this.B.zh,this.ha&256||(this.A-=this.B.yh));if(a--){var e=Bg(this,this.Da,this.K&c),f=Bg(this,this.oa,this.J&c);this.F=this.C;Ci.call(this,e,f);e=this.O&1024?-this.V:this.V;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.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){jg(this,this.D&this.ra(),128);this.A-=this.B.qe},function(){jg(this,this.D&this.Ea(),this.Fb);this.A-=this.B.qe},function(){var a=1,b=0,c=this.wa, +d=this.B.Xh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Zh,this.ha&256||(this.A-=this.B.Yh));if(a--){var e=this.D;this.fc(this.oa.cc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.we&&80564>=this.we&&!(this.ha&2048)!=(103!=this.Ia(this.da))&&(c^=-65536);this.J=this.J&~c|this.J+(this.O&1024?-1:1)&c;this.A-=d;a&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Xh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Zh,this.ha&256||(this.A-=this.B.Yh));if(a--){var e=this.D;this.yb(this.oa.cc(this.J& +c,this.V),e);this.J=this.J&~c|this.J+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Eh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Gh,this.ha&256||(this.A-=this.B.Fh));if(a--){var e=this.Ia(this.Da.bc(this.K&c,1));this.D=this.D&-256|e;this.K=this.K&~c|this.K+(this.O&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Eh;this.ha&192&&(a=this.I&c, +b=1,d=this.B.Gh,this.ha&256||(this.A-=this.B.Fh));if(a--){var e=le(this,this.Da,this.K&c);this.D=this.D&~this.R|e;this.K=this.K&~c|this.K+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Rh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.ha&256||(this.A-=this.B.Sh));if(a--){var e=this.D&255,f=zg(this,this.oa,this.J);this.F=this.C;Bi.call(this,e,f);this.J=this.J&~c|this.J+(this.O&1024?-1:1)&c;this.I=this.I&~c|this.I- +b&c;this.A-=d-this.B.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){var a=1,b=0,c=this.wa,d=this.B.Rh;this.ha&192&&(a=this.I&c,b=1,d=this.B.Th,this.ha&256||(this.A-=this.B.Sh));if(a--){var e=this.D&this.R,f=Bg(this,this.oa,this.J&c);this.F=this.C;Ci.call(this,e,f);this.J=this.J&~c|this.J+(this.O&1024?-this.V:this.V)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Ib;a&&gg(this)==(this.ha&64)&&(bg(this),this.N|=256)}},function(){this.D=this.D&-256|this.ra();this.A-=this.B.Vb},function(){this.I= +this.I&-256|this.ra();this.A-=this.B.Vb},function(){this.L=this.L&-256|this.ra();this.A-=this.B.Vb},function(){this.G=this.G&-256|this.ra();this.A-=this.B.Vb},function(){this.D=this.D&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.I=this.I&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.L=this.L&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.G=this.G&-65281|this.ra()<<8;this.A-=this.B.Vb},function(){this.D=this.D&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.I=this.I& +~this.R|this.Ea();this.A-=this.B.Vb},function(){this.L=this.L&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.G=this.G&~this.R|this.Ea();this.A-=this.B.Vb},function(){he(this,z(this)&~this.R|this.Ea());this.A-=this.B.Vb},function(){this.M=this.M&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.K=this.K&~this.R|this.Ea();this.A-=this.B.Vb},function(){this.J=this.J&~this.R|this.Ea();this.A-=this.B.Vb},Nk,Ok,Nk,Ok,function(){this.ma.call(this,Pi)},function(){this.ma.call(this,Ni)},function(){this.N|= +1;this.kd.call(this,Vk,this.ra)},function(){this.N|=1;this.rb.call(this,Vk,this.Ea)},Pk,Qk,Pk,Qk,function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var a=this.B.dk;this.Uc=-1;jk.call(this,3,null,a)}},function(){var a=this.ra();if(this.O&131072&&3>this.lc)y.call(this,13,0);else{var b;a:{b=this.Yf[a];if(void 0!==b)for(var c=0;cthis.lc)y.call(this,13,0);else{var a=this.B.ek;this.Uc=-1;jk.call(this,4,null,a)}else this.A-=this.B.fk},function(){if(this.O&131072&&3>this.lc)y.call(this,13,0);else{this.Vc=this.Y.U;this.ta=this.Aa;this.A-=this.B.bk;if(this.qa&1&&this.O&16384){var a=this.ja(this.la.ua+0);ie(this.Z,a,!1)}else{var a=this.Ma,b=fe(this),c=fe(this),d=fe(this);if(this.O&131072)d=d&131071|this.O&-131072;else if(d&131072){var e=fe(this),f=fe(this),g=fe(this),h=fe(this),k=fe(this),m=fe(this);je(this,!0,!0);ge(this, +f);he(this,e);oe(this,g);ne(this,h);this.Ga.load(k);this.Ha.load(m)}null!=te(this,b,c,!1)&&(se(this,d,a),this.ag&&Uf(this,this.da))}this.Vc=this.ta=-1}},function(){this.kd.call(this,Kk,dk)},function(){this.rb.call(this,2==this.V?Lk:Mk,dk)},function(){this.kd.call(this,Kk,ek)},function(){this.rb.call(this,2==this.V?Lk:Mk,ek)},function(){var a=this.ra();if(a){var b=this.D&255;this.D=this.D&-65536|b/a<<8|b%a;jg(this,this.D,128);this.A-=this.B.Hj}else mk.call(this)},function(){var a=this.D&255,b=(this.D>> +8&255)*this.ra()|0,c=a+b|0;this.D=this.D&-65536|c&255;cg(this,a,b,c,191);this.A-=this.B.Gj},function(){this.D=this.D&-256|(dg(this)?255:0);this.A-=2},function(){this.D=this.D&-256|zg(this,this.Da,this.G+(this.D&255));this.A-=this.B.Gk},function(){Rk.call(this,216)},function(){Rk.call(this,217)},function(){Rk.call(this,218)},function(){Rk.call(this,219)},function(){Rk.call(this,220)},function(){Rk.call(this,221)},function(){Rk.call(this,222)},function(){Rk.call(this,223)},function(){var a=this.S(), +b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&!gg(this)?(C(this,A(this)+a),this.A-=this.B.mk):this.A-=this.B.Hh},function(){var a=this.S(),b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b&&gg(this)?(C(this,A(this)+a),this.A-=this.B.Ih):this.A-=this.B.Jh},function(){var a=this.S(),b=this.I-1&this.wa;this.I=this.I&~this.wa|b;b?(C(this,A(this)+a),this.A-=this.B.lk):this.A-=this.B.Hh},function(){var a=this.S();this.I&this.wa?this.A-=this.B.Jh:(C(this,A(this)+a),this.A-=this.B.Ih)},function(){var a=this.ra(); +xg(this,a,1,!0)&&(this.D=this.D&-256|Pc(this.ka,a,1,this.da-2)&255,this.A-=this.B.Ch)},function(){var a=this.ra();xg(this,a,this.V,!0)&&(this.D=this.D&~this.R|Pc(this.ka,a,this.V,this.da-2)&this.R,this.A-=this.B.Ch)},function(){var a=this.ra();xg(this,a,1,!1)&&(Tc(this.ka,a,1,this.D&255,this.da-2),this.A-=this.B.Qh)},function(){var a=this.ra();xg(this,a,this.V,!1)&&(Tc(this.ka,a,this.V,this.D&this.R,this.da-2),this.A-=this.B.Qh)},function(){var a=this.Ea(),b=A(this),a=b+a;pe(this,b);C(this,a);this.A-= +this.B.Lj},function(){var a=this.Ea();C(this,A(this)+a);this.A-=this.B.Dh},function(){te(this,this.Ea(),Hg(this));this.A-=this.B.hk},function(){var a=this.S();C(this,A(this)+a);this.A-=this.B.Dh},function(){var a=this.L&65535;xg(this,a,1,!0)&&(this.D=this.D&-256|Pc(this.ka,a,1,this.da-1)&255,this.A-=this.B.Bh)},function(){var a=this.L&65535;xg(this,a,this.V,!0)&&(this.D=this.D&~this.R|Pc(this.ka,a,this.V,this.da-1)&this.R,this.A-=this.B.Bh)},function(){var a=this.L&65535;xg(this,a,1,!1)&&(Tc(this.ka, +a,1,this.D&255,this.da-1),this.A-=this.B.Ph)},function(){var a=this.L&65535;xg(this,a,2,!1)&&(Tc(this.ka,a,this.V,this.D&this.R,this.da-1),this.A-=this.B.Ph)},Sk,Sk,function(){this.N|=132;this.A-=this.B.bd},function(){this.N|=68;this.A-=this.B.bd},function(){this.O&131072?y.call(this,13,0):(this.Za|=4,this.A-=2,this.ba&&t(this,-2147483648)?(bg(this),this.ba.Jb()):this.O&512||(this.ba&&bg(this),this.Jb()))},function(){dg(this)?lg(this):kg(this);this.A-=2},function(){this.vc=!1;this.kd.call(this,Xk, +gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R)},function(){this.vc=!1;this.rb.call(this,Yk,gk);this.vc&&(this.D=this.D&~this.R|this.Ba&this.R,this.L=this.L&~this.R|this.$a&this.R)},function(){lg(this);this.A-=2},function(){kg(this);this.A-=2},function(){this.Ma>this.lc?y.call(this,13,0):(this.O&=-513,this.A-=this.B.Jj)},function(){this.Ma>this.lc?y.call(this,13,0):(this.O|=512,this.N|=4,this.A-=2)},function(){this.O&=-1025;this.A-=2},function(){this.O|=1024;this.A-=2},function(){this.kd.call(this, +Be,gk)},function(){this.rb.call(this,Ce,gk)}],Fk=[li,ij,ji,kj,ni,Nj,Vj,Bi],Tk=[mi,jj,ki,lj,oi,Oj,Wj,Ci],Uk=[function(a,b){this.A-=-1===this.F?this.B.nc:this.B.yk;return b},Ei,Ei,Ei,Ei,Ei,Ei,Ei],Vk=[function(a,b){this.A-=-1===this.F?this.B.qk:this.B.nk;return b},Fi,Fi,Fi,Fi,Fi,Fi,Fi],Kk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<>8-b)&255):d=a<<7;og(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=7)?(d=a<<8-b,c=(a>>>b|d)&255):d=a;og(this,c,d,128)}return c}, +function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=9)?(c=(a<>9-b)&255,d=a<>b|d<<8-b|a<<9-b)&255,d=a<<8-b):d<<=7;og(this,c,d,128)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;8>>b-1,a=b>>>1&255,jg(this,a,128,b&1,a&128);return a},Fi,function(a,b){if(b&=this.Ta)9>24>>b-1,a=b>>1&255,jg(this,a,128,b&1);return a}],Lk=[function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<>16-b)&65535):d=a<<15;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d;(b&=15)?(d=a<<16-b,c=(a>>>b|d)&65535):d=a;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=pg(this);(b%=17)?(c=(a<>17-b)&65535,d=a<>b|d<<16-b|a<<17-b)&65535,d=a<<16-b):d<<=15;og(this,c,d,32768)}return c},function(a,b){var c=a;if(b&=this.Ta){var d=0;16>>b-1,a=b>>>1&65535,jg(this,a,32768,b&1,a&32768);return a},Fi,function(a,b){if(b&=this.Ta)17>16>>b-1,a=b>>1&65535,jg(this,a,32768,b&1);return a}],Mk=[function(a,b){var c=a;if(b&=this.Ta)c=a<>>32-b,og(this,c,a<>>b|d;og(this,c,d,-2147483648)}return c},function(a,b){var c=a;if(b&=this.Ta)c=pg(this),c=a<>>32-b>>>1,og(this,c,a<>>b|c<<32-b|a<<32-b<<1,og(this,c,a<<32-b,-2147483648);return c},function(a,b){var c=a;if(b&=this.Ta)a<<=b-1,c=a<<1,jg(this,c,-2147483648,a&-2147483648,(c^a)&-2147483648);return c},function(a,b){if(b&=this.Ta)b=a>>>b-1,a=b>>>1,jg(this,a,-2147483648, +b&1,a&-2147483648);return a},Fi,function(a,b){if(b&=this.Ta)b=a>>b-1,a=b>>1,jg(this,a,-2147483648,b&1);return a}],Xk=[function(a,b){b=this.ra();jg(this,a&b,128);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Fi,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^255},function(a){var b=-a|0;cg(this,0,a,b,191,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&255},function(a){this.Ba=(this.D&255)*a&65535;this.Ba&65280?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-= +-1===this.C?this.B.uk:this.B.tk;this.N|=2;return a},function(a){var b=(this.D<<24>>24)*(a<<24>>24)|0;this.Ba=b&65535;127b?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?this.B.Zj:this.B.Yj;this.N|=2;return a},function(a,b){if(!a)return mk.call(this),a;var c=(b=this.D&65535)/a;if(255>24,d= +(b=this.D<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ca&&-128==d)return mk.call(this),a;this.Ba=d&255|(b%c&255)<<8;this.vc=!0;this.A-=-1===this.C?this.B.Vj:this.B.Uj;this.N|=2;return a}],Yk=[function(a,b){b=this.Ea();jg(this,a&b,this.Fb);this.A-=-1===this.C?this.B.ai:this.B.$h;this.N|=2;return a},Fi,function(a){this.A-=-1===this.C?this.B.Ff:this.B.Ef;return a^this.R},function(a){var b=-a|0;cg(this,0,a,b,this.Fb|63,!0);this.A-=-1===this.C?this.B.Ff:this.B.Ef;return b&this.R},function(a,b){2==this.V? +(b=this.D&65535,b=b*a|0,this.Ba=b&65535,this.$a=b>>16&65535):(Li.call(this,a,this.D),80563==this.we&&68657152==this.D&&129==a&&(this.$a=0));this.$a?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C?this.B.wk:this.B.vk;this.N|=2;return a},function(a,b){2==this.V?(b=this.D&65535,b=(b<<16>>16)*(a<<16>>16)|0,this.Ba=b&65535,this.$a=b>>16&65535,b=32767b):(Ki.call(this,a,this.D),b=this.$a!=this.Ba>>31);b?(kg(this),mg(this)):(lg(this),ng(this));this.vc=!0;this.A-=-1===this.C? +this.B.ak:this.B.$j;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.call(this),a;b=65536*(this.L&65535)+(this.D&65535);var c=b/a;if(65536<=c)return mk.call(this),a;this.Ba=c&65535;this.$a=b%a&65535}else{if(!Zj.call(this,this.D,this.L,a))return mk.call(this),a;this.Ba|=0;this.$a|=0}this.vc=!0;this.A-=-1===this.C?this.B.Tj:this.B.Sj;this.N|=2;return a},function(a,b){if(2==this.V){if(!a)return mk.call(this),a;var c=a<<16>>16,d=(b=this.L<<16|this.D&65535)/c|0;if(d!=d<<16>>16||8086==this.ca&& +-32768==d)return mk.call(this),a;this.Ba=d&65535;this.$a=b%c&65535}else{b=this.D;var c=this.L,d=a,e=0,f=0;0>d&&(d=-d|0,e=1-e);0>c&&(b=-b|0,c=~c+(b?0:1)|0,f=1,e=1-e);!Zj.call(this,b,c,d)||this.Ba>2147483647+e||this.$a>2147483647+f?b=!1:(e&&(this.Ba=-this.Ba),f&&(this.$a=-this.$a),b=!0);if(!b)return mk.call(this),a;this.Ba|=0;this.$a|=0}this.vc=!0;this.A-=-1===this.C?this.B.Xj:this.B.Wj;this.N|=2;return a}],Be=[function(a){var b=a+1|0;cg(this,a,1,b,190);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b& +255},function(a){var b=a-1|0;cg(this,a,1,b,190,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&255},Fi,Fi,Fi,Fi,Fi,Fi],Ce=[function(a){var b=a+1|0;cg(this,a,1,b,this.Fb|62);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){var b=a-1|0;cg(this,a,1,b,this.Fb|62,!0);this.A-=-1===this.C?this.B.Df:this.B.Cf;return b&this.R},function(a){pe(this,A(this));C(this,a);this.A-=-1===this.C?this.B.Pj:this.B.Oj;this.N|=2;return a},function(a){if(-1===this.C)return Fi.call(this,a);this.ta= +this.Aa;ik.call(this,a,this.ja(this.C+this.V));this.A-=this.B.Mj;this.N|=2;this.ta=-1;return a},function(a){C(this,a);this.A-=-1===this.C?this.B.jk:this.B.ik;this.N|=2;return a},function(a){if(-1===this.C)return Fi.call(this,a);te(this,a,this.ja(this.C+this.V));this.A-=this.B.gk;this.N|=2;return a},function(a){var b=a;this.N&512&&(a=a-2&65535,80286>this.ca&&(b=a));pe(this,b);this.A-=-1===this.C?this.B.Ic:this.B.Ak;this.N|=2;return a},Fi]; +function hf(){this.ma.call(this,Sj);this.A-=-1===this.C?6:13}function jf(){this.za.call(this,Rj);this.A-=-1===this.C?12:19}var Xe=Array(256);Xe[0]=function(){16>(this.Ia(this.da)&56)&&(this.N|=1);this.rb.call(this,this.nj,gk)};Xe[1]=function(){this.Ia(this.da)&16||(this.N|=1);this.rb.call(this,Zk,gk)};Xe[2]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Mi)};Xe[3]=function(){!(this.qa&1)||this.O&131072?y.call(this,6):this.ma.call(this,Si)}; +Xe[5]=function(){this.Ma?y.call(this,13,0,0,!0):(wg(this,this.ja(2054)),this.J=this.ja(2086),this.K=this.ja(2088),this.M=this.ja(2090),this.G=this.ja(2094),this.L=this.ja(2096),this.I=this.ja(2098),this.D=this.ja(2100),de(this.oa,2102,this.ja(2084)),de(this.Z,2108,this.ja(2082)),de(this.Y,2114,this.ja(2080)),de(this.Ca,2120,this.ja(2078)),se(this,this.ja(2072)),C(this,this.ja(2074)),he(this,this.ja(2092)),this.Kb=this.ja(2126)|this.Ia(2128)<<16,this.Pc=this.Kb+this.ja(2130),this.Pb=this.ja(2138)| +this.Ia(2140)<<16,this.cd=this.Pb+this.ja(2142),de(this.Eb,2132,this.ja(2076)),de(this.la,2144,this.ja(2070)),this.A-=195)};Xe[6]=function(){this.Ma?y.call(this,13,0):(this.qa&=-9,this.A-=2)};Xe[11]=Ee;Xe[166]=Ee;Xe[255]=Ee;var B=[];B[5]=Ee; +B[7]=function(){if(this.Ma)y.call(this,13,0,0,!0);else{var a=this.oa.bc(this.J&this.wa,204);if(-1!==a){bk.call(this,this.ia(a));var b=this.ia(a+168),c=(b&24576)>>13;se(this,this.ia(a+4),c);this.Kb=this.ia(a+112);this.Pc=this.Kb+this.ia(a+116);this.Pb=this.ia(a+100);this.cd=this.Pb+this.ia(a+104);be(this.Eb,this.ia(a+56),this.ia(a+120),this.ia(a+124),this.ia(a+128));be(this.la,this.ia(a+52),this.ia(a+84),this.ia(a+88),this.ia(a+92));this.J=this.ia(a+12);this.K=this.ia(a+16);this.M=this.ia(a+20);this.G= +this.ia(a+28);this.L=this.ia(a+32);this.I=this.ia(a+36);this.D=this.ia(a+40);be(this.Ha,this.ia(a+60),this.ia(a+132),this.ia(a+136),this.ia(a+140));be(this.Ga,this.ia(a+64),this.ia(a+144),this.ia(a+148),this.ia(a+152));be(this.Ca,this.ia(a+68),this.ia(a+156),this.ia(a+160),this.ia(a+164));be(this.Y,this.ia(a+72),b,this.ia(a+172),this.ia(a+176));be(this.Z,this.ia(a+76),this.ia(a+180),this.ia(a+184),this.ia(a+188));be(this.oa,this.ia(a+80),this.ia(a+192),this.ia(a+196),this.ia(a+200));C(this,this.ia(a+ +8));he(this,this.ia(a+24))}this.A-=122<<(a&3?1:0)}};B[16]=Gk;B[17]=Hk;B[18]=Ik;B[19]=Jk;B[32]=function(){if(this.Ma)y.call(this,13,0);else{var a,b=this.ra();switch((b&56)>>3){case 0:a=this.qa;break;case 2:a=this.Cd;break;case 3:a=this.Wc;break;default:Ye.call(this);return}wf(this,b&7,a);this.A-=6}};B[33]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;4==b||5==b?Ye.call(this):(wf(this,a&7,this.Qb[b]),this.A-=22)}}; +B[34]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=vf(this,a&7);switch((a&56)>>3){case 0:bk.call(this,b);this.A-=10;break;case 2:this.Cd=b;this.A-=4;break;case 3:ue.call(this,b);this.A-=5;break;default:Ye.call(this)}}};B[35]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;4==b||5==b?Ye.call(this):(a=vf(this,a&7),a!=this.Qb[b]&&(Vf(this,!1),this.Qb[b]=a,Vf(this,!0)),this.A-=4>b?22:14)}}; +B[36]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Ye.call(this):(wf(this,a&7,this.dg[b]),this.A-=12)}};B[38]=function(){if(this.Ma)y.call(this,13,0);else{var a=this.ra(),b=(a&56)>>3;6>b?Ye.call(this):(this.dg[b]=vf(this,a&7),this.A-=12)}};B[128]=function(){var a=this.Ea();ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[129]=function(){var a=this.Ea();ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}; +B[130]=function(){var a=this.Ea();dg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[131]=function(){var a=this.Ea();dg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)};B[132]=function(){var a=this.Ea();gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[133]=function(){var a=this.Ea();gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)};B[134]=function(){var a=this.Ea();dg(this)||gg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra}; +B[135]=function(){var a=this.Ea();dg(this)||gg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)};B[136]=function(){var a=this.Ea();hg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[137]=function(){var a=this.Ea();hg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)};B[138]=function(){var a=this.Ea();eg(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[139]=function(){var a=this.Ea();eg(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)}; +B[140]=function(){var a=this.Ea();!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[141]=function(){var a=this.Ea();!hg(this)==!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[142]=function(){var a=this.Ea();gg(this)||!hg(this)!=!ig(this)?(C(this,A(this)+a),this.A-=this.B.Qa):this.A-=this.B.Ra};B[143]=function(){var a=this.Ea();gg(this)||!hg(this)!=!ig(this)?this.A-=this.B.Ra:(C(this,A(this)+a),this.A-=this.B.Qa)};B[144]=function(){ck.call(this,mj)}; +B[145]=function(){ck.call(this,mj)};B[146]=function(){ck.call(this,nj)};B[147]=function(){ck.call(this,oj)};B[148]=function(){ck.call(this,pj)};B[149]=function(){ck.call(this,qj)};B[150]=function(){ck.call(this,rj)};B[151]=function(){ck.call(this,sj)};B[152]=function(){ck.call(this,tj)};B[153]=function(){ck.call(this,uj)};B[154]=function(){ck.call(this,vj)};B[155]=function(){ck.call(this,wj)};B[156]=function(){ck.call(this,xj)};B[157]=function(){ck.call(this,yj)};B[158]=function(){ck.call(this,zj)}; +B[159]=function(){ck.call(this,Aj)};B[160]=function(){me(this,this.Ga.U,this.V,2);this.A-=this.B.re};B[161]=function(){this.ta=this.Aa;var a=fe(this);this.Ga.load(a);this.A-=this.B.nc;this.ta=-1};B[163]=function(){this.za.call(this,xi);-1!==this.C&&(this.A-=6)};B[164]=function(){this.za.call(this,2==this.V?Bj:Dj);this.A-=-1===this.C?3:7};B[165]=function(){this.za.call(this,2==this.V?Fj:Gj);this.A-=-1===this.C?3:7};B[168]=function(){me(this,this.Ha.U,this.V,2);this.A-=this.B.re}; +B[169]=function(){this.ta=this.Aa;var a=fe(this);this.Ha.load(a);this.A-=this.B.nc;this.ta=-1};B[171]=function(){this.za.call(this,Ai);-1!==this.C&&(this.A-=5)};B[172]=function(){this.za.call(this,2==this.V?Hj:Jj);this.A-=-1===this.C?3:7};B[173]=function(){this.za.call(this,2==this.V?Lj:Mj);this.A-=-1===this.C?3:7};B[175]=function(){this.ma.call(this,2==this.V?Hi:Ji)};B[178]=function(){this.ma.call(this,cj)};B[179]=function(){this.za.call(this,zi);-1!==this.C&&(this.A-=5)}; +B[180]=function(){this.ma.call(this,Qi)};B[181]=function(){this.ma.call(this,Ri)}; +B[182]=function(){this.kc.call(this,ej);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|this.D&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.L=this.L&~this.R|this.L&255;break;case 3:this.G=this.G&~this.R|this.G&255;break;case 4:this.Hc=this.Hc&~this.R|this.D>>8&255;this.D=this.ya;break;case 5:this.M=this.M&~this.R|this.I>>8&255;this.I=this.ya;break;case 6:this.K=this.K&~this.R|this.L>>8&255;this.L=this.ya;break;case 7:this.J=this.J&~this.R|this.G>>8&255,this.G=this.ya}this.A-= +-1===this.C?3:6};B[183]=function(){ke(this,2);this.ma.call(this,fj);switch(this.ga>>3&7){case 0:this.D=this.D&65535;break;case 1:this.I=this.I&65535;break;case 2:this.L=this.L&65535;break;case 3:this.G=this.G&65535;break;case 4:this.Hc=this.Hc&65535;break;case 5:this.M=this.M&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.C?3:6};B[186]=function(){this.rb.call(this,$k,this.ra)};B[187]=function(){this.za.call(this,yi);-1!==this.C&&(this.A-=5)}; +B[188]=function(){this.ma.call(this,ri)};B[189]=function(){this.ma.call(this,si)}; +B[190]=function(){this.kc.call(this,ej);switch(this.ga>>3&7){case 0:this.D=this.D&~this.R|(this.D&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.L=this.L&~this.R|(this.L&255)<<24>>24&this.R;break;case 3:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 4:this.Hc=this.Hc&~this.R|this.D<<16>>24&this.R;this.D=this.ya;break;case 5:this.M=this.M&~this.R|this.I<<16>>24&this.R;this.I=this.ya;break;case 6:this.K=this.K&~this.R|this.L<<16>>24& +this.R;this.L=this.ya;break;case 7:this.J=this.J&~this.R|this.G<<16>>24&this.R,this.G=this.ya}this.A-=-1===this.C?3:6};B[191]=function(){ke(this,2);this.ma.call(this,fj);switch(this.ga>>3&7){case 0:this.D=this.D<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.L=this.L<<16>>16;break;case 3:this.G=this.G<<16>>16;break;case 4:this.Hc=this.Hc<<16>>16;break;case 5:this.M=this.M<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.C?3:6}; +var Wf=[function(){this.A-=2+(-1===this.C?0:1);return this.Eb.U},function(){this.A-=2+(-1===this.C?0:1);return this.la.U},function(a){this.N|=2;this.Eb.load(a);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;-1!==this.la.load(a)&&(this.fb(this.la.Lb+4,this.la.jb|=512),this.la.type|=512);this.A-=17+(-1===this.C?0:2);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&2048!=(this.xb.jb&2560)&&(this.xb.qc>=this.Ma&&this.xb.qc>=(a&3)||7168==(this.xb.jb&7168)))return vg(this), +a;rg(this);return a},function(a){this.N|=2;this.A-=14+(-1===this.C?0:2);if(-1!==this.xb.load(a)&&512==(this.xb.jb&2560)&&this.xb.qc>=this.Ma&&this.xb.qc>=(a&3))return vg(this),a;rg(this);return a},Fi,Fi],De=[Ve,Ve,Ve,Ve,Ve,Ve,Fi,Fi],Zk=[function(a){if(-1===this.C)y.call(this,6);else{a=this.Pc-this.Kb;var b=this.Kb;80286==this.ca?b|=-16777216:80386<=this.ca&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=11}return a},function(a){if(-1===this.C)y.call(this,6);else{a=this.cd-this.Pb;var b=this.Pb; +80286==this.ca?b|=-16777216:80386<=this.ca&&2!=this.V&&(a|=b<<16);this.ab(this.C+2,b);this.A-=12}return a},function(a){-1===this.C||this.O&131072?y.call(this,6):(this.Kb=this.ia(this.C+2)&(this.R|this.R<<8),a&=65535,this.Pc=this.Kb+a,this.N|=2,this.A-=11);return a},function(a){-1===this.C||this.O&131072?y.call(this,6):(this.Pb=this.ia(this.C+2)&(this.R|this.R<<8),a&=65535,this.cd=this.Pb+a,this.N|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.C?0:1);return this.qa},Fi,function(a){this.O& +131072?y.call(this,6):(wg(this,a),this.A-=-1===this.C?3:6,this.N|=2);return a},Fi],$k=[Fi,Fi,Fi,Fi,ti,wi,vi,ui]; +function al(a){nb.call(this,"ChipSet",a,32768);var b=a.model;b&&!bl[b]&&hb("Unrecognized ChipSet model: "+b);this.ca=bl[b]||cl;this.C=[];b=dl(a[el]);this.C[0]=[b,b];null==b&&(this.N=[360,360],(b=a.floppies)&&b.length&&(this.N=b),fl(this,gl,this.N.length),fl(this,hl,a.monitor||(this.ca=eh&&(this.za=this.ha=2);this.O=a.scaleTimers||!1;this.Ma=a.rtcDate;this.Ga=!1;a.sound&&(this.Da=this.la=null,window&&(this.Da=window.AudioContext|| +window.webkitAudioContext),this.Da&&(this.la=new this.Da));this.reset(!0);Jb(this)}ba(al,nb);l=al.prototype;l.Cb=function(a,b,c){switch(b){case el:return this.na[b]=c,jl(this,0,b),!0;case il:if((this.ca|0)==kl||this.ca==ll)return this.na[b]=c,jl(this,1,b),!0;break;case ml:return this.na[b]=c,!0}return!1}; +l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.Tc=Xb(a,"FPU");fl(this,nl,this.Tc?1:0,!0);this.B=Xb(a,"Keyboard");this.Ba=c.T.sd/ol;Oc(b,this,pl);Sc(b,this,ql);this.ca=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa= +Yl|Zl;this.Y=Array(8);this.W=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;ac?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128>8} +l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.W,this.A,this.ma,this.Z]));return a.data()}; +l.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);Fl(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;bn(a,b,c,!0)}function cn(a,b,c){if(b=(a=dn[a.ca|0])&&a[b])for(var d in b)if(a=b[d],a.yc&1<g.nb[0]&&(g.nb[0]=255,g.nb[1]--,0>g.nb[1]&&(g.nb[1]=255)));return h}function sn(a,b,c,d,e,f){var g=a.F[b];t(a,768)&&v(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.zb+"]",null,!0);a=g.oc[c];a.nb[g.zb]=a.pc[g.zb]=e;g.zb^=1}function tn(a,b,c,d){var e=a.F[b],f=e.Mb|un;e.Mb&=~vn;t(a,768)&&v(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function wn(a,b,c,d,e){var f=a.F[b];t(a,768)&&v(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Mb=f.Mb&~(16<>2].oc[b&3],c,d,e)}function An(a,b,c){b=a.F[b>>2].oc[b&3];b.mg&&b.eh&&b.Ag?(c&&(b.done=c),b.ne||Kn(a,b,!0)):c&&c(!0)} +function Kn(a,b,c){c&&(b.count=b.nb[1]<<8|b.nb[0],b.type=b.mode&Ln,b.rj=b.ng=!1);for(var d=!1;0<=b.count&&(c=b.hg<<16|b.sb[1]<<8|b.sb[0],b.type==Mn?(d=!0,function(c){b.eh.call(b.mg,b.Ag,-1,function(e,g){0>e&&(b.rj||(b.rj=!0),e=255);b.ne||a.ka.fc(c,e);(d=g)&&setTimeout(function(){Nn(b)||Kn(a,b)},0)})}(c)):b.type==On?(c=a.ka.Ia(c),0>b.eh.call(b.mg,b.Ag,c)&&(b.ng=!0)):b.type!=Pn&&(b.ng=!0)),!d&&!Nn(b););} +function Nn(a){if(!a.ng&&0<=--a.count&&(a.mode&Qn?(a.sb[0]--,0>a.sb[0]&&(a.sb[0]=255,a.sb[1]--,0>a.sb[1]&&(a.sb[1]=255))):(a.sb[0]++,255>3];b=1<<(b&7);d.ac&b||(d.ac|=b,d.We=c||0,fo(a))}function fh(a,b){var c=a.hc[b>>3];b=1<<(b&7);c.ac&b&&(c.ac&=~b,fo(a))}function fo(a,b){var c,d=-1;1>=1),Gd(a.H,e))),b==so&&c==wo&&Vm(a))}function xo(a,b,c,d){v(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.va:a.ta} +function yo(a,b,c,d,e){v(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<=c;c++)d&Co<>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.nb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&& +a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.nb[0];c.je[1]=c.nb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1} +function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.nb[0]=h&255;d.nb[1]=h>>8&255;c&&(a.jd=0)}return d} +function Od(a,b){for(var c=0;c=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[pm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[pm]))){a.A[pm]=0;a.A[Im]=a.A[Im]% +7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.ya;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));v(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){v(this,a,b,c,"PPI_A");this.ya=b};l.Hm=function(a,b){var c=this.J;v(this,a,null,b,"PPI_B",c);return c}; +l.ko=function(a,b,c){v(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);v(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){v(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;v(this,a,null,b,"PPI_CTRL",c);return c}; +l.mo=function(a,b,c){v(this,a,b,c,"PPI_CTRL");this.ga=b};l.Sl=function(a,b){var c=this.B?cp(this.B):0;v(this,a,null,b,"8041_KBD",c);this.aa&=~kp;return c};l.tn=function(a,b,c){v(this,a,b,c,"8041_KBD")};l.Rl=function(a,b){var c=this.J;v(this,a,null,b,"8041_CTRL",c);return c};l.sn=function(a,b,c){v(this,a,b,c,"8041_CTRL");dp(this,b)};l.Tl=function(a,b){var c=this.aa;v(this,a,null,b,"8041_STATUS",c);return c}; +l.Ul=function(a,b){var c=this.oa;v(this,a,null,b,"8042_OUTBUFF",c,16384);this.D&=~(kp|lp);this.B&&mp(this.B);return c}; +l.vn=function(a,b,c){v(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.D&np)switch(this.L){case op:pp(this,b);break;case qp:rp(this,b);break;default:if(pp(this,this.K&~Ol),this.B){a=this.B;c=b;var d=-1;t(a)&&Mb(a,"sendCmd("+r(c)+")");switch(a.F||c){case sp:d=tp;up(a);break;case vp:a.F&&(c=0);wp(a,tp);a.F=c;break;case xp:a.F&&(c=0);wp(a,tp);a.F=c;break;default:Mb(a,"sendCmd(): unrecognized command")}yp(this,d)}}this.L=b;this.D&=~np}; +l.Vl=function(a,b){var c=this.J&~(zp|Ap)|(Ed(this.H)&64?Ap:0);v(this,a,null,b,"8042_RWREG",c,16384);return c};l.wn=function(a,b,c){v(this,a,b,c,"8042_RWREG",null,16384);dp(this,b)};l.Wl=function(a,b){v(this,a,null,b,"8042_STATUS",this.D,16384);a=this.D&255;this.D&lp&&(this.D|=kp,this.D&=~lp);return a}; +l.un=function(a,b,c){v(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.L=b;this.D|=np;a=0;this.L>=Bp&&(a=this.L^15,this.L=Bp);switch(this.L){case Cp:yp(this,this.K);break;case Dp:pp(this,this.K|Ol);break;case Ep:pp(this,this.K&~Ol);this.B&&mp(this.B);break;case Fp:this.B&&(a=this.B,a.A=[],t(a)&&Mb(a,"scan codes flushed"));pp(this,this.K|Ol);yp(this,Gp);rp(this,Yl|Zl);break;case Hp:yp(this,Ip);break;case Jp:yp(this,this.M);break;case Kp:yp(this,this.qa);break;case Lp:yp(this,this.K&Ol?0:Mp);break;case Bp:a& +1&&kf(this.H)}};function pp(a,b){a.K=b;a.D=a.D&~Np|b&Op;a.B&&fp(a.B,!!(b&Pp),!(b&Ol))}function yp(a,b,c){0<=b&&(a.oa=b,c?a.D|=kp:(a.D&=~kp,a.D|=lp))}function rp(a,b){a.qa=b;oc(a.ka,!!(b&Zl));b&Yl||kf(a.H)}function Qp(a,b){a.ca>4)+(c&15),e=!0);if(d==pm||d==Hm)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Rd&&a&Td&&b&Td&&Tm(this)};l.Nk=function(a,b,c){v(this,a,b,c,"NMI");this.da=b};l.Vn=function(a,b,c){v(this,a,b,c,"FPU.CLEAR")};l.Wn=function(a,b,c){v(this,a,b,c,"FPU.RESET");this.Tc&&$g(this.Tc)}; +l.Xm=function(a){if(t(this,16)&&Wk(this.ba,26,a)){var b=this.H.D>>8;Tf(this.H,a,function(a,d){return function(c){d=Ed(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+ta(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+ta(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(dg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Ed(this.H)))}return!0}; +function Vm(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.vb);var c=Math.round(ol/vo(a,wo));if(20>c||2E4>>4,0,this.F,this.C,this.Fd),delete this.Fd);return!0};Yp.prototype.Wb=function(){return!0}; +function Zp(a,b,c,d){if(d)a.Fa("Unable to load system ROM (error "+d+": "+b+")");else{pb(a.xe,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||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.Fd=e.symbols;if(!a.A.length){hb("Empty ROM: "+b);return}if(1==a.A.length){hb(a.A[0]);return}}catch(h){a.Fa("ROM data error: "+h.message);return}else for(b= +c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.A].bf(e&d.D,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;cthis.B?am: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;km(a)}}else hb("No RAM allocated")}; +l.save=function(){var a=new Xf(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function fq(a){this.D=a;this.C=hq;this.H=iq;this.B=jq;this.A=null}l=fq.prototype;l.save=function(){return[this.C,this.B]};l.restore=function(a){this.fc(0,a[0]&255);this.fc(2,a[1]&255);return!0};l.Ia=function(a){var b=255;2>a?b=a&1?this.H>>8:this.H&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b}; +l.fc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.D.ka;if(b&kq)this.A&&(xc(a,lq,mq,this.A),this.A=null);else{this.A||(this.A=yc(a,lq,mq));var c=yc(a,nq,mq);xc(a,lq,mq,c,b&oq?1:Ec)}this.C=this.C&-256|b}};l.vj=function(){return pq};l.fh=function(){return qq};var gq=-2134900736,nq=16646144,lq=917504,mq=131072,kq=1,oq=2,hq=65535,iq=2575,jq=2,pq=[null,0],qq=[function(a){return this.controller.Ia(a)},null,null,function(a,b){this.controller.fc(a,b)},null,null]; +ab(function(){for(var a=Ab(document,"pcx86","ram"),b=0;b=n.de&&d<=n.z&&(d-=n.de-n.ce),d=Bq[e]==d),d){(a=a.na["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.uc=function(a,b,c,d){this.pa=a;this.ka=b;this.H=c;this.ba=d;this.W=Xb(a,"ChipSet")}; +function sq(a,b){var c=0;a.ca=null;"string"==typeof b&&(a.ca=b.toUpperCase(),c=Fq.indexOf(a.ca),0>c&&(c=0));if(b=Fq[c])a.Y=parseInt(b.substr(2),10)}function up(a){Mb(a,"keyboard reset",65792);a.A=[];wp(a,Gq)}function fp(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.G=!0);a.I!==b&&(a.I=b)&&!a.K&&Sp(a,!0);a.I&&a.K&&(up(a),a.K=!1)}function wp(a,b){a.W&&(a.A.unshift(b),a.G=!0,Qp(a.W,b))} +function mp(a){var b=0;a.A.length&&a.G&&(b=a.A[0],a.W&&Qp(a.W,b));t(a)&&Mb(a,b?"scan code "+r(b)+" available":"no scan codes available")}function cp(a){var b=0;a.A.length&&(b=a.A[0]);t(a)&&Mb(a,"scan code "+r(b)+" delivered");return b}function Sp(a,b){0>=1);if(b&Kq){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.jc)&b):d||b&Lq&&(b=Lq);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in Mq)d="led-"+g,e=Mq[g],c&&c!=e||!(f=a.na[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.jc&=~b,d&&(a.jc|=b);return!0}}return!1} +function vq(a,b,c){if(O[b]&&a.H&&a.H.ea.vb){Iq[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.ue=b,d.jc=a.jc,Eq(a,b,!0),e++),0b.ud){if(!b.qf){Cq(a,b.ue);return}b.qf=!1;c=a.Z}else c=1==b.ud++?500:100;b.cl=setTimeout(function(a){return function(){Nq(a,b)}}(a),c)}} +function Pq(a,b,c){var d=b;if(b>=n.ce&&b<=n.eg)!(a.jc&(Qq|Rq|Sq))==c&&(d=b+(n.de-n.ce));else if(b>=n.de&&b<=n.z)!!(a.jc&(Qq|Rq|Sq))==c&&(d=b-(n.de-n.ce));else if(!!(a.jc&(Qq|Rq))==c){if(a=na[b])d=a}else if(a=ma[b])d=a;return d}l.Bg=function(a){a||(this.jc&=~Lq)}; +function tq(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Pq(a,g,!0);a.dh&&h==n["`"]&&(g=h=27);if(O[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Aq(a,h,!1,c)){if(20==g||144==g||145==g)a.O||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=n.ce&&b<=n.eg||b>=n.de&&b<=n.z;e>>>=8;){var g=0,h=e&255;f==br||f==cr?d.push(f|(c?0:ar)):(h==P?a.C&(Qq|Rq)||a.C&Sq&&b||(g=h):h==dr?a.C&(Tq|er)||(g=h):h==fr?a.C&(Uq|gr)||(g=h):d.push(f|(c?0:ar)),g&&(c?d.unshift(g):d.push(g|ar)))}for(c=0;c"]]=52|P<<8;O[n["/"]]=53; +O[n["?"]]=53|P<<8;O[3016]=54;O[1044]=55;O[1018]=fr;O[1032]=57;O[wq]=58;O[1112]=59;O[1113]=60;O[1114]=61;O[1115]=62;O[1116]=63;O[1117]=64;O[1118]=65;O[1119]=66;O[1120]=67;O[1121]=68;O[xq]=69;O[yq]=70;O[1036]=71;O[1038]=72;O[1033]=73;O[1109]=74;O[1037]=75;O[1101]=76;O[1039]=77;O[1107]=78;O[1035]=79;O[1040]=80;O[1034]=81;O[1045]=82;O[1046]=$q;O[4027]=84;O[1122]=87;O[1123]=88;O[1091]=91;O[1093]=93;O[1224]=91;O[jr]=46|dr<<8;O[Vq]=70|dr<<8;O[4046]=$q|dr<<8|fr<<16;O[4045]=82|dr<<8|fr<<16; +O[4013]=28|dr<<8|fr<<16;var sp=255,vp=243,xp=237,Gq=170,tp=250,ir=255,hr=20;ab(function(){for(var a=Ab(document,"pcx86","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(b>2,32768));this.rc=c[0];this.Xc=c[1];this.Ze=c[2];this.fa=c[3];this.ec=c[4]&255;this.Fg=c[4]>>8&255;this.Wa=c[5];this.oh=mr;this.gg=or;if(b>=bq){this.oh=nr;this.gg=pr;(b=c[6])||(b=[!1,0,Array(qr),0,f== +Ul?0:rr,0,0,Array(sr),0,0,0,Array(tr),0,[this.bb,this.Ob,this.qd],Array(this.qd>>2),ur|vr|wr|xr|yr,0,-1,0,-1,0,-1,0,0,0,0,zr,Ar,0,0,Br,Array(Cr)]);this.Ke=b[0];this.wd=b[1];this.Cc=b[2];this.Tg=Dr;this.Ig=b[3];this.af=b[4];this.Pf=b[5];this.zd=b[6];this.$d=b[7];this.Vg=Er;this.Wk=b[8];this.Xk=b[9];this.yd=b[10];this.xd=b[11];this.Ug=Fr;this.tb=b[12];d=b[13];"number"==typeof d&&(d=[this.bb,this.Ob,d]);this.bb=d[0];this.Ob=d[1];d=this.qd>>2;if((this.fd=b[14])&&this.fd.length=bq){var c=[];c[0]=a.Ke;c[1]=a.wd;c[2]=a.Cc;c[3]=a.Ig;c[4]=a.af;c[5]=a.Pf;c[6]=a.zd;c[7]=a.$d;c[8]=a.Wk;c[9]=a.Xk;c[10]=a.yd;c[11]=a.xd;c[12]=a.tb;c[13]=[a.bb,a.Ob,a.qd];var d;if(d=a.fd){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=m}f.length=bq){var d=0,e=0,f=0;switch(b){case Or:d=Pr;a.La==dq&&(e=Qr);break;case Rr:a.La==bq&&(d=Sr);break;case Tr:d=Ur;a.La==dq&&(e=Vr);break;case Wr:d=Xr;a.La==dq&&(e=Yr);break;case Zr:d=$r;a.La==dq&&(f=as);break;case bs:d=cs,a.La==dq&&(f=ds)}d&&(c|=a.Wa[es]&d?256:0,c|=a.Wa[es]&e?512:0,c|=a.Wa[fs]&f?512:0)}return c} +var mr=18,Or=6,es=7,Pr=1,Xr=2,Ur=4,$r=8,cs=16,Sr=32,Qr=32,Yr=64,Vr=128,fs=9,as=32,ds=64,Rr=10,Tr=16,Wr=18,Zr=21,bs=24,nr=25,or="HTOTAL HDISP HSYNC_POS HSYNC_WIDTH VTOTAL VTOTAL_ADJ VDISP VSYNC_POS INTERLACE_POS MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),pr="HTOTAL HDISP_END HBLANK_START HBLANK_END HRETRACE_START HRETRACE_END VTOTAL OVERFLOW PRESET_SCAN MAX_SCAN CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO VRETRACE_START VRETRACE_END VDISP_END OFFSET UNDERLINE VBLANK_START VBLANK_END MODE_CTRL LINE_COMPARE".split(" "), +qr=20,Dr="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVERSCAN PLANES HPAN".split(" "),rr=1,zr=1,sr=5,Er=["RESET","CLOCKING","MAPMASK","CHARMAP","MEMMODE"],Ar=255,Br=0,Cr=256,tr=9,Fr="SRESET ESRESET COLORCMP DATAROT READMAP MODE MISC COLORDC BITMASK".split(" "),ur=1024,vr=4096,Lr=65280,wr=0,xr=16,Nr=255,yr=-2147483648,Gr=[];Gr[2]=ur;Gr[3]=ur|vr;Gr[16]=1280;Gr[512]=wr;Gr[1024]=wr|32;Gr[1536]=wr|96;Gr[2560]=wr|160;Gr[3584]=wr|224;Gr[768]=wr|xr; +Gr[4096]=1;Gr[8192]=2;Gr[24576]=98;Gr[40960]=162;Gr[57344]=226;var Mr=[];Mr[ur]=function(a){a+=this.H;return(this.controller.tb=this.X[a])>>this.controller.ei&255};Mr[ur|16384]=function(a){return(this.controller.tb=this.X[(a&-4)+this.H])>>((a&3)<<3)&255};Mr[ur|vr]=function(a){a+=this.H;var b=this.controller.tb=this.X[a&-2];return(a&1?b>>8:b)&255}; +Mr[1280]=function(a){a+=this.H;a=this.controller.tb=this.X[a];for(var b=this.controller.qh,c=this.controller.ph&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d};Mr[wr]=function(a,b){a+=this.H;b=(b|b<<8|b<<16|b<<24)&this.controller.Md|this.controller.Yd;b=b&this.controller.Bb|this.controller.tb&~this.controller.Bb;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)}; +Mr[wr|32]=function(a,b){a+=this.H;b=b>>this.controller.Qc|b<<8-this.controller.Qc&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Md|this.controller.Yd;b=b&this.controller.Bb|this.controller.tb&~this.controller.Bb;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)}; +Mr[wr|96]=function(a,b){a+=this.H;b=b>>this.controller.Qc|b<<8-this.controller.Qc&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Md|this.controller.Yd;b&=this.controller.tb;b=b&this.controller.Bb|this.controller.tb&~this.controller.Bb;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)}; +Mr[wr|160]=function(a,b){a+=this.H;b=b>>this.controller.Qc|b<<8-this.controller.Qc&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Md|this.controller.Yd;b|=this.controller.tb;b=b&this.controller.Bb|this.controller.tb&~this.controller.Bb;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)}; +Mr[wr|224]=function(a,b){a+=this.H;b=b>>this.controller.Qc|b<<8-this.controller.Qc&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Md|this.controller.Yd;b^=this.controller.tb;b=b&this.controller.Bb|this.controller.tb&~this.controller.Bb;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)};Mr[wr|4]=function(a,b){var c=(a&-4)+this.H;a=(a&3)<<3;b=b<>this.controller.Qc|b<<8-this.controller.Qc&255;b=(b|b<<8|b<<16|b<<24)&this.controller.Bb;b=this.controller.Hf&b|this.controller.tb&~b;b=b&this.controller.gb|this.X[a]&~this.controller.gb;this.X[a]!=b&&(this.X[a]=b,this.Oa=!0)}; +function Q(a,b,c,d,e){nb.call(this,"Video",a,262144);var f=this;this.Tc=Ua("Gecko/");var g=["","moz","ms","webkit"];this.ca=a.model;var h=hs[this.ca]||hs.mda;this.La=h[0];this.qd=a.memory||0;this.cd=a.switches;this.da=a.mode;if(null==this.da||null==is[this.da])this.da=h[1];this.Fb=a.charCols;this.sc=a.charRows;if(void 0===this.Fb||void 0===this.sc)this.Fb=is[this.da][0],this.sc=is[this.da][1];this.Z=a.screenWidth;this.la=a.screenHeight;this.Uc=a.scale;this.Cd=12<=Math.round(this.Z/this.Fb);this.O= +b;this.L=c;this.D=(this.Qd=d)||b||null;b=a.smoothing;(c=Va("smoothing"))&&(b="true"==c);if(null!=b)for(c=0;c=bq&&(Oc(b,this,ss),Sc(b,this,ts));this.La==dq&&(Oc(b,this,us),Sc(b,this,vs));if(d){var e=this;Al(d,262144,function(a){if(e.C)if(a[0]){var b=e.C;if(b.fd){var c,d,f,g=!1,u=8,F=8,K=-1,H=b.video.F>>3;for(c=0;c=d&&(F=d,g=!0);break; +case "p":0<=d&&3>=d&&(K=d);break;case "w":d=b.bb&&(f-=b.bb);a="";for(c=0;cK?q(T):qa(T>>(K<<3),8));g&&(f+=H-F);a&&(a+="\n");a+=I}a&&b.ba.P(a);b.B=f}else b.ba.P("no buffer")}else e.ba.P("BIOSMODE: "+r(e.oa)),b=e.C,Jr(b,"CRTC",b.ec,b.Wa,b.gg),b.La>=bq&&(Jr(b," GRC",b.yd,b.xd,b.Ug),Jr(b," SEQ",b.zd,b.$d,b.Vg),Jr(b," ATC",b.wd,b.Cc, +b.Tg),Jr(b," ATCINDX",b.wd),b.ba.P(" ATCDATA: "+b.Ke),Jr(b," FEAT",b.Pf),Jr(b," MISC",b.af),Jr(b," STATUS0",b.Ig)),Jr(b," STATUS1",b.fa),b.La!=ps&&b.La!=ms||Jr(b," MODEREG",b.Xc),b.La==ms&&Jr(b," COLOR",b.Ze),b.La>=bq&&(b.ba.P(" LATCHES: "+q(b.tb)),b.ba.P(" ACCESS: "+q(b.tg,4)),b.ba.P("Use 'dump video [addr]' to dump video memory"));else e.ba.P("no active video card")})}if((this.B=Xb(a,"Keyboard"))&&this.O){for(var f in this.na)0c&&(a=Math.round(c/b*100)+"%")}this.Tc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.N.style.width=a,this.N.style.height="auto");this.N.style.backgroundColor="black";this.N.Je();a=!0}this.D&&this.D.focus()}return a}; +function ks(a,b){!b&&a.N&&(a.Tc?a.O.style.width=a.O.style.height="":a.N.style.width=a.N.style.height="");Mb(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.dh=b)}l.me=function(a){var b=!1;this.D&&(a?this.D.me&&(this.D.me(),this.G&&this.G.If(!0),b=!0):this.D.dl&&(this.D.dl(),this.G&&this.G.If(!1),b=!0),this.D&&this.D.focus());return b};l.If=function(a){this.G&&(this.G.If(a),this.B&&(this.B.dh=a));var b=this.na.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.Dd)}; +function ws(a,b){var c=a.D;c&&!a.tc&&(c.addEventListener("touchstart",function(b){As(a,b,!0)},!1),c.addEventListener("touchmove",function(b){As(a,b)},!0),c.addEventListener("touchend",function(b){As(a,b,!1)},!1),a.tc=b,a.qb=a.rb=a.kd=-1,a.lc=!1,a.Db=null,a.kc=!1,a.Pd=function(){a.kc=!0;a.G.Vd(Bs,!0)})}l.Bg=function(a){this.B&&this.B.Bg(a)}; +function As(a,b,c){var d,e,f=0,g=0;e=a.O;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.Z/a.O.offsetWidth,k=a.la/a.O.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(a.tc==ys)d=d/(a.Z/3)|0,e=e/(a.la/3)|0,1!=e?e?vq(a.B,1040,!0):vq(a.B,1038,!0):1!=d&&(d?vq(a.B,1039,!0):vq(a.B,1037,!0));else if(a.G){g=a.lc;f=b.timeStamp-a.kd;!0===c?(a.lc=500f){a.G.Vd(Bs,!0);a.G.Vd(Bs,!1);return}}if(c||0>a.qb||0>a.rb)a.qb=d,a.rb=e;c=Math.round(d-a.qb);b=Math.round(e-a.rb);a.qb=d;a.rb=e;a.G.tf(c,b,a.qb,a.rb)}}l.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0}; +l.reset=function(){var a=!0,b=0;this.W&&(b=+Tl(this.W,hl,void 0));this.ca||(this.La=b==Ul?ps:ms);this.da=Cs;switch(this.La){case dq:b=7;break;case bq:var c=Ds[this.xb];c&&(b=c[0]);b||(b=4);break;case ps:b=Ul;this.da=Es;break;default:b=2}this.ga!==b&&(this.ga=b,a=!0);this.C=null;this.Y=this.Kb=new kr(this,ps);this.K=this.yb=new kr(this,ms);this.La>1&255,d=d>>8&~Is,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?Js|Ks:Ls|Ms)|Ns&d>>8);Kc(this.ka,b,c|d<<8)}zs(this,!0)}};function Fs(a){a.A.af&rr?(a.Y=a.Kb,a.K=a.A):(a.Y=a.A,a.K=a.yb)}l.save=function(){var a=new Xf(this);a.set(0,Ir(this.Kb));a.set(1,Ir(this.yb));a.set(2,[this.ga,this.da,this.oa]);a.set(3,Ir(this.A));return a.data()}; +l.restore=function(a){var b=a[2];this.ga=b[0];this.da=b[1];this.oa=b[2];this.C=null;this.Y=this.Kb=new kr(this,ps,a[0]);this.K=this.yb=new kr(this,ms,a[1]);this.A=new kr(this,this.La,a[3],this.qd);this.A.rc&&Fs(this);Gs(this);if(!Os(this))return!1;Ps(this);return!0}; +function ls(a,b,c,d){if(d)a.Fa("Unable to load font ROM (error "+d+": "+b+")");else{pb(a.xe,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){hb("Empty font ROM: "+b);return}if(1==f.length){hb(f[0]);return}if(8192==f.length)cq(a,f,[6144,0]);else if(2048==f.length)cq(a,f,[0]);else{a.Fa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Fa("Font ROM data error: "+g.message);return}(a.L||a.ba)&&Jb(a)}} +function Qs(a,b){if(1==b)return a.ha[0]=Rs[Ls],a.ha[1]=Rs[Js],a.ha;if(2==b){var c=a.C.Ze;if(a.C===a.A){var d=a.A.Cc[0],c=d&7;d&16&&(c|=8);18!=a.A.Cc[1]&&(c|=32)}a.ha[0]=Rs[c&15];c=c&32?Ss:Ts;for(d=0;de;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ha[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.Cc[15]?c.Cc:Us;for(e=0;16>e;e++)f=b[e]&63,k?(f|= +(c.Cc[20]&12)<<4,c.Cc[16]&128&&(f&=-49,f|=(c.Cc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ha[e]=[g,h,f,255]}a.Ga=!0}return a.ha}function cq(a,b,c,d){a.wb=b;a.Ta=c;a.Da=d} +function Gs(a,b){var c=!1;if(window&&a.wb&&(!b||a.I)){b=0;var d=a.Da?a.Da:8,e=Qs(a);null!=a.Ta[0]&&Vs(a,Ws,a.Ta[0],b,d,8,a.wb,e)&&(c=!0);b=a.Da?0:2048;d=a.Da?a.Da:9;null!=a.Ta[1]&&(Vs(a,Xs,a.Ta[1],b,d,14,a.wb,Ys,Zs)&&(c=!0),a.Da&&Vs(a,a.La,a.Ta[1],0,a.Da,14,a.wb,e)&&(c=!0))}return c}function Vs(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&($s(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Cd&&$s(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} +function $s(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,w=a.va[b],u=16>h.length?h.length:16;w||(w={Fc:e<ua||!T?ua:8,ib=cb.createImageData(m.Fc,m.Gc);for(Sa=0;256>Sa;Sa++){for(db=0;db=ua-2,Ld=ca[db>(8<=rb&&192<=Sa&&223>=Sa?7:rb)?F:xb;at(ib,sg,ef,tg);H&&at(ib,sg+1,ef,tg)}cb.putImageData(ib,(Sa&15)*m.Fc,(Sa>>4)*m.Gc)}m.Be[K]="#"+q(F[0],2)+q(F[1],2)+q(F[2],2);m.Qi[K]=F;m.Sg[K]=za;m=!0}}a.va[b]=w;return m}function bt(a){0a.Aa&&(a.Aa=0):a.Aa=-1} +function Ps(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.C.Wa[b])return;var c=a.C.Wa[10],b=c&31,d=a.C.Wa[11]&31,e=a.C.Wa[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)ct(a);else{c=a.C.Wa[15]+((a.C.Wa[14]&63)<<8);a.aa!=c&&(ct(a),a.aa=c);d=d-b+1;if(a.md!=b||a.Hc!=d)a.md=b,a.Hc=d;a.za=e+1;bt(a)}}} +function ct(a){if(0<=a.aa){if(void 0!==a.M){var b=dt<<8,c=a.M[a.aa];if(c&b){var c=c&~b,b=a.aa%a.F,d=a.aa/a.F|0;a.I&&a.va[a.I]&&(a.Ca&&et(a,b,d,c,a.Ca),et(a,b,d,c));a.M[a.aa]=c}}a.aa=-1}} +function ft(a){var b,c=a.C;a.Pc=!1;var d=c.xd[5];if(null!=d){b=ur;var e=wr,f=c.xd[3]&31;switch(d&3){case 0:if(f){e=wr|32;switch(f&24){case 8:e=wr|96;break;case 16:e=wr|160;break;case 24:e=wr|224}c.Qc=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.La==dq&&(e=3,c.Qc=f&7)}d&8&&(b=1280);c=c.$d[4];null!=c&&(c&4||(b|=vr,e|=xr),d&64&&(c&8&&(b|=16384,e|=4),a.Pc=!0));b|=e}return b} +function gt(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.Kg(b),a.ka.Kg(c.bb,c.Ob,c.fh(),!0),!0):!1} +function Os(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==ps)d=Es;else if(e.La>=bq){var d=null,f=e.qd>>2,g=32768=e.Wa[Wr]?lt:mt:nt:g&128|| +350>f?d=m?ot:pt:480<=f&&(d=a.ga==Ul?qt:rt):d=m?7-d:st:d-=m?2:0);c=ft(a)}}else e.Xc&8&&(e.Xc&2?(d=e.Xc&16?st:Rt,e.Xc&4||--d):(d=e.Xc&1?Cs:Tt,e.Xc&4&&--d));else a.oa=null,null==d&&(d=a.da);if(!Hs(a,d,b))return!1;gt(a,c);return!0} +function Hs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Ad=0;a.oa=b;a.Ga=!1;b=a.C||(b==Es?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){ct(a);if(a.bb){if(!Cc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!pc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=is[Es][2];b=0;if(c=is[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Ws||(7==(a.A.Wa[fs]&31)?a.J=350>Kr(a.A,Wr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/ +a.Eb|0;a.Za=a.Vc;a.Pb=0;void 0!==b&&(a.Za=(a.Za<<1)+b|0,a.Pb=a.Za+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.$a=a.eb=0;b&&(a.$a=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.$a=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.$a,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.$a;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0; +a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0>1,a.Qb-=b);0>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}Ut(a,!0);zs(a)}return!0}function at(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Vt(a){a.ya=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function Ut(a,b){b||(a.Ga=!1);Vt(a)} +function et(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.jf&&(d=h.jf[d]);var k=g>>4&15;h.jf&&(k=h.jf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Be[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Be[k],a.L.fillRect(b,c,a.qa,a.ta));g&Wt&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Sg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&dt&&(f=a.md,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Be[d],e.fillRect(b, +c+f,h.Fc,g)):(a.za&&a.za!==a.ta&&(f=f*a.ta/a.za|0,g=g*a.ta/a.za|0),a.L.fillStyle=h.Be[d],a.L.fillRect(b,c+f,a.qa,g)))} +function zs(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.wd&32&&(c=!0));if(c||b){if(b)Vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Ad&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=lt&&(h=c=655360,k=c+65536);if(Xt(a,d)&8||d.Ye&&d.Ye=bq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Es&& +(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,w=c>>>b.A;0f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.ya=0;h=Wt<<8;b=1048575;p=a.C.Xc&32;a.La>=bq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.vd;p&&(e=Is<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c>8|(u&255)<<8;var I=e,T=16;m>=h))>>(T-=h);at(a.Ha,m++,p,b[ua])}m>F&&(F=m);p=H&&(H=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0; +wa.F?a.Ma-a.F-u>>3:0;c>=8;b>w&&(w=b);m=K&&(K=m+1)}c+=H;if(b>=a.F){b=0;if(++m>a.J)break;c+=I}}u||(a.ma=!0);pa.F?a.Ma-a.F-K>>3:0;cI&&(T=I)):(u<<=K,T-=K,a.ma=!1):(a.ma&&u===a.M[d]?(h+=T,T=0):a.M[d]=u,d++);if(T){hp&&(p=h);b=F&&(F=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=H}}K||(a.ma=!0);ma&&(b.wh=a,a=-a|0);a%b.rh>b.mn&&(c|=1);a%b.uh>b.on&&(c|=9);b.fi=a/b.uh|0;return c}l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){var d=this.Y;d.Fg=d.ec;d.ec=b&31;v(this,a,b,c,"CRTC.INDX")};l.Bm=function(a,b){return $t(this,this.Y,a,b)};l.eo=function(a,b,c){au(this,this.Y,a,b,c)};l.Dm=function(a,b){return bu(this,this.Y,b)};l.ho=function(a,b,c){a=this.Y;v(this,a.port+4,b,c,"MODE");a.Xc=b;Os(this,!1)}; +l.Em=function(a,b){return cu(this,this.Y,b)};l.Mk=function(a,b,c){this.A.Pf=this.A.Pf&-4|b&3;v(this,a,b,c,"FEAT")};l.am=function(a,b){a=this.A.wd;b&&!t(this)||v(this,960,null,b,"ATC.INDX",a);return a};l.rl=function(a,b){a=this.A.Cc[this.A.wd&31];b&&!t(this)||v(this,960,null,b,"ATC."+this.A.Tg[this.A.wd&31],a);return a}; +l.Lk=function(a,b,c){var d=this.A,e=d.wd&32;if(d.Ke){d.Ke=!1;var f=d.wd&31;if(16<=f||!e)if(du||d.Cc[f]!==b)c&&!t(this)||v(this,a,b,c,"ATC."+d.Tg[f]),d.Cc[f]=b,Ut(this,!1)}else d.wd=b,v(this,a,b,c,"ATC.INDX"),d.Ke=!0,b&32&&!e&&Gs(this,!0)&&zs(this,!0),a=(d.Wa[12]<<8)+d.Wa[13]|0,d.vd!=a&&(d.vd=a,Ut(this)),d.Ye=0}; +l.Om=function(a,b){a=0;if(this.La==bq)a=3-((this.A.af&12)>>2),a=(this.xb&1<>this.A.xc&63;b&&!t(this)||v(this,969,null,b,"DAC.DATA["+r(this.A.dd)+"]["+r(this.A.xc)+"]",a);this.A.xc+=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<=Na().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&&($a("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");Ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"),f.style.fontSize="16px");c.appendChild(f);var g=e.getContext("2d"),d=new Q(d,e,g,f,c);zb(d,c)}}); +function eu(a){nb.call(this,"ParallelPort",a,4194304);this.G=a.adapter;switch(this.G){case 1:this.D=956;this.C=7;break;case 2:this.D=888;this.C=7;break;case 3:this.D=632;this.C=5;break;default:hb("Unrecognized parallel adapter #"+this.G);return}this.A=this.B=null;a=a.binding;"console"==a?this.B="":yb(this,a,fu)}ba(eu,nb);l=eu.prototype;l.Cb=function(a,b,c){switch(b){case fu:return this.na[b]=this.A=c,!0}return!1}; +l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.W=Xb(a,"ChipSet");Oc(b,this,gu,this.D);Sc(b,this,hu,this.D);Jb(this)};l.Xb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){iu(this)};l.save=function(){var a=new Xf(this),b=0,c=[];c[b++]=this.F;c[b++]=this.Mb;c[b]=this.mf;a.set(0,c);return a.data()};l.restore=function(a){return iu(this,a[0])}; +function iu(a,b){var c=0;b||(b=[0,0,0]);a.F=b[c++];a.Mb=b[c++];a.mf=b[c];return!0}l.pm=function(a,b){var c=this.F;v(this,a,null,b,"DATA",c);return c};l.Nm=function(a,b){var c=this.Mb;v(this,a,null,b,"STAT",c);return c};l.lm=function(a,b){var c=this.mf;v(this,a,null,b,"CTRL",c);return c}; +l.Rn=function(a,b,c){v(this,a,b,c,"DATA");this.F=b;this.Mb|=ju;a=!1;Mb(this,"transmitByte("+r(b)+")");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);if(null!=this.B){if(10==b||1024<=this.B.length)this.P(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.Mb&=~ju);ku(this)};l.Mn=function(a,b,c){v(this,a,b,c,"CTRL");this.mf=b;ku(this)}; +function ku(a){a.W&&a.C&&(a.mf&lu&&!(a.Mb&ju)?hh(a.W,a.C):fh(a.W,a.C))}var fu="buffer",ju=64,lu=16,gu={0:eu.prototype.pm,1:eu.prototype.Nm,2:eu.prototype.lm},hu={0:eu.prototype.Rn,2:eu.prototype.Mn};ab(function(){for(var a=Ab(document,"pcx86","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64");if(2==c.length){var d=Ca(c[0]);if(d!=this.be)return;c=Ca(c[1]);if(this.D=ub(c)){var e=this.D.exports;if(e){var f=e.connect;f&&f.call(this.D,this.O);if(this.aa=e.receiveData){this.O=a;this.Y=e.receiveStatus;this.status("Connected "+this.xe+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +l.Xb=function(a,b){if(!b)if(this.zj(this.O),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){su(this)};l.save=function(){var a=new Xf(this),b=0,c=[];c[b++]=this.ga;c[b++]=this.la;c[b++]=this.L;c[b++]=this.N;c[b++]=this.G;c[b++]=this.C;c[b++]=this.Z;c[b++]=this.B;c[b++]=this.A;c[b]=this.J;a.set(0,c);return a.data()};l.restore=function(a){return su(this,a[0])}; +function su(a,b){var c=0;b||(b=[0,0,tu,0,uu,0,0,vu|wu,a.qa,[]]);a.ga=b[c++];a.la=b[c++];a.L=b[c++];a.N=b[c++];a.G=b[c++];a.C=b[c++];a.Z=b[c++];a.B=b[c++];a.A=b[c++];a.J=b[c];return!0}l.Of=function(a){if("number"==typeof a)this.J.push(a);else if("string"==typeof a)for(var b=0;b>8:this.N;v(this,a,null,b,this.C&Cu?"DLM":"IER",c);return c};l.xm=function(a,b){var c=this.G;v(this,a,null,b,"IIR",c);return c};l.ym=function(a,b){var c=this.C;v(this,a,null,b,"LCR",c);return c};l.Am=function(a,b){var c=this.Z;v(this,a,null,b,"MCR",c);return c}; +l.zm=function(a,b){var c=this.B;v(this,a,null,b,"LSR",c);return c};l.Fm=function(a,b){var c=this.A;this.A&=~(yu|zu);v(this,a,null,b,"MSR",c);return c}; +l.po=function(a,b,c){v(this,a,b,c,this.C&Cu?"DLL":"THR");if(this.C&Cu)this.L=this.L&-256|b;else{this.la=b;this.B&=~(vu|wu);a=!1;Mb(this,"transmitByte("+r(b)+")");this.aa&&this.aa.call(this.D,b)&&(a=!0);if(this.F){if(13==b)this.K=0;else if(8==b)this.F.value=this.F.value.slice(0,-1),0":String.fromCharCode(b);a=d.length;32>b&&1==a&&(a=0);9==b&&(b=this.oa||8,a=b-this.K%b,this.oa&&(d=Ba("",a)));this.ma&&!this.K&&a&&(d=String.fromCharCode(this.ma)+ +d);this.F.value+=d;this.F.scrollTop=this.F.scrollHeight;this.K+=a}a=!0}else if(null!=this.I){if(10==b||1024<=this.I.length)this.P(this.I),this.I="";10!=b&&(this.I+=String.fromCharCode(b));a=!0}a&&(this.B=this.B|vu|wu)}};l.ao=function(a,b,c){v(this,a,b,c,this.C&Cu?"DLM":"IER");this.C&Cu?this.L=this.L&255|b<<8:this.N=b};l.bo=function(a,b,c){v(this,a,b,c,"LCR");this.C=b}; +l.co=function(a,b,c){var d=b^this.Z;v(this,a,b,c,"MCR");this.Z=b;d&(Du|Eu)&&this.Y&&(a=0,this.O?(a|=b&Eu?32:0,a|=b&Du?320:0):(a|=b&Eu?16:0,a|=b&Du?1048576:0),this.Y.call(this.D,a))};function Au(a){var b=-1;a.B&Bu&&a.N&Fu?b=Gu:a.A&(yu|zu)&&a.N&Hu&&(b=Iu);0<=b?(a.G&=~(uu|Ju),a.G|=b,a.W&&a.M&&hh(a.W,a.M,100)):(a.G|=uu,a.W&&a.M&&fh(a.W,a.M))} +var pu="buffer",tu=384,Fu=1,Hu=8,uu=1,Gu=4,Iu=0,Ju=6,Cu=128,Du=1,Eu=2,Bu=1,vu=32,wu=64,yu=1,zu=2,nu=16,ou=32,qu={0:mu.prototype.Km,1:mu.prototype.wm,2:mu.prototype.xm,3:mu.prototype.ym,4:mu.prototype.Am,5:mu.prototype.zm,6:mu.prototype.Fm},ru={0:mu.prototype.po,1:mu.prototype.ao,3:mu.prototype.bo,4:mu.prototype.co};ab(function(){for(var a=Ab(document,"pcx86","serial"),b=0;ba.F||0>a.G)a.F=b.clientX,a.G=b.clientY;a.M?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.F,d=b.clientY-a.G);a.F=b.clientX;a.G=b.clientY;a.tf(c,d,a.F,a.G)}} +l.Vd=function(a,b){if(this.rc&&this.H&&this.H.ea.vb){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case Bs:if(this.K!=b){this.K=b;Qu(this,c);return}break;case Ru:if(this.L!=b){this.L=b;Qu(this,c);return}}Mb(this,c+": ignored")}};l.tf=function(a,b,c,d){this.rc&&this.H&&this.H.ea.vb&&(a||b)&&(this.I=a,this.J=b,Qu(this,null,c,d))}; +function Qu(a,b,c,d){var e=64|(a.K?32:0)|(a.L?16:0)|(a.J&192)>>4|(a.I&192)>>6,f=a.I&63,g=a.J&63;t(a,8388608)&&Mb(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+r(e)+","+r(f)+","+r(g)+"]",0,!0);a.D.Of([e,f,g]);a.I=a.J=0} +l.pl=function(a){var b=1048592==(a&1048592);if(b){if(!this.rc){var c=!1;this.A&16||(this.reset(),Mb(this,"serial mouse reset"),c=!0);this.A&1048576||(Mb(this,"serial mouse ID requested"),c=!0);c&&(this.D.Of([Su,Su]),Mb(this,"serial mouse ID sent"));Lu(this);this.rc=b}}else this.rc&&(Mb(this,"serial mouse inactive"),Mu(this),this.rc=b);this.A=a};var Su=77,Bs=0,Ru=2;ab(function(){for(var a=Ab(document,"pcx86","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.ob);for(c=0;cb.indexOf("/api/v1/dump")&&(a=wa(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=$u(this,b),this.og=!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"):xa(b, +"/")&&(c="dir"),f=Ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Oe?"":d)+"&format=json"));return!!La(f,null,!0,function(a,b,c){av(g,a,b,c)})}; +function av(a,b,c,d){var e=null;a.Re=!1;var f=!(!(0>d&&a.pa)||a.pa.ea.Yb);if(a.og)d?a.controller.Fa('Unable to connect to disk "'+a.I+'" (error '+d+": "+c+")",f):(a.D=!0,bv(a),e=a);else if(d)a.controller.Fa('Unable to load disk "'+a.F+'" (error '+d+": "+b+")",f);else{pb(a.controller.xe,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)hb(h[0]);else{a.ob=h.length;a.ib=h[0].length;a.Ya=h[0][0].length;var k=h[0][0][0];a.Na=k&&k.length||512;for(d=c=0;d>2,p=k.pattern;void 0===p&&(p=k.pattern=0);var w=k.data;if(void 0===w){var u=k.bytes;if(void 0!==u&&u.length){for(var F= +m<<2,K=u.length;Kb;b++){if(128==ev(a,e,c+0,1)){d.Kf=ev(a,e,c+8,4);(e=dv(a,d.Kf))&&(f=!0);break}c+=16}if(!f)return}d.sf||(d.sf=ev(a,e,19,2)||ev(a,e,32,4),d.rf=ev(a,e,14,2),d.lh=d.rf+ev(a,e,22,2)*ev(a,e,16,1),d.vh=ev(a,e,17,2),d.vf=ev(a,e,13,1));d.jh=d.lh+((32*d.vh+(d.Na-1))/d.Na|0);d.kn=(d.sf-d.jh)/d.vf|0;d.vg=4084>=d.kn?12:16;d.Nl=12==d.vg?4086:65526;b=[];for(e=d.lh;e>=8;f+=2;if(k)for(;m--;)sv(d,f,1),254>=k?(p=k,w=sv(d,f+1),f+=3):(p=sv(d,f+3,1),w=sv(d,f+4),f+=6),d.nd[p]&&(d.nd[p].ee[h]=[w]),d.A[h]=[p,w],h++;else h+=m}(g=hv(e,vv,c))&&wv(e,g+c);g=hv(e,xv,c);h=hv(e,yv,c);g&&h&&wv(e,g,g+h)}}}} +function gv(a,b,c,d,e){var f,g=a.C.length,h=b.Na/32|0;b.cq=d+"\\";for(var k=0;kK)break;for(var H=u.jh+(K-2)*u.vf,I=0;I>3,1),d?e=16==b.vg?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} +function dv(a,b){var c=a.ib*a.Ya,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function Zu(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ol=b;a.Pl=c;a.hd=a.Lc=0;a.Oa=!1;return a} +function $u(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;b+="&machine="+Xu(a.controller);b+="&user="+Yu(a.controller);return Ma()+"/api/v1/disk?"+b} +function Bv(a,b,c,d,e,f,g){if(a.D){var h;h="action=read&volume="+a.I;h+="&chs="+a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+Xu(a.controller));h+="&user="+Yu(a.controller);La(Ma()+"/api/v1/disk?"+h,null,f,function(h,m,p){h=[b,c,d,e,f,g];var k=!1,u=h[0],F=h[1],K=h[2],H=h[3];if(!p){m=JSON.parse(m);for(k=0;H--;){var I=a.seek(u,F,K,!0);if(!I)break;cv(I,m,k);k+=I.length;K++}k=h[4]}(h=h[5])&&h(p,k)})}else g&&g(-1,!1)} +function Cv(a,b,c,d,e,f,g){if(a.D){var h={};a.N=!0;h.action="write";h.volume=a.I;h.chs=a.ob+":"+a.ib+":"+a.Ya+":"+a.Na;h.addr=b+":"+c+":"+d+":"+e;h.machine=Xu(a.controller);h.user=Yu(a.controller);h.data=JSON.stringify(f);La(Ma()+"/api/v1/disk",h,g,function(f,h,p){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],F=k[3],k=k[4];a.N=!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}l.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; +l.write=function(a,b,c){if(this.Re)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Lc?f=a.hd+a.Lc&&(a.Lc+=f-(a.hd+a.Lc)+1):(a.hd=f,a.Lc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.Re){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;kb?-2!=b&&this.controller.Fa("Unable to restore disk '"+this.F+": "+c):bv(this);return b}; +l.toJSON=function(){var a;a=0;for(var b;b=dv(this,a++);)Hv(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function Hv(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Uu=0;function Av(a,b,c,d,e,f){this.sa=a;this.$b=c;this.Wg=d;this.aj=e;this.fe=f}function sv(a,b,c){var d;c=c||2;var e=b&511,f=dv(a.sa,a.fe[b>>9]);if(f){if(e+c<=f.length)return ev(a.sa,f,e,c);for(e=d=0;c--;)d|=sv(a,b++,1)<=e.gi&&a<=e.Ik){d=a-=e.gi;var f,g;for(g in e.ee){var h=e.ee[g],k=a-h[0];if(!k){c=this.Rf+"!"+h[1];break}b&&0'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Jv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Kv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value, +10)||0])?(a=a.sa)?(a=Xa(Gv(a),"octet-stream",!0,a.Jg.replace(".json",".img")),hb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Kv(d,va(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1}; +l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Xb(a,"ChipSet");if((this.G=zd(this.pa,"autoMount")||this.G)&&"string"==typeof this.G)try{this.G=eval("("+this.G+")")}catch(e){hb("FDC auto-mount error: "+e.message+" ("+this.G+")"),this.G=null}Lv(this);Oc(b,this,Mv);Sc(b,this,Nv);Ov(this,"None","",!0);this.M&&Ov(this,"Local Disk","?");Ov(this,"Remote Disk","??");Pv(this)||Jb(this)}; +l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];for(a=0;ag.sa.restore(F)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Xa,g.kb));h||(e=!1)}a.I=b[c++]||0;a.Zb=b[c]||Xv;return e} +function Rv(a){var b=0,c=[];c[b++]=a.Ua;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.J;for(var d=b++,e=0,f=[],g=0;gVv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;ha.ob||f[1]>a.ib)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.Zk=c,a.te=d,Wv(this,c,d,b),f=b.info(),this.I|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.ke||e),a.ug=f[0],a.Af=f[1],a.Bf=f[2],this.pa&&this.pa.ld()):a.Ne=!1;a.ke&&(a.ke=!1,--this.K||Jb(this));Jv(this,a.Ua)}; +function Ov(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e=this.C&&(this.fa&=~(cw|dw),this.D=this.C=0);return c}; +l.Tn=function(a,b,c){t(this)&&v(this,a,b,c,"DATA["+this.C+"]");this.C=fw[a].Id){b=!1;this.D=0;a=gw(this);var d,e,f,g,h=a&ew;switch(h){case hw:gw(this);gw(this);iw(this);break;case jw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];iw(this);kw(this,(d.pb&lw)>>>24);break;case mw:case nw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Xa=b;c=d.Gb=gw(this);e=gw(this);f=d.kb=gw(this);g=gw(this);d.ub=128<>2&1;this.Ua= +c&3;d=this.A[this.Ua];c=d.Gb;e=d.Xa=b;f=d.kb=1;g=0;d.pb=Zv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Xa,d.kb))?g=d.cb.length>>8:d.pb=ow|pw;rw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Xa=b;f=1;g=gw(this);d.ub=128<>2&1,c=gw(this),d.Gb+=c-d.Sd,0>d.Gb&&(d.Gb=0),d.Gb>=d.ob&&(d.Gb=d.ob-1),d.Sd=c,d.pb=tw,d.Gb||(d.pb|=uw),iw(this),b=!0}0>>8);kw(a,(b.pb&Bw)>>>16);var k=0;if(e!=b.Gb||f!=b.Xa)k=g=1;c&Cw&&(f^=k,d||(k=0));kw(a,e+k);kw(a,f);kw(a,g);kw(a,h)}function gw(a){var b=a.F[a.D];a.D++;return b}function iw(a){a.D=a.C=0}function kw(a,b){a.F[a.C++]=b}l.jl=function(a,b,c){void 0===b||0>b?this.se(a,c):c(-1,!1)};l.kl=function(a,b){return void 0!==b&&0<=b?Dw(a,b):-1}; +l.Cl=function(a,b){if(void 0!==b&&0<=b)a:if(a.pb)a=-1;else{a.$c[a.Ge++]=b;if(a.Ge==a.$c.length){a.Gb=a.$c[0];a.Xa=a.$c[1];a.kb=a.$c[2];a.ub=128<Dw(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a};l.se=function(a,b){var c=-1,d=null,e=0;if(!a.pb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Xa,a.kb);if(!a.cb){a.pb=Ew|pw;break}a.Sa=0;Fw(a)}while(1)}b(c,!1,d,e)}; +function Dw(a,b){if(a.pb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Xa,a.kb);if(!a.cb){a.pb=Gw|pw;b=-1;break}a.Sa=0;Fw(a)}while(1);return b}function Fw(a){a.kb++;a.kb>=a.Bf+1&&(a.kb=1,a.Xa++,a.Xa>=a.Af&&(a.Xa=0,a.Gb++))}var Uv="Floppy Drive",aw=4,bw=8,dw=16,cw=64,Sv=128,hw=3,jw=4,mw=5,nw=6,sw=7,vw=8,xw=10,yw=13,zw=15,ew=31,Cw=128,Zv=0,ow=8,tw=32,pw=64,Tv=192,ww=255,qw=512,Ew=1024,Gw=8192,Aw=65280,Bw=16711680,uw=268435456,lw=-16777216,$v=128,Xv=0;aa={}; +var fw={3:{Id:3,Ud:0,name:aa.Wp},4:{Id:2,Ud:1,name:aa.Up},5:{Id:9,Ud:7,name:aa.$p},6:{Id:9,Ud:7,name:aa.Qp},7:{Id:2,Ud:0,name:aa.Sp},8:{Id:1,Ud:2,name:aa.Vp},10:{Id:2,Ud:7,name:aa.Rp},13:{Id:6,Ud:7,name:aa.Np},15:{Id:3,Ud:0,name:aa.Tp}},Mv={1009:Iv.prototype.rm,1012:Iv.prototype.tm,1013:Iv.prototype.qm,1015:Iv.prototype.sm},Nv={1010:Iv.prototype.Un,1013:Iv.prototype.Tn,1015:Iv.prototype.Sn}; +ab(function(){for(var a=Ab(document,"pcx86","fdc"),b=0;bk.sa.restore(g)&&(F=!1),F&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Od,k.Xa,k.kb+k.ig)));F||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<< +1))}0<=a.Ua&&(a.B=a.A[a.Ua]);return e} +function Pw(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ta,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f=this.C&&(this.D=this.C=0,this.fa&=~(Yw|Zw|$w));return c};l.ro=function(a,b,c){v(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.fa|=Yw,this.fa&=~bx,cx(this))};l.Um=function(a,b){var c=this.fa;v(this,a,null,b,"STATUS",c);this.D=a.B.Na?(a.fa=ex,a.se(a.B,function(b){0<=b?(fx(a),a.W&&a.W.ca==xl&&(a.fa=0),a.fa=a.fa|Qw|gx|hx):(a.fa=ix,a.I=jx)},!1)):a.fa=Qw|gx));return d}l.nl=function(a,b){return dx(this,a,b)|dx(this,a,b)<<8}; +function kx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>lx(a.B,c))a.fa=ix,a.I=jx;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&v(a,b,c,d,"DATA["+a.B.Sa+"]"),1=a.B.Na&&(a.fa|=hx))}l.An=function(a,b,c){kx(this,a,b&255,c);kx(this,a,b>>8&255,c)};l.$l=function(a,b){var c=this.I;v(this,a,null,b,"ERROR",c);return c};l.Fn=function(a,b,c){v(this,a,b,c,"WPREC");this.va=b};l.bm=function(a,b){var c=this.J;v(this,a,null,b,"SECCNT",c);return c}; +l.Dn=function(a,b,c){v(this,a,b,c,"SECCNT");this.J=b};l.cm=function(a,b){var c=this.ga;v(this,a,null,b,"SECNUM",c);return c};l.En=function(a,b,c){v(this,a,b,c,"SECNUM");this.ga=b};l.Yl=function(a,b){var c=this.da;v(this,a,null,b,"CYLLO",c);return c};l.zn=function(a,b,c){v(this,a,b,c,"CYLLO");this.da=b};l.Xl=function(a,b){var c=this.aa;v(this,a,null,b,"CYLHI",c);return c};l.yn=function(a,b,c){v(this,a,b,c,"CYLHI");this.aa=b};l.Zl=function(a,b){var c=this.Y;v(this,a,null,b,"DRVHD",c);return c}; +l.Bn=function(a,b,c){v(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&mx?1:0]?this.fa|Qw|gx:this.fa&~Qw};l.dm=function(a,b){var c=this.fa;v(this,a,null,b,"STATUS",c);this.fa&Qw&&(this.fa&=~ex);return c};l.xn=function(a,b,c){v(this,a,b,c,"COMMAND");this.ha=b;this.W&&fh(this.W,14);nx(this)};l.Cn=function(a,b,c){v(this,a,b,c,"FDR");this.L&ox&&!(b&ox)&&(this.I=px);this.L=b}; +function nx(a){var b=!1,c=a.ha,d=a.Y&mx?1:0,e=a.Y&qx,f=a.da|(a.aa&rx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=sx;a.fa=Qw|gx;var k=a.A[d];k?(k.Od=f,k.Xa=e,k.kb=g,k.ub=h*k.Na,c=c>=tx?c:c&ux,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&ux){case vx:b=!0;break;case wx:a.fa=ex;a.se(k,function(b){0<=b&&a.W?(fx(a),a.fa=Qw|gx|hx):(a.fa=ix,a.I=jx)},!1);break;case xx:a.fa=hx;break;case yx:b=!0;break;case zx:b=!0;break;case tx:a.I=px;b=!0;break;case Ax:k.ib=e+1,k.Ya=h,b=!0}b&&fx(a)} +function fx(a){!a.W||a.L&Bx||hh(a.W,14,120)} +function cx(a){a.D=0;var b=Cx(a),c=Cx(a),d=c&32,e=d>>5,f=c&31,g=Cx(a),h=Cx(a),k=g<<2&768|h,m=g&63,p=Cx(a),w=Cx(a),u=a.A[e];u&&(u.Od=k,u.Xa=f,u.kb=m,u.ub=p*u.Na);switch(b){case Dx:Ex(a,u?u.errorCode:Fx);Gx(a,c);Gx(a,g);Gx(a,h);Gx(a,Hx|d);b=-1;break;case ax:for(c=0;0<=(b=Cx(a));)u&&cb?this.se(a,c):c(-1,!1)};l.ml=function(a,b){return void 0!==b&&0<=b?lx(a,b):-1}; +l.Dl=function(a,b){void 0!==b&&0<=b?(a.Salx(a,a.Wi)){a=-1;break a}a.jg++}a.jg>=a.Td&&(b=-1);a=b}else a=-1;return a}; +function Px(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;Jn(a.W,3,a,"dmaRead",b);An(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}function Rx(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;Jn(a.W,3,a,"dmaWrite",b);An(a.W,3,function(a){a||(b.errorCode==Sw&&(b.errorCode=Fx),b.errorCode==Ux&&(b.errorCode=Sw));c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)} +function Tx(a,b,c){b.errorCode=Fx;b.Ee&&b.Ee.length==b.ub||(b.Ee=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Sw,Jn(a.W,3,a,"dmaWriteBuffer",b),An(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)})):c(b.errorCode?Ix:Hx)} +l.se=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Od,a.Xa,a.kb+a.ig,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Vx(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Ux;b(d,k,e,f)}),d;a.errorCode=Ux;b(d,!1,e,f)}return d}; +function lx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Od,a.Xa,a.kb+a.ig,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Ux;b=-1;break}a.Sa=0;Vx(a)}while(1);return b}function Vx(a){a.kb++;var b=1-a.ig;a.kb>=a.Ya+b&&(a.kb=b,a.Xa++,a.Xa>=a.ib&&(a.Xa=0,a.Od++))}l.Vm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128>8||!this.W)||(a=!(this.W.hc[0].od&64));return a?!0:!1}; +var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966, +6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Mw=496,px=1,sx=0,jx=16,rx=3,qx=15,mx=16,ix=1,hx=8,gx=16,Qw=64,ex=128,vx=16,wx=32,xx=48,yx=64,zx= +112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Tm,801:Hw.prototype.Um,802:Hw.prototype.Sm},Iw={496:Hw.prototype.nl,497:Hw.prototype.$l,498:Hw.prototype.bm,499:Hw.prototype.cm,500:Hw.prototype.Yl,501:Hw.prototype.Xl,502:Hw.prototype.Zl,503:Hw.prototype.dm},Lw={800:Hw.prototype.ro,801:Hw.prototype.uo,802:Hw.prototype.to,803:Hw.prototype.so,807:Hw.prototype.hi,811:Hw.prototype.hi, +815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;bthis.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.aa?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b}; +function Xx(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 Yx(a,b,c){var d;if(b){b=Zx(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);ec&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function dy(a,b){if(b)return by(a,b,a.da[b]);var c=0;for(b in a.da)by(a,b,a.da[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function ey(a){Wx.call(this,a);this.oa=4;this.ha=5;this.wa=1048575;this.K=fy(this);this.Ga=fy(this);this.Z=fy(this);this.D=[];this.B=this.Y=this.M=[];gy(this);this.ta=0;hy(this);this.za={};iy(this,a.messages);this.Ca=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return jy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return jy(b,a)})}ba(ey,Wx);l=ey.prototype; +l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.Za=Xb(a,"FDC");this.Ha=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&iy(this,a);this.ha=b.I>>2;this.wa=b.N;this.Ta=new Vd(this.H,7,"DBG");this.ma=ky;80186<=this.H.ca&&(this.ma=ky.slice(),this.ma[15]=ly,80286<=this.H.ca&&(this.ma[15]=my,80386<=this.H.ca&&(this.oa=8)));Al(this,64,function(a){ny(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=oy(d, +b,py),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ha)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=qy[a.type];e&&(c=e[0],b=e[1])}!c||a.jb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.ha)+" limit="+ry(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+ +" dpl="+r(a.qc))}}else d.P("no selector")});Al(this,134217728,function(a){var b;(a=a[0])&&(b=$x(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+ta(b)+")");b;){a=fy(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(sy(0,b)+": '"+String.fromCharCode(c)+"' PID="+ta(e)+" LEN="+ta(k)+' "'+ty(d,a,8)+'"');b+=1+k}});Al(this,128,function(a){ny(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});Al(this,8,function(a){a:{if(a=a[0]){var b=$x(d,a);if(void 0===b){d.P("invalid task selector: "+ +a);break a}a=oy(d,b,py)}else a=d.H.la;d.P("dumpTSS("+ta(a?a.U:b)+"): %"+q(a?a.ua:null,d.ha));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?uy:vy,m,p,w,u;for(u in k)m=k[u],p=a.ua+m,w=yg(d.H,p,2),2304==c&&(w|=yg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=ta(m)+" "+Ba(u+":",11)+q(w,e);if(2304==c)for(u=0,m=w>>>16;mu;)p=a.ua+m,w=yg(d.H,p,2),b+="\n"+ta(m)+" ports "+ta(u)+"-"+ta(u+15)+": "+ra(w,2),u+=16,m+=2;d.P(b)}}});this.F=null;this.Da=0;this.Aa=!1;Sf(this.H,48,this.Ym.bind(this));Sf(this.H,65, +this.Zm.bind(this));this.O=null;Sf(this.H,104,this.$m.bind(this));Jb(this)};function wy(a,b,c,d,e,f){b=ty(a,b);var g=oy(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=xy(a,b,c);e[b+h]=0;aq(a,b,c,d,0,null,g,e)} +function yy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=zy(a,b,4),h=zy(a,b,4),k=fy(a,zy(a,b,4),a.Yc(b,2));b=fy(a,zy(a,b,4),a.Yc(b,2));b=ty(a,b).toUpperCase();var k=ty(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=xy(a,k,e);c[k+m]=g;aq(a,k,e,f,g,null,h,c)}function Ay(a,b,c){c=ty(a,c).toUpperCase();By(a,c,b)} +l.Ym=function(){var a=this.H;if(null!=this.F&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=fy(this,z(a)+12,a.Y.U);switch(zy(this,d)){case 336:yy(this,fy(this,a.G,b),!c,!!this.F)}}return!0}; +l.Zm=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.F)return 79==c&&Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x41 handling enabled",128),a.F=!0):(Mb(a,"INT 0x41 monitoring enabled",128),a.F=!1)}}(this)),!0;switch(c){case 79:this.F&&(b.D=b.D&-65536|62342,Mb(this,"INT 0x41 handling enabled",128));break;case 80:wy(this,fy(this,h,k),d+1,e,!(g&1),!!this.F);break;case 82:By(this,null, +d);break;case 127:this.F&&(b.D=b.D&-65536|(this.Aa?0:1));break;case 131:this.F&&(a=fy(this,b.L,e),this.Da++?(this.P("TRAPFAULT failed"),Cy(this,this.B,a,!0,!0),this.Da=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+ta(d)+" error="+q(b.K,8,!0)+" addr="+Dy(a)),this.Gd(this.B,a,!0),hy(this,!0)));break;case 141:this.F&&(b.D=b.D&-65536|1);break;case 336:yy(this,fy(this,b.G,f),!g,!!this.F);break;case 338:Ay(this,d,fy(this,b.J,f))}this.Aa=!1;return!this.F}; +l.$m=function(a){var b=this.H,c=b.D&255,d=b.D>>8&255,e=b.G&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.oa.U;if(null==this.O){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Tf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Mb(a,"INT 0x68 handling enabled",128),a.F=a.O=!0):(Mb(a,"INT 0x68 monitoring enabled",128),a.O=!1)}}(this))}return!0}switch(d){case 67:this.O&&(b.D=b.D&-65536|62342);break;case 68:this.O&&(a=Xd(b.Z,this.yl.bind(this)))&& +(b.J=a[0],oe(b,a[1]));break;case 72:By(this,null,e);break;case 80:32==c?wy(this,fy(this,h,k),0,f,!0,!!this.O):128>c?wy(this,fy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.O):yy(this,fy(this,h,k),!(c&1),!!this.O),this.O&&(b.D=b.D&-256|1)}return!this.O};l.yl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1}; +l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.qa=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",jy(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A>>0)+1;a.jb=f;a.type=g;a.ext=k;a.Lb=d;Wd(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.xa;if(null==d&&(d=-1,a)){var e=oy(this,a.U,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.xa=d)}return d};l.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=yg(this.H,d,1,a.type==Hy)|0,b&&Iy(this,a,b));return c}; +l.hb=function(a,b){return a.Hb?zy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=yg(this.H,d,2,a.type==Hy)|0,b&&Iy(this,a,b));return c};function zy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=yg(a.H,e,4,b.type==Hy)|0,c&&Iy(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Hy)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].bf(e&f.D,b&255,e)}c&&Iy(this,a,c);d||Cd(this.H,!0)}}; +l.il=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Hy?this.H.fb(d,b):Kc(this.ka,d,b),c&&Iy(this,a,c),Cd(this.H,!0))};function fy(a,b,c,d,e,f,g){return Jy(a,{},b,c,d,e,f,g)}function Jy(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.xa=e;b.type=f||(Fy(a)?py:Gy);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Jd=!1;return b}function Ky(a){return[a.Ja,a.U,a.xa,a.Jd,a.Hb,a.dc,a.Fe,a.bh]}function Ly(a){return{Ja:a[0],U:a[1],xa:a[2],Jd:a[3],Hb:a[4],dc:a[5],Fe:a[6],bh:a[7]}} +function My(a,b,c){if(null!=b.U&&(a=oy(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0f?null!=h?(g=Yx(a,b,void 0),f=null):(f=Yx(a,b,void 0),null==f&&(g=null)):(h=Yx(a,b.substring(0,f),void 0),g=Yx(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=fy(a,g,h,f,c),d||My(a,e,!0)||(a.P("invalid offset: "+Dy(e)),e=null));return e}function Qy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sl=a.Cg(b.Yk=c[2]))}l.Pk=function(a,b){var c=Ny(this,b);return a.replace("["+b+"]",c?q(this.hb(c),c.Hb?8:4):"undefined")}; +function Iy(a,b,c){c=c||1;null!=b.xa&&(b.xa+=c);null!=b.U&&(b.Ja+=c,My(a,b)||(b.Ja=0,b.xa=null))}function sy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Dy(a){var b;switch(a.type){case Gy:case Ry:b="&";break;case py:b="#";break;case Py:b="%";break;case Hy:b="%%";break;default:b=a.U?"":"%"}return a.type>=Py||null==a.U?b+q(a.xa):b+sy(a.Ja,a.U,a.dc)} +function ty(a,b,c){var d="";for(c=c||256;d.length>>a.H.qb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==cd&&(d=td(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=vc[c],c==ed&&(d=d.pd,h+=" -> "+vc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<c&&(c=Ia(Ty,a.substr(b,2))));return c}; +function Uy(a,b){var c=0,d=a.hh(b);if(null!=d)switch(b){case Vy:case Wy:case Xy:case Yy:case Zy:case $y:case az:case bz:c=2;break;case cz:case dz:case ez:case fz:case gz:case hz:case iz:case jz:case kz:case lz+mz:case lz+nz:case lz+oz:case lz+pz:case lz+qz:case lz+rz:c=4;break;case sz:case tz:case uz:case vz:case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:c=8;break;case Fz:c=a.oa}return c?q(d,c):"??"} +l.hh=function(a){var b;if(0<=a){var c=this.H;switch(a){case Vy:b=c.D&255;break;case Wy:b=c.I&255;break;case Xy:b=c.L&255;break;case Yy:b=c.G&255;break;case Zy:b=c.D>>8&255;break;case $y:b=c.I>>8&255;break;case az:b=c.L>>8&255;break;case bz:b=c.G>>8&255;break;case cz:b=c.D&65535;break;case dz:b=c.I&65535;break;case ez:b=c.L&65535;break;case fz:b=c.G&65535;break;case gz:b=z(c)&65535;break;case hz:b=c.M&65535;break;case iz:b=c.K&65535;break;case jz:b=c.J&65535;break;case kz:b=A(c)&65535;break;case Fz:b= +re(c);break;case lz+mz:b=c.oa.U;break;case lz+nz:b=c.Z.U;break;case lz+oz:b=c.Y.U;break;case lz+pz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Az&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case sz:b=c.D;break;case tz:b=c.I;break;case uz:b=c.L;break;case vz:b=c.G;break;case wz:b=z(c);break;case xz:b=c.M;break;case yz:b=c.K;break;case zz:b=c.J;break;case Az:b=c.qa;break;case Bz:b=c.Og;break;case Cz:b=c.Cd;break;case Dz:b=c.Wc;break;case lz+qz:b=c.Ga.U;break;case lz+rz:b=c.Ha.U;break;case Ez:b=A(c)}}}return b}; +function Gz(a,b){b=Zx(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.gh(b,c+1),0<=e&&(b=b.substr(0,c)+Uy(a,e)+b.substr(c+1+Ty[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ny(a,e))?(d=e+' "'+ty(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=Ny(a,e))?(Iy(a,d),d= +e+' "'+ty(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Dy(fy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.va&&a==this.va||(this.va=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.Ve=0,Cd(a)))}; +function Wk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Hz.indexOf(b),!d)){var g=Iz[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Rb[b])&&g[e]||"")&&(g=" "+Gz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+sy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d} +function Nb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.be+"."+(null!=d?"outPort":"inPort")+"("+ta(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+sy(e,h):""))}l.ih=function(){this.P("Type ? for help with PCx86 Debugger commands");Jz(this);if(this.Ca){var a=this.Ca;this.Ca=null;jy(this,a)}}; +function hy(a,b){var c;if(Jg(a)){if(!a.N||!a.N.length){a.N=Array(Kz);for(c=0;c>>f.qb].Gd(e&f.Db,a==this.M);g&&tc(f)}}d&&(a.push(b),c?(null!=b.xa&&(b.U=null),b.Jd=!0):(Rz(this,a,a.length-1,"set"),hy(this)));return d}; +function Cy(a,b,c,d,e){for(var f=!1,g=Sz(a,a.Sb(c)),h=1;h>3&7,F=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=F&&(F=u<<4|g&7);(u=$z[f])&&(w=u[F]);w&&(p=aA,k=w,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=bA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;w="";b.Hb&&(m==cA? +p="CWDE":m==dA?p="CDQ":m>=eA&&m<=fA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,F=!0,K=1;K<=u;K++){var H,I;H="";I=k[K];if(void 0!==I){0>f&&(f=I>>gA);m==hA&&(f==iA?w="[%800]":f==jA&&(w="ES:["+(b.dc?"E":"")+"DI]"));var T=I&kA;if(T!=lA)if(T==mA)F=!1;else{var L=I&nA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!I.dc&&6==za||I.dc&&5==za))xb=2;else{if(I.dc)if(4!=za)za+= +8;else{var ca=L,cb=xb,Sa=I,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=pA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=pA[rc+8],db&&(ib+="*"+(1<>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),I.dc?(L=zy(L,I,4),ca+=q(L)):(L=L.Yc(I,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";H&=kA;H==S&&(H=I.Hb?qA:U);switch(H){case rA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16"; +break}L="WORD";break;case qA:L="DWORD";break;case sA:if(T){L="INT32";break}case tA:L="REAL32";break;case uA:if(T){L="INT64";break}case vA:L="REAL64";break;case wA:L="REAL80";break;case xA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=yA(L,za,H,I);H=ca}else H=L==oA?yA(a,g&7,I,b):yA(a,g>>3&7,I,b);else if(L==zA)H="1";else if(L==W){H=a;T=I;L=b;I=" ";switch(T&kA){case V:T&X&&(I=q(H.Ia(L,1),2));break;case AA:I=q(H.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){I=q(zy(H,L,4));break}case U:I=q(H.Yc(L,2),4);break; +case rA:L=fy(H,H.hb(L,!0),H.Yc(L,2),null,L.type,L.Hb,L.dc);I=Dy(L);H=BA(H,L);H[0]&&(I+=" ("+H[0]+")");break;default:I="imm("+ta(T)+")"}H=I}else L==CA?(b.dc?(H=8,I=zy(a,b,4)):(H=4,I=a.Yc(b,2)),H="["+q(I,H)+"]"):L==DA?(H=T==V?a.Ia(b,1)<<24>>24:a.hb(b,!0),I=b.Ja+H&(b.Hb?-1:65535),H=q(I,b.Hb?8:4),I=BA(a,fy(a,I,b.U)),I[0]&&(H+=" ("+I[0]+")")):L==Y?H=T==EA?"ST":T==FA?"ST("+(g&7)+")":yA(a,(I&GA)>>8,I,b):L==HA?H=yA(a,(I&GA)>>8,IA,b):L==JA?H="DS:[SI]":L==KA&&(H="ES:[DI]");if(!H||!H.length){w="INVALID";break}0< +w.length&&(w+=",");w+=H||"???"}}}g="";k=Dy(e)+" ";if(-1!==e.xa&&-1!==b.xa){do if(g+=q(a.Ia(e,1),2),null==e.xa)break;while(e.xa!=b.xa)}k+=Ba(g,e.dc?24:16);k+=Ba(p,8);w&&(k+=" "+w);a.H.carz||b>=qz&&80386>a.H.ca)return"??";b+=lz}else if(e==NA)b+=Az;else if(e==OA)b+=PA;else if(e==QA)b+=RA;else if(a=c&kA,a>=U&&(b=cz&&b<=jz&&4a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+UA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=UA(a,a.H.Ga,b)+" "+UA(a,a.H.Ha,b)+"\n");c+=VA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+VA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+VA(a,"ID", +null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+TA(a,Az);80386<=a.H.ca&&(c+=TA(a,Cz)+TA(a,Dz))}else 80386<=a.H.ca&&(c+=UA(a,a.H.Ga,b)+" "+UA(a,a.H.Ha,b)+" ");return c+=TA(a,Fz)+SA(a,"V")+SA(a,"D")+SA(a,"I")+SA(a,"T")+SA(a,"S")+SA(a,"Z")+SA(a,"A")+SA(a,"P")+SA(a,"C")}l.gj=function(a,b){return a[0]>b[0]?1:a[0]>>0,p],H=Ea(F,u,a.gj);0>H&&F.splice(-(H+1),0,u)}K&&(w.a=K.replace(/''/g,'"'))}a.D.push({Rf:b,pn:c,U:d,Ja:e,xa:f,en:g,Fd:h,Pi:m})} +function By(a,b,c){for(var d=0;d>>0,f=a.Sb(b)>>>0,g=0;g>>0,p=h.xa;null!=p&&(p>>>=0);var w=h.en;48==k&&(k=40);if(k==b.U&&e>=m&&e=p&&fc?(a.P("out of data at address "+Dy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Cd(a.H, +!0);a.P(m+" bytes read at "+b)}else a.P("sector "+e+" request out of range");else a.P("drive "+d+" not loaded");else a.P("invalid drive: "+d)}else a.P("disk controller not present")}}else a.P("load commands:"),a.P("\tl [address] [drive #] [sector #] [# sectors]")} +function Nz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1f;f++){var g=c,e=null;if(f=a.oa&&(h=null);switch(h){case "AL":a.H.D= +a.H.D&-256|g&255;break;case "AH":a.H.D=a.H.D&-65281|g<<8&255;break;case "AX":a.H.D=a.H.D&-65536|g&65535;break;case "BL":a.H.G=a.H.G&-256|g&255;break;case "BH":a.H.G=a.H.G&-65281|g<<8&255;break;case "BX":a.H.G=a.H.G&-65536|g&65535;break;case "CL":a.H.I=a.H.I&-256|g&255;break;case "CH":a.H.I=a.H.I&-65281|g<<8&255;break;case "CX":a.H.I=a.H.I&-65536|g&65535;break;case "DL":a.H.L=a.H.L&-256|g&255;break;case "DH":a.H.L=a.H.L&-65281|g<<8&255;break;case "DX":a.H.L=a.H.L&-65536|g&65535;break;case "SP":he(a.H, +z(a.H)&-65536|g&65535);break;case "BP":a.H.M=a.H.M&-65536|g&65535;break;case "SI":a.H.K=a.H.K&-65536|g&65535;break;case "DI":a.H.J=a.H.J&-65536|g&65535;break;case "DS":ne(a.H,g);break;case "ES":oe(a.H,g);break;case "SS":ge(a.H,g);break;case "CS":Zf(a.H,g);a.K=fy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.K=fy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":se(a.H,g);break;case "C":g?kg(a.H):lg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.O|=4):(e=a.H,e.resultType&=-3,e.O&=-5);break;case "A":g? +ug(a.H):qg(a.H);break;case "Z":g?vg(a.H):rg(a.H);break;case "S":g?(e=a.H,e.resultType&=-17,e.O|=128):(e=a.H,e.resultType&=-17,e.O&=-129);break;case "I":g?(e=a.H,e.O|=512):(e=a.H,e.O&=-513);break;case "D":g?(e=a.H,e.O|=1024):(e=a.H,e.O&=-1025);break;case "V":g?mg(a.H):ng(a.H);break;default:var k=!0;if(80286<=a.H.ca)switch(k=!1,h){case "MS":wg(a.H,g);break;case "TR":-1===a.H.la.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.H.ca)switch(k=!1,h){case "EAX":a.H.D=g;break;case "EBX":a.H.G=g;break;case "ECX":a.H.I= +g;break;case "EDX":a.H.L=g;break;case "ESP":he(a.H,g);break;case "EBP":a.H.M=g;break;case "ESI":a.H.K=g;break;case "EDI":a.H.J=g;break;case "FS":a.H.Ga.load(g);break;case "GS":a.H.Ha.load(g);break;case "CR0":a.H.qa=g;bk.call(a.H,g);break;case "CR2":a.H.Cd=g;break;case "CR3":a.H.Wc=g;ue.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Cd(a.H);a.P("updated registers:")}}a.P(WA(a,d));c&&(a.K=fy(a,A(a.H),a.H.Z.U),Oz(a,Dy(a.K)))}} +function dB(a,b){b=Ca(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Gz(a,c[2])):Yx(a,b,!0)}function eB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.P(m)}h[3]&&(g=h[3],f=null);f=Vz(a,b,g,f);b.bh||d||d++;a.P(f);a.K=b;e-=b.xa-k;c++}}} +l.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b}; +function Uz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.aa&&(a.P("ended assemble at "+Dy(a.Z)),a.K=a.Z,a.aa=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.va=null;if(Ib(a)&&0p||"z">>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.lb=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.lb.Nd(Qa.Jk);Qa.Kk=(Ng&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.mb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.mb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Ng&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Ng),ve=ve+(" %%"+Sy(nf.Ti,nf.Aj)),ve= +ve+(" %%"+Sy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";bB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var tt=a.za[xb];tt?(ca.shift(),ca.shift(),tt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.eb||"db")}else a.eb=za;if("dh"==za){var ut=cb,vt=Sa,wt="",xt=0,Mc=a.la,jd=a.N;if(jd.length){var uc=+ut||a.Ma,Og=+vt||10;isNaN(uc)?uc=Og:wt="more ";uc>jd.length&&(a.P("note: only "+ +jd.length+" available"),uc=jd.length);Mc-=uc;0>Mc&&(null==jd[jd.length-1].U?(uc=Mc+uc,Mc=0):Mc+=jd.length);var rm=[];"call"==vt&&(Og=1E5,rm=["CALL"]);for(void 0!==ut&&a.P(uc+" instructions earlier:");0=jd.length&&(Mc=0);a.Ma=uc;xt++;Og--}}xt||(a.P("no "+wt+"history available"),a.Ma= +void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Qg=$x(a,sm);if(void 0===Qg||0>Qg||255>>0,65536>4||1;ZB--&&0Wi?String.fromCharCode(Wi):".";Vi--}Rg&&(Rg+="\n");Rg+=cb+" "+um+(Tg?"":" "+Dt)}Rg&&a.P(Rg);a.Ga=pf}}}}}break;case "e":if("else"==g[0])break;var Xi= +1,Et=255,Ft=a.Ia,Gt=a.fc;"ew"==g[0]&&(Xi=2,Et=65535,Ft=a.Yc,Gt=a.il);var Ht=Xi<<1,It=g[1];if(null==It)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Yi=Ny(a,It);if(Yi)for(var Zi=2;ZiAm;){for(var kd=null,dC=256;Sd.Ja>>>0>>0;){Wg.Ja=a.hb(Sd,!0);if(null==Sd.xa||!dC--)break;Wg.U=Kt;if(kd=eB(a,Wg))break;Wg.U=a.hb(Sd);if(kd=eB(a,Wg,!0)){Kt=a.hb(Sd,!0);0\nLicense: GPL version 3 or later ");for(b=0;bBB){if(d.load(this.L)){this.F=new Xf(this,"1.34.2",LB);this.F.load()&&(MB(this,d),a=NB,OB(this.F));this.F.set(IB,Fa());PB(this.F);var e=this.A&&!this.I;if(a==JB||sb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=HB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= +g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ta(QB,""),this.B=null)):this.P(f+": "+g),OB(d),d.load()?(c=HB(d),e=!0):c=!1))}e&&FB(this,c?d:null)}else a==NB&&d.clear()}else FB(this);delete this.L;delete this.M}e=tb(this.id);for(f=0;fa[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(RB(this,this.H,b,c,a),this.H.lf());this.Y&&(MB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0}; +function MB(a,b){if(sb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.34.2"};d.url=a.da;d.user=c;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} +function gB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Xf(a,"1.34.2"),g=new Xf(a,"1.34.2",GB),h=Fa();g.set(IB,h);f.set(IB,h);f.set(SB,"1.34.2");f.set(TB,window?window.location.href:null);f.set(UB,Na());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k>>b.A;d=d+e-1>>>b.A;c.ah=0;for(c.Hd=0;f<=d;)e=b.aa[f],c.ah+=e.size,e.size&&(c.Rg.push(Ga(cc,f,0,0,e.type)),c.Hd++),f++;a.A=c;a.da=a.A.Hd*a.ka.B/(bc*lc);d=0;a.A.$i=0;a.A.kf||(a.A.kf=[]);e=-1;b=0;for(var g=-1,c=0;c>1),g=f.y+(f.A>>1),h=f.A,f.Nc>1,b.I+=(b.J>>1)-2,ic(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else ic(a,"This space intentionally left blank");a.context.drawImage(a.K,0,0,a.K.width,a.K.height,a.Ga,a.Ma,a.ya,a.Aa);a.oa=!1}}var LB="failsafe",GB="validate",IB="timestamp",SB="version",TB="url",UB="browser",QB="user",KB=-1,BB=0,JB=1,NB=2,WB=3; +ab(function(){for(var a=Ab(document,"pcx86-machine"),b=0;bf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PCx86$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);mC(a,b,c)}})}else c(a,null)} +function nC(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ab(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ya(a))}function f(a){e("Error: "+a);k&&(--jC||jb(!0));k=!1}var g,h,k=!0;jC++;qb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));p.appendChild(w)}c|| +(c="/versions/pcx86/1.34.2/components.xsl");m=function(d,h){h?kC(c,null,null,!1,e,function(d,k){k?(pb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jC||jb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jC||jb(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kC(b,a,d,!0,e,m):lC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function oC(a,b,c,d){jb(!1);return nC(a,b,c,d)}window.embedPC=oC;window.embedPCx86=oC;window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Cb[a]){for(var c=!0,d=Cb,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=w.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=va(m)}else"xsl"==w&&(e=m=va(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g, +"©"),a=Xa(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n')+"...\n",a=a+(' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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; + clear:both; + position:; + position:relative; + text-align:; + float:left; + + + + + + + + + + + + + + + + + + +
    + + + font-size:; + + + + + -label + + + + width:; + width:; + + + + + + + + text-align:right; + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + ; + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8088 + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + + null + + + + + + 0 + + + + + + + -1 + + + + + + + -1 + + + + + + + -1 + + + + + + ,model:'',stepping:'',fpu:,cycles:,multiplier:,autoStart:,addrReset:,csStart:,csInterval:,csStop: + + + + + + + + + + + + + + + 8087 + + + + + + + + + + + + ,model:'',stepping:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + {} + + + + + + + + + + + + + + + + + chipset + ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + device + ,type:'',baudReceive:,baudTransmit:,autoMount:'' + + + + + + + + + + + + + + + + + + + + keyboard + ,model:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + parallel + ,adapter:,binding:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + + + false + + + + + serial + ,adapter:,baudReceive:,baudTransmit:,binding:'',tabSize:,charBOL:,upperCase: + + + + + + + + + + + + + + + + + + + + mouse + ,serial:'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fdc + ,autoMount:'',sortBy:'' + + + + + + + + + + + + + + + + + + + + + xt + + + + + hdc + ,drives:'',type:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + null + + + + + + + + + + + + + + + + + rom + ,addr:,size:,alias:,file:'',notify:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + null + + + + + + null + + + + + + true + + + + + ram + ,addr:,size:,file:'',load:,exec:,test: + + + + + + + + + + + + + + + + + + + + + null + + + + + + + 256 + + + + + + + 224 + + + + + + + black + + + + + + 0 + + + + + + 0 + + + + + + false + + + + + + 1bpp + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + 0 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + false + + + + + + 1 + + + + + + 1 + + + + + + + 80 + + + + + + + 25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + 0 + + + + + + null + + + + + + 0 + + + + + + 60 + + + + + video + ,model:'',mode:,screenWidth:,screenHeight:,screenColor:'',screenRotate:,bufferAddr:,bufferRAM:,bufferFormat:'',bufferCols:,bufferRows:,bufferBits:,bufferLeft:,bufferRotate:,memory:,switches:'',scale:,cellWidth:,cellHeight:,charCols:,charRows:,fontROM:'',fontColor:'',touchScreen:'',autoLock:,aspectRatio:,smoothing:,interruptRate:,refreshRate: + + + + + + + + + + + + + + + 16 + + + + + + + + + + + + + + + + + debugger + ,base:,commands:'',messages:'' + + + + + + + + + + + + + + panel + + + + + + + + + + + + + + + + + + + + + true + + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + computer + ,autoPower:,busWidth:,resume:'',state:'' + + + + + + + + diff --git a/versions/pdpjs/1.34.2/document.css b/versions/pdpjs/1.34.2/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/pdpjs/1.34.2/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/pdpjs/1.34.2/document.xsl b/versions/pdpjs/1.34.2/document.xsl new file mode 100644 index 000000000..0dea8b280 --- /dev/null +++ b/versions/pdpjs/1.34.2/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/pdpjs/1.34.2/machine.xsl b/versions/pdpjs/1.34.2/machine.xsl new file mode 100644 index 000000000..1d259bd83 --- /dev/null +++ b/versions/pdpjs/1.34.2/machine.xsl @@ -0,0 +1,61 @@ + + + + +]> + + + + + + + + + + + + + + + + + js + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pdpjs/1.34.2/manifest.xsl b/versions/pdpjs/1.34.2/manifest.xsl new file mode 100644 index 000000000..d46551031 --- /dev/null +++ b/versions/pdpjs/1.34.2/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/pdpjs/1.34.2/outline.xsl b/versions/pdpjs/1.34.2/outline.xsl new file mode 100644 index 000000000..4c7bdf2fb --- /dev/null +++ b/versions/pdpjs/1.34.2/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/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js new file mode 100644 index 000000000..cc8225f4b --- /dev/null +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -0,0 +1,225 @@ +(function(){/* + http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/int36.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/serial.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 + http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 +*/ +var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++} +function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var ja=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81, +Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,vb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,sb:127}; +function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} +function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Da(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} +function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Aa=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, +set:this.Qb};E(this)}p(Sb,v);l=Sb.prototype;l.reset=function(a){this.stop();a&&Ub(this,this.v=0)}; +l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.g&&this.g.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Xb(this);Yb(this)};l.pa=function(a,b){if(!b)if(this.W&&Zb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.i,this.v,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])$b(this,this.i=a[0]),Ub(this,this.v=a[1]),ac(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Yb(this);return!0};function bc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xb(a,b){for(var c in a.B)bc(a,c,null!=b?b:a.B[c])}function jc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Yb(a){for(var b in a.b)jc(a,b,a.b[b][1])} +l.yb=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return ac(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,jc(this,a,c[1]),!0):!1};l.Rb=function(a){return Vb(this,a)?(Wb(this,a),!0):!1};function Vb(a,b){var c=a.b[b];return c?(jc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=kc&&(a.P=b==lc,a.R=b==mc),!0):!1} +function Wb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.J||(this.g.u=this.i%Kb,this.b[nc]&&this.b[nc][1]&&oc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.V()}; +l.Ab=function(a){if(!a&&!this.g.j.J)if(this.b[nc]&&this.b[nc][1])oc(this.g);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),pc(a,0,null),Gb(a,!1);else try{var b=this.g.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.i;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Bc(Cc,e,g)}e=new xc(a,e,m,16384,d);yc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Dc[d]+" at "+pa(b)),!0):Bc(Ec,b,c)} +function vc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.H(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=sd(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(sd(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.G);a.G=0;a.B=rb();a.L=0;ud(a);return d}function xd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} +l.Ob=function(){if(this.j.J){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.G+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.J)}catch(e){this.V();this.C&&this.C.stop(rb(),sd(this));Cb(this, +e.stack||e.message);return}if(this.j.J){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.G/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; +function oc(a,b){if(!Db(a))if(a.j.J)a.f(a.toString()+" busy");else{td(a);a.j.J=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,sd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.J){zd(this);rc(this,this.G);this.G=0;this.j.J=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),sd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; +function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.J&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.F=this.Kb;this.K=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; +l.save=function(){var a=new H(this);a.set(0,[this.i,this.P,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.O,this.W,this.j.Z]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].F(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].K(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.F(this.i)&8388607:(this.za=this.F(this.qa=this.u))&8388607;this.i=this.P&262143; +if(a=this.P>>18&15)this.i=this.i+this.F(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){this.b(a)}function Jd(a){this.b(a)} +function Kd(a){var b=a&15,c=this.F(this.i),d=this.F(b);this.K(b,Ld(a,d,c)+(c-(c&262143)))}function Md(a){var b=a&15,c=this.F(b);this.K(b,Ld(a,c,0))}function Nd(a){var b=this.F(a&15),c=this.F(this.i);this.K(this.i,Ld(a,c,b)+(b-(b&262143)))}function Od(a){var b=this.F(this.i);this.K(this.i,Pd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Pd(a,b,b)))}function Qd(a){var b=a&15,c=(this.F(this.i)&262143)*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)} +function Rd(a){var b=a&15,c=this.i*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)}function Sd(a){var b=(this.F(a&15)&262143)*F,c=this.F(this.i);this.K(this.i,Ld(a,c,b)+b)}function Td(a){var b=this.F(this.i),c=(b&262143)*F;this.K(this.i,Ld(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=(b&262143)*F,this.K(d,Ld(a,b,c)+c))}function Ud(a){var b=a&15,c=this.F(this.i)&262143,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function Wd(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,this.i)+this.i)} +function Xd(a){var b=this.F(a&15)&262143,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)}function Yd(a){var b=this.F(this.i);this.K(this.i,Zd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Zd(a,b,b)))}function $d(a){var b=a&15,c=this.F(this.i)/F|0,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function ae(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,0))}function be(a){var b=this.F(a&15)/F|0,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)} +function ce(a){var b=this.F(this.i),c=b/F|0;this.K(this.i,Vd(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=b/F|0,this.K(d,Vd(a,b,c)+c))}function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Zd(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*F;break;case 384:b+=c>Nb?262143*F:0}return b} +function Ld(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b}function Pd(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Ob?262143:0}return b} +var Hd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,Jd,Jd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.F(a);this.K(a,this.F(this.i));this.K(this.i,b)},function(a){a=this.F(a&15);var b= +a/F|0;for(a&=262143;;){this.K(a,this.F(b));if(a==this.i)break;b=b+1&262143;a=a+1&262143}},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Kd,Md,Nd,Od,Qd,Rd, +Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 de(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.G=qa(this.v);if(this.v){a=this.v;var b=ra(this.G);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ee(c)})}}p(de,v); +de.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ee(this)};de.prototype.pa=function(){this.T&&(this.A&&fe(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};de.prototype.fa=function(){return!0}; +function ee(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){var c;for(c=0;c>>g.i;0>>= +g.i;0>>a.i;0f&&f>=ma&&(f+=ja);f=Math.trunc(Math.abs(f))%ja;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)}; +l.ob=function(a){if(!this.b){var b=Tc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ob(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} +function ne(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} +function P(a,b,c){var d;if(b){b=oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function se(a,b){if(b)return re(a,b,a.W[b]);var c=0;for(b in a.W)re(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function te(a){le.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.G=[];this.b=this.M=this.I=[];ue(this);this.R=this.ka=0;this.i=[];this.sa=void 0;ve(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];we(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, +a)})}p(te,le);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function xe(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ye(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ze(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=me(a,c.Oa=b[4]));return c}l=te.prototype; +l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&we(this,a);Ae(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.F(b)),0<=d&&(xe(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} +function Oe(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Pe)if(f=Pe[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=vf;m=n&3;break;case 32256:k=xf;m=n&7;break;case 29248:k=yf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>zf&&(k="B");k=Af[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Ce(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Ce(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+sd(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.ra=0;a.ka=0} +l.Ba=function(a,b,c){var d=!0;c||Bf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.I)}}d&&(a.push(b),c?b.ea=!0:(Cf(this,a,a.length-1,"set"),ve(this)));return d};function Bf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.I));h.ea||ve(a);break}}return g} +function Df(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);xe(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Ff(a,Ee)+Ff(a,Fe)+Ff(a,Ge)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({$c:b,w:c,zb:d,T:e,hb:g})}function Hf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Oe(a,b,f,g));e-=b.w-k;c++}}} +function Ef(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ke+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"zf&&(ad="B");if(ng==Af[Te]+ad){Se=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=($c|Se<<6)*Pb;break}}if(0<= +x)break}if(0<=x)break}if(0<=x)if(Qe)for(var bd=Qe.split(","),fb=0;fbD||127D||15D||262143< +D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var gd=[];"call"==Ze&&(hb=1E5,gd=["CALL"]);for(void 0!==Ye&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;af++;hb--}}af||(a.f("no "+$e+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,df="ds"==Ma;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||qg,ta=pe(a,ka);else{var ef=T(a,ka);ef&&(ta=ef.w-Pa.w)}0>ta&&(ta=0);65536jf;jf++)gf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=df?ua+(va+","):ua+(W+": "+va+(0>hf?" "+gf:""))}ua&&a.f(ua);a.ba=sg}}}}break;case "e":if("else"==f[0])break;var kf,lf,mf=f[0],jd=f[1];"e"==mf||"ew"==mf?(kf=a.wa,lf=a.$a):jd=null;if(null==jd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,jd,a.ja);if(fc)for(var gc=2;gcnd;){for(var wa=null,wg=256;65536>kb.w>>>0;){od.w=a.wa(kb,2);if(null==kb.w||!wg--)break;if(!(od.w&1)){for(var xg=a,hc=od,of=null,lb=hc.w,pf=lb,pd=1;6>=pd&&lb;pd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bTf){if(Uf(d,this.M)){this.B=new H(this,"1.34.2",cg);Uf(this.B)&&(dg(this,d),a=eg,fg(this.B));this.B.set($f,Ea());gg(this.B);var e=this.b&&!this.L;if(a==ag||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Zf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Uf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(hg,""),this.i=null)):this.f(g+": "+f),fg(d),Uf(d)?(c=Zf(d),e=!0):c=!1))}e&&Xf(this,c?d:null)}else a==eg&&d.clear()}else Xf(this);delete this.M;delete this.I}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(ig(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&(dg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function dg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Nf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Yf),h=Ea();f.set($f,h);g.set($f,h);g.set(jg,"1.34.2");g.set(kg,window?window.location.href:null);g.set(lg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.J),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.J?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.g.j.J;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Ig(a,b,c)}})}else c(a,null)} +function Jg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Fg||cb(!0));m=!1}var h,k,m=!0;Fg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Gg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Fg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Fg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Gg(c,b,a,e,!0,g,n):Hg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Jg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Jg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={yb:0,Ra:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Ja:8,Gb:9,Sa:10,Hb:11,Ib:12,Ta:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81, +hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127}; +function la(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function ta(){function a(a){return(10>a?"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 w(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(x(d.H[0]),d=null):(x("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.u=this.f=this.m=this.o=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.u=this.f=this.m=this.o=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, +set:this.rb};K(this)}n(Za,B);k=Za.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)}; +k.U=function(a,b,c,d){if(this.o&&this.o.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.o=a;this.m=b;this.f=c;this.u=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),N(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} +k.$a=function(a,b,c){if(ab(this,b)){if(c){var d=this;setTimeout(function(){bb(d,b);a&&a()},+c);return!1}bb(this,b)}return!0}; +k.rb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);N(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.s=!0,cb(this,!0)):(this.s=!1,cb(this),gb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.b(c,b&16383,b);a.h--} +function vb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Pb(a)&&(a.da=a.ea=-1,Ob(a),P(a),c=!0);c&&a.K(Pb(a)+" cycles: checksum="+t(a.na))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}pb(a,a.s);a.s=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ub(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} +k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Ub(this,!0);this.ca+=b;this.s+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.o&&Q(this.o,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); +this.o&&this.o.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.s/(10*d))/100,864E5<=d&&(this.I=0,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; +function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Pb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.s);a.s=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(D(),Pb(a));b=!0;a.u||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; +function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.l=this.lb;this.v=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.h=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].v(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ha||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.u.h(this.h,b)){P(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.h))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ua;this.M&4194304?a=-1:(this.h=(this.h+1)%Ta,a=this.qa/Ya|0);0<=a&&this.Wa(a)}while(0< +this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){this.a(a)}function ac(a){this.a(a)}function bc(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.v(b,V(a,d,c)+(c-(c&262143)))}function cc(a){var b=a&15,c=this.l(b);this.v(b,V(a,c,0))} +function dc(a){var b=this.l(a&15),c=this.l(this.b);this.v(this.b,V(a,c,b)+(b-(b&262143)))}function ec(a){var b=this.l(this.b);this.v(this.b,fc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,fc(a,b,b)))}function gc(a){var b=a&15,c=(this.l(this.b)&262143)*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function hc(a){var b=a&15,c=this.b*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function ic(a){var b=(this.l(a&15)&262143)*M,c=this.l(this.b);this.v(this.b,V(a,c,b)+b)} +function jc(a){var b=this.l(this.b),c=(b&262143)*M;this.v(this.b,V(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=(b&262143)*M,this.v(d,V(a,b,c)+c))}function kc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.v(b,W(a,d,c)+c)}function lc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,this.b)+this.b)}function mc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function nc(a){var b=this.l(this.b);this.v(this.b,oc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,oc(a,b,b)))} +function pc(a){var b=a&15,c=this.l(this.b)/M|0,d=this.l(b);this.v(b,W(a,d,c)+c)}function qc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,0))}function rc(a){var b=this.l(a&15)/M|0,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function sc(a){var b=this.l(this.b),c=b/M|0;this.v(this.b,W(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=b/M|0,this.v(d,W(a,b,c)+c))}function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.h=(this.h+-1)%Ta;P(this)} +function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*M;break;case 384:b=c>Wa?262143*M:0}return b}function oc(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*M;break;case 384:b+=c>Wa?262143*M:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Xa?262143:0}return b}function fc(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Xa?262143:0}return b} +var Zb=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,ac,ac,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.v(a,this.l(this.b));this.v(this.b,b)},function(a){a=this.l(a&15);var b= +a/M|0;for(a&=262143;;){this.v(a,this.l(b));if(a==this.b)break;b=b+1&262143;a=a+1&262143}},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},bc,cc,dc,ec,gc,hc, +ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; +function tc(a){B.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.s=na(this.h);if(this.h){a=this.h;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);uc(c)})}}n(tc,B); +tc.prototype.Z=function(a,b,c,d){this.m=b;this.f=c;this.u=d;uc(this)};tc.prototype.V=function(){this.N&&(this.u&&this.u.a(this.id,this.j,this.g,this.N),delete this.N);return!0};tc.prototype.P=function(){return!0}; +function uc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.m)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.j;if(wb(a.m,b,a.g,Eb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.o=a;this.m=b;this.f=c;this.u=d;K(this)}; +k.Qa=function(a){if(!this.a){var b=S(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bCc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Lc);Z(this.j)&&(Mc(this,d),a=Nc,Oc(this.j));this.j.set(Ic,ta());Pc(this.j);var e=this.a&&!this.C;if(a==Jc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Hc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Qc,""),this.b=null)):this.K(f+": "+g),Oc(d),Z(d)?(c=Hc(d),e=!0):c=!1))}e&&Fc(this,c?d:null)}else a==Nc&&d.clear()}else Fc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Rc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Mc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; +function Mc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} +function Sc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Gc),h=ta();g.set(Ic,h);f.set(Ic,h);f.set(Tc,"1.34.2");f.set(Uc,window?window.location.href:null);f.set(Vc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.u&&a.u.j||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.h:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);cd(a,b,c)}})}else c(a,null)} +function dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--$c||A(!0));p=!1}var h,l,p=!0;$c++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ka=document.createElement("style");ka.type="text/css";ka.styleSheet?ka.styleSheet.cssText=r:ka.appendChild(document.createTextNode(r));v.appendChild(ka)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ad(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--$c||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$c|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ad(c,b,a,e,!0,f,r):bd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ed){g(ed.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;ra?-b:b}});ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c":62,"?":63,"@":64,Jd:65,wi:66,Ci:67,cj:68,E:69,ij:70,lj:71,xj:72,zj:73,Aj:74,Bj:75,Cj:76,Fj:77,Hj:78,Nj:79,Qj:80,Q:81,Sj:82,Vj:83,dk:84,fk:85,hk:86,ik:87,mk:88,nk:89,xf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pk:97,rk:98,uk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Ck:106,k:107,Dk:108,Ek:109,n:110,Fk:111,p:112,q:113,r:114,Gk:115,t:116,Jk:117,Kk:118,Lk:119,x:120, +y:121,z:122,"{":123,"|":124,"}":125,"~":126,cc:127}; +function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){var d="";b?32>=1,f--;return d} +function u(a,b,c){b?12"']/g,function(a){return xa[a]})}function ya(a,b){return(a+" ").slice(0,b)}function za(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +var xa={"&":"&","<":"<",">":">",'"':""","'":"'"},Aa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};function Ba(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a>1,k;k=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())} +function Ea(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function Fa(a,b){var c,d={Z:null,ga:null,ya:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ya=g.load;d.xa=g.exec;if(e=g.bytes)d.Z=e;else if(e=g.words)for(d.Z=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Z=Array(4*e.length),f=c=0;c>8&255,d.Z[f++]=e[c]>>16&255,d.Z[f++]=e[c]>>24&255;else(e=g.data)?d.qk=e:d.Z=g;d.Z&&(d.Z.length?1==d.Z.length&&(w(d.Z[0]),d=null):(w("Empty resource: "+a),d=null));d.ga=g.symbols}catch(k){w("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,wd:!1,ba:!1,error:!1};this.Nc=null;this.A.error=!1;this.ha=c||0;this.D=this.f=this.F=this.J=this.Ta=null;db.push(this)}function eb(a,b,c){fb[a]&&b&&(fb[a][b]=c)}function gb(){return Date.now()||+new Date} +function w(a){window&&window.alert(a)}function hb(a){var b=!1;window&&(b=window.confirm(a));return b}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Sf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.Hf,toggle:this.lh, +reset:this.gh,set:this.kh};C(this)}p(Sb,x);function Ub(a,b){return Vb(a,a.Eb=b)}h=Sb.prototype;h.reset=function(a){this.stop();a&&Ub(this,0)}; +h.va=function(a,b,c,d){if(this.J&&this.J.va(a,b,c,d)||this.f&&this.f.va(a,b,c,d)||this.D&&this.D.va(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.H[b]=c,this.u++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.i[b]=d?1:0,this.u++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a, +b){return function(){Wb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Xb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Wb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Xb(a,b)}}(this,b),!0):x.prototype.va.call(this,a,b,c,d)}};h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;dc(b,this,ec);fc(b,this.reset.bind(this));gc(this);hc(this)}; +h.Ca=function(a,b){if(!b)if(this.M&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,[this.fa,this.Eb,this.Wa]);return a.data()};h.restore=function(a){if(a=a[0])jc(this,this.fa=a[0]),Ub(this,a[1]),kc(this,a[2]);return!0};h.gh=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"} +function gc(a,b){for(var c in a.i)lc(a,c,null!=b?b:a.i[c])}function mc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}function nc(a,b,c,d){if(a.H[b]){var e=a.D&&a.D.Aa||8;c=c||0;c=8==e?u(c,d):v(c,d);a.H[b].textContent!=c&&(a.H[b].textContent=c)}}h.Hf=function(a,b,c){if(Wb(this,b)){if(c){var d=this;setTimeout(function(){Xb(d,b);a&&a()},+c);return!1}Xb(this,b)}return!0}; +h.kh=function(a,b){if("SR"==a)return kc(this,ma(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};h.lh=function(a){return Wb(this,a)?(Xb(this,a),!0):!1};function Wb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.G=b==pc,a.I=b==qc),!0):!1}function Xb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +h.Tf=function(a){a||this.f.A.V||(rc(this.f,this.fa),a=this.f,a.F.reset(),sc(a),this.b[tc]&&this.b[tc][1]&&uc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.ca()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[tc]&&this.b[tc][1])uc(this.f);else{if((a=this.D)&&!Eb(a,!0))Fb(a,!0),vc(a,0,null),Fb(a,!1);else try{var b=this.f.Cc(1);0=a.f.ka?8:16,c=65472<=a.fa&&a.fa<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[oc]&&a.b[oc][1]||(b=-b);jc(a,a.fa&~c|a.fa+b&c)}function jc(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Ec(a,"A"+c,b&1<c;c++)Ec(a,"D"+c,b&1<b;b++)a.b["S"+b][1]=a.Wa&1<>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.yf=[Ic,Jc,Kc,Wc];this.b=this.u=[];this.B=this.L=this.w=this.O=this.P=0;a=new I(this);Xc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b>>this.g;this.L=0;this.w=this.I;C(this)}p(Gc,x);function $c(a,b){if(b!=a.L){for(var c=0;c>>a.g,a.u[a.P]=a.b[a.O])}}h=Gc.prototype;h.reset=function(){for(var a=0;a>>a.g;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Xb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Xb){n=l.size-(f-m);n>g&&(n=g);l.Xb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return bd(cd,f,g)}f=new I(a,f,n,a.j,d,e);Xc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+dd[d]+" at "+u(b)),!0):bd(ed,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Db(a&this.i,a)}; +h.Bc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].oa(b,a):this.u[c++].Db(b,a)|this.u[c&this.S].Db(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Gb(a&this.i,b,a)};h.ac=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Hb(c,b,a):(this.u[d++].Gb(c,b&255,a),this.u[d&this.S].Gb(0,b>>8&255,a+1))};function fd(a,b){return a.b[(b&a.I)>>>a.g]} +function Cc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=fd(a,b);Lb||d!=a.i?c=e.B(d,b):c=e.J(d,b)|fd(a,b+1).J(0,b+1)<<8;a.na--;return c}function gd(a,b,c){a.C=!1;a.na++;fd(a,b).F(b&a.i,c&255,b);a.na--}function Ac(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=fd(a,b);Lb||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),fd(a,b+1).F(0,c>>8&255,b+1));a.na--} +function ad(a){for(var b=0,c=[],d=0;da.f.ka)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var q=g[4],t=g[5]||1,r=0;r>8:e[2](f)&255):f&1&&(e=d.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} +function Jc(a,b,c){var d=!1,e=this.controller,f=e.Pa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Pa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f, +b),!0,!e.na))}function Kc(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} +function Wc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={gb:128,Hd:-1}}p(L,x);h=L.prototype; +h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Hd=md(c,function(){e.b.gb|=128;e.b.gb&64&&nd(e.f,e.b.Qa);e.J&&H(e.J,1);od(e.f,e.b.Hd,1E3/60)});this.b.Qa=pd(c,64,6,2097152);dc(b,this,qd);fc(b,this.reset.bind(this));d&&rd(d,64,function(a){var b=e.f;sd(e,"KIPDR",b.B[0],0,a[0]);sd(e,"KDPDR",b.B[0],8,a[0]);sd(e,"KIPAR",b.M[0],0,a[0]);sd(e,"KDPAR",b.M[0],8,a[0],!0);sd(e,"SIPDR",b.B[1],0,a[0]);sd(e,"SDPDR",b.B[1],8,a[0]);sd(e,"SIPAR",b.M[1],0,a[0]);sd(e,"SDPAR",b.M[1],8,a[0], +!0);sd(e,"UIPDR",b.B[3],0,a[0]);sd(e,"UDPDR",b.B[3],8,a[0]);sd(e,"UIPAR",b.M[3],0,a[0]);sd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&sd(e,"UNIMAP",b.Ha,-1,a[0])});C(this)};function sd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.mi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[c]&-65536|a&65534};h.Pg=function(a){return this.f.B[1][a>>1&7]};h.fi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Ng=function(a){return this.f.B[1][(a>>1&7)+8]};h.di=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Og=function(a){return this.f.M[1][a>>1&7]}; +h.ei=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Mg=function(a){return this.f.M[1][(a>>1&7)+8]};h.ci=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.eg=function(a){return this.f.B[0][a>>1&7]};h.xh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.cg=function(a){return this.f.B[0][(a>>1&7)+8]};h.vh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.f.M[0][a>>1&7]};h.wh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295}; +h.bg=function(a){return this.f.M[0][(a>>1&7)+8]};h.uh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Vg=function(a){return this.f.B[3][a>>1&7]};h.li=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Tg=function(a){return this.f.B[3][(a>>1&7)+8]};h.ji=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ug=function(a){return this.f.M[3][a>>1&7]};h.ki=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sg=function(a){return this.f.M[3][(a>>1&7)+8]}; +h.ii=function(a,b){b=(b>>1&7)+8;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Vb=function(a){a&=7;return this.f.w&2048?this.f.ta[a]:this.f.g[a]};h.Zb=function(a,b){b&=7;this.f.w&2048?this.f.ta[b]=a:this.f.g[b]=a};h.rg=function(){return this.f.w&49152?this.f.X[0]:this.f.g[6]};h.Ih=function(a){this.f.w&49152?this.f.X[0]=a:this.f.g[6]=a};h.ug=function(){return this.f.g[7]};h.Lh=function(a){this.f.g[7]=a};h.Wb=function(a){a&=7;return this.f.w&2048?this.f.g[a]:this.f.ta[a]}; +h.$b=function(a,b){b&=7;this.f.w&2048?this.f.g[b]=a:this.f.ta[b]=a};h.sg=function(){return 1==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[1]};h.Jh=function(a){1==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[1]=a};h.tg=function(){return 3==(this.f.w&49152)>>14?this.f.g[6]:this.f.X[3]};h.Kh=function(a){3==(this.f.w&49152)>>14?this.f.g[6]=a:this.f.X[3]=a};h.ag=function(a){return this.f.xc[a-65504>>1]};h.th=function(a,b){this.f.xc[b-65504>>1]=a};h.xe=function(a){return 65520==a?(hd(this.F)>>6)-1:0}; +h.Ce=function(){};h.Rg=function(){return 1};h.hi=function(){};h.$f=function(){return this.f.P};h.sh=function(){this.f.P=0};h.gg=function(){return this.f.uc};h.zh=function(a,b){b&1||(a&=255);this.f.uc=a};h.lg=function(a,b){return b?0:this.f.ob};h.Ch=function(a){zd(this.f,a)};h.Qg=function(a,b){return b?0:this.f.Ga&65280};h.gi=function(a){this.f.Ga=a|255};h.qg=function(){return Ad(this.f)};h.Hh=function(a){Bd(this.f,a)};h.Be=function(a,b){E(this)&&F(this,"writeIgnored("+u(b)+"): "+u(a),!0,!0)}; +var M={},qd=(M[61568]=[null,null,L.prototype.Wg,L.prototype.mi,"UNIMAP",64,1170],M[62592]=[null,null,L.prototype.Pg,L.prototype.fi,"SIPDR",8,1145,64],M[62608]=[null,null,L.prototype.Ng,L.prototype.di,"SDPDR",8,1145,64],M[62624]=[null,null,L.prototype.Og,L.prototype.ei,"SIPAR",8,1145,64],M[62640]=[null,null,L.prototype.Mg,L.prototype.ci,"SDPAR",8,1145,64],M[62656]=[null,null,L.prototype.eg,L.prototype.xh,"KIPDR",8,1140,64],M[62672]=[null,null,L.prototype.cg,L.prototype.vh,"KDPDR",8,1145,64],M[62688]= +[null,null,L.prototype.dg,L.prototype.wh,"KIPAR",8,1140,64],M[62704]=[null,null,L.prototype.bg,L.prototype.uh,"KDPAR",8,1145,64],M[62798]=[null,null,L.prototype.kg,L.prototype.Bh,"MMR3",1,1145,64],M[65382]=[null,null,L.prototype.fg,L.prototype.yh,"LKS"],M[65402]=[null,null,L.prototype.hg,L.prototype.Ah,"MMR0",1,1140,64],M[65404]=[null,null,L.prototype.ig,L.prototype.Be,"MMR1",1,1145,64],M[65406]=[null,null,L.prototype.jg,L.prototype.Be,"MMR2",1,1140,64],M[65408]=[null,null,L.prototype.Vg,L.prototype.li, +"UIPDR",8,1140,64],M[65424]=[null,null,L.prototype.Tg,L.prototype.ji,"UDPDR",8,1145,64],M[65440]=[null,null,L.prototype.Ug,L.prototype.ki,"UIPAR",8,1140,64],M[65456]=[null,null,L.prototype.Sg,L.prototype.ii,"UDPAR",8,1145,64],M[65472]=[null,null,L.prototype.Vb,L.prototype.Zb,"R0SET0"],M[65473]=[null,null,L.prototype.Vb,L.prototype.Zb,"R1SET0"],M[65474]=[null,null,L.prototype.Vb,L.prototype.Zb,"R2SET0"],M[65475]=[null,null,L.prototype.Vb,L.prototype.Zb,"R3SET0"],M[65476]=[null,null,L.prototype.Vb, +L.prototype.Zb,"R4SET0"],M[65477]=[null,null,L.prototype.Vb,L.prototype.Zb,"R5SET0"],M[65478]=[null,null,L.prototype.rg,L.prototype.Ih,"R6KERNEL"],M[65479]=[null,null,L.prototype.ug,L.prototype.Lh,"R7KERNEL"],M[65480]=[null,null,L.prototype.Wb,L.prototype.$b,"R0SET1",1,1145],M[65481]=[null,null,L.prototype.Wb,L.prototype.$b,"R1SET1",1,1145],M[65482]=[null,null,L.prototype.Wb,L.prototype.$b,"R2SET1",1,1145],M[65483]=[null,null,L.prototype.Wb,L.prototype.$b,"R3SET1",1,1145],M[65484]=[null,null,L.prototype.Wb, +L.prototype.$b,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Wb,L.prototype.$b,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.sg,L.prototype.Jh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.tg,L.prototype.Kh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.ag,L.prototype.th,"CTRL",8,1170],M[65520]=[null,null,L.prototype.xe,L.prototype.Ce,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.xe,L.prototype.Ce,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Rg,L.prototype.hi,"SYSID",1,1170],M[65526]= +[null,null,L.prototype.$f,L.prototype.sh,"ERR",1,1170],M[65528]=[null,null,L.prototype.gg,L.prototype.zh,"MBR",1,1170],M[65530]=[null,null,L.prototype.lg,L.prototype.Ch,"PIR"],M[65532]=[null,null,L.prototype.Qg,L.prototype.gi,"SLR"],M[65534]=[null,null,L.prototype.qg,L.prototype.Hh,"PSW"],M); +Sa(function(){for(var a=z(document,y,"device"),b=0;b>1),this.b=new Int32Array(this.u,0,this.size>>2),Jd(this,Kd?Td:Ud);else{a=this.b=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.Yf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.bh=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);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}; +h.qh=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.fb=!0};h.Wf=function(a,b){this.f&&null!=this.K&&ae(this.f,this.K+a);return this.J(a,b)};h.Yg=function(a,b){this.f&&null!=this.K&&ae(this.f,this.K+a,2);return this.B(a,b)}; +h.oh=function(a,b,c){this.f&&null!=this.K&&be(this.f,this.K+a);this.j?this.Yb(0,b,c):this.F(a,b,c)};h.oi=function(a,b,c){this.f&&null!=this.K&&be(this.f,this.K+a,2);this.j?this.Yb(0,b,c):this.C(a,b,c)};h.Vf=function(a){return this.g[a]};h.Xf=function(a,b){a=this.g[a];this.f&&E(this.f,32)&&F(this.f,"Memory.readByte("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.Xg=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);return this.w.getUint16(a,!0)}; +h.ah=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);a=!Lb&&a&1?this.g[a]|this.g[a+1]<<8:this.G[a>>1];this.f&&E(this.f,32)&&F(this.f,"Memory.readWord("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.nh=function(a,b){this.g[a]=b;this.fb=!0};h.ph=function(a,b,c){this.g[a]=b;this.fb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0)};h.ni=function(a,b,c){Kb&&a&1&&this.D.Na(c,64,4);this.w.setUint16(a,b,!0);this.fb=!0}; +h.pi=function(a,b,c){Kb&&a&1&&this.D.Na(c,64,4);!Lb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.fb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Hd=0,id=1,Id=2,Zc=4,dd=["NONE","RAM","ROM","VID","H/W"],Gd=0,Wd=[],Vd=[I.prototype.Yf,I.prototype.qh,I.prototype.bh,I.prototype.ri],Zd=[I.prototype.Wf,I.prototype.oh,I.prototype.Yg,I.prototype.oi]; +if(Gb)var Ud=[I.prototype.Vf,I.prototype.nh,I.prototype.Xg,I.prototype.ni],Td=[I.prototype.Xf,I.prototype.ph,I.prototype.ah,I.prototype.pi];var ce;if(Gb){var de=new ArrayBuffer(2);(new DataView(de)).setUint16(0,256,!0);ce=256===(new Uint16Array(de))[0]}else ce=!1;var Kd=ce; +function ee(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.$c=0;this.Xc=b;this.mb=c;this.ld=Math.round(this.Xc/1E4)/100;this.xb=this.ld*this.mb;this.md=this.qc=this.Ab=this.Yc=0;this.A.V=this.A.Sc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Nb=!1;this.oc=this.Qb=0;this.pc=+a.csStart;this.Ob=+a.csInterval;this.Rb=+a.csStop;this.ia=[];this.Zd=this.hh.bind(this);this.nb=this.Ka=this.lb=this.b=this.la=this.Ja=this.nc=this.kb=this.Sb= +this.nd=this.wb=0;this.sa=null;C(this)}p(ee,x);h=ee.prototype;h.za=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a=a.Qb&&(a.Qb+=a.Ob,c=!0);0<=a.Rb&&a.Rb<=me(a)&&(a.Ob=a.Rb=-1,ie(a),a.ca(),c=!0);c&&a.v(me(a)+" cycles: checksum="+v(a.oc))}} +h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ba)a=!0;else{var b=null,c,k=ib(a.id);for(c=0;ca.wb/a.xb?b=1:d=!0;a.mb=b;b=a.ld*a.mb;if(a.xb!=b){a.xb=b;b=a.xb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&qe(a.J)}xc(a,a.Ka);a.Ka=0;a.Ja=gb();a.kb=0;oe(a);return d}function md(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function od(a,b,c,d){0<=b&&ba.ia[b][0])&&(c=a.Xc*a.mb/1E3*c|0,a.A.V&&(c+=re(a)),a.ia[b][0]=c)} +function se(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function te(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function re(a,b){var c=a.lb-=a.b;a.b=a.la=0;b&&(a.lb=0);return c} +h.hh=function(){if(this.A.V){this.Yc>=this.Xc&&oe(this,!0);this.Sb=0;this.nc=gb();if(this.kb){var a=this.nc-this.kb;a>this.md&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=se(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=re(this,!0);this.Sb+=b;this.Ka+=b;yc(this,b);wc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.nd>=ue&&(this.J&&H(this.J,void 0),this.nd=0);break}}while(this.A.V)}catch(e){this.ca();this.J&&this.J.stop(gb(),me(this)); +wb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=gb();var c=this.md;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,ne(this)));if(0>c||this.wbc&&(this.Ja-=c),c=0;this.Yc+=this.Sb;this.kb+=c;a(b,c)}}}; +function uc(a,b){if(!Cb(a))if(a.A.V)a.v(a.toString()+" busy");else{ne(a);a.A.V=!0;a.A.Sc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&qe(a.J,!0),a.J.start(a.Ja,me(a)));a.D||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.ca=function(a){var b=!1;if(this.A.V){re(this);xc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(gb(),me(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pe=30,ue=15,fe=["power","reset"]; +function ve(a){var b=+a.model||1170;ee.call(this,a,6666667);this.ka=b;this.Td=+a.addrReset||0;this.bb=this.w=this.N=this.C=this.G=this.L=this.I=0;this.g=this.ta=this.X=[];this.M=this.B=this.Ha=this.xc=[];this.ib=this.O=this.Sd=this.yb=this.zb=this.rb=this.jb=this.P=this.uc=this.ob=this.Ga=this.S=this.vc=this.wc=this.W=this.i=0;this.Wd=[4,2,0,1];this.zc=0;this.Yd=255;1120>=this.ka?(this.be=we.bind(this),this.Lb=this.Cf,this.zc=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=xe.bind(this),this.Lb=this.Df, +this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140e.Fb&&(e.Fb=c,c+=4)}return ee.prototype.Ca.call(this,a,b)}; +h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.ca();this.C=65536;this.G=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Td,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.X=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535, +65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ha=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.xc=[0,0,0,0,0,0,0,0];this.N=0;this.bb=-1;this.u=this.j=this.Wc=this.U=this.Y=this.i=this.uc=0;sc(this);he(this);this.A.error=!1;ee.prototype.reset.call(this)};function sc(a){a.S=0;a.vc=0;a.wc=0;a.W=0;a.P=0;a.ob=0;a.Ga=255;a.yb=0;a.zb=0;a.rb=0;a.jb=262143;a.ib=a.g[7];a.O=0;a.R=null;a.F&&(ye(a),a.Sd=hd(a.F))} +function ye(a){a.jc=a.ad;a.kc=a.cd;a.Tc=a.dd;a.lc=a.jd;a.sc&&(a.jc=a.pe,a.kc=a.te);a.tc&&(a.Tc=a.ze,a.lc=a.Ae);a.yb?(a.Ia=65536,a.ub=a.W&16?4186112:253952,a.Fa=a.se,a.oa=a.sc?a.$g:a.Ed,a.Hb=a.tc?a.ti:a.Id,$c(a.F,a.W&16?22:18)):(a.Ia=0,a.ub=57344,a.Fa=a.Gf,a.oa=a.sc?a.Zg:a.ye,a.Hb=a.tc?a.si:a.De,$c(a.F,16))}function ud(a){var b=a.S;b&57344||(b=b&-3199|a.zb<<5|a.rb<<1);return b} +function vd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.vc=a.O>>16&65535,a.wc=a.O&65535);a.S=b;a.zb=(b&96)>>5;a.rb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.yb!=c&&(a.yb=c,ye(a))}}function wd(a){a.S&57344||(a.vc=a.O>>16&65535);a=a.vc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function xd(a){a.S&57344||(a.wc=a.O&65535);return a.wc}function yd(a,b){1170>a.ka&&(b&=-49);a.W!=b&&(a.W=b,a.jb=b&16?4194303:262143,ye(a))} +function ze(a,b,c,d){a.Td=b;rc(a,b);Bd(a,0);a.F.reset();sc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ba?a.A.V||uc(a):a.A.qa=!0}else a.D&&a.A.ba?a.ca()||a.J.A.reset||(je(a.D),H(a.J,-1)):!1===c&&a.ca();!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0}; +h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.X,this.M,this.B,this.Ha,this.xc,this.P,this.uc,this.ob,this.Ga,this.zb,this.rb,this.ib,this.i,this.O,this.bb,this.Ac,this.Dc]);a.set(1,[Ad(this),ud(this),wd(this),xd(this),this.W]);a.set(2,[this.nb,this.mb,this.A.qa]);a.set(3,Ae(this));a.set(4,te(this));return a.data()}; +h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.X=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ha=b.next().value;this.xc=b.next().value;this.P=b.next().value;this.uc=b.next().value;this.ob=b.next().value;this.Ga=b.next().value;this.zb=b.next().value;this.rb=b.next().value;this.ib=b.next().value;this.i=b.next().value;this.O=b.next().value;this.bb=b.next().value;this.Ac=b.next().value;this.Dc=b.next().value;b=a[1];Bd(this,b[0]);vd(this,b[1]); +this.vc=b[2];this.wc=b[3];yd(this,b[4]);b=a[2];this.nb=b[0];ne(this,b[1]);this.A.qa=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.b-=2);a.b-=3}function rc(a,b){a.g[7]=b&65535}function pd(a,b,c,d){b={Fb:b,pb:c,message:d||0,name:Qb[b],next:null};a.mc.push(b);return b}function He(a,b){var c=a.R;if(c==b)a.R=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.R&&(a.i|=1)} +function nd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.pb<=b.pb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.pb<=b.pb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&E(a,b.message|8)&&F(a,"setIRQ(vector="+u(b.Fb)+",priority="+b.pb+")",!0,!0)}}function td(a,b){b&&(He(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Fb)+",priority="+b.pb+")",!0,!0))}function Ae(a){var b=[];for(a=a.R;a;)b.push(a.Fb),a=a.next;return b} +function Ie(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function Ad(a){return a.w=a.w&63728|Ee(a)|De(a)|Ce(a)|Be(a)}function Bd(a,b){b&=a.fe;a.I=b<<12;a.L=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.ee)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function zd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.ob=b} +h.Da=function(a){this.I=this.L=a;this.G=0};h.qb=function(a,b){this.I=this.L=this.C=a;this.G=b||0};function Je(a,b){a.I=a.L=a.C=b;a.G=a.I^a.C>>1}function Ke(a,b,c,d){a.I=a.L=a.C=b;a.G=(c^d)&(d^b)} +h.ra=function(a,b,c){if(!this.pa){0>this.bb?this.bb=Ad(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ia),e=this.oa(a+2&65535|this.Ia);Bd(this,e&-12289|this.bb>>2&12288);Le(this,this.bb);Le(this,this.g[7]);rc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.bb=-1;this.Ac=c;this.Dc=a;-1==c&&this.ca();if(-4<=c)throw a;}}; +function Me(a){var b=Ne(a),c=Ne(a);a.w&49152&&(c=c&-225|a.w&63712);rc(a,b);Bd(a,c);a.i&=-17}function Oe(a,b){var c=b>>13&31;31>c&&(b=a.W&32?a.Ha[c]+(b&8191)&4194303:b&-3932161);return b} +function Pe(a,b,c){var d=[];if(c){c=Oe(a,b);var e=b>>13&31;d.push(c);d.push(e);a.W&32&&(d.push(a.Ha[e]),d.push(b&8191))}else if(a.yb){var e=a.N<<1,f=b>>13;7>13;a.W&a.Wd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.jb;3932160<=f&&(f=Oe(a,f));if(a.pa)return f;f>=a.Sd&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +(g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.jb)||a.N)a.zb=a.N,a.rb=d;g&&(g&57344&&(0<=a.bb&&(g|=128),a.S&57344||(g|=a.S&4096|a.zb<<5|a.rb<<1,vd(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(f<(4191360&a.jb)||f>(4194239&a.jb))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Ne(a){var b=a.oa(a.g[6]|a.Ia);a.g[6]=a.g[6]+2&65535;return b}function Le(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Lb(4,-2,c);a.Hb(c,b)} +function Qe(a,b,c,d){var e,f,g=d&8?0:a.Ia;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Lb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Lb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.oa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Lb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.oa(e)|g;a.b-=8;break;case 6:return e=a.oa(Fe(a,2)),e=e+a.g[c]&65535,6==c&&a.Lb(d, +0,e),a.b-=6,e|g;case 7:return e=a.oa(Fe(a,2)),e=e+a.g[c]&65535,e=a.oa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cf=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Df=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ae(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&ae(this.D,a,2);return this.cd(a)}; +h.ze=function(a,b){this.D&&be(this.D,a,1);this.dd(a,b)};h.Ae=function(a,b){this.D&&be(this.D,a,2);this.jd(a,b)};function Dc(a,b){a.pa++;b=a.F.Bc(Bc(a,b,2));a.pa--;return b}function Re(a,b){(b?--a.tc:--a.sc)||ye(a)}h.Gf=function(a,b,c){return Qe(this,a,b,c)};h.se=function(a,b,c){return Bc(this,Qe(this,a,b,c),c)};h.ye=function(a){return this.F.Bc(this.ib=a)};h.Zg=function(a){this.D&&ae(this.D,a,2);return this.ye(a)};h.Ed=function(a){return this.F.Bc(this.ib=Bc(this,a,2))}; +h.$g=function(a){this.D&&ae(this.D,a,2);return this.Ed(a)};h.De=function(a,b){this.F.ac(this.ib=a,b)};h.si=function(a,b){this.D&&be(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.ac(this.ib=Bc(this,a,4),b)};h.ti=function(a,b){this.D&&be(this.D,a,2);this.Id(a,b)};function Se(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Qe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ia),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c} +function Te(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Qe(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Bc(a,e|c&65536,4),a.N=a.w>>14&3,a.lc(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ue(a,b){b>>=6;var c=a.Y=b&7;return(b=a.U=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c+a.zc]&a.Yd}function Ve(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.U=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d+a.zc];return c}function We(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Qe(a,b,c,8)} +function Xe(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c]&255}function Ye(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d];return c}function Ze(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Wc=a.Fa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Tc(e,d.call(a,c,a.jc(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} +function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,6),a.lc(e,d.call(a,0>c?a.g[-c-1]:c,a.kc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function $e(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Fa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Tc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} +function af(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))} +h.Cc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(cf(this.D,this.g[7],c)){this.ca();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i& +1&&this.i++;if(a){if(this.i&4&&cf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}if(this.i&112&&Ie(this)){if(this.i&4&&cf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.be(f)}while(0>1|b<<16;Je(this,a);return a&65535}function Ef(a,b){a=b&128|b>>1|b<<8;Je(this,a<<8);return a&255}function Ff(a,b){a=b&~a;this.Da(a);return a}function Gf(a,b){a=b&~a;this.Da(a<<8);return a} +function Hf(a,b){a|=b;this.Da(a);return a}function If(a,b){a|=b;this.Da(a<<8);return a}function Jf(a,b){a=~b|65536;this.qb(a);return a&65535}function Kf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Lf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Mf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Nf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Of(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255} +function Pf(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Qf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Rf(a,b){a=b<<1|this.C>>16&1;Je(this,a);return a&65535}function Sf(a,b){a=b<<1|this.C>>16&1;Je(this,a<<8);return a&255}function Tf(a,b){a=(this.C&65536|b)>>1|b<<16;Je(this,a);return a&65535}function Uf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Je(this,a<<8);return a&255}function Vf(a,b){var c=b-a;Ke(this,c,a,b);return c&65535} +function Wf(a,b){var c=b-a;Ke(this,c<<8,a<<8,b<<8);return c&255}function Xf(a,b){this.I=this.L=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function Yf(a,b){a^=b;this.Da(a);return a&65535}function Zf(a){P(this,a,Ve(this,a),df);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} +function $f(a){var b=Ye(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.C=this.G=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.G=32768)}this.g[a]=c&65535;this.I=this.L=c;this.b-=(this.u?6:7)+b} +function ag(a){var b=Ye(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&=63;if(b&32){b=64-b;32>b-1;this.C=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.g[a|1]=d&65535;this.I=d>>16;this.L=d>>16|d;this.b-=(this.u?6:7)+b}function bg(a){Ge(this,a,!Be(this))}function cg(a){Ge(this,a,Be(this))} +function dg(a){P(this,a,Ve(this,a),Ff);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function eg(a){Ze(this,a,Ue(this,a),Gf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function fg(a){P(this,a,Ve(this,a),Hf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function gg(a){Ze(this,a,Ue(this,a),If);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)} +function hg(a){var b=Ve(this,a);a=Ye(this,a);this.Da((0>b?this.g[-b-1]:b)&a);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function ig(a){var b=Ue(this,a);a=Xe(this,a);this.Da(((0>b?this.g[-b-1]&255:b)&a)<<8);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function jg(a){Ge(this,a,De(this))}function kg(a){Ge(this,a,!Ee(this)==!Ce(this))}function lg(a){Ge(this,a,!De(this)&&!Ee(this)==!Ce(this))}function mg(a){Ge(this,a,!Be(this)&&!De(this))} +function ng(a){Ge(this,a,De(this)||!Ee(this)!=!Ce(this))}function og(a){Ge(this,a,Be(this)||De(this))}function pg(a){Ge(this,a,!Ee(this)!=!Ce(this))}function qg(a){Ge(this,a,Ee(this))}function rg(a){Ge(this,a,!De(this))}function sg(a){Ge(this,a,!Ee(this))}function tg(){this.ra(12,0,-9)}function ug(a){Ge(this,a,!0)}function vg(a){Ge(this,a,!Ce(this))}function wg(a){Ge(this,a,Ce(this))}function xg(a){a&1&&(this.C=0);a&2&&(this.G=0);a&4&&(this.L=1);a&8&&(this.I=0);this.b-=5} +function yg(a){var b=Ve(this,a);a=Ye(this,a);var c=(b=0>b?this.g[-b-1]:b)-a;Ke(this,c,a,b);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)}function zg(a){var b=Ue(this,a);a=Xe(this,a);var c=(b=(0>b?this.g[-b-1]&255:b)<<8)-(a<<=8);Ke(this,c,a,b);this.b-=this.u?4+(this.Y&&6<=this.j?1:0):(this.U?4:3)+(7==this.j?2:0)} +function Ag(a){var b=Ye(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.C=this.G=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.L=d>>16|d,this.I=d>>16):(this.G=32768,this.L=d>>15|d,this.I=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.b-=53}else this.L=this.I=0,this.G=32768,this.C=65536,this.b-=7}function Bg(){this.ra(24,0,-9);this.b-=20} +function Cg(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ka&&this.sa.setData(this.g[0],!0),this.D?Dg(this.D):this.ca());this.b-=7}function Eg(){this.ra(16,0,-9);this.b-=20}var Fg=[0,7,7,10,7,11,9,13];function Gg(a){this.la=this.b;rc(this,We(this,a));this.b=this.la-Fg[this.u]}var Hg=[0,14,14,17,14,18,16,20];function Ig(a){this.la=this.b;var b=We(this,a);a=a>>6&7;Le(this,this.g[a]);this.g[a]=this.g[7];rc(this,b);this.b=this.la-Hg[this.u]} +var Jg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Kg(a){var b=Ve(this,a);this.la=this.b;af(this,a,b,this.Da);this.b=this.la-Jg[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Lg(a){var b=Ue(this,a);$e(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Mg=[7,13,13,17,14,18,17,21]; +function Ng(a){var b=Ye(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.G=0;this.C=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)rc(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Ug(a){P(this,a,Ve(this,a),Vf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function Vg(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Wg(){this.ra(28,0,-9)} +function Xg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Fe(this,-2);this.b-=3}function Yg(a){P(this,a,this.g[(a>>6&7)+this.zc],Yf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Dg(b)):b=!1;b||this.ra(8,0,-9)}function we(a){Zg[a>>12].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)} +function fh(a){gh[a&15].call(this,a)}function hh(a){ih[a&15].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}function lh(a){mh[a>>6&3].call(this,a)}function nh(a){oh[a>>6&3].call(this,a)} +var Zg=[function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,Q,function(a){qh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],ph=[function(a){rh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,Q,Q,Q],ah=[function(a){af(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],ch=[function(a){P(this,a,0,Pf); +this.b-=this.u?11:6},function(a){P(this,a,Be(this)?1:0,df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Be(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ye(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],eh=[function(a){P(this,a,0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Bf);this.b-=this.u?9:3+(7==this.j?2:0)}],rh= +[function(a){sh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,Q,fh,hh,Vg,Vg,Vg,Vg],sh=[Cg,Xg,Rg,tg,Eg,Pg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],gh=[Og,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},xg,function(){this.L=1;this.b-=5},xg,xg,xg,function(){this.I=0;this.b-=5},xg,xg,xg,xg,xg,xg,xg],ih=[Og,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Sg,function(){this.L=0;this.b-=5},Sg,Sg,Sg,function(){this.I=32768;this.b-=5},Sg,Sg,Sg,Sg,Sg,Sg,Sg],qh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh, +nh,Q,Q,Q],kh=[function(a){$e(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)}],mh=[function(a){Ze(this,a,0,Qf);this.b-=this.u?11:6},function(a){Ze(this,a,Be(this)?1:0,ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,Be(this)?1:0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this, +a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],oh=[function(a){Ze(this,a,0,Uf);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Ef);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)}];function xe(a){th[a>>12].call(this,a)} +var th=[function(a){uh[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,function(a){vh[a>>8&15].call(this,a)},function(a){wh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],uh=[function(a){xh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,function(a){yh[a>>6&3].call(this,a)},Q,Q],yh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ia);rc(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Se(this,a,0);this.Da(a);Le(this,a);this.b-=11},function(a){var b=Ne(this); +this.la=this.b;this.Da(b);Te(this,a,0,b);this.b=this.la-Mg[this.u]},function(a){af(this,a,Ee(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],xh=[function(a){zh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,function(a){!(a&8)||1145>this.ka?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},fh,hh,Vg,Vg,Vg,Vg],zh=[Cg,Xg,function(){Me(this);this.i|=this.w&16;this.b-=13},tg,Eg,Pg,Rg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],vh=[Ng,Ng,Ag,Ag,$f,$f,ag,ag, +Yg,Yg,Q,Q,Q,Q,Tg,Tg],wh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,nh,function(a){1145>this.ka?Q.call(this,a):Ah[a>>6&3].call(this,a)},Q,Q],Ah=[function(a){Q.call(this,a)},function(a){a=Se(this,a,65536);this.Da(a);Le(this,a);this.b-=11},function(a){var b=Ne(this);this.la=this.b;this.Da(b);Te(this,a,65536,b);this.b=this.la-Mg[this.u]},function(a){Q.call(this,a)}]; +function Bh(a){x.call(this,"ROM",a,128);this.ga=this.g=null;this.u=+a.addr;this.b=+a.size;this.w=!1;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.j=a.file;this.B=ta(this.j);if(this.j){a=this.j;var b=ua(this.B);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.T("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(eb(c.vb,a,b),(a=Fa(a,b))?(c.g=a.Z,c.ga=a.ga):c.j=null);Ch(c)})}}p(Bh,x); +h=Bh.prototype;h.za=function(a,b,c,d){this.F=b;this.f=c;this.D=d;Ch(this)};h.Ca=function(){this.ga&&(this.D&&Dh(this.D,this.id,this.u,this.b,this.ga),delete this.ga);return!0};h.Ba=function(){return!0}; +function Ch(a){if(!Db(a)){if(a.j){if(!a.g||!a.F)return;a.b||(a.b=a.g.length);if(a.g.length!=a.b)wb(a,"ROM size ("+v(a.g.length,8,!0)+") does not match specified size ("+v(a.b,8,!0)+")");else{var b;a:{b=a.u;if(57344<=b&&b<57344+Hc){var c={},c=(c[b]=[Bh.prototype.Jg,Bh.prototype.$h,null,null,null,a.b>>1],c);if(dc(a.F,a,c)){a.status("Added "+a.b+"-byte ROM at "+u(b));b=a.w=!0;break a}}else if(Yc(a.F,b,a.b,Id)){for(c=0;c>>f.g;0>>=f.g;0>>a.g;0=b.length){F(a,"invalid block at offset "+ra(n),4096);break}for(var l=l+2,q=b[l++]&255|(b[l++]&255)<<8,t=b[l++]&255|(b[l++]&255)<<8,m=m+((q&255)+(q>>8)+(t&255)+(t>>8)),r=l,D=q-=6;0=b.length){F(a,"insufficient data for block at offset "+ra(n),4096); +break}m+=b[l++]&255;if(m&255){F(a,"invalid checksum ("+v(m,2,!0)+") for block at offset "+ra(n),4096);break}if(D)for(F(a,"loading "+ra(D)+" bytes at "+ra(t)+"-"+ra(t+D),4096);D--;)gd(a.F,t++,b[r++]&255);else t&1?g=!0:null==d&&(d=t),null!=d&&F(a,"starting address: "+ra(d),4096);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e=la.Jd&&c<=la.xf&&(b=c-(la.Jd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Oc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Oc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Oc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; +h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=pd(this.f,this.M?-1:48,4,1048576);this.R=md(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),od(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&nd(c,e.P))});this.N=pd(this.f,this.M?-1:52,4,1048576);this.X=md(this.f,function(){e.g|=128;e.g&64&&nd(c,e.N)});dc(b,this,Kh,this.M?64832+8*(this.M-1)-65392:0);fc(b,this.reset.bind(this)); +C(this)};h.ue=function(a){if(!this.j){var b=ge(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=za(c[0]);if(d!=this.Mb)return;c=za(c[1]);if(this.j=mb(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.vb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; +h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Lh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Lh(this,a[0])};function Lh(a,b){b||(b=[0,8192,128,a.i]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0} +h.Oc=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=ya("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==a||1024<=this.w.length)this.v(this.w), +this.w="";10!=a&&(this.w+=String.fromCharCode(a))}od(this.f,this.X,1E3/Math.round(this.Y/10));this.g&=-129};var Jh="buffer",Mh={},Kh=(Mh[65392]=[null,null,Ih.prototype.wg,Ih.prototype.Nh,"RCSR"],Mh[65394]=[null,null,Ih.prototype.vg,Ih.prototype.Mh,"RBUF"],Mh[65396]=[null,null,Ih.prototype.eh,Ih.prototype.vi,"XCSR"],Mh[65398]=[null,null,Ih.prototype.dh,Ih.prototype.ui,"XBUF"],Mh);Sa(function(){for(var a=z(document,y,"serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.H[b]=c,!0;case "readTape":e=Qh;case "loadTape":return e||(e=Rh),this.H[b]=c,c.onclick= +function(){var a=d.H.listTapes;a&&Sh(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.H[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;Sh(d,ta(b,!0),b,Rh,a)}return!1};return!0;case Th:return this.H[b]=c,!0}return!1}; +h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;this.I=Uh(a);var e=this;if(a=Nh(this,ge(this.J,"autoMount")))for(var f in a)"PTR"==f&&(this.N[f]=a[f]);this.G=pd(this.f,56,4,4096);this.S=md(this.f,function(){1!=(e.b&32769)||e.b&128||(e.ic.indexOf("/api/v1/dump")&&(e=ua(c),f="json"==e||"gz"==e?encodeURI(c):Ga()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ea(f,null,!0,function(e,f,g){var k=0>g&&!!a.J&&!a.J.A.ba;g?a.T('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(eb(a.vb,e,f),(e=Fa(e,f))&&ei(a,b,c,d, +e.Z,e.ya,e.xa));a.A.eb=!1;a.g&&(a.g--,a.g||C(a));bi(a)})}function Xh(a,b,c,d){if((a=a.H.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.aa);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ua(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):va(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.zd?"":e)+"&format=json"));return!!Ea(f, +null,!0,function(b,c,d){mi(a,b,c,d)})} +function mi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ba;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{eb(a.controller.vb,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(k.length)if(1==k.length)w(k[0]);else{a.aa=k.length;a.ja=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,D=t.length;D>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.j)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.La?f=a.Va+a.La&&(a.La+=f-(a.Va+a.La)+1):(a.Va=f,a.La=1);d[f]=d[f]&~(255<g)break;e|=g<=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Xa+": "+c);return b}; +h.toJSON=function(){var a;a=0;for(var b;b=oi(this,a++);)qi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function qi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var ii=0;function ri(a,b,c,d,e,f){x.call(this,a,b,c);this.N=si(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Zc;this.g=Array(this.P);this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Bd,selectDrive:this.ih,wait:this.mh}}p(ri,x); +function si(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=ri.prototype; +h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){ti(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ui(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Bd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a= +d.g[ma(a.value,10)||0])if(a=a.da){var b;b="";for(var c=0,k;k=oi(a,c++);)for(var l=0,m=k.length;lg||9d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ui(this,d),!0;if(b==Ri)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Si){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ta(b);this.status("Attempting to load "+b+' as "'+ +a+'"')}Yi(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&ma(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;ze(this.f,0,!0,b);return(a=this.Ub(a,a.If,a.Jf,a.Kf,a.Bf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0}; +function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Mc?a.T(a.type+" busy"):(k.Mc=!0,e&&(k.yd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Pb=!!f,li(new hi(a,k,"preload"),c,d,f,a.oe)&&g++));return g} +h.oe=function(a,b,c,d,e){a.Mc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Qc||"---")),b=null);b?(a.da=b,a.Xa=c,a.Oa=d,this.we(a.Tb),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Qc||"---"),a.yd||e),this.J&&qe(this.J)):a.Pb=!1;a.yd&&(a.yd=!1,--this.M||C(this));ui(this,a.Tb);a.ic&&(a.ic(),a.ic=null)}; +function Oi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e'+a+"");c.innerHTML=a}}h.mh=function(a){for(var b=0;b=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Fc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.Uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Fc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Fc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.Ze=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Jb|f>>16-R.ma.Jb&R.Jb;this.w=65536-e&65535;this.j=this.j&~cj.rd|d&cj.rd;this.i|=a;dj(this);return!0};function dj(a){a.b&=~R.hb;a.i&&(a.i|=S.Je,a.b|=R.hb,a.i&S.ed&&(a.b|=R.ed),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Bg=function(){return this.G};h.Sh=function(){};h.Cg=function(){return this.i};h.Th=function(){};h.yg=function(){return this.b&R.fc}; +h.Ph=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.dc){a=!0;var b,c,d="",e=(this.j&cj.sb)>>cj.ma.sb,f=this.g[e],g,k,l,m,n,q;this.b&=~(R.Za|R.sd);this.i&=~S.qf;switch(c=this.b&R.wa){case ej.Ee:E(this)&&F(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.Za;break;case ej.Ue:d="RCHK";case ej.tb:d||(d="READ"),b=this.Ub;case ej.vd:d||(d="WCHK");case ej.hc:d||(d="WRITE");b||(b=this.Uc);g=(this.j&cj.bc)>>cj.ma.bc;k=(this.j&cj.hd)>>cj.ma.hd;l=this.j&cj.rd;m=65536-this.w&65535;n=(this.b&R.Jb)<< +16-R.ma.Jb|this.u;q=this.b&R.Qe?0:2;E(this)&&F(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=f.aa){this.i|=S.Ec;break}if(l>=f.ea){this.i|=S.Fc;break}a=b.call(this,f,g,k,l,m,n,q,c>=ej.vd,this.Ze.bind(this));break;case ej.Kc:g=(this.j&cj.bc)>>cj.ma.bc;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=hj.$a;break}Ac(this.F,Oe(this.f,f),n|q<<8);if(ld(this.F)){g=hj.ec;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=hj.$a;break}}return l?l(g,b,c,d,e,f):g}; +h.Uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=hj.$a,e=0);for(;e;){var n=Cc(this.F,Oe(this.f,f));if(ld(this.F)){g=hj.ec;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=hj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=hj.$a;break}if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=hj.$a;break}}return l?l(g,b,c,d,e,f):g}; +h.df=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Ya|f>>16-U.ma.Ya&U.Ya;this.u=f>>16&ij.ab;this.j=this.i=b<>U.ma.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.sb)>>U.ma.sb],e=d.da,f,g,k;this.b&=~U.Ea;switch(this.b&U.wa){case kj.uf:this.w&lj.Rd&&(this.b&=U.Ea|U.wa|U.Ya);this.w=d.status|this.j&jj.Jc|(e&&512==e.aa?lj.Ne:0);break;case kj.Kc:(this.i&jj.Me)==jj.rf&&(b=this.i&jj.gc,c=(this.i&jj.tf)<<2,this.j=this.i&jj.sf?this.j+b:this.j-b,this.i=this.j=this.j&jj.gc|c);break;case kj.Ye:this.w=this.j;break;case kj.Ve:c="READ",b=this.Ub; +case kj.wf:c||(c="WRITE"),b||(b=this.Uc),f=this.i>>jj.ma.gc,g=this.i&jj.Jc?1:0,k=this.i&jj.ae,!e||f>=e.aa||k>=e.ea?this.b=this.b|hj.$a|U.hb:(a=65536-this.w&65535,e=(this.u&ij.ab)<<16|this.C,E(this)&&F(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+u(e)+"--"+u(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.df.bind(this)))}a&&(this.b=this.b|U.Ea|U.Za,this.b&U.Ib&&nd(this.f,this.Qa))}};h.Eg=function(){return this.C};h.Vh=function(a){this.C=a&mj.Sa};h.Hg=function(){return this.i}; +h.Yh=function(a){this.i=a};h.Ig=function(){return this.w};h.Zh=function(a){this.w=a};h.Fg=function(){return this.u};h.Wh=function(a){this.u=a&ij.ab;this.b=this.b&~U.Ya|(this.u&3)<=m.aa){k=rj.Se;break}n=m.seek(b,c,d+1);if(!n){k=rj.pd;break}q=0;++d>=m.ea&&(d=0,++c>=m.ja&&(c=0,++b))}var t;if(0>(a=m.read(n,q++))||0>(t=m.read(n,q++))){k=rj.od;break}Ac(this.F,Oe(this.f,f),a|t<<8);q>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; +function pj(a){var b=0,c=a.b&W.td?1:0,d=a.g[c],d=d&&d.da,e=a.I&sj.ab,f=a.G&tj.ab;a.i&=~(uj.Md|uj.Xd|uj.cc|uj.Ea);if(d)if(a.i|=uj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;eg){b=rj.od;break}a.w[e++]=g}c.Ef&&(a.i|=uj.cc)}else b=rj.pd;else b=c?rj.gd:rj.fd;qj(a,b)} +h.Kg=function(a,b){a=this.b;if(!b)switch(a&=W.fc,this.j){case V.bd:case V.EMPTY:this.uthis.u&&(this.b|=W.cb)}return a}; +h.ai=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Cb();else if(this.b&W.dc&&this.j==V.Kb)switch(this.j=this.b&W.wa,this.b&=~(W.dc|W.cb|W.DONE|W.hb),td(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+vj[this.j>>1]+")",!0,!0),this.j){case V.bd:case V.EMPTY:case V.tb:case V.hc:case V.Lc:this.u=0;break;case V.Xe:a=this.g[this.b&W.td?1:0];this.i&=~uj.Ea;a&&a.da&&(this.i|=uj.Ea);this.C=this.i;qj(this);break;case V.We:this.C=this.L,qj(this)}else this.b&W.Ib?this.b&W.DONE&&nd(this.f, +this.Qa):td(this.f,this.Qa)};h.Lg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.cb&&(this.b&=~W.cb,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&qj(this))}return this.C}; +h.bi=function(a){switch(this.j){case V.bd:this.b&W.cb&&(this.b&=~W.cb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Lc:if(this.b&W.cb)switch(this.b&=~W.cb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Lc,c=0,d=this.b&W.td?1:0,e=this.g[d],e=e&&e.da,f=this.I&sj.ab,g=this.G&tj.ab;this.i&=~(uj.Md|uj.Xd|uj.cc|uj.Ea);if(e)if(this.i|=uj.Ea,E(this)&& +F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;ba.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.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(za(b.substring(c,f))),c=f+1}}return a} +function zj(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 Aj(a,b,c){var d;if(b){b=Bj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e} +function Fj(a,b){if(b)return Ej(a,b,a.S[b]);var c=0;for(b in a.S)Ej(a,b,a.S[b]),c++;return 0>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Dj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Gj(a){xj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Hj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Ij(this);this.D=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Jj(this,a.messages);this.ta=a.commands;this.Ja=Kj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return le(b,a)}):void 0===global[y]&&(global[y]= +function(a){return le(b,a)})}p(Gj,xj);function Lj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Gj.prototype;h.Gd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Mj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Pc]}function Nj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=yj(a,c.Pc=b[4]));return c} +h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=ge(a,"messages"))&&Jj(this,a);1140>this.f.ka&&(this.W=this.W.concat(Oj));1145>this.f.ka&&(this.W=this.W.concat(Pj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Lj(Qj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."): +(c=n.type,m=dd[c],n&&d.v(v(n.id,8)+" %"+v(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a)b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.g;switch(a){case Yj:b=Ad(this.f);break;case Zj:b=c.ob;break;case ak:b=c.P;break;case bk:b=c.Ga&65280;break;case ck:b=ud(c);break;case dk:b=wd(c);break;case ek:b=xd(c);break;case fk:b=c.W;break;case Wj:d&&(b=d.fa);break;case gk:d&&(b=d.Eb);break;case hk:d&&(b=d.Wa)}}return b}; +h.message=function(a,b){b&&(a+=" @"+Tj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Eb(this,!0))this.ca(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,re(a),a.Ab=0,a.J&&H(a.J,void 0))}}; +function Ij(a){var b;if(!bf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(ik);for(b=0;b>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?mk(a):nk(a)}}function kk(a,b){var c;(c=!a.f||!Db(a.f))||(c=a.f,c.A.ba?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Cb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; +h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Ij(this);this.X=0;this.R=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;ok(this);a||je(this)};h.save=function(){var a=new G(this);a.set(0,Mj(this.G));a.set(1,Mj(this.N));a.set(2,[this.j,this.O,this.ha]);a.set(3,this.B);return a.data()}; +h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Nj(this,a[b++]),this.N=Nj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.O=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b}; +h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.w=b-this.Ia;if(!this.I){b="stopped";if(this.w){a-=this.Ha;var c=0d&&(d=Dc(a.f,b)),65535!=(d&65535)&&(a.Gd(a.i[a.P],b),++a.P==a.i.length&&(a.P=0)));return!1}function Dg(a){var b=a.f;if(b.A.V)throw rc(b,a.f.O&65535),a.ca(),-1;return!1}function ae(a,b,c){pk(a,b,c||1,a.L)&&a.ca(!1)}function be(a,b,c){pk(a,b,c||1,a.C)&&a.ca(!1)} +function Hj(a){var b,c,d;a.b=["bp"];if(a.L)for(b=1;b>>c.g],!1)):Re(a.f,!1);a.L=["br"];if(a.C)for(b=1;b>>c.g],!0)):Re(a.f,!0);a.C=["bw"];a.la=0;a.Y=0} +h.Bb=function(a,b,c){var d=!0;c||qk(this,a,b,!1,!0);if(a!=this.b){var e=Lj(b);if(-1===e)this.v("invalid address: "+Tj(this,b)),d=!1;else{var f=a==this.C;65535>>g.g].Bb(e&g.i,f)}else e=this.f,(f?e.tc++:e.sc++)||ye(e)}}d&&(a.push(b),c?b.Ua=!0:(rk(this,a,a.length-1,"set"),Ij(this)));return d}; +function qk(a,b,c,d,e){var f=!1;c=Lj(c);for(var g=1;g>>d.g],b)):Re(a.f,b));k.Ua||Ij(a);break}}return f}function sk(a,b){for(var c=1;c>23)&65535,A=K(r,t);else if(B==yk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==zk)A=K(r,f&7,3);else if(B==Ak)A=K(r,f&63,6);else if(B==Bk)A=K(r,f&255,8);else if(B=f&D,D&Ck&&(B>>=6,D>>=6),D&Z){var D=null,J=B& +Dk;switch(B&Ek){case 0:A=Vj(r,J);break;case 8:A="@"+Vj(r,J);D=Fk(r,r.f.g[J]);break;case 16:7>J?A="("+Vj(r,J)+")+":(B=r.Ra(t,2),A="#"+K(r,B,-1));break;case 24:7>J?A="@("+Vj(r,J)+")+":(B=r.Ra(t,2),A="@#"+K(r,B,-1),D=Fk(r,B));break;case 32:A="-("+Vj(r,J)+")";break;case 40:A="@-("+Vj(r,J)+")";break;case 48:B=r.Ra(t,2);A=K(r,B,-1)+"("+Vj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Fk(r,B));break;case 56:B=r.Ra(t,2),A="@"+K(r,B)+"("+Vj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Fk(r,Dc(r.f,B)))}D&&(A=[A,D])}r= +A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0=a.f.ub&&b=c.B&&(b=c.Pa[b&kd])&&(a=b[4]);return a}function Gk(a,b){switch(b){case "N":a=Ee(a.f);break;case "Z":a=De(a.f);break;case "V":a=Ce(a.f);break;case "C":a=Be(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Hk(a,b){var c=Vj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c} +function Ik(a,b){var c,d="";for(c=0;6>c;c++)d+=Hk(a,c);d=d+"\n"+(Hk(a,6)+Hk(a,7));d+=Hk(a,Yj)+Hk(a,Zj)+Hk(a,bk);d+=Gk(a,"T")+Gk(a,"N")+Gk(a,"Z")+Gk(a,"V")+Gk(a,"C");b&&(b=d,c=""+(Hk(a,ck)+Hk(a,dk)),c+=Hk(a,ek)+Hk(a,fk)+Hk(a,ak),c=c+"\n"+(Hk(a,hk)+Hk(a,Wj)+Hk(a,gk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],q=Ba(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Hk:b,K:c,Lf:d,ga:e,ie:f})}function Jk(a,b,c){var d=[],e=Lj(b)>>>0;for(b=0;b>>0,k=f.Lf;if(e>=g&&eb)){e.g[b]=g&65535;break}a.v("unknown register: "+ +f);return}H(a.J);a.v("updated registers:")}}a.v(Ik(a,d));c&&(a.G=X(e.g[7]),nk(a,Tj(a,a.G)))}}function Nk(a,b){b=za(b);var c=b.match(/^(['"])(.*?)\1$/);c?1k[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=uk(a,b,g,f);a.v(f);a.G=b;e-=b.K-l;c++}}} +function tk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(lk+b):(a.O&&(a.v("ended assemble at "+Tj(a,a.N)),a.G=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.R=null;if(Db(a)&&0n||"z"Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var jf=[];"call"==zi&&(Lc=1E5,jf=["CALL"]);for(void 0!==yi&&a.v(Ca+" instructions earlier:");0=Ua.length&&(Ia=0);a.pa=Ca;Bi++;Lc--}}Bi||(a.v("no "+Ai+"history available"),a.pa=void 0)}else{var oa=Qj(a,Ta);if(oa)if("da"==jb){var kf=oa.Ma||65535O.length?(2xb&&(xb=0);65536of?String.fromCharCode(of):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=lf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+nf))}zb&&a.v(zb);a.Fa=oa;a.Aa=ql}}}}break;case "e":if("else"== +g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Od,rf=a.Pd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Ra,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Qj(a,tf);if(Od)for(var Pd=2;Pdwf;){for(var Bb=null,ul=256;65536>Rc.K>>>0;){xf.K=a.Ra(Rc,2);if(null==Rc.K||!ul--)break;if(!(xf.K&1)){for(var vl=a,Qd=xf,Gi=null,Sc=Qd.K,Hi=Sc,yf=1;6>=yf&⪼yf++){if(2> ";Sa(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");this.v("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis ");for(b=0;bVk){if(Wk(d,this.G)){this.u=new G(this,"1.34.2",dl);Wk(this.u)&&(el(this,d),a=fl,gl(this.u));this.u.set(al,Da());hl(this.u);var e=this.b&&!this.C;if(a==bl||hb("Click OK to restore the previous "+Hb+" machine state, or CANCEL to reset the machine.")){if(c=$k(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Wk(d,g):("error"==f&&"no machine state"!= +g?(this.T("Error: "+g),"unable to verify user"==g&&(La(il,""),this.g=null)):this.v(f+": "+g),gl(d),Wk(d)?(c=$k(d),e=!0):c=!1))}e&&Yk(this,c?d:null)}else a==fl&&d.clear()}else Yk(this);delete this.G;delete this.B}e=ib(this.id);for(f=0;fa[1];a=a[2];this.P=!0;this.A.ba=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.f&&(jl(this,this.f,b,c,a),H(this,-2),this.f.qa());this.N&&(el(this,b),b.clear());!c&&this.u&&(this.u.clear(),delete this.u);this.j=0}; +function el(a,b){if(hb("There may be a problem with your "+Hb+" machine.\n\nTo help us diagnose it, click OK to send this "+Hb+" machine state to http://www.pcjs.org.")){var c=a.U;a=a.g||"";b=b.toString();var d={};d.app=Hb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}} +function Pk(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",Zk),k=Da();g.set(al,k);f.set(al,k);f.set(kl,"1.34.2");f.set(ll,window?window.location.href:null);f.set(ml,window?window.navigator.userAgent:"");a.f&&a.f.Ba&&(c&&(b&&(a.f.A.qa=a.f.A.V),a.f.ca()),d=a.f.Ba(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.A.ba=!1,!1===d&&(e=null)));for(var k=ib(a.id),l=0;l=d||30<=(c.$c+=d))&&(e.textContent=c.A.V?c.wb.toFixed(2)+"Mhz":"Stopped",c.$c=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;eb?a.fa=a.f.g[7]:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Fl(a,b,c)}})}else c(a,null)} +function Gl(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&z(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=wa(a))}function g(a){f("Error: "+a);m&&(--Cl||$a(!0));m=!1}var k,l,m=!0;Cl++;fb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));q.appendChild(t)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,l){l?Dl(d,null,a,null,!1,f,function(a,e){e?(eb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Cl||$a(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Cl|| +$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Dl(c,b,a,e,!0,f,n):El(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(r){g(r.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Gl("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Gl("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return nb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!rb[a]){for(var c=!0,d=rb,e=a,f=b.length,g=[],k=[],l="",m=null,n=0;na?-b:b}});ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c":62,"?":63,"@":64,hd:65,Lh:66,Rh:67,si:68,E:69,yi:70,Bi:71,Ni:72,Pi:73,Qi:74,Ri:75,Si:76,Vi:77,Xi:78,cj:79,fj:80,Q:81,hj:82,kj:83,tj:84,vj:85,xj:86,yj:87,Cj:88,Dj:89,Ke:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ej:97,Gj:98,Jj:99,d:100,e:101,Kj:102,Lj:103,Mj:104,Nj:105,Rj:106,k:107,Sj:108,Tj:109,n:110,Uj:111,p:112,q:113,r:114,Vj:115,t:116,Xj:117,Yj:118,Zj:119,x:120, +y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127}; +function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b){b?12"']/g,function(a){return va[a]})}function wa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +var va={"&":"&","<":"<",">":">",'"':""","'":"'"},xa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"}; +function ya(){function a(a){return(10>a?"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 za(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");k.open("POST",a,c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function Aa(a,b){var c,d={L:null,ia:null,ea:null,da:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ea=g.load;d.da=g.exec;if(e=g.bytes)d.L=e;else if(e=g.words)for(d.L=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.L=Array(4*e.length),f=c=0;c>8&255,d.L[f++]=e[c]>>16&255,d.L[f++]=e[c]>>24&255;else(e=g.data)?d.Fj=e:d.L=g;d.L&&(d.L.length?1==d.L.length&&(r(d.L[0]),d=null):(r("Empty resource: "+a),d=null));d.ia=g.symbols}catch(k){r("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ib=this.id:(this.Ua=this.id.substr(0,a),this.ib=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Wc:!1,R:!1,error:!1};this.ic=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.v=this.A=this.ob=null;u.push(this)}function Sa(a,b,c){Ua[a]&&b&&(Ua[a][b]=c)}function Va(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function Wa(a){var b=!1;window&&(b=window.confirm(a));return b}function Xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.ff,a];this.D=this.c=this.v=this.A=null;this.exports={hold:this.We,toggle:this.Bg,reset:this.ug, +set:this.zg};B(this)}n(mb,t);h=mb.prototype;h.reset=function(a){this.stop();a&&ob(this,this.b=0)}; +h.ma=function(a,b,c,d){if(this.A&&this.A.ma(a,b,c,d)||this.c&&this.c.ma(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.l++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.h[b]=d?1:0,this.l++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){pb(a, +b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){qb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){pb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){qb(a,b)}}(this,b),!0):t.prototype.ma.call(this,a,b,c,d)}};h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;rb(b,this,sb);tb(b,this.reset.bind(this));ub(this);vb(this)};h.la=function(a,b){if(!b)if(this.F&&wb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0}; +h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a.set(0,[this.U,this.b,this.f]);return a.data()};h.restore=function(a){if(a=a[0])xb(this,this.U=a[0]),ob(this,this.b=a[1]),yb(this,a[2]);return!0};h.ug=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}vb(this);return!0};function zb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ub(a,b){for(var c in a.h)zb(a,c,null!=b?b:a.h[c])} +function Ab(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function vb(a){for(var b in a.a)Ab(a,b,a.a[b][1])}function Bb(a,b,c,d){if(a.o[b]){var e=a.D&&a.D.h||8;c=c||0;c=8==e?pa(c,d):qa(c,d);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}h.We=function(a,b,c){if(pb(this,b)){if(c){var d=this;setTimeout(function(){qb(d,b);a&&a()},+c);return!1}qb(this,b)}return!0}; +h.zg=function(a,b){if("SR"==a)return yb(this,na(b,8));var c=this.a[a];return c?(c[1]=+b?1:0,Ab(this,a,c[1]),!0):!1};h.Bg=function(a){return pb(this,a)?(qb(this,a),!0):!1};function pb(a,b){var c=a.a[b];return c?(Ab(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Cb&&(a.w=b==Db,a.B=b==Eb),!0):!1}function qb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(Ab(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +h.gf=function(a){a||this.c.j.N||(F(this.c,this.U),a=this.c,a.v.reset(),Fb(a),this.a[Gb]&&this.a[Gb][1]&&Hb(this.c))};h.hf=function(){};h.bf=function(a){a||G(this.c)}; +h.$e=function(a){if(!a&&!this.c.j.N)if(this.a[Gb]&&this.a[Gb][1])Hb(this.c);else{a=this.D;var b;if(b=a)a.j.Ra&&(a.j.Wc=!0),b=!a.j.Ra;if(b)fb(a,!0),a.f(0,null),fb(a,!1);else try{var c=this.c.zc(1);0=a.c.sa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.v.u;a.a[Cb]&&a.a[Cb][1]||(b=-b);xb(a,a.U&~c|a.U+b&c)}function xb(a,b){a.U=b&a.v.u;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Qb(a,"A"+c,b&1<c;c++)Qb(a,"D"+c,b&1<b;b++)a.a["S"+b][1]=a.f&1<>2;this.f=this.g-1;this.s=this.C/this.g|0;this.K=this.s-1;this.Qa=[];this.l=0;this.m=!1;this.F=[];this.Le=[Ub,Vb,Wb,Xb];this.a=this.b=[];this.B=this.w=this.i=this.H=this.I=0;a=new H(this);Yb(a);this.a=Array(this.s);this.b=Array(this.s);for(b=0;b>>this.h;this.w=0;this.i=this.u;B(this)}n(Sb,t);function ac(a,b){if(b!=a.w){for(var c=0;c>>a.h,a.b[a.I]=a.a[a.H])}}h=Sb.prototype;h.reset=function(){for(var a=0;a>>a.h;0g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.ab)return l.Tb+=l.ab-f,l.ab=f,!0;if(f>=l.ab+l.Tb){p=l.size-(f-m);p>g&&(p=g);l.Tb=f-l.ab+p;f=m+a.g;g-=p;k++;continue}}return cc(dc,f,g)}f=new H(a,f,p,a.g,d,e);Yb(f,l);a.a[k++]=f;f=m+a.g;g-=p}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+ec[d]+" at "+pa(b)),!0):cc(fc,b,c)}h.Rd=function(a){return this.b[(a&this.i)>>>this.h].tb(a&this.f,a)}; +h.Xb=function(a){var b=a&this.f,c=(a&this.i)>>>this.h;return jb||b!=this.f?this.b[c].W(b,a):this.b[c++].tb(b,a)|this.b[c&this.K].tb(0,a+1)<<8};h.Sd=function(a,b){this.b[(a&this.i)>>>this.h].xb(a&this.f,b,a)};h.Yb=function(a,b){var c=a&this.f,d=(a&this.i)>>>this.h;jb||c!=this.f?this.b[d].Ab(c,b,a):(this.b[d++].xb(c,b&255,a),this.b[d&this.K].xb(0,b>>8&255,a+1))};function gc(a,b){return a.a[(b&a.u)>>>a.h]} +function Pb(a,b){var c;a.m=!1;a.l++;var d=b&a.f,e=gc(a,b);jb||d!=a.f?c=e.D(d,b):c=e.i(d,b)|gc(a,b+1).i(0,b+1)<<8;a.l--;return c}function hc(a,b,c){a.m=!1;a.l++;gc(a,b).o(b&a.f,c&255,b);a.l--}function Nb(a,b,c){a.m=!1;a.l++;var d=b&a.f,e=gc(a,b);jb||d!=a.f?e.l(d,c&65535,b):(e.o(d,c&255,b),gc(a,b+1).o(0,c>>8&255,b+1));a.l--} +function bc(a){for(var b=0,c=[],d=0;da.c.sa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var q=g[4],v=g[5]||1,y=0;y>8:e[2](f)&255):f&1&&(e=d.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255} +function Vb(a,b,c){var d=!1,e=this.controller,f=e.Qa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Qa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||I(e,c,16)}function Wb(a,b){var c=-1,d=this.controller;a=d.Qa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;I(d,b,16);return 65535} +function Xb(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function K(a){t.call(this,"Device",a,256);this.a={Ia:128,dd:-1}}n(K,t);h=K.prototype;h.ja=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.dd=nc(c,function(){e.a.Ia|=128;e.a.Ia&64&&oc(e.c,e.a.qa);e.A&&Lb(e.A,1);pc(e.c,e.a.dd,1E3/60)});this.a.qa=qc(c,64,6,2097152);rb(b,this,rc);tb(b,this.reset.bind(this));B(this)}; +h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a.Ia=128;pc(this.c,this.a.dd,1E3/60,!0)};h.save=function(){var a=new E(this);a.set(0,[this.a.Ia]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.Ia=a.next().value;return!0};h.vf=function(){return this.a.Ia};h.Og=function(a){this.a.Ia=a&192;this.a.Ia&64||(a=this.a.qa)&&sc(this.c,a)};h.xf=function(){return tc(this.c)}; +h.Qg=function(a){uc(this.c,a&-129|this.c.J&128)};h.yf=function(){return vc(this.c)};h.zf=function(){return wc(this.c)};h.Af=function(){return this.c.ta};h.Rg=function(a){xc(this.c,a)};h.lg=function(a){a=a>>1&63;var b=this.c.Pa[a>>1];return a&1?b>>16:b&65535};h.Dh=function(a,b){b=b>>1&63;var c=b>>1;this.c.Pa[c]=b&1?this.c.Pa[c]&65535|(a&63)<<16:this.c.Pa[c]&-65536|a&65534};h.eg=function(a){return this.c.s[1][a>>1&7]};h.wh=function(a,b){this.c.s[1][b>>1&7]=a&65295}; +h.cg=function(a){return this.c.s[1][(a>>1&7)+8]};h.uh=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.c.H[1][a>>1&7]};h.vh=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.bg=function(a){return this.c.H[1][(a>>1&7)+8]};h.th=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.uf=function(a){return this.c.s[0][a>>1&7]};h.Ng=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.sf=function(a){return this.c.s[0][(a>>1&7)+8]}; +h.Lg=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.tf=function(a){return this.c.H[0][a>>1&7]};h.Mg=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.rf=function(a){return this.c.H[0][(a>>1&7)+8]};h.Kg=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.kg=function(a){return this.c.s[3][a>>1&7]};h.Ch=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.ig=function(a){return this.c.s[3][(a>>1&7)+8]};h.Ah=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295}; +h.jg=function(a){return this.c.H[3][a>>1&7]};h.Bh=function(a,b){b=b>>1&7;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.hg=function(a){return this.c.H[3][(a>>1&7)+8]};h.zh=function(a,b){b=(b>>1&7)+8;this.c.H[3][b]=a;this.c.s[3][b]&=65295};h.vb=function(a){a&=7;return this.c.i&2048?this.c.ua[a]:this.c.b[a]};h.yb=function(a,b){b&=7;this.c.i&2048?this.c.ua[b]=a:this.c.b[b]=a};h.Hf=function(){return this.c.i&49152?this.c.ga[0]:this.c.b[6]};h.Yg=function(a){this.c.i&49152?this.c.ga[0]=a:this.c.b[6]=a}; +h.Kf=function(){return this.c.b[7]};h.ah=function(a){this.c.b[7]=a};h.wb=function(a){a&=7;return this.c.i&2048?this.c.b[a]:this.c.ua[a]};h.zb=function(a,b){b&=7;this.c.i&2048?this.c.b[b]=a:this.c.ua[b]=a};h.If=function(){return 1==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[1]};h.Zg=function(a){1==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[1]=a};h.Jf=function(){return 3==(this.c.i&49152)>>14?this.c.b[6]:this.c.ga[3]};h.$g=function(a){3==(this.c.i&49152)>>14?this.c.b[6]=a:this.c.ga[3]=a}; +h.qf=function(a){return this.c.Rb[a-65504>>1]};h.Jg=function(a,b){this.c.Rb[b-65504>>1]=a};h.Md=function(a){return 65520==a?(ic(this.v)>>6)-1:0};h.Pd=function(){};h.gg=function(){return 1};h.yh=function(){};h.pf=function(){return this.c.F};h.Ig=function(){this.c.F=0};h.wf=function(){return this.c.Ob};h.Pg=function(a,b){b&1||(a&=255);this.c.Ob=a};h.Bf=function(a,b){return b?0:this.c.$a};h.Sg=function(a){var b=this.c;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1);b.g|=1}b.$a=a}; +h.fg=function(a,b){return b?0:this.c.Oa&65280};h.xh=function(a){this.c.Oa=a|255};h.Gf=function(){return yc(this.c)};h.Xg=function(a){Ac(this.c,a)};h.Od=function(){}; +var L={},rc=(L[61568]=[null,null,K.prototype.lg,K.prototype.Dh,"UNIMAP",64,1170],L[62592]=[null,null,K.prototype.eg,K.prototype.wh,"SIPDR",8,1145,64],L[62608]=[null,null,K.prototype.cg,K.prototype.uh,"SDPDR",8,1145,64],L[62624]=[null,null,K.prototype.dg,K.prototype.vh,"SIPAR",8,1145,64],L[62640]=[null,null,K.prototype.bg,K.prototype.th,"SDPAR",8,1145,64],L[62656]=[null,null,K.prototype.uf,K.prototype.Ng,"KIPDR",8,1140,64],L[62672]=[null,null,K.prototype.sf,K.prototype.Lg,"KDPDR",8,1145,64],L[62688]= +[null,null,K.prototype.tf,K.prototype.Mg,"KIPAR",8,1140,64],L[62704]=[null,null,K.prototype.rf,K.prototype.Kg,"KDPAR",8,1145,64],L[62798]=[null,null,K.prototype.Af,K.prototype.Rg,"MMR3",1,1145,64],L[65382]=[null,null,K.prototype.vf,K.prototype.Og,"LKS"],L[65402]=[null,null,K.prototype.xf,K.prototype.Qg,"MMR0",1,1140,64],L[65404]=[null,null,K.prototype.yf,K.prototype.Od,"MMR1",1,1145,64],L[65406]=[null,null,K.prototype.zf,K.prototype.Od,"MMR2",1,1140,64],L[65408]=[null,null,K.prototype.kg,K.prototype.Ch, +"UIPDR",8,1140,64],L[65424]=[null,null,K.prototype.ig,K.prototype.Ah,"UDPDR",8,1145,64],L[65440]=[null,null,K.prototype.jg,K.prototype.Bh,"UIPAR",8,1140,64],L[65456]=[null,null,K.prototype.hg,K.prototype.zh,"UDPAR",8,1145,64],L[65472]=[null,null,K.prototype.vb,K.prototype.yb,"R0SET0"],L[65473]=[null,null,K.prototype.vb,K.prototype.yb,"R1SET0"],L[65474]=[null,null,K.prototype.vb,K.prototype.yb,"R2SET0"],L[65475]=[null,null,K.prototype.vb,K.prototype.yb,"R3SET0"],L[65476]=[null,null,K.prototype.vb, +K.prototype.yb,"R4SET0"],L[65477]=[null,null,K.prototype.vb,K.prototype.yb,"R5SET0"],L[65478]=[null,null,K.prototype.Hf,K.prototype.Yg,"R6KERNEL"],L[65479]=[null,null,K.prototype.Kf,K.prototype.ah,"R7KERNEL"],L[65480]=[null,null,K.prototype.wb,K.prototype.zb,"R0SET1",1,1145],L[65481]=[null,null,K.prototype.wb,K.prototype.zb,"R1SET1",1,1145],L[65482]=[null,null,K.prototype.wb,K.prototype.zb,"R2SET1",1,1145],L[65483]=[null,null,K.prototype.wb,K.prototype.zb,"R3SET1",1,1145],L[65484]=[null,null,K.prototype.wb, +K.prototype.zb,"R4SET1",1,1145],L[65485]=[null,null,K.prototype.wb,K.prototype.zb,"R5SET1",1,1145],L[65486]=[null,null,K.prototype.If,K.prototype.Zg,"R6SUPER",1,1145],L[65487]=[null,null,K.prototype.Jf,K.prototype.$g,"R6USER",1,1145],L[65504]=[null,null,K.prototype.qf,K.prototype.Jg,"CTRL",8,1170],L[65520]=[null,null,K.prototype.Md,K.prototype.Pd,"LSIZE",1,1170],L[65522]=[null,null,K.prototype.Md,K.prototype.Pd,"HSIZE",1,1170],L[65524]=[null,null,K.prototype.gg,K.prototype.yh,"SYSID",1,1170],L[65526]= +[null,null,K.prototype.pf,K.prototype.Ig,"ERR",1,1170],L[65528]=[null,null,K.prototype.wf,K.prototype.Pg,"MBR",1,1170],L[65530]=[null,null,K.prototype.Bf,K.prototype.Sg,"PIR"],L[65532]=[null,null,K.prototype.fg,K.prototype.xh,"SLR"],L[65534]=[null,null,K.prototype.Gf,K.prototype.Xg,"PSW"],L); +Ka(function(){for(var a=A(document,z,"device"),b=0;b>1),this.c=new Int32Array(this.f,0,this.size>>2),Gc(this,Hc?Ic:Jc);else{a=this.c=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.mf=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.qg=function(a,b){ib&&a&1&&I(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8}; +h.Gg=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<>8);this.Ha=!0};h.kf=function(a,b){return this.i(a,b)};h.ng=function(a,b){return this.D(a,b)};h.Eg=function(a,b,c){this.A?this.Wb(0,0,c):this.o(a,b,c)};h.Fh=function(a,b,c){this.A?this.Wb(0,0,c):this.l(a,b,c)};h.jf=function(a){return this.a[a]}; +h.lf=function(a){return this.a[a]};h.mg=function(a,b){ib&&a&1&&I(this.b,b,64);return this.v.getUint16(a,!0)};h.pg=function(a,b){ib&&a&1&&I(this.b,b,64);return!jb&&a&1?this.a[a]|this.a[a+1]<<8:this.m[a>>1]};h.Dg=function(a,b){this.a[a]=b;this.Ha=!0};h.Fg=function(a,b){this.a[a]=b;this.Ha=!0};h.Eh=function(a,b,c){ib&&a&1&&I(this.b,c,64);this.v.setUint16(a,b,!0);this.Ha=!0};h.Gh=function(a,b,c){ib&&a&1&&I(this.b,c,64);!jb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.m[a>>1]=b;this.Ha=!0}; +var Ec=0,jc=1,Fc=2,$b=4,ec=["NONE","RAM","ROM","VID","H/W"],Dc=0,Lc=[],Kc=[H.prototype.mf,H.prototype.Gg,H.prototype.qg,H.prototype.Hh],Oc=[H.prototype.kf,H.prototype.Eg,H.prototype.ng,H.prototype.Fh];if(gb)var Jc=[H.prototype.jf,H.prototype.Dg,H.prototype.mg,H.prototype.Eh],Ic=[H.prototype.lf,H.prototype.Fg,H.prototype.pg,H.prototype.Gh];var Pc;if(gb){var Rc=new ArrayBuffer(2);(new DataView(Rc)).setUint16(0,256,!0);Pc=256===(new Uint16Array(Rc))[0]}else Pc=!1;var Hc=Pc; +function Sc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.fd=0;this.tc=b;this.Za=c;this.Dc=Math.round(this.tc/1E4)/100;this.jb=this.Dc*this.Za;this.Fc=this.Nb=this.mb=this.uc=0;this.j.N=this.j.cd=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.gc=!1;this.rc=this.lb=0;this.sc=+a.csStart;this.Lb=+a.csInterval;this.Mb=+a.csStop;this.X=[];this.td=this.vg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Kb=this.La=this.nb=this.Gc= +this.Wa=0;this.pa=null;B(this)}n(Sc,t);h=Sc.prototype;h.ja=function(a,b,c,d){this.A=a;this.v=b;this.D=d;this.pa=a.f;for(a=0;a=a.lb&&(a.lb+=a.Lb,c=!0);0<=a.Mb&&a.Mb<=Xc(a)&&(a.Lb=a.Mb=-1,Wc(a),G(a),c=!0);c&&a.aa(Xc(a)+" cycles: checksum="+qa(a.rc))}} +h.ma=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.R)a=!0;else{var b=null,c,k=Xa(a.id);for(c=0;ca.Wa/a.jb&&(b=1);a.Za=b;b=a.Dc*a.Za;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&ad(a.A)}Jb(a,a.Da);a.Da=0;a.Ca=Va();a.La=0;Zc(a)}function nc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function pc(a,b,c,d){0<=b&&ba.X[b][0])&&(c=a.tc*a.Za/1E3*c|0,a.j.N&&(c+=bd(a)),a.X[b][0]=c)}function cd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bd(a,b){var c=a.Ma-=a.a;a.a=a.ba=0;b&&(a.Ma=0);return c} +h.vg=function(){if(this.j.N){this.uc>=this.tc&&Zc(this,!0);this.nb=0;this.Kb=Va();if(this.La){var a=this.Kb-this.La;a>this.Fc&&(this.Ca+=a,this.Ca>this.Kb&&(this.Ca=this.Kb))}try{do{for(var b,c=this.j.gc?1:this.Nb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zc(b)}catch(f){if("number"!=typeof f)throw f;}b=bd(this,!0);this.nb+=b;this.Da+=b;Kb(this,b);Ib(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Nb;++this.Gc>=dd&&(this.A&&Lb(this.A,void 0),this.Gc=0);break}}while(this.j.N)}catch(f){G(this); +this.A&&this.A.stop(Va(),Xc(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.N){a=setTimeout;b=this.td;this.La=Va();c=this.Fc;this.nb&&(c=Math.round(c*this.nb/this.Nb));c-=this.La-this.Kb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,Yc(this));if(0>c||this.Wac&&(this.Ca-=c),c=0;this.uc+=this.nb;this.La+=c;a(b,c)}}}; +function Hb(a){var b;a.j.error?(a.aa(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.aa(a.toString()+" busy");else{Yc(a);a.j.N=!0;a.j.cd=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,Xc(a));a.D||a.status("Started");setTimeout(a.td,0)}}h.zc=function(){return 0};function G(a){var b=!1;if(a.j.N){bd(a);Jb(a,a.Da);a.Da=0;a.j.N=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(Va(),Xc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var $c=30,dd=15,Tc=["power","reset"]; +function ed(a){var b=+a.model||1170;Sc.call(this,a,6666667);this.sa=b;this.od=+a.addrReset||0;this.Ea=this.i=this.B=this.u=this.l=this.m=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Rb=[];this.Ka=this.C=this.nd=this.kb=this.Xa=this.Ya=this.cb=this.F=this.Ob=this.$a=this.Oa=this.J=this.Pb=this.Qb=this.ta=this.g=0;this.He=[4,2,0,1];this.wc=0;this.sd=255;1120>=this.sa?(this.vd=fd.bind(this),this.hb=this.Pe,this.wc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=gd.bind(this),this.hb=this.Qe, +this.zd=~(1792|(1140>=this.sa?2048:0))&65535,this.wd=1140e.Ub&&(e.Ub=c,c+=4)}return Sc.prototype.la.call(this,a,b)}; +h.reset=function(){this.status("Model "+this.sa);this.j.N&&G(this);this.u=65536;this.l=32768;this.m=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535, +65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Pa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Rb=[0,0,0,0,0,0,0,0];this.B=0;this.Ea=-1;this.h=this.f=this.qc=this.K=this.S=this.g=this.Ob=0;Fb(this);Vc(this);this.j.error=!1;Sc.prototype.reset.call(this)};function Fb(a){a.J=0;a.Pb=0;a.Qb=0;a.ta=0;a.F=0;a.$a=0;a.Oa=255;a.kb=0;a.Xa=0;a.Ya=0;a.cb=262143;a.Ka=a.b[7];a.C=0;a.I=null;a.v&&(hd(a),a.nd=ic(a.v))} +function hd(a){a.kc=a.gd;a.lc=a.xc;a.yc=a.Ac;a.mc=a.Cc;a.kb?(a.Aa=65536,a.jc=a.ta&16?4186112:253952,a.ra=a.Id,a.W=a.Nd,a.Ab=a.Qd,ac(a.v,a.ta&16?22:18)):(a.Aa=0,a.jc=57344,a.ra=a.Ue,a.W=a.og,a.Ab=a.Ih,ac(a.v,16))}function tc(a){var b=a.J;b&57344||(b=b&-3199|a.Xa<<5|a.Ya<<1);return b}function uc(a,b){b&=-3073;if(a.J!=b){b&57344&&!(a.J&57344)&&(a.Pb=a.C>>16&65535,a.Qb=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.kb!=c&&(a.kb=c,hd(a))}} +function vc(a){a.J&57344||(a.Pb=a.C>>16&65535);a=a.Pb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wc(a){a.J&57344||(a.Qb=a.C&65535);return a.Qb}function xc(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.cb=b&16?4194303:262143,hd(a))}function id(a,b,c,d){a.od=b;F(a,b);Ac(a,0);a.v.reset();Fb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.R?a.j.N||Hb(a):a.j.Y=!0}else a.D&&a.j.R?G(a)||a.A.j.reset||(a.D.g(),Lb(a.A,-1)):!1===c&&G(a);!a.j.N&&a.pa&&a.pa.stop()}h.Hd=function(){return 0}; +h.save=function(){var a=new E(this);a.set(0,[this.b,this.ua,this.ga,this.H,this.s,this.Pa,this.Rb,this.F,this.Ob,this.$a,this.Oa,this.Xa,this.Ya,this.Ka,this.g,this.C,this.Ea,this.Lc,this.Nc]);a.set(1,[yc(this),tc(this),vc(this),wc(this),this.ta]);a.set(2,[this.Na,this.Za,this.j.Y]);a.set(3,jd(this));a.set(4,cd(this));return a.data()}; +h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ua=b.next().value;this.ga=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Pa=b.next().value;this.Rb=b.next().value;this.F=b.next().value;this.Ob=b.next().value;this.$a=b.next().value;this.Oa=b.next().value;this.Xa=b.next().value;this.Ya=b.next().value;this.Ka=b.next().value;this.g=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Lc=b.next().value;this.Nc=b.next().value;b=a[1];Ac(this,b[0]);uc(this,b[1]); +this.Pb=b[2];this.Qb=b[3];xc(this,b[4]);b=a[2];this.Na=b[0];Yc(this,b[1]);this.j.Y=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.a-=2);a.a-=3}function F(a,b){a.b[7]=b&65535}function qc(a,b,c,d){b={Ub:b,sb:c,message:d||0,name:lb[b],next:null};a.Ib.push(b);return b}function sc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.g|=1)}function oc(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.sb<=b.sb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.sb<=b.sb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}} +function jd(a){var b=[];for(a=a.I;a;)b.push(a.Ub),a=a.next;return b}function nd(a){return a.g&64?(J(a,168,64,-6),!0):a.g&32?(J(a,4,32,-5),!0):a.g&16?(J(a,12,16,-7),!0):!1}function yc(a){return a.i=a.i&63728|ld(a)|(a.m&65535?0:4)|(a.l&32768?2:0)|kd(a)}function Ac(a,b){b&=a.zd;a.w=b<<12;a.m=~b&4;a.l=b<<14;a.u=b<<16;if((b^a.i)&a.wd)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.B=b>>14&3;c=a.i>>14&3;a.B!=c&&(a.ga[c]=a.b[6],a.b[6]=a.ga[a.B]);a.i=b;a.g&=-3;a.g|=a.I?2:1} +h.fa=function(a){this.w=this.m=a;this.l=0};h.Sa=function(a,b){this.w=this.m=this.u=a;this.l=b||0};function od(a,b){a.w=a.m=a.u=b;a.l=a.w^a.u>>1}function pd(a,b,c,d){a.w=a.m=a.u=b;a.l=(c^d)&(d^b)} +function J(a,b,c,d){if(!a.pb){0>a.Ea?a.Ea=yc(a):a.B||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.F|=4,a.b[6]=b=4);if(-1!=d){a.C=b|4143316992;a.B=0;var e=a.W(b|a.Aa),f=a.W(b+2&65535|a.Aa);Ac(a,f&-12289|a.Ea>>2&12288);qd(a,a.Ea);qd(a,a.b[7]);F(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ea=-1;a.Lc=d;a.Nc=b;-1==d&&G(a);if(-4<=d)throw b;}}function rd(a){var b=sd(a),c=sd(a);a.i&49152&&(c=c&-225|a.i&63712);F(a,b);Ac(a,c);a.g&=-17} +function td(a,b){var c=b>>13&31;31>c&&(b=a.ta&32?a.Pa[c]+(b&8191)&4194303:b&-3932161);return b} +function Ob(a,b,c){var d,e,f;if(!(c&a.kb))return f=b&65535,57344<=f&&(f|=a.jc),f;d=b>>13;a.ta&a.He[a.B]||(d&=7);e=a.s[a.B][d];f=(a.H[a.B][d]<<6)+(b&8191)&a.cb;3932160<=f&&(f=td(a,f));if(a.pb)return f;f>=a.nd&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +(g|=16384));a.s[a.B][d]=e;if(f!=(4194170&a.cb)||a.B)a.Xa=a.B,a.Ya=d;g&&(g&57344&&(0<=a.Ea&&(g|=128),a.J&57344||(g|=a.J&4096|a.Xa<<5|a.Ya<<1,uc(a,a.J&-61695|g&61694)),J(a,168,64,-2)),a.J&61440||!(f<(4191360&a.cb)||f>(4194239&a.cb))||(a.J|=4096,a.J&512&&(a.g|=64)));return f}function sd(a){var b=a.W(a.b[6]|a.Aa);a.b[6]=a.b[6]+2&65535;return b}function qd(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.C=a.C&65535|(a.C&-65536)<<8|16121856;a.g&256||a.hb(4,-2,c);a.Ab(c,b)} +function ud(a,b,c,d){var e,f,g=d&8?0:a.Aa;switch(b){case 0:return J(a,4,0,-3),0;case 1:return 6==c&&a.hb(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.hb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.hb(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(md(a,2)),e=e+a.b[c]&65535,6==c&&a.hb(d,0, +e),a.a-=6,e|g;case 7:return e=a.W(md(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.Aa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.C=a.C&65535|(a.C&-65536)<<8|(f<<3&248|c)<<16;return e}h.Pe=function(a,b,c){!this.B&&0>=b&&c<=this.Oa&&(this.g|=32)};h.Qe=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.Oa&&(c<=this.Oa-32?J(this,4,0,-4):(this.F|=8,this.g|=32)))};h.Te=function(a){return this.gd(a)};h.Ve=function(a){return this.xc(a)};h.xg=function(a,b){this.Ac(a,b)};h.Ag=function(a,b){this.Cc(a,b)}; +h.Ue=function(a,b,c){return ud(this,a,b,c)};h.Id=function(a,b,c){return Ob(this,ud(this,a,b,c),c)};h.og=function(a){return this.v.Xb(this.Ka=a)};h.Nd=function(a){return this.v.Xb(this.Ka=Ob(this,a,2))};h.Ih=function(a,b){this.v.Yb(this.Ka=a,b)};h.Qd=function(a,b){this.v.Yb(this.Ka=Ob(this,a,4),b)}; +function vd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=ud(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.B=a.i>>12&3,c=a.W(d|c&a.Aa),a.B=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ga[a.i>>12&3];return c}function wd(a,b,c,d){a.C=a.C&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=ud(a,b,e,4),c&65536||(e&=65535),a.B=a.i>>12&3,e=Ob(a,e|c&65536,4),a.B=a.i>>14&3,a.mc(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ga[a.i>>12&3]=d} +function xd(a,b){b>>=6;var c=a.S=b&7;return(b=a.K=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c+a.wc]&a.sd}function yd(a,b){var c;b>>=6;var d=a.S=b&7;(b=a.K=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d+a.wc];return c}function zd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return ud(a,b,c,8)}function Ad(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c]&255}function Bd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d];return c} +function P(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.qc=a.ra(b,e,7),c=0>c?a.b[-c-1]&255:c,a.yc(e,d.call(a,c,a.kc(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function Q(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,6),a.mc(e,d.call(a,0>c?a.b[-c-1]:c,a.lc(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])} +function Cd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ra(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.yc(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function Dd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.mc(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))} +h.zc=function(a){this.j.complete=!0;var b=a?this.j.cd?0:1:-1;this.j.cd=!1;this.Ma=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.$a&224)>>5,e=this.I&&this.I.sb>d?this.I:null;e&&(c=e.Ub,d=e.sb);d>(this.i&224)>>5?(this.g&8&&(md(this,2),this.g&=-9),J(this,c,0,-10),d=!0):d=!1;d&&(e&&sc(this,e),a=!0);this.I||this.$a||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}if(this.g&112&&nd(this)){if(this.g& +4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.C=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.vd(e)}while(0>1|b<<16;od(this,a);return a&65535}function Jd(a,b){a=b&128|b>>1|b<<8;od(this,a<<8);return a&255}function Kd(a,b){a=b&~a;this.fa(a);return a}function Ld(a,b){a=b&~a;this.fa(a<<8);return a}function Md(a,b){a|=b;this.fa(a);return a}function Nd(a,b){a|=b;this.fa(a<<8);return a} +function Od(a,b){a=~b|65536;this.Sa(a);return a&65535}function Pd(a,b){a=~b|256;this.Sa(a<<8);return a&255}function Qd(a,b){this.w=this.m=a=b-a;this.l=b&(b^a);return a&65535}function Rd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.m=c;this.l=b&(b^c);return a&255}function Sd(a,b){this.w=this.m=a=b+a;this.l=a&(b^a);return a&65535}function Td(a,b){a=b+a;var c=a<<8;this.w=this.m=c;this.l=c&(b<<8^c);return a&255}function Ud(a,b){a=-b;this.Sa(a,a&b&32768);return a&65535} +function Vd(a,b){a=-b;this.Sa(a<<8,(a&b&128)<<8);return a&255}function Wd(a,b){a=b<<1|this.u>>16&1;od(this,a);return a&65535}function Xd(a,b){a=b<<1|this.u>>16&1;od(this,a<<8);return a&255}function Yd(a,b){a=(this.u&65536|b)>>1|b<<16;od(this,a);return a&65535}function Zd(a,b){a=((this.u&65536)>>8|b)>>1|b<<8;od(this,a<<8);return a&255}function $d(a,b){var c=b-a;pd(this,c,a,b);return c&65535}function ae(a,b){var c=b-a;pd(this,c<<8,a<<8,b<<8);return c&255} +function be(a,b){this.w=this.m=b&65280;this.l=this.u=0;return(b<<8|b>>8)&65535}function ce(a,b){a^=b;this.fa(a);return a&65535}function de(a){Q(this,a,yd(this,a),Ed);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)} +function ee(a){var b=Bd(this,a);a=a>>6&7;var c=this.b[a];c&32768&&(c|=4294901760);this.u=this.l=0;b&=63;if(b&32)b=64-b,16>=b;else if(b)if(16>15&65535;d&&65535!==d&&(this.l=32768)}this.b[a]=c&65535;this.w=this.m=c;this.a-=(this.h?6:7)+b} +function fe(a){var b=Bd(this,a);a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.l=0;b&=63;if(b&32){b=64-b;32>b-1;this.u=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<>15,d<<=1,32>=32-b)&&4294967295!==(c|4294967295<>16&65535;this.b[a|1]=d&65535;this.w=d>>16;this.m=d>>16|d;this.a-=(this.h?6:7)+b}function ge(a){O(this,a,!kd(this))}function he(a){O(this,a,kd(this))} +function ie(a){Q(this,a,yd(this,a),Kd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function je(a){P(this,a,xd(this,a),Ld);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function ke(a){Q(this,a,yd(this,a),Md);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function le(a){P(this,a,xd(this,a),Nd);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)} +function me(a){var b=yd(this,a);a=Bd(this,a);this.fa((0>b?this.b[-b-1]:b)&a);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function ne(a){var b=xd(this,a);a=Ad(this,a);this.fa(((0>b?this.b[-b-1]&255:b)&a)<<8);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function oe(a){O(this,a,this.m&65535?0:4)}function pe(a){O(this,a,!ld(this)==!(this.l&32768))}function qe(a){O(this,a,!!(this.m&65535)&&!ld(this)==!(this.l&32768))} +function re(a){O(this,a,!kd(this)&&!!(this.m&65535))}function se(a){O(this,a,(this.m&65535?0:4)||!ld(this)!=!(this.l&32768))}function te(a){O(this,a,kd(this)||(this.m&65535?0:4))}function ue(a){O(this,a,!ld(this)!=!(this.l&32768))}function ve(a){O(this,a,ld(this))}function we(a){O(this,a,!!(this.m&65535))}function xe(a){O(this,a,!ld(this))}function ye(){J(this,12,0,-9)}function ze(a){O(this,a,!0)}function Ae(a){O(this,a,!(this.l&32768))}function Be(a){O(this,a,this.l&32768?2:0)} +function Ce(a){a&1&&(this.u=0);a&2&&(this.l=0);a&4&&(this.m=1);a&8&&(this.w=0);this.a-=5}function De(a){var b=yd(this,a);a=Bd(this,a);var c=(b=0>b?this.b[-b-1]:b)-a;pd(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)}function Ee(a){var b=xd(this,a);a=Ad(this,a);var c=(b=(0>b?this.b[-b-1]&255:b)<<8)-(a<<=8);pd(this,c,a,b);this.a-=this.h?4+(this.S&&6<=this.f?1:0):(this.K?4:3)+(7==this.f?2:0)} +function Fe(a){var b=Bd(this,a);if(b){a=a>>6&7;var c=this.b[a]<<16|this.b[a|1];this.u=this.l=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.b[a]=d&65535,this.b[a|1]=c-d*b&65535,this.m=d>>16|d,this.w=d>>16):(this.l=32768,this.m=d>>15|d,this.w=c>>16,-1===b&&65534===this.b[a]&&(this.b[a]=this.b[a|1]=1));this.a-=53}else this.m=this.w=0,this.l=32768,this.u=65536,this.a-=7}function Ge(){J(this,24,0,-9);this.a-=20} +function He(){this.i&49152?(this.F|=128,J(this,4,0,-8)):(this.pa&&1120==this.sa&&this.pa.setData(this.b[0],!0),this.D?this.D.i():G(this));this.a-=7}function Ie(){J(this,16,0,-9);this.a-=20}var Je=[0,7,7,10,7,11,9,13];function Ke(a){this.ba=this.a;F(this,zd(this,a));this.a=this.ba-Je[this.h]}var Le=[0,14,14,17,14,18,16,20];function Me(a){this.ba=this.a;var b=zd(this,a);a=a>>6&7;qd(this,this.b[a]);this.b[a]=this.b[7];F(this,b);this.a=this.ba-Le[this.h]} +var Ne=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Oe(a){var b=yd(this,a);this.ba=this.a;Dd(this,a,b,this.fa);this.a=this.ba-Ne[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Pe(a){var b=xd(this,a);Cd(this,a,b,65535,this.fa);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var Qe=[7,13,13,17,14,18,17,21]; +function Re(a){var b=Bd(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.m=this.w|b;this.l=0;this.u=-32768>b||32767>6;if(this.b[b]=this.b[b]-1&65535)F(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Ye(a){Q(this,a,yd(this,a),$d);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Ze(a){Q(this,a,0,be);this.a-=this.h?9:3+(7==this.f?2:0)}function $e(){J(this,28,0,-9)} +function af(){this.pa&&(this.pa.U=this.b[7],this.pa.setData(this.b[0],!0));this.g|=8;md(this,-2);this.a-=3}function bf(a){Q(this,a,this.b[(a>>6&7)+this.wc],ce);this.a-=this.h?9:3+(7==this.f?2:0)}function R(){J(this,8,0,-9)}function fd(a){cf[a>>12].call(this,a)}function df(a){ef[a>>6&3].call(this,a)}function ff(a){gf[a>>6&3].call(this,a)}function hf(a){jf[a>>6&3].call(this,a)}function kf(a){lf[a&15].call(this,a)}function mf(a){nf[a&15].call(this,a)}function of(a){pf[a>>6&3].call(this,a)} +function qf(a){rf[a>>6&3].call(this,a)}function sf(a){tf[a>>6&3].call(this,a)} +var cf=[function(a){uf[a>>8&15].call(this,a)},Oe,De,me,ie,ke,de,R,function(a){vf[a>>8&15].call(this,a)},Pe,Ee,ne,je,le,Ye,R],uf=[function(a){wf[a>>4&15].call(this,a)},ze,we,oe,pe,ue,qe,se,Me,Me,df,ff,hf,R,R,R],ef=[function(a){Dd(this,a,0,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Od);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Sd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Qd);this.a-=this.h?9:3+(7==this.f?2:0)}],gf=[function(a){Q(this,a,0,Ud); +this.a-=this.h?11:6},function(a){Q(this,a,kd(this)?1:0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,kd(this)?1:0,$d);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Bd(this,a);this.Sa(a);this.a-=this.h?4:3+(7==this.f?2:0)}],jf=[function(a){Q(this,a,0,Yd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Wd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Gd);this.a-=this.h?9:3+(7==this.f?2:0)}],wf= +[function(a){xf[a&15].call(this,a)},R,R,R,Ke,Ke,Ke,Ke,Ue,R,kf,mf,Ze,Ze,Ze,Ze],xf=[He,af,Ve,ye,Ie,Te,R,R,R,R,R,R,R,R,R,R],lf=[Se,function(){this.u=0;this.a-=5},function(){this.l=0;this.a-=5},Ce,function(){this.m=1;this.a-=5},Ce,Ce,Ce,function(){this.w=0;this.a-=5},Ce,Ce,Ce,Ce,Ce,Ce,Ce],nf=[Se,function(){this.u=65536;this.a-=5},function(){this.l=32768;this.a-=5},We,function(){this.m=0;this.a-=5},We,We,We,function(){this.w=32768;this.a-=5},We,We,We,We,We,We,We],vf=[xe,ve,re,te,Ae,Be,ge,he,Ge,$e,of,qf, +sf,R,R,R],pf=[function(a){Cd(this,a,0,255,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Td);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Rd);this.a-=this.h?9:3+(7==this.f?2:0)}],rf=[function(a){P(this,a,0,Vd);this.a-=this.h?11:6},function(a){P(this,a,kd(this)?1:0,Fd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,kd(this)?1:0,ae);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Ad(this,a); +this.Sa(a<<8);this.a-=this.h?4:3+(7==this.f?2:0)}],tf=[function(a){P(this,a,0,Zd);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Jd);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)}];function gd(a){yf[a>>12].call(this,a)} +var yf=[function(a){zf[a>>8&15].call(this,a)},Oe,De,me,ie,ke,de,function(a){Af[a>>8&15].call(this,a)},function(a){Bf[a>>8&15].call(this,a)},Pe,Ee,ne,je,le,Ye,R],zf=[function(a){Cf[a>>4&15].call(this,a)},ze,we,oe,pe,ue,qe,se,Me,Me,df,ff,hf,function(a){Df[a>>6&3].call(this,a)},R,R],Df=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.Aa);F(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=vd(this,a,0);this.fa(a);qd(this,a);this.a-=11},function(a){var b=sd(this);this.ba= +this.a;this.fa(b);wd(this,a,0,b);this.a=this.ba-Qe[this.h]},function(a){Dd(this,a,ld(this)?65535:0,this.fa);this.a-=this.h?9:3+(7==this.f?2:0)}],Cf=[function(a){Ef[a&15].call(this,a)},R,R,R,Ke,Ke,Ke,Ke,Ue,function(a){!(a&8)||1145>this.sa?J(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},kf,mf,Ze,Ze,Ze,Ze],Ef=[He,af,function(){rd(this);this.g|=this.i&16;this.a-=13},ye,Ie,Te,Ve,function(){J(this,8,0,-9)},R,R,R,R,R,R,R,R],Af=[Re,Re,Fe,Fe,ee,ee,fe,fe,bf,bf,R, +R,R,R,Xe,Xe],Bf=[xe,ve,re,te,Ae,Be,ge,he,Ge,$e,of,qf,sf,function(a){1145>this.sa?J(this,8,0,-9):Ff[a>>6&3].call(this,a)},R,R],Ff=[function(){J(this,8,0,-9)},function(a){a=vd(this,a,65536);this.fa(a);qd(this,a);this.a-=11},function(a){var b=sd(this);this.ba=this.a;this.fa(b);wd(this,a,65536,b);this.a=this.ba-Qe[this.h]},function(){J(this,8,0,-9)}]; +function Gf(a){t.call(this,"ROM",a,128);this.ia=this.b=null;this.h=+a.addr;this.a=+a.size;this.i=!1;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.g=a.file;this.l=ra(this.g);if(this.g){a=this.g;var b=sa(this.l);"json"!=b&&"hex"!=b&&(a=Ba()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;za(a,null,!0,function(a,b,f){f?(c.G("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(Sa(c.Ua,a,b),(a=Aa(a,b))?(c.b=a.L,c.ia=a.ia):c.g=null);Hf(c)})}}n(Gf,t); +h=Gf.prototype;h.ja=function(a,b,c,d){this.v=b;this.c=c;this.D=d;Hf(this)};h.la=function(){this.ia&&(this.D&&this.D.a(this.id,this.h,this.a,this.ia),delete this.ia);return!0};h.ka=function(){return!0}; +function Hf(a){if(!eb(a)){if(a.g){if(!a.b||!a.v)return;a.a||(a.a=a.b.length);if(a.b.length!=a.a){var b="ROM size ("+qa(a.b.length,8,!0)+") does not match specified size ("+qa(a.a,8,!0)+")";a.j.error=!0;a.G(b)}else{a:{b=a.h;if(57344<=b&&b<57344+Tb){var c={},c=(c[b]=[Gf.prototype.Zf,Gf.prototype.qh,null,null,null,a.a>>1],c);if(rb(a.v,a,c)){a.status("Added "+a.a+"-byte ROM at "+pa(b));b=a.i=!0;break a}}else if(Zb(a.v,b,a.a,Fc)){for(c=0;c>>f.h;0>>=f.h;0>>a.h;0=b.length)break;for(var l=l+2,p=b[l++]&255|(b[l++]&255)<<8,q=b[l++]&255|(b[l++]&255)<<8,m=m+((p&255)+(p>>8)+(q&255)+(q>>8)),v=l,y=p-=6;0=b.length)break;m+=b[l++]&255;if(m&255)break;if(y)for(;y--;)hc(a.v,q++,b[v++]&255);else q&1?g=!0:null==d&&(d=q);k=!0}else l++;else l+=2}if(!k&&(null==c&&(c=e),null!=c)){for(e=0;e< +b.length;e++)hc(a.v,c+e,b[e]);k=!0}if(k){if(null==d||g)G(a.c),f=!1;null!=d&&id(a.c,d,f)}return k}Ka(function(){for(var a=A(document,z,"ram"),b=0;b=la.hd&&c<=la.Ke&&(b=c-(la.hd-la.Ud));b&&(a.preventDefault&&a.preventDefault(),d.nc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.Wd&&(b=la.Vd);d.nc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.nc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; +h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;var e=this;this.H=qc(this.c,this.B?-1:48,4,1048576);this.I=nc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),pc(e.c,e.I,1E3/Math.round(e.J/10)));0<=a&&(e.m=a,e.a&128?e.m|=49152:e.a|=128,e.a&64&&oc(c,e.H))});this.C=qc(this.c,this.B?-1:52,4,1048576);this.X=nc(this.c,function(){e.b|=128;e.b&64&&oc(c,e.C)});rb(b,this,Of,this.B?64832+8*(this.B-1)-65392:0);tb(b,this.reset.bind(this));B(this)}; +h.Jd=function(a){if(!this.g){var b=Uc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=wa(c[0]);if(d!=this.ib)return;c=wa(c[1]);if(this.g=Ya(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.s=e.receiveData){this.u=a;this.F=e.receiveStatus;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.la=function(a,b){if(!b)if(this.Jd(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +h.ka=function(a){return a?this.save():!0};h.reset=function(){Pf(this)};h.save=function(){var a=new E(this);a.set(0,[this.m,this.a,this.b,this.f]);return a.data()};h.restore=function(a){return Pf(this,a[0])};function Pf(a,b){b||(b=[0,8192,128,a.f]);b=ia(b);a.m=b.next().value;a.a=b.next().value;a.b=b.next().value;a.f=b.next().value;return!0} +h.nc=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.l%a,this.S&&(b=" ".slice(0,c)));this.K&&!this.l&&c&&(b=String.fromCharCode(this.K)+b);this.h.value+=b;this.h.scrollTop=this.h.scrollHeight;this.l+=c}}else if(null!= +this.i){if(10==a||1024<=this.i.length)this.aa(this.i),this.i="";10!=a&&(this.i+=String.fromCharCode(a))}pc(this.c,this.X,1E3/Math.round(this.ba/10));this.b&=-129};var Nf="buffer",Qf={},Of=(Qf[65392]=[null,null,Mf.prototype.Mf,Mf.prototype.dh,"RCSR"],Qf[65394]=[null,null,Mf.prototype.Lf,Mf.prototype.bh,"RBUF"],Qf[65396]=[null,null,Mf.prototype.sg,Mf.prototype.Kh,"XCSR"],Qf[65398]=[null,null,Mf.prototype.rg,Mf.prototype.Jh,"XBUF"],Qf); +Ka(function(){for(var a=A(document,z,"serial"),b=0;b'+b+"");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "readTape":e=Uf;case "loadTape":return e||(e=Vf),this.o[b]=c,c.onclick= +function(){var a=d.o.listTapes;a&&Wf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.o[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;Wf(d,ra(b,!0),b,Vf,a)}return!1};return!0;case Xf:return this.o[b]=c,!0}return!1}; +h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;this.u=Yf(a);var e=this;if(a=Rf(this,Uc(this.A,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.s=qc(this.c,56,4,4096);this.J=nc(this.c,function(){1!=(e.a&32769)||e.a&128||(e.hc.indexOf("/api/v1/dump")&&(e=sa(c),f="json"==e||"gz"==e?encodeURI(c):Ba()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!za(f,null,!0,function(e,f,g){var k=0>g&&!!a.A&&!a.A.j.R;g?a.G('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Sa(a.Ua,e,f),(e=Aa(e,f))&&ig(a,b,c,d, +e.L,e.ea,e.da));a.j.Ra=!1;a.b&&(a.b--,a.b||B(a));fg(a)})}function ag(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.M);for(d=0;dc.indexOf("/api/v1/dump")&&(b=sa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ta(c,"/")&&(d="dir"),f=Ba()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Yc?"":e)+"&format=json"));return!!za(f, +null,!0,function(b,c,d){qg(a,b,c,d)})} +function qg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.R;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{Sa(a.controller.Ua,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(k.length)if(1==k.length)r(k[0]);else{a.M=k.length;a.T=k[0].length;a.P=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var y=m<<2,ma=v.length;ma>2,e=Array(d),f=0;f>2,c=(d>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.g)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.na?f=a.wa+a.na&&(a.na+=f-(a.wa+a.na)+1):(a.wa=f,a.na=1);d[f]=d[f]&~(255<g)break;e|=g<=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b}; +h.toJSON=function(){var a;a=0;for(var b;b=sg(this,a++);)ug(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function ug(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var mg=0;function vg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=wg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Ga("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Ed,loadDisk:this.Zc,selectDrive:this.wg,wait:this.Cg}}n(vg,t); +function wg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vg.prototype; +h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){xg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&yg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.Zc()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Ed()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a= +d.b[na(a.value,10)||0])if(a=a.O){var b;b="";for(var c=0,k;k=sg(a,c++);)for(var l=0,m=k.length;lg||9d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Eg(this,d),!0;if(b==Bg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Cg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ra(b);this.status("Attempting to load "+b+' as "'+ +a+'"')}Ig(this,d,a,b,!1,c);return!0};h.Ed=function(){var a,b=this.o.listDrives,b=b&&na(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.O)return this.G("Load a disk into the drive first"),!1;id(this.c,0,!0,b);return(a=this.ub(a,a.Xe,a.Ye,a.Ze,a.Oe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0}; +function Ig(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Eg(a,b,!0),k.hc?a.G(a.type+" busy"):(k.hc=!0,e&&(k.Xc=!0,a.B++),k.qb=!!f,pg(new lg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g} +h.Gd=function(a,b,c,d,e){a.hc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.rb].oc||"---")),b=null);b?(a.O=b,a.xa=c,a.oa=d,this.Ld(a.rb),Jg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.rb].oc||"---"),a.Xc||e),this.A&&ad(this.A)):a.qb=!1;a.Xc&&(a.Xc=!1,--this.B||B(this));yg(this,a.rb);a.Jb&&(a.Jb(),a.Jb=null)}; +function zg(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e'+a+"");c.innerHTML=a}}h.Cg=function(a){for(var b=0;b=a.M){m=T.Zb;break}p=a.seek(b,c,d+1);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}var v,y;if(0>(v=a.read(p,q++))||0>(y=a.read(p,q++))){m=T.$b;break}if(!k&&(Nb(this.v,td(this.c,f),v|y<<8),mc(this.v))){m=T.Eb;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){var v=Pb(this.v,td(this.c,f));if(mc(this.v)){m=T.Eb;break}if(!p){if(b>=a.M){m=T.Zb;break}p=a.seek(b,c,d+1,!0);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var y,ma;if(0>(y=a.read(p,q++))||0>(ma=a.read(p,q++))){m=T.$b;break}if(v!=(y|ma<<8)){m=T.Cd;break}}else if(!a.write(p,q++,v&255)||!a.write(p,q++,v>>8)){m=T.$b;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.me=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Ng.Rc|d&Ng.Rc;this.f|=a;Og(this);return!0};function Og(a){a.a&=~S.Ja;a.f&&(a.f|=T.Yd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Rf=function(){return this.s};h.ih=function(){};h.Sf=function(){return this.f};h.jh=function(){};h.Of=function(){return this.a&S.Fb}; +h.fh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Db){a=!0;var b,c,d=(this.g&Ng.Ta)>>Ng.V.Ta,e=this.b[d],f,g,k,l,m,p;this.a&=~(S.za|S.Sc);this.f&=~T.Ce;switch(c=this.a&S.ca){case Pg.Td:this.f=this.g=0;this.a=S.za;break;case Pg.he:case Pg.Va:b=this.ub;case Pg.Vc:case Pg.Hb:b||(b=this.vc);f=(this.g&Ng.Bb)>>Ng.V.Bb;g=(this.g&Ng.Kc)>>Ng.V.Kc;k=this.g&Ng.Rc;l=65536-this.i&65535;m=(this.a&S.fb)<<16-S.V.fb|this.h;p=this.a&S.de?0:2;if(f>=e.M){this.f|=T.Zb;break}if(k>=e.P){this.f|=T.$b;break}a=b.call(this, +e,f,g,k,l,m,p,c>=Pg.Vc,this.me.bind(this));break;case Pg.ec:f=(this.g&Ng.Bb)>>Ng.V.Bb;f(p=a.read(k,m++))||0>(q=a.read(k,m++))){g=Sg.Ba;break}Nb(this.v,td(this.c,f),p|q<<8);if(mc(this.v)){g=Sg.Eb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Sg.Ba;break}}return l?l(g,b,c,d,e,f):g}; +h.vc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Sg.Ba,e=0);for(;e;){var p=Pb(this.v,td(this.c,f));if(mc(this.v)){g=Sg.Eb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=Sg.Ba;break}m=0}if(!a.write(k,m++,p&255)||!a.write(k,m++,p>>8)){g=Sg.Ba;break}if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Sg.Ba;break}}return l?l(g,b,c,d,e,f):g}; +h.re=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&Tg.Fa;this.g=this.f=b<>U.V.ya;if(!(this.a&U.za)){a=!0;var b,c=this.b[(this.a&U.Ta)>>U.V.Ta],d=c.O,e,f,g;this.a&=~U.ha;switch(this.a&U.ca){case Ug.Ge:this.i&Vg.md&&(this.a&=U.ha|U.ca|U.ya);this.i=c.status|this.g&V.dc|(d&&512==d.M?Vg.ae:0);break;case Ug.ec:(this.f&V.$d)==V.De&&(b=this.f&V.Gb,c=(this.f&V.Fe)<<2,this.g=this.f&V.Ee?this.g+b:this.g-b,this.f=this.g=this.g&V.Gb|c);break;case Ug.le:this.i=this.g;break;case Ug.ie:b=this.ub;case Ug.Je:b||(b=this.vc), +e=this.f>>V.V.Gb,f=this.f&V.dc?1:0,g=this.f&V.yd,!d||e>=d.M||g>=d.P?this.a=this.a|Sg.Ba|U.Ja:(a=65536-this.i&65535,d=(this.h&Tg.Fa)<<16|this.m,a=b.call(this,c,e,f,g,a,d,2,!1,this.re.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&oc(this.c,this.qa))}};h.Uf=function(){return this.m};h.lh=function(a){this.m=a&Wg.va};h.Xf=function(){return this.f};h.oh=function(a){this.f=a};h.Yf=function(){return this.i};h.ph=function(a){this.i=a};h.Vf=function(){return this.h}; +h.mh=function(a){this.h=a&Tg.Fa;this.a=this.a&~U.ya|(this.h&3)<=m.M){k=Y.fe;break}p=m.seek(b,c,d+1);if(!p){k=Y.Pc;break}q=0;++d>=m.P&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(p,q++))||0>(v=m.read(p,q++))){k=Y.Oc;break}Nb(this.v,td(this.c,f),a|v<<8);q>=m.Z&&(p=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; +function Zg(a){var b=0,c=a.a&X.Tc?1:0,d=a.b[c],d=d&&d.O,e=a.u&ah.Fa,f=a.s&bh.Fa;a.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;eg){b=Y.Oc;break}a.h[e++]=g}c.Re&&(a.f|=Z.Cb)}else b=Y.Pc;else b=c?Y.Jc:Y.Ic;$g(a,b)}h.$f=function(a,b){a=this.a;if(!b)switch(a&=X.Fb,this.g){case W.Ec:case W.EMPTY:this.ithis.i&&(this.a|=X.Ga)}return a}; +h.rh=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Db&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Db|X.Ga|X.DONE|X.Ja),(a=this.qa)&&sc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Hb:case W.fc:this.i=0;break;case W.ke:a=this.b[this.a&X.Tc?1:0];this.f&=~Z.ha;a&&a.O&&(this.f|=Z.ha);this.m=this.f;$g(this);break;case W.je:this.m=this.w,$g(this)}else this.a&X.eb?this.a&X.DONE&&oc(this.c,this.qa):(a=this.qa)&&sc(this.c,a)}; +h.ag=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&$g(this))}return this.m}; +h.sh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&$g(this));break;case W.Va:case W.Hb:case W.fc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)Zg(this);else{var b=this.g==W.fc,c=0,d=this.a&X.Tc?1:0,e=this.b[d],e=e&&e.O,f=this.u&ah.Fa,g=this.s&bh.Fa;this.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Re=!0),b=0,f=this.h.length;b\nLicense: GPL version 3 or later ");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis ");for(b=0;bgh){if(hh(d,this.s)){this.h=new E(this,"1.34.2",rh);hh(this.h)&&(sh(this,d),a=th,uh(this.h));this.h.set(mh,ya());vh(this.h);var e=this.a&&!this.m;if(a==nh||Wa("Click OK to restore the previous "+hb+" machine state, or CANCEL to reset the machine.")){if(c=lh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?hh(d,g):("error"==f&&"no machine state"!= +g?(this.G("Error: "+g),"unable to verify user"==g&&(Fa(wh,""),this.b=null)):this.aa(f+": "+g),uh(d),hh(d)?(c=lh(d),e=!0):c=!1))}e&&jh(this,c?d:null)}else a==th&&d.clear()}else jh(this);delete this.s;delete this.l}e=Xa(this.id);for(f=0;fa[1];a=a[2];this.H=!0;this.j.R=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.c&&(xh(this,this.c,b,c,a),Lb(this,-2),this.c.Y());this.C&&(sh(this,b),b.clear());!c&&this.h&&(this.h.clear(),delete this.h);this.g=0}; +function sh(a,b){if(Wa("There may be a problem with your "+hb+" machine.\n\nTo help us diagnose it, click OK to send this "+hb+" machine state to http://www.pcjs.org.")){var c=a.K;a=a.b||"";b=b.toString();var d={};d.app=hb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;za("http://www.pcjs.org/api/v1/report",d,!0)}} +function yh(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new E(a,"1.34.2"),g=new E(a,"1.34.2",kh),k=ya();g.set(mh,k);f.set(mh,k);f.set(zh,"1.34.2");f.set(Ah,window?window.location.href:null);f.set(Bh,window?window.navigator.userAgent:"");a.c&&a.c.ka&&(c&&(b&&(a.c.j.Y=a.c.j.N),G(a.c)),d=a.c.ka(b,c),"object"===typeof d&&f.set(a.c.id,d),c&&(a.c.j.R=!1,!1===d&&(e=null)));for(var k=Xa(a.id),l=0;l=d||30<=(c.fd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.fd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;eb?a.U=a.c.b[7]:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");za(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[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]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Jh(a,b,c)}})}else c(a,null)} +function Kh(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=ua(a))}function g(a){f("Error: "+a);m&&(--Gh||Oa(!0));m=!1}var k,l,m=!0;Gh++;Ua[b]={};try{if(k=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));q.appendChild(v)}d|| +(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,l){l?Hh(d,null,a,null,!1,f,function(a,e){e?(Sa(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Gh||Oa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Gh|| +Oa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Hh(c,b,a,e,!0,f,p):Ih(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(y){g(y.message)}return m}window.embedPDP10=function(a,b,c,d){Oa(!1);return Kh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Oa(!1);return Kh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Za(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ab[a]){for(var c=!0,d=ab,e=a,f=b.length,g=[],k=[],l="",m=null,p=0;p Date: Wed, 1 Mar 2017 16:00:48 -0800 Subject: [PATCH 02/32] Fixed the accumulator update logic in all the PDP-10 half-word self-mode instructions, and started work on EXCH, BLT, and MOVE instructions (the BLT is a real odd-ball, and SIMH does some very strange things with the accumulator used by BLT, which we do NOT attempt to replicate; the strangeness is most noticeable when the accumulator is part of the range being transferred) --- apps/pdp10/tests/optest-v01.json | 35 ++-- apps/pdp10/tests/optest-v01.simh | 32 +++- modules/pdp10/lib/cpuops.js | 142 ++++++++++----- modules/pdp10/lib/debugger.js | 6 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 267 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 170 +++++++++--------- 6 files changed, 373 insertions(+), 279 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index 8bc0fc825..589a6e0e8 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -2,15 +2,30 @@ "load": 0o100, "exec": 0o100, "data": [ - 0o505040111111, // HRLI 1,111111 - 0o541040444444, // HRRI 1,444444 - 0o544100000001, // HLR 2,1 - 0o504100000001, // HRL 2,1 - 0o570140000001, // HRRE 3,1 - 0o530200000002, // HLLE 4,2 - 0o544240000003, // HLR 5,3 - 0o504300000004, // HRL 6,4 - 0o573000000005, // HRRES 0,5 - 0o533000000006, // HLLES 0,6 + 0o505040111111, // 000100: HRLI 1,111111 + 0o541040444444, // 000101: HRRI 1,444444 + 0o544100000001, // 000102: HLR 2,1 + 0o504100000001, // 000103: HRL 2,1 + 0o570140000001, // 000104: HRRE 3,1 + 0o530200000002, // 000105: HLLE 4,2 + 0o544240000003, // 000106: HLR 5,3 + 0o504300000004, // 000107: HRL 6,4 + 0o573000000005, // 000110: HRRES 0,5 + 0o533000000006, // 000111: HLLES 0,6 + 0o541000000010, // 000112: HRRI 0,10 + 0o251000000017, // 000113: BLT 0,17 +// +// 00=000000000010 01=111111444444 02=444444111111 03=777777444444 +// 04=444444777777 05=777777777777 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// + 0o577040000002, // 000114: HLRES 1,2 +// +// 00=000000000010 01=000000111111 02=777777444444 03=777777444444 +// 04=444444777777 05=777777777777 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index 361f2636e..4e26c08b8 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -8,6 +8,34 @@ dep 106 544240000003 dep 107 504300000004 dep 110 573000000005 dep 111 533000000006 -ex -m 100-111 +dep 112 541000000010 +dep 113 251000000017 +dep 114 577040000002 +ex -m 100-114 dep pc 100 -step 10 +step 11 +ex 0-17 +; +echo Execute the BLT 8 times... +; +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +step +ex 0-17 +; +echo next up: HLRES 1,2 +; +step 1 +ex 0-17 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 56acea09f..246379de7 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -583,40 +583,84 @@ PDP10.opFDVRB = function(op) }; /** - * opMOV(0o200000) + * opMOVE(0o200000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOV = function(op) +PDP10.opMOVE = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.readWord(this.regEA)); }; /** - * opMOVI(0o201000) + * opMOVEI(0o201000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * SIDEBAR: MOVEI loads the word 0,E into AC and is thus equivalent to HRRZI. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOVI = function(op) +PDP10.opMOVEI = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.regEA); }; /** - * opMOVM(0o200000) + * opMOVEM(0o202000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op */ -PDP10.opMOVM = function(op) +PDP10.opMOVEM = function(op) { - this.opUndefined(op); + this.writeWord(this.regEA, this.readWord(op & PDP10.OPCODE.A_MASK)); }; /** - * opMOVS(0o200000) + * opMOVES(0o203000) + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Move one word from the source to the destination specified by M. The source is unaffected, + * the original contents of the destination are lost. + * + * SIDEBAR: If A is zero, MOVES is a no-op; otherwise it is equivalent to MOVE. + * + * NOTE: This is a "Self" mode instruction: the source AND destination is [E] (and also [A] if A is non-zero). + * + * @this {CPUStatePDP10} + * @param {number} op + */ +PDP10.opMOVES = function(op) +{ + var acc = op & PDP10.OPCODE.A_MASK; + if (acc) this.writeWord(acc, this.readWord(this.regEA)); +}; + +/** + * opMOVS(0o204000) * * @this {CPUStatePDP10} * @param {number} op @@ -703,6 +747,17 @@ PDP10.opMOVNS = function(op) this.opUndefined(op); }; +/** + * opMOVM(0o214000) + * + * @this {CPUStatePDP10} + * @param {number} op + */ +PDP10.opMOVM = function(op) +{ + this.opUndefined(op); +}; + /** * opMOVMI(0o215000) * @@ -1025,23 +1080,30 @@ PDP10.opEXCH = function(op) * is the final location being loaded. Furthermore, the program cannot assume that AC is the same after the BLT * as it was before. * - * NOTE: As currently implemented, we will NEVER acknowledge an interrupt during a block transfer, so the above - * caution can be ignored (for now). - * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opBLT = function(op) { + var fDone = false; var acc = op & PDP10.OPCODE.A_MASK; var addrDst = this.readWord(acc); var addrSrc = (addrDst / PDP10.WORD_SHIFT)|0; addrDst &= PDP10.WORD_MASK; - while (true) { + while (!fDone) { this.writeWord(addrDst, this.readWord(addrSrc)); - if (addrDst == this.regEA) break; + if (addrDst == this.regEA) fDone = true; addrSrc = (addrSrc + 1) & PDP10.WORD_MASK; addrDst = (addrDst + 1) & PDP10.WORD_MASK; + if (!this.isRunning()) { + /* + * Since the CPU isn't currently running, the CPU is presumably being stepped, so we'll treat that the + * same as the "priority interrupt" condition described above, update the accumulator, rewind the PC, and leave. + */ + this.writeWord(acc, addrSrc * PDP10.WORD_SHIFT + addrDst); + if (!fDone) this.advancePC(-1); + fDone = true; + } } }; @@ -2759,7 +2821,7 @@ PDP10.opHLLM = function(op) * * SIDEBAR: If A is zero, HLLS is a no-op, otherwise it is equivalent to HLL. * - * For HLLS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HLLS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2767,12 +2829,10 @@ PDP10.opHLLM = function(op) PDP10.opHLLS = function(op) { var dst = this.readWord(this.regEA); - this.writeWord(this.regEA, PDP10.setHR(op, dst, dst)); + dst = PDP10.setHR(op, dst, dst); + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - this.writeWord(acc, PDP10.setHR(op, dst, dst)); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -2850,7 +2910,7 @@ PDP10.opHRLM = function(op) * The source and the destination right half are unaffected; the original contents of the destination left * half are lost. * - * For HRLS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HRLS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2859,13 +2919,10 @@ PDP10.opHRLS = function(op) { var dst = this.readWord(this.regEA); var src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; - this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); + dst = PDP10.getHR(op, dst, src) + src; + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; - this.writeWord(acc, PDP10.getHR(op, dst, src) + src); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -2944,7 +3001,7 @@ PDP10.opHRRM = function(op) * * SIDEBAR: If A is zero, HRRS is a no-op; otherwise it is equivalent to HRR. * - * For HRRS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HRRS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -2952,12 +3009,10 @@ PDP10.opHRRM = function(op) PDP10.opHRRS = function(op) { var dst = this.readWord(this.regEA); - this.writeWord(this.regEA, PDP10.setHL(op, dst, dst)); + dst = PDP10.setHL(op, dst, dst); + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - this.writeWord(acc, PDP10.setHL(op, dst, dst)); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -3032,7 +3087,7 @@ PDP10.opHLRM = function(op) * Move the left half of the source word specified by M to the right half of the specified destination. * The source and the destination left half are unaffected; the original contents of the destination right half are lost. * - * For HLRS, the source is [E] and the destination is [E] (and also [A] if A is non-zero). + * For HLRS, the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -3041,13 +3096,10 @@ PDP10.opHLRS = function(op) { var dst = this.readWord(this.regEA); var src = (dst / PDP10.WORD_SHIFT)|0; - this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); + dst = PDP10.getHL(op, dst, src) + src; + this.writeWord(this.regEA, dst); var acc = op & PDP10.OPCODE.A_MASK; - if (acc) { - dst = this.readWord(acc); - src = (dst / PDP10.WORD_SHIFT)|0; - this.writeWord(acc, PDP10.getHL(op, dst, src) + src); - } + if (acc) this.writeWord(acc, dst); }; /** @@ -4164,10 +4216,10 @@ PDP10.aOpXXX_KA10 = [ PDP10.opFDVRI, // 0o175xxx PDP10.opFDVRM, // 0o176xxx PDP10.opFDVRB, // 0o177xxx - PDP10.opMOV, // 0o200xxx - PDP10.opMOVI, // 0o201xxx - PDP10.opMOVM, // 0o202xxx - PDP10.opMOVS, // 0o203xxx + PDP10.opMOVE, // 0o200xxx + PDP10.opMOVEI, // 0o201xxx + PDP10.opMOVEM, // 0o202xxx + PDP10.opMOVES, // 0o203xxx PDP10.opMOVS, // 0o204xxx PDP10.opMOVSI, // 0o205xxx PDP10.opMOVSM, // 0o206xxx diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 89cd50bec..38e151e9c 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -3738,7 +3738,7 @@ if (DEBUGGER) { HRL: 5, HRLZ: 6, HRLO: 7, HRLE: 8, HRR: 9, HRRZ: 10, HRRO: 11, HRRE: 12, HLR: 13, HLRZ: 14, HLRO: 15, HLRE: 16, - MOV: 17, MOVS: 18, MOVN: 19, MOVM: 20, + MOVE: 17, MOVS: 18, MOVN: 19, MOVM: 20, EXCH: 21, BLT: 22, PUSH: 23, POP: 24, LDB: 25, DPB: 26, IBP: 27, ILDB: 28, IDPB: 29, SETZ: 30, SETO: 31, SETA: 32, @@ -3771,7 +3771,7 @@ if (DEBUGGER) { "HRL", "HRLZ", "HRLO", "HRLE", "HRR", "HRRZ", "HRRO", "HRRE", "HLR", "HLRZ", "HLRO", "HLRE", - "MOV", "MOVS", "MOVN", "MOVM", + "MOVE", "MOVS", "MOVN", "MOVM", "EXCH", "BLT", "PUSH", "POP", "LDB", "DPB", "IBP", "ILDB", "IDPB", "SETZ", "SETO", "SETA", @@ -3856,7 +3856,7 @@ if (DEBUGGER) { 0o16400: DebuggerPDP10.OPS.FMPR, 0o17000: DebuggerPDP10.OPS.FDV, 0o17400: DebuggerPDP10.OPS.FDVR, - 0o20000: DebuggerPDP10.OPS.MOV, + 0o20000: DebuggerPDP10.OPS.MOVE, 0o20400: DebuggerPDP10.OPS.MOVS, 0o21000: DebuggerPDP10.OPS.MOVN, 0o21400: DebuggerPDP10.OPS.MOVM, diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index cc8225f4b..f8b980a3a 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -29,9 +29,9 @@ */ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++} function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ia("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ja=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81, +function p(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ka(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;da?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var la=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81, Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,vb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,sb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, +function Sb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.i=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=Tb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, set:this.Qb};E(this)}p(Sb,v);l=Sb.prototype;l.reset=function(a){this.stop();a&&Ub(this,this.v=0)}; l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.g&&this.g.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Xb(this);Yb(this)};l.pa=function(a,b){if(!b)if(this.W&&Zb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.i,this.v,this.u]);return a.data()}; l.restore=function(a){if(a=a[0])$b(this,this.i=a[0]),Ub(this,this.v=a[1]),ac(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Yb(this);return!0};function bc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xb(a,b){for(var c in a.B)bc(a,c,null!=b?b:a.B[c])}function jc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Yb(a){for(var b in a.b)jc(a,b,a.b[b][1])} l.yb=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return ac(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,jc(this,a,c[1]),!0):!1};l.Rb=function(a){return Vb(this,a)?(Wb(this,a),!0):!1};function Vb(a,b){var c=a.b[b];return c?(jc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=kc&&(a.P=b==lc,a.R=b==mc),!0):!1} -function Wb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.J||(this.g.u=this.i%Kb,this.b[nc]&&this.b[nc][1]&&oc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.V()}; -l.Ab=function(a){if(!a&&!this.g.j.J)if(this.b[nc]&&this.b[nc][1])oc(this.g);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),pc(a,0,null),Gb(a,!1);else try{var b=this.g.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.i;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Bc(Cc,e,g)}e=new xc(a,e,m,16384,d);yc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Dc[d]+" at "+pa(b)),!0):Bc(Ec,b,c)} -function vc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.H(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d>>a.i];a.v++;b=c.i(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=sd(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(sd(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.G);a.G=0;a.B=rb();a.L=0;ud(a);return d}function xd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} -l.Ob=function(){if(this.j.J){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.G+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.J)}catch(e){this.V();this.C&&this.C.stop(rb(),sd(this));Cb(this, -e.stack||e.message);return}if(this.j.J){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.G/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; -function oc(a,b){if(!Db(a))if(a.j.J)a.f(a.toString()+" busy");else{td(a);a.j.J=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,sd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.J){zd(this);rc(this,this.G);this.G=0;this.j.J=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),sd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; -function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.J&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.F=this.Kb;this.K=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; +l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(oc(this),!0):!1};l.mb=function(){return 0};function Vc(a){void 0===a.ta&&(a.ta=0);void 0===a.da&&(a.da=-1);void 0===a.ia&&(a.ia=-1);a.j.Ea=0<=a.ta&&0=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=Zc(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(Zc(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.F);a.F=0;a.B=rb();a.L=0;ud(a);return d}function xd(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} +l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.F+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.V();this.C&&this.C.stop(rb(),Zc(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; +function oc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{td(a);a.j.K=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,Zc(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){zd(this);rc(this,this.F);this.F=0;this.j.K=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),Zc(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; +function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.G=this.Kb;this.I=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; l.save=function(){var a=new H(this);a.set(0,[this.i,this.P,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.O,this.W,this.j.Z]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].F(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].K(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.F(this.i)&8388607:(this.za=this.F(this.qa=this.u))&8388607;this.i=this.P&262143; -if(a=this.P>>18&15)this.i=this.i+this.F(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){this.b(a)}function Jd(a){this.b(a)} -function Kd(a){var b=a&15,c=this.F(this.i),d=this.F(b);this.K(b,Ld(a,d,c)+(c-(c&262143)))}function Md(a){var b=a&15,c=this.F(b);this.K(b,Ld(a,c,0))}function Nd(a){var b=this.F(a&15),c=this.F(this.i);this.K(this.i,Ld(a,c,b)+(b-(b&262143)))}function Od(a){var b=this.F(this.i);this.K(this.i,Pd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Pd(a,b,b)))}function Qd(a){var b=a&15,c=(this.F(this.i)&262143)*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)} -function Rd(a){var b=a&15,c=this.i*F,d=this.F(b);this.K(b,Ld(a,d,c)+c)}function Sd(a){var b=(this.F(a&15)&262143)*F,c=this.F(this.i);this.K(this.i,Ld(a,c,b)+b)}function Td(a){var b=this.F(this.i),c=(b&262143)*F;this.K(this.i,Ld(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=(b&262143)*F,this.K(d,Ld(a,b,c)+c))}function Ud(a){var b=a&15,c=this.F(this.i)&262143,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function Wd(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,this.i)+this.i)} -function Xd(a){var b=this.F(a&15)&262143,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)}function Yd(a){var b=this.F(this.i);this.K(this.i,Zd(a,b,b));var c=a&15;c&&(b=this.F(c),this.K(c,Zd(a,b,b)))}function $d(a){var b=a&15,c=this.F(this.i)/F|0,d=this.F(b);this.K(b,Vd(a,d,c)+c)}function ae(a){var b=a&15,c=this.F(b);this.K(b,Vd(a,c,0))}function be(a){var b=this.F(a&15)/F|0,c=this.F(this.i);this.K(this.i,Vd(a,c,b)+b)} -function ce(a){var b=this.F(this.i),c=b/F|0;this.K(this.i,Vd(a,b,c)+c);var d=a&15;d&&(b=this.F(d),c=b/F|0,this.K(d,Vd(a,b,c)+c))}function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Zd(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*F;break;case 384:b+=c>Nb?262143*F:0}return b} -function Ld(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b}function Pd(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Ob?262143:0}return b} +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].G(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].I(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.G(this.i)&8388607:(this.za=this.G(this.qa=this.u))&8388607;this.i=this.P&262143; +if(a=this.P>>18&15)this.i=this.i+this.G(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){var b=a&15,c=this.G(this.i),d=this.G(b);this.I(b,Jd(a,d,c)+(c-(c&262143)))} +function Kd(a){var b=a&15,c=this.G(b);this.I(b,Jd(a,c,0))}function Ld(a){var b=this.G(a&15),c=this.G(this.i);this.I(this.i,Jd(a,c,b)+(b-(b&262143)))}function Md(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Ob?262143:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Nd(a){var b=a&15,c=(this.G(this.i)&262143)*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)}function Od(a){var b=a&15,c=this.i*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)} +function Pd(a){var b=(this.G(a&15)&262143)*F,c=this.G(this.i);this.I(this.i,Jd(a,c,b)+b)}function Qd(a){var b=this.G(this.i),c=(b&262143)*F,b=Jd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Rd(a){var b=a&15,c=this.G(this.i)&262143,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Td(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,this.i)+this.i)}function Ud(a){var b=this.G(a&15)&262143,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)} +function Vd(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*F;break;case 384:d+=b>Nb?262143*F:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Wd(a){var b=a&15,c=this.G(this.i)/F|0,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Xd(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,0))}function Yd(a){var b=this.G(a&15)/F|0,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)}function Zd(a){var b=this.G(this.i),c=b/F|0,b=Sd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)} +function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Sd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Jd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} var Hd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,Jd,Jd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.F(a);this.K(a,this.F(this.i));this.K(this.i,b)},function(a){a=this.F(a&15);var b= -a/F|0;for(a&=262143;;){this.K(a,this.F(b));if(a==this.i)break;b=b+1&262143;a=a+1&262143}},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.I(a&15,this.G(this.i))},function(a){this.I(a&15,this.i)},function(a){this.I(this.i,this.G(a&15))},function(a){(a&=15)&&this.I(a,this.G(this.i))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.G(a);this.I(a,this.G(this.i));this.I(this.i,b)},function(a){var b=!1;a&=15;for(var c=this.G(a),d=c/F|0,c=c&262143;!b;)this.I(c,this.G(d)),c==this.i&&(b=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.I(a,d*F+c),b||Ed(this,-1),b=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Kd,Md,Nd,Od,Qd,Rd, -Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Kd,Md,Nd,Od,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,Ud,Wd,Xd,Yd,$d,ae,be,ce,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 de(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.G=qa(this.v);if(this.v){a=this.v;var b=ra(this.G);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ee(c)})}}p(de,v); -de.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ee(this)};de.prototype.pa=function(){this.T&&(this.A&&fe(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};de.prototype.fa=function(){return!0}; -function ee(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){var c;for(c=0;c>>g.i;0>>= -g.i;0>>a.i;0f&&f>=ma&&(f+=ja);f=Math.trunc(Math.abs(f))%ja;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 $d(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.F=qa(this.v);if(this.v){a=this.v;var b=ra(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ae(c)})}}p($d,v); +$d.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ae(this)};$d.prototype.pa=function(){this.T&&(this.A&&be(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};$d.prototype.fa=function(){return!0}; +function ae(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){var c;for(c=0;c>>g.i;0>>= +g.i;0>>a.i;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)}; l.ob=function(a){if(!this.b){var b=Tc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ob(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} -function ne(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} +function je(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} -function se(a,b){if(b)return re(a,b,a.W[b]);var c=0;for(b in a.W)re(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function te(a){le.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.G=[];this.b=this.M=this.I=[];ue(this);this.R=this.ka=0;this.i=[];this.sa=void 0;ve(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];we(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, -a)})}p(te,le);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function xe(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ye(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ze(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=me(a,c.Oa=b[4]));return c}l=te.prototype; -l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&we(this,a);Ae(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function oe(a,b){if(b)return ne(a,b,a.W[b]);var c=0;for(b in a.W)ne(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var me={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function pe(a){he.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.F=[];this.b=this.M=this.J=[];qe(this);this.R=this.ka=0;this.i=[];this.sa=void 0;re(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];se(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, +a)})}p(pe,he);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function te(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ue(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ve(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=ie(a,c.Oa=b[4]));return c}l=pe.prototype; +l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&se(this,a);we(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.F(b)),0<=d&&(xe(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} -function Oe(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Pe)if(f=Pe[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=vf;m=n&3;break;case 32256:k=xf;m=n&7;break;case 29248:k=yf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>zf&&(k="B");k=Af[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Ce(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Ce(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+sd(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.i],!0);a.I=["bw"];a.ra=0;a.ka=0} -l.Ba=function(a,b,c){var d=!0;c||Bf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.I)}}d&&(a.push(b),c?b.ea=!0:(Cf(this,a,a.length-1,"set"),ve(this)));return d};function Bf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.I));h.ea||ve(a);break}}return g} -function Df(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);xe(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Ff(a,Ee)+Ff(a,Fe)+Ff(a,Ge)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({$c:b,w:c,zb:d,T:e,hb:g})}function Hf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Oe(a,b,f,g));e-=b.w-k;c++}}} -function Ef(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ke+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"zf&&(ad="B");if(ng==Af[Te]+ad){Se=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=($c|Se<<6)*Pb;break}}if(0<= -x)break}if(0<=x)break}if(0<=x)if(Qe)for(var bd=Qe.split(","),fb=0;fbD||127D||15D||262143< -D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var gd=[];"call"==Ze&&(hb=1E5,gd=["CALL"]);for(void 0!==Ye&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;af++;hb--}}af||(a.f("no "+$e+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,df="ds"==Ma;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||qg,ta=pe(a,ka);else{var ef=T(a,ka);ef&&(ta=ef.w-Pa.w)}0>ta&&(ta=0);65536jf;jf++)gf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=df?ua+(va+","):ua+(W+": "+va+(0>hf?" "+gf:""))}ua&&a.f(ua);a.ba=sg}}}}break;case "e":if("else"==f[0])break;var kf,lf,mf=f[0],jd=f[1];"e"==mf||"ew"==mf?(kf=a.wa,lf=a.$a):jd=null;if(null==jd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,jd,a.ja);if(fc)for(var gc=2;gcnd;){for(var wa=null,wg=256;65536>kb.w>>>0;){od.w=a.wa(kb,2);if(null==kb.w||!wg--)break;if(!(od.w&1)){for(var xg=a,hc=od,of=null,lb=hc.w,pf=lb,pd=1;6>=pd&&lb;pd++){if(2d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.G(b)),0<=d&&(te(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} +function Ke(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Le)if(f=Le[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=rf;m=n&3;break;case 32256:k=tf;m=n&7;break;case 29248:k=uf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>vf&&(k="B");k=wf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=ye(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+ye(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+Zc(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function qe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.i],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Ba=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(yf(this,a,a.length-1,"set"),re(this)));return d};function xf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.J));h.ea||re(a);break}}return g} +function zf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);te(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Bf(a,Ae)+Bf(a,Be)+Bf(a,Ce)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,T:e,hb:g})}function Df(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Ke(a,b,f,g));e-=b.w-k;c++}}} +function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ge+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"vf&&(bd="B");if(jg==wf[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=(ad|Oe<<6)*Pb;break}}if(0<= +x)break}if(0<=x)break}if(0<=x)if(Me)for(var cd=Me.split(","),fb=0;fbD||127D||15D||262143< +D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||mg,ta=le(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=og}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.$a):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,sg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!sg--)break;if(!(pd.w&1)){for(var tg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bTf){if(Uf(d,this.M)){this.B=new H(this,"1.34.2",cg);Uf(this.B)&&(dg(this,d),a=eg,fg(this.B));this.B.set($f,Ea());gg(this.B);var e=this.b&&!this.L;if(a==ag||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Zf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Uf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(hg,""),this.i=null)):this.f(g+": "+f),fg(d),Uf(d)?(c=Zf(d),e=!0):c=!1))}e&&Xf(this,c?d:null)}else a==eg&&d.clear()}else Xf(this);delete this.M;delete this.I}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(ig(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&(dg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function dg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Nf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Yf),h=Ea();f.set($f,h);g.set($f,h);g.set(jg,"1.34.2");g.set(kg,window?window.location.href:null);g.set(lg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.J),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bPf){if(Qf(d,this.M)){this.B=new H(this,"1.34.2",Zf);Qf(this.B)&&($f(this,d),a=ag,bg(this.B));this.B.set(Wf,Ea());cg(this.B);var e=this.b&&!this.L;if(a==Xf||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Vf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Qf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(dg,""),this.i=null)):this.f(g+": "+f),bg(d),Qf(d)?(c=Vf(d),e=!0):c=!1))}e&&Tf(this,c?d:null)}else a==ag&&d.clear()}else Tf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(eg(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&($f(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function $f(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Jf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Uf),h=Ea();f.set(Wf,h);g.set(Wf,h);g.set(fg,"1.34.2");g.set(gg,window?window.location.href:null);g.set(hg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.J?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.g.j.J;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Ig(a,b,c)}})}else c(a,null)} -function Jg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Fg||cb(!0));m=!1}var h,k,m=!0;Fg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Gg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Fg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Fg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Gg(c,b,a,e,!0,g,n):Hg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Jg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Jg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.g){var c=a.g,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Eg(a,b,c)}})}else c(a,null)} +function Fg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Bg||cb(!0));m=!1}var h,k,m=!0;Bg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Cg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Bg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Bg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Cg(c,b,a,e,!0,g,n):Dg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Fg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Fg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={yb:0,Ra:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Ja:8,Gb:9,Sa:10,Hb:11,Ib:12,Ta:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81, hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127}; -function la(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 w(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, @@ -44,7 +44,7 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.u=this.f=this.m=this.o=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.m=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.u=this.f=this.m=this.o=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, -set:this.rb};K(this)}n(Za,B);k=Za.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.o&&this.o.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.o=a;this.m=b;this.f=c;this.u=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),N(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} +var I="pdp10",L="PDPjs",M=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),N=Math.pow(2,18),Va=Math.pow(2,17)-1,Wa=Math.pow(2,35)-1,Xa=Math.pow(2,23),I="pdp10",L="PDPjs"; +function Ya(a,b){B.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.b=this.w=this.g=this.h=0;this.G=this.I=-1;this.L=this.M=this.u=!1;this.O=Za;this.j={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],ENABLE:[1,1,!1,!1,this.cb],CONT:[1,1,!0,!1,this.ab],DEP:[0,0,!0,!1,this.bb],EXAM:[1,1,!0,!1,this.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.v=this.f=this.m=this.s=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, +set:this.rb};K(this)}n(Ya,B);k=Ya.prototype;k.reset=function(a){this.stop();a&&$a(this,this.h=0)}; +k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.m=b;this.f=c;this.v=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),$a(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} k.$a=function(a,b,c){if(ab(this,b)){if(c){var d=this;setTimeout(function(){bb(d,b);a&&a()},+c);return!1}bb(this,b)}return!0}; k.rb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);N(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.s=!0,cb(this,!0)):(this.s=!1,cb(this),gb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);$a(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.u=!0,cb(this,!0)):(this.u=!1,cb(this),gb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.b(c,b&16383,b);a.h--} -function vb(a){for(var b=0,c=[],d=0;d>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.i(c,b&16383,b);a.h--} +function vb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Pb(a)&&(a.da=a.ea=-1,Ob(a),P(a),c=!0);c&&a.K(Pb(a)+" cycles: checksum="+t(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}pb(a,a.s);a.s=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}pb(a,a.u);a.u=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ub(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} -k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Ub(this,!0);this.ca+=b;this.s+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.o&&Q(this.o,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); -this.o&&this.o.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.s/(10*d))/100,864E5<=d&&(this.I=0,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; -function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Pb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.s);a.s=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(D(),Pb(a));b=!0;a.u||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; -function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.l=this.lb;this.v=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.h=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].v(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ha||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.u.h(this.h,b)){P(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.h))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ua;this.M&4194304?a=-1:(this.h=(this.h+1)%Ta,a=this.qa/Ya|0);0<=a&&this.Wa(a)}while(0< -this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){this.a(a)}function ac(a){this.a(a)}function bc(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.v(b,V(a,d,c)+(c-(c&262143)))}function cc(a){var b=a&15,c=this.l(b);this.v(b,V(a,c,0))} -function dc(a){var b=this.l(a&15),c=this.l(this.b);this.v(this.b,V(a,c,b)+(b-(b&262143)))}function ec(a){var b=this.l(this.b);this.v(this.b,fc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,fc(a,b,b)))}function gc(a){var b=a&15,c=(this.l(this.b)&262143)*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function hc(a){var b=a&15,c=this.b*M,d=this.l(b);this.v(b,V(a,d,c)+c)}function ic(a){var b=(this.l(a&15)&262143)*M,c=this.l(this.b);this.v(this.b,V(a,c,b)+b)} -function jc(a){var b=this.l(this.b),c=(b&262143)*M;this.v(this.b,V(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=(b&262143)*M,this.v(d,V(a,b,c)+c))}function kc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.v(b,W(a,d,c)+c)}function lc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,this.b)+this.b)}function mc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function nc(a){var b=this.l(this.b);this.v(this.b,oc(a,b,b));var c=a&15;c&&(b=this.l(c),this.v(c,oc(a,b,b)))} -function pc(a){var b=a&15,c=this.l(this.b)/M|0,d=this.l(b);this.v(b,W(a,d,c)+c)}function qc(a){var b=a&15,c=this.l(b);this.v(b,W(a,c,0))}function rc(a){var b=this.l(a&15)/M|0,c=this.l(this.b);this.v(this.b,W(a,c,b)+b)}function sc(a){var b=this.l(this.b),c=b/M|0;this.v(this.b,W(a,b,c)+c);var d=a&15;d&&(b=this.l(d),c=b/M|0,this.v(d,W(a,b,c)+c))}function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.h=(this.h+-1)%Ta;P(this)} -function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*M;break;case 384:b=c>Wa?262143*M:0}return b}function oc(a,b,c){if(a&=384)switch(b&=262143,a){case 256:b+=262143*M;break;case 384:b+=c>Wa?262143*M:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Xa?262143:0}return b}function fc(a,b,c){if(a&=384)switch(b-=b&262143,a){case 256:b+=262143;break;case 384:b+=c>Xa?262143:0}return b} +k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Ub(this,!0);this.ca+=b;this.u+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); +this.s&&this.s.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.u/(10*d))/100,864E5<=d&&(this.I=0,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; +function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.s&&a.s.start(a.j,Pb(a));a.v||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.u);a.u=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.s&&a.s.stop(D(),Pb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; +function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.g=this.ya=this.La;this.h=0;this.l=this.lb;this.o=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.I=b[0];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].o(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.D=this.G=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.g))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ta;this.M&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Xa|0);0<=a&&this.Wa(a)}while(0< +this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.o(b,V(a,d,c)+(c-(c&262143)))}function ac(a){var b=a&15,c=this.l(b);this.o(b,V(a,c,0))}function bc(a){var b=this.l(a&15),c=this.l(this.b);this.o(this.b,V(a,c,b)+(b-(b&262143)))} +function cc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Wa?262143:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function dc(a){var b=a&15,c=(this.l(this.b)&262143)*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function ec(a){var b=a&15,c=this.b*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function fc(a){var b=(this.l(a&15)&262143)*N,c=this.l(this.b);this.o(this.b,V(a,c,b)+b)} +function gc(a){var b=this.l(this.b),c=(b&262143)*N,b=V(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)}function hc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.o(b,W(a,d,c)+c)}function ic(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,this.b)+this.b)}function jc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)} +function kc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*N;break;case 384:d+=b>Va?262143*N:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function lc(a){var b=a&15,c=this.l(this.b)/N|0,d=this.l(b);this.o(b,W(a,d,c)+c)}function mc(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,0))}function nc(a){var b=this.l(a&15)/N|0,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)}function oc(a){var b=this.l(this.b),c=b/N|0,b=W(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)} +function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} var Zb=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,ac,ac,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.v(a,this.l(this.b));this.v(this.b,b)},function(a){a=this.l(a&15);var b= -a/M|0;for(a&=262143;;){this.v(a,this.l(b));if(a==this.b)break;b=b+1&262143;a=a+1&262143}},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.o(a&15,this.l(this.b))},function(a){this.o(a&15,this.b)},function(a){this.o(this.b,this.l(a&15))},function(a){(a&=15)&&this.o(a,this.l(this.b))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.o(a,this.l(this.b));this.o(this.b,b)},function(a){var b=!1;a&=15;for(var c=this.l(a),d=c/N|0,c=c&262143;!b;)this.o(c,this.l(d)),c==this.b&&(b=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.o(a,d*N+c),b||(this.g=(this.g+-1)%M),b=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},bc,cc,dc,ec,gc,hc, -ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,bc,cc,dc,ec,gc,hc,ic,jc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,kc,lc,mc,nc,pc,qc,rc,sc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function tc(a){B.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.s=na(this.h);if(this.h){a=this.h;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);uc(c)})}}n(tc,B); -tc.prototype.Z=function(a,b,c,d){this.m=b;this.f=c;this.u=d;uc(this)};tc.prototype.V=function(){this.N&&(this.u&&this.u.a(this.id,this.j,this.g,this.N),delete this.N);return!0};tc.prototype.P=function(){return!0}; -function uc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.m)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.j;if(wb(a.m,b,a.g,Eb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.o=a;this.m=b;this.f=c;this.u=d;K(this)}; -k.Qa=function(a){if(!this.a){var b=S(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bCc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Lc);Z(this.j)&&(Mc(this,d),a=Nc,Oc(this.j));this.j.set(Ic,ta());Pc(this.j);var e=this.a&&!this.C;if(a==Jc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Hc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Qc,""),this.b=null)):this.K(f+": "+g),Oc(d),Z(d)?(c=Hc(d),e=!0):c=!1))}e&&Fc(this,c?d:null)}else a==Nc&&d.clear()}else Fc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Rc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Mc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; -function Mc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} -function Sc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Gc),h=ta();g.set(Ic,h);f.set(Ic,h);f.set(Tc,"1.34.2");f.set(Uc,window?window.location.href:null);f.set(Vc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.m=b;this.f=c;this.v=d;K(this)}; +k.Qa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;byc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Hc);Z(this.j)&&(Ic(this,d),a=Jc,Kc(this.j));this.j.set(Ec,ta());Lc(this.j);var e=this.a&&!this.C;if(a==Fc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Dc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Mc,""),this.b=null)):this.K(f+": "+g),Kc(d),Z(d)?(c=Dc(d),e=!0):c=!1))}e&&Bc(this,c?d:null)}else a==Jc&&d.clear()}else Bc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Nc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Ic(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; +function Ic(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} +function Oc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Cc),h=ta();g.set(Ec,h);f.set(Ec,h);f.set(Pc,"1.34.2");f.set(Qc,window?window.location.href:null);f.set(Rc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.u&&a.u.j||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.h:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);cd(a,b,c)}})}else c(a,null)} -function dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--$c||A(!0));p=!1}var h,l,p=!0;$c++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ka=document.createElement("style");ka.type="text/css";ka.styleSheet?ka.styleSheet.cssText=r:ka.appendChild(document.createTextNode(r));v.appendChild(ka)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ad(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--$c||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$c|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ad(c,b,a,e,!0,f,r):bd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ed){g(ed.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; +function Q(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.i.PC){var f=a.v&&a.v.j||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Zc(a,b,c)}})}else c(a,null)} +function $c(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--Wc||A(!0));p=!1}var h,l,p=!0;Wc++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));v.appendChild(la)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?Xc(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Wc||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Wc|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Xc(c,b,a,e,!0,f,r):Yc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ad){g(ad.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return $c("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return $c("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r Date: Wed, 1 Mar 2017 17:23:54 -0800 Subject: [PATCH 03/32] Added the PDP-10's four arithmetic flags along with a negate() function -- the first of our functions that actually needs to set those flags --- apps/pdp10/tests/optest-v01.simh | 4 +- modules/pdp10/lib/cpuops.js | 130 ++++++++++-- modules/pdp10/lib/cpustate.js | 49 ++++- modules/pdp10/lib/defines.js | 12 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 312 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 193 +++++++++--------- 6 files changed, 417 insertions(+), 283 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index 4e26c08b8..db52d4d4c 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -16,7 +16,7 @@ dep pc 100 step 11 ex 0-17 ; -echo Execute the BLT 8 times... +echo Execute BLT 8 times (note the weird value that SIMH moves on the first iteration (ie, from AC 0 to AC 10) ; step ex 0-17 @@ -35,7 +35,7 @@ ex 0-17 step ex 0-17 ; -echo next up: HLRES 1,2 +echo Execute HLRES 1,2 ; step 1 ex 0-17 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 246379de7..4b2359ec6 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -583,7 +583,7 @@ PDP10.opFDVRB = function(op) }; /** - * opMOVE(0o200000) + * opMOVE(0o200000): Move * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: * @@ -601,7 +601,7 @@ PDP10.opMOVE = function(op) }; /** - * opMOVEI(0o201000) + * opMOVEI(0o201000): Move Immediate * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: * @@ -621,7 +621,7 @@ PDP10.opMOVEI = function(op) }; /** - * opMOVEM(0o202000) + * opMOVEM(0o202000): Move to Memory * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: * @@ -639,7 +639,7 @@ PDP10.opMOVEM = function(op) }; /** - * opMOVES(0o203000) + * opMOVES(0o203000): Move to Self * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: * @@ -660,62 +660,128 @@ PDP10.opMOVES = function(op) }; /** - * opMOVS(0o204000) + * opMOVS(0o204000): Move Swapped + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Interchange the left and right halves of the word from the source specified by M and move it to the + * specified destination. The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opMOVS = function(op) { - this.opUndefined(op); + var src = this.readWord(this.regEA); + src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + this.writeWord(op & PDP10.OPCODE.A_MASK, src); }; /** - * opMOVSI(0o205000) + * opMOVSI(0o205000): Move Swapped Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Interchange the left and right halves of the word from the source specified by M and move it to the + * specified destination. The source is unaffected, the original contents of the destination are lost. + * + * SIDEBAR: Swapping halves in immediate mode loads the word E,0 into AC. MOVSI is thus equivalent to HRLZI. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opMOVSI = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.regEA * PDP10.WORD_SHIFT); }; /** - * opMOVSM(0o206000) + * opMOVSM(0o206000): Move Swapped to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Interchange the left and right halves of the word from the source specified by M and move it to the + * specified destination. The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opMOVSM = function(op) { - this.opUndefined(op); + var src = this.readWord(op & PDP10.OPCODE.A_MASK); + src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + this.writeWord(this.regEA, src); }; /** - * opMOVSS(0o207000) + * opMOVSS(0o207000): Move Swapped to Self + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Interchange the left and right halves of the word from the source specified by M and move it to the + * specified destination. The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Self" mode instruction: the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opMOVSS = function(op) { - this.opUndefined(op); + var src = this.readWord(this.regEA); + src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + this.writeWord(this.regEA, src); + var acc = op & PDP10.OPCODE.A_MASK; + if (acc) this.writeWord(acc, src) }; /** - * opMOVN(0o210000) + * opMOVN(0o210000): Move Negative + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Negate the word from the source specified by M and move it to the specified destination. + * If the source word is fixed point -2^35 (400000 000000) set the Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^127 sets the flags, but this is not a normalized + * number). + * + * If the source word is zero, set Carry 0 and Carry 1. The source is unaffected, the original + * contents of the destination are lost. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op */ PDP10.opMOVN = function(op) { - this.opUndefined(op); + this.writeWord(op & PDP10.OPCODE.A_MASK, this.negate(this.readWord(this.regEA))); }; /** - * opMOVNI(0o211000) + * opMOVNI(0o211000): Move Negative Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Negate the word from the source specified by M and move it to the specified destination. + * If the source word is fixed point -2^35 (400000 000000) set the Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^127 sets the flags, but this is not a normalized + * number). + * + * If the source word is zero, set Carry 0 and Carry 1. The source is unaffected, the original + * contents of the destination are lost. + * + * SIDEBAR: MOVNI loads AC with the negative of the word 0,E and can set no flags. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -726,7 +792,20 @@ PDP10.opMOVNI = function(op) }; /** - * opMOVNM(0o212000) + * opMOVNM(0o212000): Move Negative to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Negate the word from the source specified by M and move it to the specified destination. + * If the source word is fixed point -2^35 (400000 000000) set the Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^127 sets the flags, but this is not a normalized + * number). + * + * If the source word is zero, set Carry 0 and Carry 1. The source is unaffected, the original + * contents of the destination are lost. + * + * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op @@ -737,7 +816,20 @@ PDP10.opMOVNM = function(op) }; /** - * opMOVNS(0o213000) + * opMOVNS(0o213000): Move Negative to Self + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-11: + * + * Negate the word from the source specified by M and move it to the specified destination. + * If the source word is fixed point -2^35 (400000 000000) set the Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^127 sets the flags, but this is not a normalized + * number). + * + * If the source word is zero, set Carry 0 and Carry 1. The source is unaffected, the original + * contents of the destination are lost. + * + * NOTE: This is a "Self" mode instruction: the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -3996,7 +4088,7 @@ PDP10.getHR = function(op, dst, src) dst = PDP10.WORD_MASK; break; case 0o600: - dst = (src > PDP10.MAX_POS? PDP10.WORD_MASK : 0); + dst = (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); break; } return dst; @@ -4021,7 +4113,7 @@ PDP10.setHR = function(op, dst, src) dst += PDP10.WORD_MASK; break; case 0o600: - dst += (src > PDP10.MAX_POS? PDP10.WORD_MASK : 0); + dst += (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); break; } } diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index 05449adfe..4738b143e 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -176,6 +176,7 @@ class CPUStatePDP10 extends CPUPDP10 { { this.regEA = this.regRA = this.regOP = 0; this.regPC = this.lastPC = this.addrReset; + this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = false; /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register @@ -327,25 +328,29 @@ class CPUStatePDP10 extends CPUPDP10 { /** * getOpcode() * - * Normally, this fetches the next opcode in regOP, decodes the low 23 bits (I,X,Y), records the effective - * address (E) in regEA, updates regPC, and returns the high 13 bits of the opcode for further decoding. + * Normally, this fetches the next opcode in regOP, decodes the low 23 bits (I,X,Y), records + * the effective address (E) in regEA, updates regPC, and returns the high 13 bits of the opcode + * for further decoding. * - * However, if a reference address still needs to be decoded (due to indirection), we take care of that first. + * However, if a reference address (R) in regRA still needs to be decoded (due to indirection), + * we take care of that first. * * @this {CPUStatePDP10} * @return {number} (-1 if the reference address in regRA has not yet been fully decoded) */ getOpcode() { + if ((this.regRA & PDP10.OPCODE.I_BIT)) { + this.regRA = this.readWord(this.regEA); + } else { + this.regRA = this.regOP = this.readWord(this.lastPC = this.regPC); + } + /* * Technically, we don't REALLY need to mask regRA with R_MASK, because all regRA accesses - * ignore any higher opcode bits, but let's keep things tidy. + * ignore any higher bits, but let's keep things tidy. */ - if ((this.regRA & PDP10.OPCODE.I_BIT)) { - this.regRA = this.readWord(this.regEA) & PDP10.OPCODE.R_MASK; - } else { - this.regRA = (this.regOP = this.readWord(this.lastPC = this.regPC)) & PDP10.OPCODE.R_MASK; - } + this.regRA &= PDP10.OPCODE.R_MASK; /* * Bits 0-22 (I,X,Y) contain what we call a "reference address" (R), which is used to calculate an @@ -433,6 +438,32 @@ class CPUStatePDP10 extends CPUPDP10 { this.regPC = addr % PDP10.ADDR_LIMIT; } + /** + * negate(src) + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (negated 36-bit src) + */ + negate(src) + { + if (!src) { + this.fCarry = this.fCarry1 = true; + } + else { + /* + * In the non-zero case, it's always safe to subtract src from TWO_POW36, but since we have to check for + * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. + */ + if (src == PDP10.MIN_NEG36) { + this.fOverflow = this.fCarry1 = true; + } else { + src = PDP10.TWO_POW36 - src; + } + } + return src; + } + /** * addIRQ(vector, priority, message) * diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 8ed296293..6f326afd6 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -102,8 +102,16 @@ var PDP10 = { DATA_LIMIT: Math.pow(2, 36), WORD_SHIFT: Math.pow(2, 18), WORD_MASK: 0o777777, - MAX_POS18: Math.pow(2, 17) - 1, - MAX_POS: Math.pow(2, 35) - 1, + + /* + * 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all + * values as unsigned quantities, these are the unsigned equivalents. + */ + MAX_POS18: Math.pow(2, 17) - 1, // 131,071 (377777) + MIN_NEG18: Math.pow(2, 17), // -131,072 (400000) + MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) + MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) + TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) /* * PDP-10 opcodes are 36-bit values, most of which use the following layout: diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index f8b980a3a..df9a9ef7e 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -46,179 +46,181 @@ function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return function Ua(a){if(!Va){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Va=c}return Va[a]}function Wa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.ub=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.F=this.C=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, -set:this.Qb};E(this)}p(Sb,v);l=Sb.prototype;l.reset=function(a){this.stop();a&&Ub(this,this.v=0)}; -l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.g&&this.g.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Vb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Wb(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){Vb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Wb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Xb(this);Yb(this)};l.pa=function(a,b){if(!b)if(this.W&&Zb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.i,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])$b(this,this.i=a[0]),Ub(this,this.v=a[1]),ac(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Yb(this);return!0};function bc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Xb(a,b){for(var c in a.B)bc(a,c,null!=b?b:a.B[c])}function jc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Yb(a){for(var b in a.b)jc(a,b,a.b[b][1])} -l.yb=function(a,b,c){if(Vb(this,b)){if(c){var d=this;setTimeout(function(){Wb(d,b);a&&a()},+c);return!1}Wb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return ac(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,jc(this,a,c[1]),!0):!1};l.Rb=function(a){return Vb(this,a)?(Wb(this,a),!0):!1};function Vb(a,b){var c=a.b[b];return c?(jc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=kc&&(a.P=b==lc,a.R=b==mc),!0):!1} -function Wb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(jc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.K||(this.g.u=this.i%Kb,this.b[nc]&&this.b[nc][1]&&oc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.V()}; -l.Ab=function(a){if(!a&&!this.g.j.K)if(this.b[nc]&&this.b[nc][1])oc(this.g);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),pc(a,0,null),Gb(a,!1);else try{var b=this.g.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.i;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Bc(Cc,e,g)}e=new xc(a,e,m,16384,d);yc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Dc[d]+" at "+pa(b)),!0):Bc(Ec,b,c)} -function vc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.i(b&16383,b);a.v--;return b}function uc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function zc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=Zc(a)&&(a.da=a.ia=-1,Vc(a),a.V(),c=!0);c&&a.f(Zc(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&wd(a.C)}rc(a,a.F);a.F=0;a.B=rb();a.L=0;ud(a);return d}function xd(a,b){for(var c=a.J.length-1;0<=c;c--){var d=a.J[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.M-=a.N;a.N=0;b&&(a.M=0);return c} -l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&ud(this,!0);this.ja=0;this.ra=rb();if(this.L){var a=this.ra-this.L;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=xd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ja+=b;this.F+=b;sc(this,b);qc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Ad&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.V();this.C&&this.C.stop(rb(),Zc(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.L=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.L-this.ra),d=this.L-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.O=0,td(this)));if(0>c||this.Rc&&(this.B-=c),c=0;this.ya+=this.ja;this.L+=c;a(b,c)}}}; -function oc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{td(a);a.j.K=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&wd(a.C,!0),a.C.start(a.B,Zc(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){zd(this);rc(this,this.F);this.F=0;this.j.K=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),Zc(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var vd=30,Ad=15,Sc=["power","reset"]; -function Bd(a){var b=+a.model||1001;Rc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Cd.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Bd,Rc);l=Bd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.V();this.i=this.P=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.G=this.Kb;this.I=this.Vb;this.ka=null;Uc(this);this.j.error=!1;Rc.prototype.reset.call(this)};l.mb=function(){return 0}; -l.save=function(){var a=new H(this);a.set(0,[this.i,this.P,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.O,this.W,this.j.Z]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.i=b.next().value;this.P=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.O=b[0];td(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.i].G(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.la=a;c.b[(a&c.u)>>>c.i].I(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Fd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.M=this.N=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Gd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Gd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.P=this.P&4194304?this.G(this.i)&8388607:(this.za=this.G(this.qa=this.u))&8388607;this.i=this.P&262143; -if(a=this.P>>18&15)this.i=this.i+this.G(a)&Lb;this.P&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Rb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Id(a){var b=a&15,c=this.G(this.i),d=this.G(b);this.I(b,Jd(a,d,c)+(c-(c&262143)))} -function Kd(a){var b=a&15,c=this.G(b);this.I(b,Jd(a,c,0))}function Ld(a){var b=this.G(a&15),c=this.G(this.i);this.I(this.i,Jd(a,c,b)+(b-(b&262143)))}function Md(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Ob?262143:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Nd(a){var b=a&15,c=(this.G(this.i)&262143)*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)}function Od(a){var b=a&15,c=this.i*F,d=this.G(b);this.I(b,Jd(a,d,c)+c)} -function Pd(a){var b=(this.G(a&15)&262143)*F,c=this.G(this.i);this.I(this.i,Jd(a,c,b)+b)}function Qd(a){var b=this.G(this.i),c=(b&262143)*F,b=Jd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Rd(a){var b=a&15,c=this.G(this.i)&262143,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Td(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,this.i)+this.i)}function Ud(a){var b=this.G(a&15)&262143,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)} -function Vd(a){var b=this.G(this.i),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*F;break;case 384:d+=b>Nb?262143*F:0}b=d;this.I(this.i,b);(a&=15)&&this.I(a,b)}function Wd(a){var b=a&15,c=this.G(this.i)/F|0,d=this.G(b);this.I(b,Sd(a,d,c)+c)}function Xd(a){var b=a&15,c=this.G(b);this.I(b,Sd(a,c,0))}function Yd(a){var b=this.G(a&15)/F|0,c=this.G(this.i);this.I(this.i,Sd(a,c,b)+b)}function Zd(a){var b=this.G(this.i),c=b/F|0,b=Sd(a,b,c)+c;this.I(this.i,b);(a&=15)&&this.I(a,b)} -function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Ed(this,-1);this.V()}function Sd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Jd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} -var Hd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var B="pdp10",Jb="PDPjs",Kb=Math.pow(2,18),Lb=Math.pow(2,18)-1,Mb=Math.pow(2,36),F=Math.pow(2,18),Nb=Math.pow(2,17)-1,Ob=Math.pow(2,35)-1,Pb=Math.pow(2,35),Qb=Math.pow(2,36),Rb=Math.pow(2,21),Sb=Math.pow(2,26),Tb=Math.pow(2,23),B="pdp10",Jb="PDPjs",G={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824, +halt:-2147483648}; +function Ub(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.g=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.G=!1;this.S=Vb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.i=this.F=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, +set:this.Qb};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; +l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.F=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.g,this.v,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])bc(this,this.g=a[0]),Wb(this,this.v=a[1]),jc(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} +l.yb=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return jc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Rb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} +function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.i.j.K||(this.i.u=this.g%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Ib=function(){};l.Cb=function(a){a||this.i.V()}; +l.Ab=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.g;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Dc(Ec,e,g)}e=new zc(a,e,m,16384,d);Ac(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Fc[d]+" at "+pa(b)),!0):Dc(Gc,b,c)} +function xc(a,b){var c=a.b[(b&a.u)>>>a.g];a.v++;b=c.F(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.g];a.v++;d.C(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ud(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.f(ud(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&yd(a.C)}tc(a,a.J);a.J=0;a.G=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Bd(a,b){var c=a.N-=a.O;a.O=0;b&&(a.N=0);return c} +l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Qa&&(this.G+=a,this.G>this.ra&&(this.G=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Cd&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.V();this.C&&this.C.stop(rb(),ud(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.M=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.G;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,vd(this)));if(0>c||this.Rc&&(this.G-=c),c=0;this.ya+=this.ja;this.M+=c;a(b,c)}}}; +function qc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{vd(a);a.j.K=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&yd(a.C,!0),a.C.start(a.G,ud(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),ud(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; +function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.V();this.g=this.B=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.D=this.Kb;this.I=this.Vb;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.mb=function(){return 0}; +l.save=function(){var a=new H(this);a.set(0,[this.g,this.B,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.P,this.W,this.j.Z]);a.set(3,Fd(this));a.set(4,Ad(this));return a.data()}; +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.g=b.next().value;this.B=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];vd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.g].D(a&16383,a)};l.Vb=function(a,b){var c=this.F;a=this.la=a;c.b[(a&c.u)>>>c.g].I(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.D(this.g):this.za=this.D(this.qa=this.u);this.B&=8388607;this.g=this.B&262143;if(a= +this.B>>18&15)this.g=this.g+this.D(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Tb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Ld(a){var b=a&15,c=this.D(this.g),d=this.D(b);this.I(b,Md(a,d,c)+(c-(c&262143)))} +function Nd(a){var b=a&15,c=this.D(b);this.I(b,Md(a,c,0))}function Od(a){var b=this.D(a&15),c=this.D(this.g);this.I(this.g,Md(a,c,b)+(b-(b&262143)))}function Pd(a){var b=this.D(this.g),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Ob?262143:0}b=d;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Qd(a){var b=a&15,c=(this.D(this.g)&262143)*F,d=this.D(b);this.I(b,Md(a,d,c)+c)}function Rd(a){var b=a&15,c=this.g*F,d=this.D(b);this.I(b,Md(a,d,c)+c)} +function Sd(a){var b=(this.D(a&15)&262143)*F,c=this.D(this.g);this.I(this.g,Md(a,c,b)+b)}function Td(a){var b=this.D(this.g),c=(b&262143)*F,b=Md(a,b,c)+c;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Ud(a){var b=a&15,c=this.D(this.g)&262143,d=this.D(b);this.I(b,Vd(a,d,c)+c)}function Wd(a){var b=a&15,c=this.D(b);this.I(b,Vd(a,c,this.g)+this.g)}function Xd(a){var b=this.D(a&15)&262143,c=this.D(this.g);this.I(this.g,Vd(a,c,b)+b)} +function Yd(a){var b=this.D(this.g),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*F;break;case 384:d+=b>Nb?262143*F:0}b=d;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Zd(a){var b=a&15,c=this.D(this.g)/F|0,d=this.D(b);this.I(b,Vd(a,d,c)+c)}function $d(a){var b=a&15,c=this.D(b);this.I(b,Vd(a,c,0))}function ae(a){var b=this.D(a&15)/F|0,c=this.D(this.g);this.I(this.g,Vd(a,c,b)+b)}function be(a){var b=this.D(this.g),c=b/F|0,b=Vd(a,b,c)+c;this.I(this.g,b);(a&=15)&&this.I(a,b)} +function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} +var Kd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.I(a&15,this.G(this.i))},function(a){this.I(a&15,this.i)},function(a){this.I(this.i,this.G(a&15))},function(a){(a&=15)&&this.I(a,this.G(this.i))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.G(a);this.I(a,this.G(this.i));this.I(this.i,b)},function(a){var b=!1;a&=15;for(var c=this.G(a),d=c/F|0,c=c&262143;!b;)this.I(c,this.G(d)),c==this.i&&(b=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.I(a,d*F+c),b||Ed(this,-1),b=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.I(a&15,this.D(this.g))},function(a){this.I(a&15,this.g)},function(a){this.I(this.g,this.D(a&15))},function(a){(a&=15)&&this.I(a,this.D(this.g))},function(a){var b=this.D(this.g),b=b/F|(b&262143)*F;this.I(a&15,b)},function(a){this.I(a&15,this.g*F)},function(a){a=this.D(a&15);a=a/F|(a&262143)*F;this.I(this.g,a)},function(a){var b=this.D(this.g),b=b/F|(b&262143)*F;this.I(this.g,b);(a&=15)&&this.I(a, +b)},function(a){this.I(a&15,Hd(this.D(this.g)))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.D(a);this.I(a,this.D(this.g));this.I(this.g,b)},function(a){var b=!1;a&=15;for(var c=this.D(a),d=c/F|0,c=c&262143;!b;)this.I(c,this.D(d)),c==this.g&&(b=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.I(a,d*F+c),b||Gd(this,-1),b=!0)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd, +$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 $d(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.v=a.file;this.F=qa(this.v);if(this.v){a=this.v;var b=ra(this.F);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);ae(c)})}}p($d,v); -$d.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;ae(this)};$d.prototype.pa=function(){this.T&&(this.A&&be(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};$d.prototype.fa=function(){return!0}; -function ae(a){if(!Eb(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Ac(a.D,b,a.u,Ic)){var c;for(c=0;c>>g.i;0>>= -g.i;0>>a.i;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)}; -l.ob=function(a){if(!this.b){var b=Tc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ob(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} -function je(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +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 ce(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.g=a.alias;"string"==typeof this.g&&(this.g=eval(this.g));this.v=a.file;this.G=qa(this.v);if(this.v){a=this.v;var b=ra(this.G);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);de(c)})}}p(ce,v); +ce.prototype.va=function(a,b,c,d){this.F=b;this.i=c;this.A=d;de(this)};ce.prototype.pa=function(){this.T&&(this.A&&ee(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ce.prototype.fa=function(){return!0}; +function de(a){if(!Eb(a)){if(a.v){if(!a.b||!a.F)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Cc(a.F,b,a.u,Kc)){var c;for(c=0;c>>g.g;0>>= +g.g;0>>a.g;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.F=b;this.i=c;this.A=d;D(this)}; +l.ob=function(a){if(!this.b){var b=Vc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ob(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} +function me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=ke(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} -function oe(a,b){if(b)return ne(a,b,a.W[b]);var c=0;for(b in a.W)ne(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var me={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function pe(a){he.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.F=[];this.b=this.M=this.J=[];qe(this);this.R=this.ka=0;this.i=[];this.sa=void 0;re(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];se(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return Yc(b,a)}):void 0===global[B]&&(global[B]=function(a){return Yc(b, -a)})}p(pe,he);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function te(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function ue(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ve(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=ie(a,c.Oa=b[4]));return c}l=pe.prototype; -l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ha=a.u;(a=Tc(a,"messages"))&&se(this,a);we(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Dc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.g.qa==b&&(b=Ed(a.g,1)));if(0d&&(d=a.g.G(b)),0<=d&&(te(a.i[a.R],b),++a.R==a.i.length&&(a.R=0)));return!1} -function Ke(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Pb|0,r;for(r in Le)if(f=Le[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=rf;m=n&3;break;case 32256:k=tf;m=n&7;break;case 29248:k=uf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>vf&&(k="B");k=wf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Qb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=ye(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+ye(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+Zc(a.g).toString()+" cs="+t(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function qe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.i],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.i],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Ba=function(a,b,c){var d=!0;c||xf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(yf(this,a,a.length-1,"set"),re(this)));return d};function xf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.i],b==a.J));h.ea||re(a);break}}return g} -function zf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);te(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Bf(a,Ae)+Bf(a,Be)+Bf(a,Ce)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,T:e,hb:g})}function Df(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(Ke(a,b,f,g));e-=b.w-k;c++}}} -function Af(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ge+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"vf&&(bd="B");if(jg==wf[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;x=(ad|Oe<<6)*Pb;break}}if(0<= -x)break}if(0<=x)break}if(0<=x)if(Me)for(var cd=Me.split(","),fb=0;fbD||127D||15D||262143< -D){a.f("memory address out of range: "+V[2]);x=-1;break}x+=D;if(V[3]){D=P(a,V[3]);if(void 0==D){x=-1;break}if(0>D||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||mg,ta=le(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=og}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.$a):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,sg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!sg--)break;if(!(pd.w&1)){for(var tg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bPf){if(Qf(d,this.M)){this.B=new H(this,"1.34.2",Zf);Qf(this.B)&&($f(this,d),a=ag,bg(this.B));this.B.set(Wf,Ea());cg(this.B);var e=this.b&&!this.L;if(a==Xf||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Vf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Qf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(dg,""),this.i=null)):this.f(g+": "+f),bg(d),Qf(d)?(c=Vf(d),e=!0):c=!1))}e&&Tf(this,c?d:null)}else a==ag&&d.clear()}else Tf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.g&&(eg(this,this.g,b,c,a),I(this,-2),this.g.Z());this.P&&($f(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function $f(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.i||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Jf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Uf),h=Ea();f.set(Wf,h);g.set(Wf,h);g.set(fg,"1.34.2");g.set(gg,window?window.location.href:null);g.set(hg,window?window.navigator.userAgent:"");a.g&&a.g.fa&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.V()),d=a.g.fa(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function re(a,b){if(b)return qe(a,b,a.W[b]);var c=0;for(b in a.W)qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function se(a){ke.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.G=[];this.b=this.M=this.J=[];te(this);this.R=this.ka=0;this.g=[];this.sa=void 0;ue(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];ve(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return td(b,a)}):void 0===global[B]&&(global[B]=function(a){return td(b, +a)})}p(se,ke);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function we(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function xe(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ye(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=le(a,c.Oa=b[4]));return c}l=se.prototype; +l.va=function(a,b,c,d){this.F=b;this.C=a;this.i=c;this.ha=a.u;(a=Vc(a,"messages"))&&ve(this,a);ze(this,function(a){a:{var b=d.F.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.F.g;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Fc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.D(b)),0<=d&&(we(a.g[a.R],b),++a.R==a.g.length&&(a.R=0)));return!1} +function tf(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in uf)if(f=uf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=vf;m=n&3;break;case 32256:k=wf;m=n&7;break;case 29248:k=xf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>yf&&(k="B");k=zf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ud(a.i).toString()+" cs="+t(a.i.sa)):h+(null!=d?"="+d.toString():""));return h}function te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.g],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.g],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Ba=function(a,b,c){var d=!0;c||Af(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.F;g.b[e>>>g.g].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Bf(this,a,a.length-1,"set"),ue(this)));return d};function Af(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.g],b==a.J));h.ea||ue(a);break}}return g} +function Cf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Ef(a,De)+Ef(a,Ee)+Ef(a,Fe)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({$c:b,w:c,zb:d,T:e,hb:g})}function Gf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(tf(a,b,f,g));e-=b.w-k;c++}}} +function Df(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Je+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"yf&&(bd="B");if(mg==zf[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(ad|Oe<<6)*Rb;break}}if(0<= +y)break}if(0<=y)break}if(0<=y)if(Me)for(var cd=Me.split(","),fb=0;fbE||127E||15E||262143< +E){a.f("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||pg,ta=oe(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=rg}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.$a):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,vg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!vg--)break;if(!(pd.w&1)){for(var wg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bSf){if(Tf(d,this.M)){this.B=new H(this,"1.34.2",bg);Tf(this.B)&&(cg(this,d),a=dg,eg(this.B));this.B.set(Zf,Ea());fg(this.B);var e=this.b&&!this.L;if(a==$f||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Yf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Tf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(gg,""),this.g=null)):this.f(g+": "+f),eg(d),Tf(d)?(c=Yf(d),e=!0):c=!1))}e&&Wf(this,c?d:null)}else a==dg&&d.clear()}else Wf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.i&&(hg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(cg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function cg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.g||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Mf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Xf),h=Ea();f.set(Zf,h);g.set(Zf,h);g.set(ig,"1.34.2");g.set(jg,window?window.location.href:null);g.set(kg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.L+=b)){e=a.g.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.i=a.g.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Eg(a,b,c)}})}else c(a,null)} -function Fg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Bg||cb(!0));m=!1}var h,k,m=!0;Bg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));r.appendChild(y)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Cg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Bg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Bg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Cg(c,b,a,e,!0,g,n):Dg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Fg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Fg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.i){var c=a.i,d=b||0,e=c.H.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.g=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Hg(a,b,c)}})}else c(a,null)} +function Ig(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Eg||cb(!0));m=!1}var h,k,m=!0;Eg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Fg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Eg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Eg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Fg(c,b,a,e,!0,g,n):Gg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Ig("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Ig("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 w(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function v(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(x(d.H[0]),d=null):(x("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.m=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.v=this.f=this.m=this.s=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, -set:this.rb};K(this)}n(Ya,B);k=Ya.prototype;k.reset=function(a){this.stop();a&&$a(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ab(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){ab(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.m=b;this.f=c;this.v=d;cb(this);db(this)};k.V=function(a,b){if(!b)if(this.R&&eb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])fb(this,this.b=a[0]),$a(this,this.h=a[1]),gb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}db(this);return!0};function hb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.j)hb(a,c,null!=b?b:a.j[c])}function ib(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function db(a){for(var b in a.a)ib(a,b,a.a[b][1])} -k.$a=function(a,b,c){if(ab(this,b)){if(c){var d=this;setTimeout(function(){bb(d,b);a&&a()},+c);return!1}bb(this,b)}return!0}; +var I="pdp10",L="PDPjs",M=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),N=Math.pow(2,18),Va=Math.pow(2,17)-1,Wa=Math.pow(2,35)-1,Xa=Math.pow(2,35),Ya=Math.pow(2,36),Za=Math.pow(2,23),I="pdp10",L="PDPjs"; +function $a(a,b){B.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.b=this.w=this.g=this.h=0;this.G=this.I=-1;this.K=this.M=this.u=!1;this.O=ab;this.l={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],ENABLE:[1,1,!1,!1,this.cb],CONT:[1,1,!0,!1,this.ab],DEP:[0,0,!0,!1,this.bb],EXAM:[1,1,!0,!1,this.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.v=this.f=this.o=this.s=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, +set:this.rb};K(this)}n($a,B);k=$a.prototype;k.reset=function(a){this.stop();a&&bb(this,this.h=0)}; +k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){db(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;eb(this);fb(this)};k.V=function(a,b){if(!b)if(this.R&&gb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])hb(this,this.b=a[0]),bb(this,this.h=a[1]),ib(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}fb(this);return!0};function jb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function eb(a,b){for(var c in a.l)jb(a,c,null!=b?b:a.l[c])}function kb(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fb(a){for(var b in a.a)kb(a,b,a.a[b][1])} +k.$a=function(a,b,c){if(cb(this,b)){if(c){var d=this;setTimeout(function(){db(d,b);a&&a()},+c);return!1}db(this,b)}return!0}; k.rb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.m(b&16383,b);a.h--;a=b}else a=this.f.l(this.b);$a(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||fb(this,this.g)};k.fb=function(a){a?(this.u=!0,cb(this,!0)):(this.u=!1,cb(this),gb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return xb(yb,e,f)}e=new R(a,e,p,16384,d);ub(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+zb[d]+" at "+ma(b)),!0):xb(Ab,b,c)}function sb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.i(c,b&16383,b);a.h--} -function vb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Pb(a)&&(a.da=a.ea=-1,Ob(a),P(a),c=!0);c&&a.K(Pb(a)+" cycles: checksum="+t(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}pb(a,a.u);a.u=0;a.j=D();a.C=0;Rb(a)}function Tb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Ub(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} -k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Rb(this,!0);this.ca=0;this.ja=D();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Ub(this,!0);this.ca+=b;this.u+=b;qb(this,b);ob(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Vb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); -this.s&&this.s.stop(D(),Pb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.C=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.u/(10*d))/100,864E5<=d&&(this.I=0,Qb(this));if(0>c||this.Lc&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}}; -function nb(a){var b;a.c.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.K(a.toString()+" busy");else{Qb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.s&&a.s.start(a.j,Pb(a));a.v||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Ub(a);pb(a,a.u);a.u=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.s&&a.s.stop(D(),Pb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Sb=30,Vb=15,Mb=["power","reset"]; -function Wb(a){var b=+a.model||1001;Lb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Xb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Wb,Lb);k=Wb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.M=this.qa=0;this.ia=this.g=this.ya=this.La;this.h=0;this.l=this.lb;this.o=this.wb;this.ha=null;Nb(this);this.c.error=!1;Lb.prototype.reset.call(this)};k.Pa=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.M,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.I,this.W,this.c.J]);a.set(3,Yb(this));a.set(4,Tb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.I=b[0];Qb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].l(a&16383,a)};k.wb=function(a,b){var c=this.m;a=this.ia=a;c.a[(a&c.g)>>>c.b].o(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.D=this.G=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.M=this.M&4194304?this.l(this.b)&8388607:(this.qa=this.l(this.ya=this.g))&8388607;this.b=this.M&262143;if(a=this.M>>18&15)this.b=this.b+this.l(a)&Ta;this.M&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Xa|0);0<=a&&this.Wa(a)}while(0< -this.G);return this.c.complete?this.D-this.G:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function $b(a){var b=a&15,c=this.l(this.b),d=this.l(b);this.o(b,V(a,d,c)+(c-(c&262143)))}function ac(a){var b=a&15,c=this.l(b);this.o(b,V(a,c,0))}function bc(a){var b=this.l(a&15),c=this.l(this.b);this.o(this.b,V(a,c,b)+(b-(b&262143)))} -function cc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Wa?262143:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function dc(a){var b=a&15,c=(this.l(this.b)&262143)*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function ec(a){var b=a&15,c=this.b*N,d=this.l(b);this.o(b,V(a,d,c)+c)}function fc(a){var b=(this.l(a&15)&262143)*N,c=this.l(this.b);this.o(this.b,V(a,c,b)+b)} -function gc(a){var b=this.l(this.b),c=(b&262143)*N,b=V(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)}function hc(a){var b=a&15,c=this.l(this.b)&262143,d=this.l(b);this.o(b,W(a,d,c)+c)}function ic(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,this.b)+this.b)}function jc(a){var b=this.l(a&15)&262143,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)} -function kc(a){var b=this.l(this.b),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*N;break;case 384:d+=b>Va?262143*N:0}b=d;this.o(this.b,b);(a&=15)&&this.o(a,b)}function lc(a){var b=a&15,c=this.l(this.b)/N|0,d=this.l(b);this.o(b,W(a,d,c)+c)}function mc(a){var b=a&15,c=this.l(b);this.o(b,W(a,c,0))}function nc(a){var b=this.l(a&15)/N|0,c=this.l(this.b);this.o(this.b,W(a,c,b)+b)}function oc(a){var b=this.l(this.b),c=b/N|0,b=W(a,b,c)+c;this.o(this.b,b);(a&=15)&&this.o(a,b)} -function X(a){this.a(a)}function T(a){this.K("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} -var Zb=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return ib(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,kb(this,a,c[1]),!0):!1};k.sb=function(a){return cb(this,a)?(db(this,a),!0):!1};function cb(a,b){var c=a.a[b];return c?(kb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lb&&(a.K=b==mb,a.M=b==nb),!0):!1}function db(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(kb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +k.ib=function(a){a||this.f.c.A||(this.f.g=this.b%M,this.a[ob]&&this.a[ob][1]&&pb(this.f))};k.jb=function(){};k.cb=function(a){a||P(this.f)};k.ab=function(a){if(!a&&!this.f.c.A)if(this.a[ob]&&this.a[ob][1])pb(this.f);else{a=this.v;var b;if(b=a)a.c.ra&&(a.c.Da=!0),b=!a.c.ra;if(b)Sa(a,!0),a.b(0,null),Sa(a,!1);else try{var c=this.f.wa(1);0>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.j(this.b);bb(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||hb(this,this.g)};k.fb=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.i(c,b&16383,b);a.h--} +function xb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.l=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Wb(a,b){var c=a.G-=a.I;a.I=0;b&&(a.G=0);return c} +k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Aa&&(this.l+=a,this.l>this.ja&&(this.l=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Xb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); +this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.D=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.l)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.l-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; +function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.s&&a.s.start(a.l,Rb(a));a.v||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; +function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.w=this.qa=0;this.ia=this.g=this.ya=this.La;this.h=0;this.j=this.lb;this.m=this.wb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.w,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.K,this.W,this.c.J]);a.set(3,$b(this));a.set(4,Vb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].j(a&16383,a)};k.wb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].m(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.j(this.b):this.qa=this.j(this.ya=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.j(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Wa(a)}while(0< +this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function cc(a){var b=a&15,c=this.j(this.b),d=this.j(b);this.m(b,V(a,d,c)+(c-(c&262143)))}function dc(a){var b=a&15,c=this.j(b);this.m(b,V(a,c,0))}function ec(a){var b=this.j(a&15),c=this.j(this.b);this.m(this.b,V(a,c,b)+(b-(b&262143)))} +function fc(a){var b=this.j(this.b),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Wa?262143:0}b=d;this.m(this.b,b);(a&=15)&&this.m(a,b)}function gc(a){var b=a&15,c=(this.j(this.b)&262143)*N,d=this.j(b);this.m(b,V(a,d,c)+c)}function hc(a){var b=a&15,c=this.b*N,d=this.j(b);this.m(b,V(a,d,c)+c)}function ic(a){var b=(this.j(a&15)&262143)*N,c=this.j(this.b);this.m(this.b,V(a,c,b)+b)} +function jc(a){var b=this.j(this.b),c=(b&262143)*N,b=V(a,b,c)+c;this.m(this.b,b);(a&=15)&&this.m(a,b)}function kc(a){var b=a&15,c=this.j(this.b)&262143,d=this.j(b);this.m(b,W(a,d,c)+c)}function lc(a){var b=a&15,c=this.j(b);this.m(b,W(a,c,this.b)+this.b)}function mc(a){var b=this.j(a&15)&262143,c=this.j(this.b);this.m(this.b,W(a,c,b)+b)} +function nc(a){var b=this.j(this.b),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*N;break;case 384:d+=b>Va?262143*N:0}b=d;this.m(this.b,b);(a&=15)&&this.m(a,b)}function oc(a){var b=a&15,c=this.j(this.b)/N|0,d=this.j(b);this.m(b,W(a,d,c)+c)}function pc(a){var b=a&15,c=this.j(b);this.m(b,W(a,c,0))}function qc(a){var b=this.j(a&15)/N|0,c=this.j(this.b);this.m(this.b,W(a,c,b)+b)}function rc(a){var b=this.j(this.b),c=b/N|0,b=W(a,b,c)+c;this.m(this.b,b);(a&=15)&&this.m(a,b)} +function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} +var bc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.o(a&15,this.l(this.b))},function(a){this.o(a&15,this.b)},function(a){this.o(this.b,this.l(a&15))},function(a){(a&=15)&&this.o(a,this.l(this.b))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.l(a);this.o(a,this.l(this.b));this.o(this.b,b)},function(a){var b=!1;a&=15;for(var c=this.l(a),d=c/N|0,c=c&262143;!b;)this.o(c,this.l(d)),c==this.b&&(b=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.o(a,d*N+c),b||(this.g=(this.g+-1)%M),b=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.m(a&15,this.j(this.b))},function(a){this.m(a&15,this.b)},function(a){this.m(this.b,this.j(a&15))},function(a){(a&=15)&&this.m(a,this.j(this.b))},function(a){var b=this.j(this.b),b=b/N|(b&262143)*N;this.m(a&15,b)},function(a){this.m(a&15,this.b*N)},function(a){a=this.j(a&15);a=a/N|(a&262143)*N;this.m(this.b,a)},function(a){var b=this.j(this.b),b=b/N|(b&262143)*N;this.m(this.b,b);(a&=15)&&this.m(a, +b)},function(a){this.m(a&15,ac(this.j(this.b)))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.j(a);this.m(a,this.j(this.b));this.m(this.b,b)},function(a){var b=!1;a&=15;for(var c=this.j(a),d=c/N|0,c=c&262143;!b;)this.m(c,this.j(d)),c==this.b&&(b=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.m(a,d*N+c),b||(this.g=(this.g+-1)%M),b=!0)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc, +pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function pc(a){B.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.u=na(this.h);if(this.h){a=this.h;var b=oa(this.u);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);qc(c)})}}n(pc,B); -pc.prototype.Z=function(a,b,c,d){this.m=b;this.f=c;this.v=d;qc(this)};pc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.j,this.g,this.N),delete this.N);return!0};pc.prototype.P=function(){return!0}; -function qc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.m)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.j;if(wb(a.m,b,a.g,Eb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.m=b;this.f=c;this.v=d;K(this)}; -k.Qa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;byc){if(Z(d,this.D)){this.j=new O(this,"1.34.2",Hc);Z(this.j)&&(Ic(this,d),a=Jc,Kc(this.j));this.j.set(Ec,ta());Lc(this.j);var e=this.a&&!this.C;if(a==Fc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Dc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Mc,""),this.b=null)):this.K(f+": "+g),Kc(d),Z(d)?(c=Dc(d),e=!0):c=!1))}e&&Bc(this,c?d:null)}else a==Jc&&d.clear()}else Bc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Nc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.L&&(Ic(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; -function Ic(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}} -function Oc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Cc),h=ta();g.set(Ec,h);f.set(Ec,h);f.set(Pc,"1.34.2");f.set(Qc,window?window.location.href:null);f.set(Rc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;K(this)}; +k.Qa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bBc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Kc);Z(this.l)&&(Lc(this,d),a=Mc,Nc(this.l));this.l.set(Hc,ta());Oc(this.l);var e=this.a&&!this.C;if(a==Ic||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.h=0}; +function Lc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} +function Rc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Fc),h=ta();g.set(Hc,h);f.set(Hc,h);f.set(Sc,"1.34.2");f.set(Tc,window?window.location.href:null);f.set(Uc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.i.PC){var f=a.v&&a.v.j||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(v){g=null,a=v.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");w(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Zc(a,b,c)}})}else c(a,null)} -function $c(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--Wc||A(!0));p=!1}var h,l,p=!0;Wc++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));v.appendChild(la)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?Xc(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Wc||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Wc|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Xc(c,b,a,e,!0,f,r):Yc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(ad){g(ad.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return $c("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return $c("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.i.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);bd(a,b,c)}})}else c(a,null)} +function cd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--Zc||A(!0));p=!1}var h,l,p=!0;Zc++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));w.appendChild(la)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?$c(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Zc||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Zc|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?$c(c,b,a,e,!0,f,r):ad(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(dd){g(dd.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return cd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return cd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r Date: Thu, 2 Mar 2017 10:19:37 -0800 Subject: [PATCH 04/32] All PDP-10 MOVN (Move Negative) opcodes implemented --- apps/pdp10/tests/optest-v01.json | 4 +- modules/pdp10/lib/cpuops.js | 1016 +++++++++++++++++++----------- modules/pdp10/lib/cpustate.js | 4 +- modules/pdp10/lib/debugger.js | 32 +- 4 files changed, 692 insertions(+), 364 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index 589a6e0e8..fff27ab40 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -15,14 +15,14 @@ 0o541000000010, // 000112: HRRI 0,10 0o251000000017, // 000113: BLT 0,17 // -// 00=000000000010 01=111111444444 02=444444111111 03=777777444444 +// 00=000010000020 01=111111444444 02=444444111111 03=777777444444 // 04=444444777777 05=777777777777 06=777777777777 07=000000000000 // 10=000000000010 11=111111444444 12=444444111111 13=777777444444 // 14=444444777777 15=777777777777 16=777777777777 17=000000000000 // 0o577040000002, // 000114: HLRES 1,2 // -// 00=000000000010 01=000000111111 02=777777444444 03=777777444444 +// 00=000010000020 01=777777444444 02=777777444444 03=777777444444 // 04=444444777777 05=777777777777 06=777777777777 07=000000000000 // 10=000000000010 11=111111444444 12=444444111111 13=777777444444 // 14=444444777777 15=777777777777 16=777777777777 17=000000000000 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 4b2359ec6..bf177bed1 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -49,7 +49,7 @@ PDP10.opKA10 = function(op) /* * We shift op right 4 more bits, leaving only the 9 bits required for the table index. */ - PDP10.aOpXXX_KA10[op >> 4].call(this, op); + PDP10.aOpXXX_KA10[op >> 4].call(this, op, op & PDP10.OPCODE.A_MASK); }; /** @@ -76,8 +76,9 @@ PDP10.opKA10 = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opUUO = function(op) +PDP10.opUUO = function(op, acc) { this.opUndefined(op); }; @@ -102,8 +103,9 @@ PDP10.opUUO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opUFA = function(op) +PDP10.opUFA = function(op, acc) { this.opUndefined(op); }; @@ -121,8 +123,9 @@ PDP10.opUFA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDFN = function(op) +PDP10.opDFN = function(op, acc) { this.opUndefined(op); }; @@ -153,8 +156,9 @@ PDP10.opDFN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSC = function(op) +PDP10.opFSC = function(op, acc) { this.opUndefined(op); }; @@ -180,8 +184,9 @@ PDP10.opFSC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIBP = function(op) +PDP10.opIBP = function(op, acc) { this.opUndefined(op); }; @@ -191,8 +196,9 @@ PDP10.opIBP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opILDB = function(op) +PDP10.opILDB = function(op, acc) { this.opUndefined(op); }; @@ -202,8 +208,9 @@ PDP10.opILDB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opLDB = function(op) +PDP10.opLDB = function(op, acc) { this.opUndefined(op); }; @@ -213,8 +220,9 @@ PDP10.opLDB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIDPB = function(op) +PDP10.opIDPB = function(op, acc) { this.opUndefined(op); }; @@ -224,8 +232,9 @@ PDP10.opIDPB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDPB = function(op) +PDP10.opDPB = function(op, acc) { this.opUndefined(op); }; @@ -235,8 +244,9 @@ PDP10.opDPB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFAD = function(op) +PDP10.opFAD = function(op, acc) { this.opUndefined(op); }; @@ -246,8 +256,9 @@ PDP10.opFAD = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADI = function(op) +PDP10.opFADI = function(op, acc) { this.opUndefined(op); }; @@ -257,8 +268,9 @@ PDP10.opFADI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADM = function(op) +PDP10.opFADM = function(op, acc) { this.opUndefined(op); }; @@ -268,8 +280,9 @@ PDP10.opFADM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADB = function(op) +PDP10.opFADB = function(op, acc) { this.opUndefined(op); }; @@ -279,8 +292,9 @@ PDP10.opFADB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADR = function(op) +PDP10.opFADR = function(op, acc) { this.opUndefined(op); }; @@ -290,8 +304,9 @@ PDP10.opFADR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADRI = function(op) +PDP10.opFADRI = function(op, acc) { this.opUndefined(op); }; @@ -301,8 +316,9 @@ PDP10.opFADRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADRM = function(op) +PDP10.opFADRM = function(op, acc) { this.opUndefined(op); }; @@ -312,8 +328,9 @@ PDP10.opFADRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFADRB = function(op) +PDP10.opFADRB = function(op, acc) { this.opUndefined(op); }; @@ -323,8 +340,9 @@ PDP10.opFADRB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSB = function(op) +PDP10.opFSB = function(op, acc) { this.opUndefined(op); }; @@ -334,8 +352,9 @@ PDP10.opFSB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBI = function(op) +PDP10.opFSBI = function(op, acc) { this.opUndefined(op); }; @@ -345,8 +364,9 @@ PDP10.opFSBI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBM = function(op) +PDP10.opFSBM = function(op, acc) { this.opUndefined(op); }; @@ -356,8 +376,9 @@ PDP10.opFSBM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBB = function(op) +PDP10.opFSBB = function(op, acc) { this.opUndefined(op); }; @@ -367,8 +388,9 @@ PDP10.opFSBB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBR = function(op) +PDP10.opFSBR = function(op, acc) { this.opUndefined(op); }; @@ -378,8 +400,9 @@ PDP10.opFSBR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBRI = function(op) +PDP10.opFSBRI = function(op, acc) { this.opUndefined(op); }; @@ -389,8 +412,9 @@ PDP10.opFSBRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBRM = function(op) +PDP10.opFSBRM = function(op, acc) { this.opUndefined(op); }; @@ -400,8 +424,9 @@ PDP10.opFSBRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFSBRB = function(op) +PDP10.opFSBRB = function(op, acc) { this.opUndefined(op); }; @@ -411,8 +436,9 @@ PDP10.opFSBRB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMP = function(op) +PDP10.opFMP = function(op, acc) { this.opUndefined(op); }; @@ -422,8 +448,9 @@ PDP10.opFMP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPI = function(op) +PDP10.opFMPI = function(op, acc) { this.opUndefined(op); }; @@ -433,8 +460,9 @@ PDP10.opFMPI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPM = function(op) +PDP10.opFMPM = function(op, acc) { this.opUndefined(op); }; @@ -444,8 +472,9 @@ PDP10.opFMPM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPB = function(op) +PDP10.opFMPB = function(op, acc) { this.opUndefined(op); }; @@ -455,8 +484,9 @@ PDP10.opFMPB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPR = function(op) +PDP10.opFMPR = function(op, acc) { this.opUndefined(op); }; @@ -466,8 +496,9 @@ PDP10.opFMPR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPRI = function(op) +PDP10.opFMPRI = function(op, acc) { this.opUndefined(op); }; @@ -477,8 +508,9 @@ PDP10.opFMPRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPRM = function(op) +PDP10.opFMPRM = function(op, acc) { this.opUndefined(op); }; @@ -488,8 +520,9 @@ PDP10.opFMPRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFMPRB = function(op) +PDP10.opFMPRB = function(op, acc) { this.opUndefined(op); }; @@ -499,8 +532,9 @@ PDP10.opFMPRB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDV = function(op) +PDP10.opFDV = function(op, acc) { this.opUndefined(op); }; @@ -510,8 +544,9 @@ PDP10.opFDV = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVI = function(op) +PDP10.opFDVI = function(op, acc) { this.opUndefined(op); }; @@ -521,8 +556,9 @@ PDP10.opFDVI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVM = function(op) +PDP10.opFDVM = function(op, acc) { this.opUndefined(op); }; @@ -532,8 +568,9 @@ PDP10.opFDVM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVB = function(op) +PDP10.opFDVB = function(op, acc) { this.opUndefined(op); }; @@ -543,8 +580,9 @@ PDP10.opFDVB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVR = function(op) +PDP10.opFDVR = function(op, acc) { this.opUndefined(op); }; @@ -554,8 +592,9 @@ PDP10.opFDVR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVRI = function(op) +PDP10.opFDVRI = function(op, acc) { this.opUndefined(op); }; @@ -565,8 +604,9 @@ PDP10.opFDVRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVRM = function(op) +PDP10.opFDVRM = function(op, acc) { this.opUndefined(op); }; @@ -576,8 +616,9 @@ PDP10.opFDVRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opFDVRB = function(op) +PDP10.opFDVRB = function(op, acc) { this.opUndefined(op); }; @@ -594,10 +635,11 @@ PDP10.opFDVRB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVE = function(op) +PDP10.opMOVE = function(op, acc) { - this.writeWord(op & PDP10.OPCODE.A_MASK, this.readWord(this.regEA)); + this.writeWord(acc, this.readWord(this.regEA)); }; /** @@ -614,10 +656,11 @@ PDP10.opMOVE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVEI = function(op) +PDP10.opMOVEI = function(op, acc) { - this.writeWord(op & PDP10.OPCODE.A_MASK, this.regEA); + this.writeWord(acc, this.regEA); }; /** @@ -632,10 +675,11 @@ PDP10.opMOVEI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVEM = function(op) +PDP10.opMOVEM = function(op, acc) { - this.writeWord(this.regEA, this.readWord(op & PDP10.OPCODE.A_MASK)); + this.writeWord(this.regEA, this.readWord(acc)); }; /** @@ -652,10 +696,10 @@ PDP10.opMOVEM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVES = function(op) +PDP10.opMOVES = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, this.readWord(this.regEA)); }; @@ -671,12 +715,13 @@ PDP10.opMOVES = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVS = function(op) +PDP10.opMOVS = function(op, acc) { var src = this.readWord(this.regEA); src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); - this.writeWord(op & PDP10.OPCODE.A_MASK, src); + this.writeWord(acc, src); }; /** @@ -693,10 +738,11 @@ PDP10.opMOVS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVSI = function(op) +PDP10.opMOVSI = function(op, acc) { - this.writeWord(op & PDP10.OPCODE.A_MASK, this.regEA * PDP10.WORD_SHIFT); + this.writeWord(acc, this.regEA * PDP10.WORD_SHIFT); }; /** @@ -711,10 +757,11 @@ PDP10.opMOVSI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVSM = function(op) +PDP10.opMOVSM = function(op, acc) { - var src = this.readWord(op & PDP10.OPCODE.A_MASK); + var src = this.readWord(acc); src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); this.writeWord(this.regEA, src); }; @@ -731,13 +778,13 @@ PDP10.opMOVSM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVSS = function(op) +PDP10.opMOVSS = function(op, acc) { var src = this.readWord(this.regEA); src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); this.writeWord(this.regEA, src); - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, src) }; @@ -759,10 +806,11 @@ PDP10.opMOVSS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVN = function(op) +PDP10.opMOVN = function(op, acc) { - this.writeWord(op & PDP10.OPCODE.A_MASK, this.negate(this.readWord(this.regEA))); + this.writeWord(acc, this.negate(this.readWord(this.regEA))); }; /** @@ -785,10 +833,16 @@ PDP10.opMOVN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVNI = function(op) +PDP10.opMOVNI = function(op, acc) { - this.opUndefined(op); + /* + * We perform an in-line two's complement of regEA, since negate() updates the flags, and the documentation + * above claims that this operation must "set no flags." It's certainly true that regEA, being an 18-bit value, + * could never be -2^35, but it COULD be zero -- and apparently this instruction treats zero differently from MOVN. + */ + this.writeWord(acc, this.regEA? PDP10.TWO_POW36 - this.regEA : 0); }; /** @@ -809,10 +863,11 @@ PDP10.opMOVNI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVNM = function(op) +PDP10.opMOVNM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.negate(this.readWord(acc))); }; /** @@ -833,10 +888,13 @@ PDP10.opMOVNM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVNS = function(op) +PDP10.opMOVNS = function(op, acc) { - this.opUndefined(op); + var dst = this.negate(this.readWord(this.regEA)); + this.writeWord(this.regEA, dst); + if (acc) this.writeWord(acc, dst); }; /** @@ -844,8 +902,9 @@ PDP10.opMOVNS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVM = function(op) +PDP10.opMOVM = function(op, acc) { this.opUndefined(op); }; @@ -855,8 +914,9 @@ PDP10.opMOVM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVMI = function(op) +PDP10.opMOVMI = function(op, acc) { this.opUndefined(op); }; @@ -866,8 +926,9 @@ PDP10.opMOVMI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVMM = function(op) +PDP10.opMOVMM = function(op, acc) { this.opUndefined(op); }; @@ -877,8 +938,9 @@ PDP10.opMOVMM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMOVMS = function(op) +PDP10.opMOVMS = function(op, acc) { this.opUndefined(op); }; @@ -888,8 +950,9 @@ PDP10.opMOVMS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIMUL = function(op) +PDP10.opIMUL = function(op, acc) { this.opUndefined(op); }; @@ -899,8 +962,9 @@ PDP10.opIMUL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIMULI = function(op) +PDP10.opIMULI = function(op, acc) { this.opUndefined(op); }; @@ -910,8 +974,9 @@ PDP10.opIMULI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIMULM = function(op) +PDP10.opIMULM = function(op, acc) { this.opUndefined(op); }; @@ -921,8 +986,9 @@ PDP10.opIMULM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIMULB = function(op) +PDP10.opIMULB = function(op, acc) { this.opUndefined(op); }; @@ -932,8 +998,9 @@ PDP10.opIMULB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMUL = function(op) +PDP10.opMUL = function(op, acc) { this.opUndefined(op); }; @@ -943,8 +1010,9 @@ PDP10.opMUL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMULI = function(op) +PDP10.opMULI = function(op, acc) { this.opUndefined(op); }; @@ -954,8 +1022,9 @@ PDP10.opMULI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMULM = function(op) +PDP10.opMULM = function(op, acc) { this.opUndefined(op); }; @@ -965,8 +1034,9 @@ PDP10.opMULM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opMULB = function(op) +PDP10.opMULB = function(op, acc) { this.opUndefined(op); }; @@ -976,8 +1046,9 @@ PDP10.opMULB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIDIV = function(op) +PDP10.opIDIV = function(op, acc) { this.opUndefined(op); }; @@ -987,8 +1058,9 @@ PDP10.opIDIV = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIDIVI = function(op) +PDP10.opIDIVI = function(op, acc) { this.opUndefined(op); }; @@ -998,8 +1070,9 @@ PDP10.opIDIVI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIDIVM = function(op) +PDP10.opIDIVM = function(op, acc) { this.opUndefined(op); }; @@ -1009,8 +1082,9 @@ PDP10.opIDIVM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIDIVB = function(op) +PDP10.opIDIVB = function(op, acc) { this.opUndefined(op); }; @@ -1020,8 +1094,9 @@ PDP10.opIDIVB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDIV = function(op) +PDP10.opDIV = function(op, acc) { this.opUndefined(op); }; @@ -1031,8 +1106,9 @@ PDP10.opDIV = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDIVI = function(op) +PDP10.opDIVI = function(op, acc) { this.opUndefined(op); }; @@ -1042,8 +1118,9 @@ PDP10.opDIVI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDIVM = function(op) +PDP10.opDIVM = function(op, acc) { this.opUndefined(op); }; @@ -1053,8 +1130,9 @@ PDP10.opDIVM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDIVB = function(op) +PDP10.opDIVB = function(op, acc) { this.opUndefined(op); }; @@ -1064,8 +1142,9 @@ PDP10.opDIVB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opASH = function(op) +PDP10.opASH = function(op, acc) { this.opUndefined(op); }; @@ -1075,8 +1154,9 @@ PDP10.opASH = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opROT = function(op) +PDP10.opROT = function(op, acc) { this.opUndefined(op); }; @@ -1086,8 +1166,9 @@ PDP10.opROT = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opLSH = function(op) +PDP10.opLSH = function(op, acc) { this.opUndefined(op); }; @@ -1097,8 +1178,9 @@ PDP10.opLSH = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJFFO = function(op) +PDP10.opJFFO = function(op, acc) { this.opUndefined(op); }; @@ -1108,8 +1190,9 @@ PDP10.opJFFO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opASHC = function(op) +PDP10.opASHC = function(op, acc) { this.opUndefined(op); }; @@ -1119,8 +1202,9 @@ PDP10.opASHC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opROTC = function(op) +PDP10.opROTC = function(op, acc) { this.opUndefined(op); }; @@ -1130,8 +1214,9 @@ PDP10.opROTC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opLSHC = function(op) +PDP10.opLSHC = function(op, acc) { this.opUndefined(op); }; @@ -1145,10 +1230,10 @@ PDP10.opLSHC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opEXCH = function(op) +PDP10.opEXCH = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var tmp = this.readWord(acc); this.writeWord(acc, this.readWord(this.regEA)); this.writeWord(this.regEA, tmp); @@ -1174,11 +1259,11 @@ PDP10.opEXCH = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opBLT = function(op) +PDP10.opBLT = function(op, acc) { var fDone = false; - var acc = op & PDP10.OPCODE.A_MASK; var addrDst = this.readWord(acc); var addrSrc = (addrDst / PDP10.WORD_SHIFT)|0; addrDst &= PDP10.WORD_MASK; @@ -1204,8 +1289,9 @@ PDP10.opBLT = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOBJP = function(op) +PDP10.opAOBJP = function(op, acc) { this.opUndefined(op); }; @@ -1215,8 +1301,9 @@ PDP10.opAOBJP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOBJN = function(op) +PDP10.opAOBJN = function(op, acc) { this.opUndefined(op); }; @@ -1226,8 +1313,9 @@ PDP10.opAOBJN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJRST = function(op) +PDP10.opJRST = function(op, acc) { this.opUndefined(op); }; @@ -1237,8 +1325,9 @@ PDP10.opJRST = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJFCL = function(op) +PDP10.opJFCL = function(op, acc) { this.opUndefined(op); }; @@ -1248,8 +1337,9 @@ PDP10.opJFCL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opXCT = function(op) +PDP10.opXCT = function(op, acc) { this.opUndefined(op); }; @@ -1259,8 +1349,9 @@ PDP10.opXCT = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opPUSHJ = function(op) +PDP10.opPUSHJ = function(op, acc) { this.opUndefined(op); }; @@ -1270,8 +1361,9 @@ PDP10.opPUSHJ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opPUSH = function(op) +PDP10.opPUSH = function(op, acc) { this.opUndefined(op); }; @@ -1281,8 +1373,9 @@ PDP10.opPUSH = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opPOP = function(op) +PDP10.opPOP = function(op, acc) { this.opUndefined(op); }; @@ -1292,8 +1385,9 @@ PDP10.opPOP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opPOPJ = function(op) +PDP10.opPOPJ = function(op, acc) { this.opUndefined(op); }; @@ -1303,8 +1397,9 @@ PDP10.opPOPJ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJSR = function(op) +PDP10.opJSR = function(op, acc) { this.opUndefined(op); }; @@ -1314,8 +1409,9 @@ PDP10.opJSR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJSP = function(op) +PDP10.opJSP = function(op, acc) { this.opUndefined(op); }; @@ -1325,8 +1421,9 @@ PDP10.opJSP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJSA = function(op) +PDP10.opJSA = function(op, acc) { this.opUndefined(op); }; @@ -1336,8 +1433,9 @@ PDP10.opJSA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJRA = function(op) +PDP10.opJRA = function(op, acc) { this.opUndefined(op); }; @@ -1347,8 +1445,9 @@ PDP10.opJRA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opADD = function(op) +PDP10.opADD = function(op, acc) { this.opUndefined(op); }; @@ -1358,8 +1457,9 @@ PDP10.opADD = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opADDI = function(op) +PDP10.opADDI = function(op, acc) { this.opUndefined(op); }; @@ -1369,8 +1469,9 @@ PDP10.opADDI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opADDM = function(op) +PDP10.opADDM = function(op, acc) { this.opUndefined(op); }; @@ -1380,8 +1481,9 @@ PDP10.opADDM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opADDB = function(op) +PDP10.opADDB = function(op, acc) { this.opUndefined(op); }; @@ -1391,8 +1493,9 @@ PDP10.opADDB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSUB = function(op) +PDP10.opSUB = function(op, acc) { this.opUndefined(op); }; @@ -1402,8 +1505,9 @@ PDP10.opSUB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSUBI = function(op) +PDP10.opSUBI = function(op, acc) { this.opUndefined(op); }; @@ -1413,8 +1517,9 @@ PDP10.opSUBI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSUBM = function(op) +PDP10.opSUBM = function(op, acc) { this.opUndefined(op); }; @@ -1424,8 +1529,9 @@ PDP10.opSUBM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSUBB = function(op) +PDP10.opSUBB = function(op, acc) { this.opUndefined(op); }; @@ -1435,8 +1541,9 @@ PDP10.opSUBB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAI = function(op) +PDP10.opCAI = function(op, acc) { this.opUndefined(op); }; @@ -1446,8 +1553,9 @@ PDP10.opCAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIL = function(op) +PDP10.opCAIL = function(op, acc) { this.opUndefined(op); }; @@ -1457,8 +1565,9 @@ PDP10.opCAIL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIE = function(op) +PDP10.opCAIE = function(op, acc) { this.opUndefined(op); }; @@ -1468,8 +1577,9 @@ PDP10.opCAIE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAILE = function(op) +PDP10.opCAILE = function(op, acc) { this.opUndefined(op); }; @@ -1479,8 +1589,9 @@ PDP10.opCAILE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIA = function(op) +PDP10.opCAIA = function(op, acc) { this.opUndefined(op); }; @@ -1490,8 +1601,9 @@ PDP10.opCAIA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIGE = function(op) +PDP10.opCAIGE = function(op, acc) { this.opUndefined(op); }; @@ -1501,8 +1613,9 @@ PDP10.opCAIGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIN = function(op) +PDP10.opCAIN = function(op, acc) { this.opUndefined(op); }; @@ -1512,8 +1625,9 @@ PDP10.opCAIN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAIG = function(op) +PDP10.opCAIG = function(op, acc) { this.opUndefined(op); }; @@ -1523,8 +1637,9 @@ PDP10.opCAIG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCA = function(op) +PDP10.opCA = function(op, acc) { this.opUndefined(op); }; @@ -1534,8 +1649,9 @@ PDP10.opCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAL = function(op) +PDP10.opCAL = function(op, acc) { this.opUndefined(op); }; @@ -1545,8 +1661,9 @@ PDP10.opCAL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAE = function(op) +PDP10.opCAE = function(op, acc) { this.opUndefined(op); }; @@ -1556,8 +1673,9 @@ PDP10.opCAE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCALE = function(op) +PDP10.opCALE = function(op, acc) { this.opUndefined(op); }; @@ -1567,8 +1685,9 @@ PDP10.opCALE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAA = function(op) +PDP10.opCAA = function(op, acc) { this.opUndefined(op); }; @@ -1578,8 +1697,9 @@ PDP10.opCAA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAGE = function(op) +PDP10.opCAGE = function(op, acc) { this.opUndefined(op); }; @@ -1589,8 +1709,9 @@ PDP10.opCAGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAN = function(op) +PDP10.opCAN = function(op, acc) { this.opUndefined(op); }; @@ -1600,8 +1721,9 @@ PDP10.opCAN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCAG = function(op) +PDP10.opCAG = function(op, acc) { this.opUndefined(op); }; @@ -1611,8 +1733,9 @@ PDP10.opCAG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMP = function(op) +PDP10.opJUMP = function(op, acc) { this.opUndefined(op); }; @@ -1622,8 +1745,9 @@ PDP10.opJUMP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPL = function(op) +PDP10.opJUMPL = function(op, acc) { this.opUndefined(op); }; @@ -1633,8 +1757,9 @@ PDP10.opJUMPL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPE = function(op) +PDP10.opJUMPE = function(op, acc) { this.opUndefined(op); }; @@ -1644,8 +1769,9 @@ PDP10.opJUMPE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPLE = function(op) +PDP10.opJUMPLE = function(op, acc) { this.opUndefined(op); }; @@ -1655,8 +1781,9 @@ PDP10.opJUMPLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPA = function(op) +PDP10.opJUMPA = function(op, acc) { this.opUndefined(op); }; @@ -1666,8 +1793,9 @@ PDP10.opJUMPA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPGE = function(op) +PDP10.opJUMPGE = function(op, acc) { this.opUndefined(op); }; @@ -1677,8 +1805,9 @@ PDP10.opJUMPGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPN = function(op) +PDP10.opJUMPN = function(op, acc) { this.opUndefined(op); }; @@ -1688,8 +1817,9 @@ PDP10.opJUMPN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opJUMPG = function(op) +PDP10.opJUMPG = function(op, acc) { this.opUndefined(op); }; @@ -1699,8 +1829,9 @@ PDP10.opJUMPG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIP = function(op) +PDP10.opSKIP = function(op, acc) { this.opUndefined(op); }; @@ -1710,8 +1841,9 @@ PDP10.opSKIP = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPL = function(op) +PDP10.opSKIPL = function(op, acc) { this.opUndefined(op); }; @@ -1721,8 +1853,9 @@ PDP10.opSKIPL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPE = function(op) +PDP10.opSKIPE = function(op, acc) { this.opUndefined(op); }; @@ -1732,8 +1865,9 @@ PDP10.opSKIPE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPLE = function(op) +PDP10.opSKIPLE = function(op, acc) { this.opUndefined(op); }; @@ -1743,8 +1877,9 @@ PDP10.opSKIPLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPA = function(op) +PDP10.opSKIPA = function(op, acc) { this.opUndefined(op); }; @@ -1754,8 +1889,9 @@ PDP10.opSKIPA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPGE = function(op) +PDP10.opSKIPGE = function(op, acc) { this.opUndefined(op); }; @@ -1765,8 +1901,9 @@ PDP10.opSKIPGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPN = function(op) +PDP10.opSKIPN = function(op, acc) { this.opUndefined(op); }; @@ -1776,8 +1913,9 @@ PDP10.opSKIPN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSKIPG = function(op) +PDP10.opSKIPG = function(op, acc) { this.opUndefined(op); }; @@ -1787,8 +1925,9 @@ PDP10.opSKIPG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJ = function(op) +PDP10.opAOJ = function(op, acc) { this.opUndefined(op); }; @@ -1798,8 +1937,9 @@ PDP10.opAOJ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJL = function(op) +PDP10.opAOJL = function(op, acc) { this.opUndefined(op); }; @@ -1809,8 +1949,9 @@ PDP10.opAOJL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJE = function(op) +PDP10.opAOJE = function(op, acc) { this.opUndefined(op); }; @@ -1820,8 +1961,9 @@ PDP10.opAOJE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJLE = function(op) +PDP10.opAOJLE = function(op, acc) { this.opUndefined(op); }; @@ -1831,8 +1973,9 @@ PDP10.opAOJLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJA = function(op) +PDP10.opAOJA = function(op, acc) { this.opUndefined(op); }; @@ -1842,8 +1985,9 @@ PDP10.opAOJA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJGE = function(op) +PDP10.opAOJGE = function(op, acc) { this.opUndefined(op); }; @@ -1853,8 +1997,9 @@ PDP10.opAOJGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJN = function(op) +PDP10.opAOJN = function(op, acc) { this.opUndefined(op); }; @@ -1864,8 +2009,9 @@ PDP10.opAOJN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOJG = function(op) +PDP10.opAOJG = function(op, acc) { this.opUndefined(op); }; @@ -1875,8 +2021,9 @@ PDP10.opAOJG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOS = function(op) +PDP10.opAOS = function(op, acc) { this.opUndefined(op); }; @@ -1886,8 +2033,9 @@ PDP10.opAOS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSL = function(op) +PDP10.opAOSL = function(op, acc) { this.opUndefined(op); }; @@ -1897,8 +2045,9 @@ PDP10.opAOSL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSE = function(op) +PDP10.opAOSE = function(op, acc) { this.opUndefined(op); }; @@ -1908,8 +2057,9 @@ PDP10.opAOSE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSLE = function(op) +PDP10.opAOSLE = function(op, acc) { this.opUndefined(op); }; @@ -1919,8 +2069,9 @@ PDP10.opAOSLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSA = function(op) +PDP10.opAOSA = function(op, acc) { this.opUndefined(op); }; @@ -1930,8 +2081,9 @@ PDP10.opAOSA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSGE = function(op) +PDP10.opAOSGE = function(op, acc) { this.opUndefined(op); }; @@ -1941,8 +2093,9 @@ PDP10.opAOSGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSN = function(op) +PDP10.opAOSN = function(op, acc) { this.opUndefined(op); }; @@ -1952,8 +2105,9 @@ PDP10.opAOSN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAOSG = function(op) +PDP10.opAOSG = function(op, acc) { this.opUndefined(op); }; @@ -1963,8 +2117,9 @@ PDP10.opAOSG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJ = function(op) +PDP10.opSOJ = function(op, acc) { this.opUndefined(op); }; @@ -1974,8 +2129,9 @@ PDP10.opSOJ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJL = function(op) +PDP10.opSOJL = function(op, acc) { this.opUndefined(op); }; @@ -1985,8 +2141,9 @@ PDP10.opSOJL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJE = function(op) +PDP10.opSOJE = function(op, acc) { this.opUndefined(op); }; @@ -1996,8 +2153,9 @@ PDP10.opSOJE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJLE = function(op) +PDP10.opSOJLE = function(op, acc) { this.opUndefined(op); }; @@ -2007,8 +2165,9 @@ PDP10.opSOJLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJA = function(op) +PDP10.opSOJA = function(op, acc) { this.opUndefined(op); }; @@ -2018,8 +2177,9 @@ PDP10.opSOJA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJGE = function(op) +PDP10.opSOJGE = function(op, acc) { this.opUndefined(op); }; @@ -2029,8 +2189,9 @@ PDP10.opSOJGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJN = function(op) +PDP10.opSOJN = function(op, acc) { this.opUndefined(op); }; @@ -2040,8 +2201,9 @@ PDP10.opSOJN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOJG = function(op) +PDP10.opSOJG = function(op, acc) { this.opUndefined(op); }; @@ -2051,8 +2213,9 @@ PDP10.opSOJG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOS = function(op) +PDP10.opSOS = function(op, acc) { this.opUndefined(op); }; @@ -2062,8 +2225,9 @@ PDP10.opSOS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSL = function(op) +PDP10.opSOSL = function(op, acc) { this.opUndefined(op); }; @@ -2073,8 +2237,9 @@ PDP10.opSOSL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSE = function(op) +PDP10.opSOSE = function(op, acc) { this.opUndefined(op); }; @@ -2084,8 +2249,9 @@ PDP10.opSOSE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSLE = function(op) +PDP10.opSOSLE = function(op, acc) { this.opUndefined(op); }; @@ -2095,8 +2261,9 @@ PDP10.opSOSLE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSA = function(op) +PDP10.opSOSA = function(op, acc) { this.opUndefined(op); }; @@ -2106,8 +2273,9 @@ PDP10.opSOSA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSGE = function(op) +PDP10.opSOSGE = function(op, acc) { this.opUndefined(op); }; @@ -2117,8 +2285,9 @@ PDP10.opSOSGE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSN = function(op) +PDP10.opSOSN = function(op, acc) { this.opUndefined(op); }; @@ -2128,8 +2297,9 @@ PDP10.opSOSN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSOSG = function(op) +PDP10.opSOSG = function(op, acc) { this.opUndefined(op); }; @@ -2139,8 +2309,9 @@ PDP10.opSOSG = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETZ = function(op) +PDP10.opSETZ = function(op, acc) { this.opUndefined(op); }; @@ -2150,8 +2321,9 @@ PDP10.opSETZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETZI = function(op) +PDP10.opSETZI = function(op, acc) { this.opUndefined(op); }; @@ -2161,8 +2333,9 @@ PDP10.opSETZI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETZM = function(op) +PDP10.opSETZM = function(op, acc) { this.opUndefined(op); }; @@ -2172,8 +2345,9 @@ PDP10.opSETZM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETZB = function(op) +PDP10.opSETZB = function(op, acc) { this.opUndefined(op); }; @@ -2183,8 +2357,9 @@ PDP10.opSETZB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opAND = function(op) +PDP10.opAND = function(op, acc) { this.opUndefined(op); }; @@ -2194,8 +2369,9 @@ PDP10.opAND = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDI = function(op) +PDP10.opANDI = function(op, acc) { this.opUndefined(op); }; @@ -2205,8 +2381,9 @@ PDP10.opANDI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDM = function(op) +PDP10.opANDM = function(op, acc) { this.opUndefined(op); }; @@ -2216,8 +2393,9 @@ PDP10.opANDM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDB = function(op) +PDP10.opANDB = function(op, acc) { this.opUndefined(op); }; @@ -2227,8 +2405,9 @@ PDP10.opANDB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCA = function(op) +PDP10.opANDCA = function(op, acc) { this.opUndefined(op); }; @@ -2238,8 +2417,9 @@ PDP10.opANDCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCAI = function(op) +PDP10.opANDCAI = function(op, acc) { this.opUndefined(op); }; @@ -2249,8 +2429,9 @@ PDP10.opANDCAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCAM = function(op) +PDP10.opANDCAM = function(op, acc) { this.opUndefined(op); }; @@ -2260,8 +2441,9 @@ PDP10.opANDCAM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCAB = function(op) +PDP10.opANDCAB = function(op, acc) { this.opUndefined(op); }; @@ -2271,8 +2453,9 @@ PDP10.opANDCAB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETM = function(op) +PDP10.opSETM = function(op, acc) { this.opUndefined(op); }; @@ -2282,8 +2465,9 @@ PDP10.opSETM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETMI = function(op) +PDP10.opSETMI = function(op, acc) { this.opUndefined(op); }; @@ -2293,8 +2477,9 @@ PDP10.opSETMI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETMM = function(op) +PDP10.opSETMM = function(op, acc) { this.opUndefined(op); }; @@ -2304,8 +2489,9 @@ PDP10.opSETMM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETMB = function(op) +PDP10.opSETMB = function(op, acc) { this.opUndefined(op); }; @@ -2315,8 +2501,9 @@ PDP10.opSETMB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCM = function(op) +PDP10.opANDCM = function(op, acc) { this.opUndefined(op); }; @@ -2326,8 +2513,9 @@ PDP10.opANDCM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCMI = function(op) +PDP10.opANDCMI = function(op, acc) { this.opUndefined(op); }; @@ -2337,8 +2525,9 @@ PDP10.opANDCMI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCMM = function(op) +PDP10.opANDCMM = function(op, acc) { this.opUndefined(op); }; @@ -2348,8 +2537,9 @@ PDP10.opANDCMM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCMB = function(op) +PDP10.opANDCMB = function(op, acc) { this.opUndefined(op); }; @@ -2359,8 +2549,9 @@ PDP10.opANDCMB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETA = function(op) +PDP10.opSETA = function(op, acc) { this.opUndefined(op); }; @@ -2370,8 +2561,9 @@ PDP10.opSETA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETAI = function(op) +PDP10.opSETAI = function(op, acc) { this.opUndefined(op); }; @@ -2381,8 +2573,9 @@ PDP10.opSETAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETAM = function(op) +PDP10.opSETAM = function(op, acc) { this.opUndefined(op); }; @@ -2392,8 +2585,9 @@ PDP10.opSETAM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETAB = function(op) +PDP10.opSETAB = function(op, acc) { this.opUndefined(op); }; @@ -2403,8 +2597,9 @@ PDP10.opSETAB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opXOR = function(op) +PDP10.opXOR = function(op, acc) { this.opUndefined(op); }; @@ -2414,8 +2609,9 @@ PDP10.opXOR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opXORI = function(op) +PDP10.opXORI = function(op, acc) { this.opUndefined(op); }; @@ -2425,8 +2621,9 @@ PDP10.opXORI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opXORM = function(op) +PDP10.opXORM = function(op, acc) { this.opUndefined(op); }; @@ -2436,8 +2633,9 @@ PDP10.opXORM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opXORB = function(op) +PDP10.opXORB = function(op, acc) { this.opUndefined(op); }; @@ -2447,8 +2645,9 @@ PDP10.opXORB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIOR = function(op) +PDP10.opIOR = function(op, acc) { this.opUndefined(op); }; @@ -2458,8 +2657,9 @@ PDP10.opIOR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIORI = function(op) +PDP10.opIORI = function(op, acc) { this.opUndefined(op); }; @@ -2469,8 +2669,9 @@ PDP10.opIORI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIORM = function(op) +PDP10.opIORM = function(op, acc) { this.opUndefined(op); }; @@ -2480,8 +2681,9 @@ PDP10.opIORM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIORB = function(op) +PDP10.opIORB = function(op, acc) { this.opUndefined(op); }; @@ -2491,8 +2693,9 @@ PDP10.opIORB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCB = function(op) +PDP10.opANDCB = function(op, acc) { this.opUndefined(op); }; @@ -2502,8 +2705,9 @@ PDP10.opANDCB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCBI = function(op) +PDP10.opANDCBI = function(op, acc) { this.opUndefined(op); }; @@ -2513,8 +2717,9 @@ PDP10.opANDCBI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCBM = function(op) +PDP10.opANDCBM = function(op, acc) { this.opUndefined(op); }; @@ -2524,8 +2729,9 @@ PDP10.opANDCBM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opANDCBB = function(op) +PDP10.opANDCBB = function(op, acc) { this.opUndefined(op); }; @@ -2535,8 +2741,9 @@ PDP10.opANDCBB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opEQV = function(op) +PDP10.opEQV = function(op, acc) { this.opUndefined(op); }; @@ -2546,8 +2753,9 @@ PDP10.opEQV = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opEQVI = function(op) +PDP10.opEQVI = function(op, acc) { this.opUndefined(op); }; @@ -2557,8 +2765,9 @@ PDP10.opEQVI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opEQVM = function(op) +PDP10.opEQVM = function(op, acc) { this.opUndefined(op); }; @@ -2568,8 +2777,9 @@ PDP10.opEQVM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opEQVB = function(op) +PDP10.opEQVB = function(op, acc) { this.opUndefined(op); }; @@ -2579,8 +2789,9 @@ PDP10.opEQVB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCA = function(op) +PDP10.opSETCA = function(op, acc) { this.opUndefined(op); }; @@ -2590,8 +2801,9 @@ PDP10.opSETCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCAI = function(op) +PDP10.opSETCAI = function(op, acc) { this.opUndefined(op); }; @@ -2601,8 +2813,9 @@ PDP10.opSETCAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCAM = function(op) +PDP10.opSETCAM = function(op, acc) { this.opUndefined(op); }; @@ -2612,8 +2825,9 @@ PDP10.opSETCAM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCAB = function(op) +PDP10.opSETCAB = function(op, acc) { this.opUndefined(op); }; @@ -2623,8 +2837,9 @@ PDP10.opSETCAB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCA = function(op) +PDP10.opORCA = function(op, acc) { this.opUndefined(op); }; @@ -2634,8 +2849,9 @@ PDP10.opORCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCAI = function(op) +PDP10.opORCAI = function(op, acc) { this.opUndefined(op); }; @@ -2645,8 +2861,9 @@ PDP10.opORCAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCAM = function(op) +PDP10.opORCAM = function(op, acc) { this.opUndefined(op); }; @@ -2656,8 +2873,9 @@ PDP10.opORCAM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCAB = function(op) +PDP10.opORCAB = function(op, acc) { this.opUndefined(op); }; @@ -2667,8 +2885,9 @@ PDP10.opORCAB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCM = function(op) +PDP10.opSETCM = function(op, acc) { this.opUndefined(op); }; @@ -2678,8 +2897,9 @@ PDP10.opSETCM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCMI = function(op) +PDP10.opSETCMI = function(op, acc) { this.opUndefined(op); }; @@ -2689,8 +2909,9 @@ PDP10.opSETCMI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCMM = function(op) +PDP10.opSETCMM = function(op, acc) { this.opUndefined(op); }; @@ -2700,8 +2921,9 @@ PDP10.opSETCMM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETCMB = function(op) +PDP10.opSETCMB = function(op, acc) { this.opUndefined(op); }; @@ -2711,8 +2933,9 @@ PDP10.opSETCMB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCM = function(op) +PDP10.opORCM = function(op, acc) { this.opUndefined(op); }; @@ -2722,8 +2945,9 @@ PDP10.opORCM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCMI = function(op) +PDP10.opORCMI = function(op, acc) { this.opUndefined(op); }; @@ -2733,8 +2957,9 @@ PDP10.opORCMI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCMM = function(op) +PDP10.opORCMM = function(op, acc) { this.opUndefined(op); }; @@ -2744,8 +2969,9 @@ PDP10.opORCMM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCMB = function(op) +PDP10.opORCMB = function(op, acc) { this.opUndefined(op); }; @@ -2755,8 +2981,9 @@ PDP10.opORCMB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCB = function(op) +PDP10.opORCB = function(op, acc) { this.opUndefined(op); }; @@ -2766,8 +2993,9 @@ PDP10.opORCB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCBI = function(op) +PDP10.opORCBI = function(op, acc) { this.opUndefined(op); }; @@ -2777,8 +3005,9 @@ PDP10.opORCBI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCBM = function(op) +PDP10.opORCBM = function(op, acc) { this.opUndefined(op); }; @@ -2788,8 +3017,9 @@ PDP10.opORCBM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opORCBB = function(op) +PDP10.opORCBB = function(op, acc) { this.opUndefined(op); }; @@ -2799,8 +3029,9 @@ PDP10.opORCBB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETO = function(op) +PDP10.opSETO = function(op, acc) { this.opUndefined(op); }; @@ -2810,8 +3041,9 @@ PDP10.opSETO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETOI = function(op) +PDP10.opSETOI = function(op, acc) { this.opUndefined(op); }; @@ -2821,8 +3053,9 @@ PDP10.opSETOI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETOM = function(op) +PDP10.opSETOM = function(op, acc) { this.opUndefined(op); }; @@ -2832,8 +3065,9 @@ PDP10.opSETOM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opSETOB = function(op) +PDP10.opSETOB = function(op, acc) { this.opUndefined(op); }; @@ -2850,10 +3084,10 @@ PDP10.opSETOB = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLL = function(op) +PDP10.opHLL = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = this.readWord(this.regEA); var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); @@ -2874,10 +3108,10 @@ PDP10.opHLL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLLI = function(op) +PDP10.opHLLI = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, 0)); }; @@ -2894,10 +3128,10 @@ PDP10.opHLLI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLLM = function(op) +PDP10.opHLLM = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = this.readWord(acc); var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); @@ -2917,13 +3151,13 @@ PDP10.opHLLM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLLS = function(op) +PDP10.opHLLS = function(op, acc) { var dst = this.readWord(this.regEA); dst = PDP10.setHR(op, dst, dst); this.writeWord(this.regEA, dst); - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, dst); }; @@ -2940,10 +3174,10 @@ PDP10.opHLLS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRL = function(op) +PDP10.opHRL = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = (this.readWord(this.regEA) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, src) + src); @@ -2962,10 +3196,10 @@ PDP10.opHRL = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRLI = function(op) +PDP10.opHRLI = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = this.regEA * PDP10.WORD_SHIFT; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, src) + src); @@ -2984,10 +3218,10 @@ PDP10.opHRLI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRLM = function(op) +PDP10.opHRLM = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = (this.readWord(acc) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); @@ -3006,14 +3240,14 @@ PDP10.opHRLM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRLS = function(op) +PDP10.opHRLS = function(op, acc) { var dst = this.readWord(this.regEA); var src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; dst = PDP10.getHR(op, dst, src) + src; this.writeWord(this.regEA, dst); - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, dst); }; @@ -3030,10 +3264,10 @@ PDP10.opHRLS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRR = function(op) +PDP10.opHRR = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = this.readWord(this.regEA) & PDP10.WORD_MASK; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, src) + src); @@ -3052,10 +3286,10 @@ PDP10.opHRR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRRI = function(op) +PDP10.opHRRI = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, this.regEA) + this.regEA); }; @@ -3073,10 +3307,10 @@ PDP10.opHRRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRRM = function(op) +PDP10.opHRRM = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = this.readWord(acc) & PDP10.WORD_MASK; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); @@ -3097,13 +3331,13 @@ PDP10.opHRRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHRRS = function(op) +PDP10.opHRRS = function(op, acc) { var dst = this.readWord(this.regEA); dst = PDP10.setHL(op, dst, dst); this.writeWord(this.regEA, dst); - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, dst); }; @@ -3119,10 +3353,10 @@ PDP10.opHRRS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLR = function(op) +PDP10.opHLR = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = (this.readWord(this.regEA) / PDP10.WORD_SHIFT)|0; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, src) + src); @@ -3142,10 +3376,10 @@ PDP10.opHLR = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLRI = function(op) +PDP10.opHLRI = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, 0)); }; @@ -3162,10 +3396,10 @@ PDP10.opHLRI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLRM = function(op) +PDP10.opHLRM = function(op, acc) { - var acc = op & PDP10.OPCODE.A_MASK; var src = (this.readWord(acc) / PDP10.WORD_SHIFT)|0; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); @@ -3183,14 +3417,14 @@ PDP10.opHLRM = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opHLRS = function(op) +PDP10.opHLRS = function(op, acc) { var dst = this.readWord(this.regEA); var src = (dst / PDP10.WORD_SHIFT)|0; dst = PDP10.getHL(op, dst, src) + src; this.writeWord(this.regEA, dst); - var acc = op & PDP10.OPCODE.A_MASK; if (acc) this.writeWord(acc, dst); }; @@ -3199,8 +3433,9 @@ PDP10.opHLRS = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRN = function(op) +PDP10.opTRN = function(op, acc) { this.opUndefined(op); }; @@ -3210,8 +3445,9 @@ PDP10.opTRN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLN = function(op) +PDP10.opTLN = function(op, acc) { this.opUndefined(op); }; @@ -3221,8 +3457,9 @@ PDP10.opTLN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRNE = function(op) +PDP10.opTRNE = function(op, acc) { this.opUndefined(op); }; @@ -3232,8 +3469,9 @@ PDP10.opTRNE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLNE = function(op) +PDP10.opTLNE = function(op, acc) { this.opUndefined(op); }; @@ -3243,8 +3481,9 @@ PDP10.opTLNE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRNA = function(op) +PDP10.opTRNA = function(op, acc) { this.opUndefined(op); }; @@ -3254,8 +3493,9 @@ PDP10.opTRNA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLNA = function(op) +PDP10.opTLNA = function(op, acc) { this.opUndefined(op); }; @@ -3265,8 +3505,9 @@ PDP10.opTLNA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRNN = function(op) +PDP10.opTRNN = function(op, acc) { this.opUndefined(op); }; @@ -3276,8 +3517,9 @@ PDP10.opTRNN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLNN = function(op) +PDP10.opTLNN = function(op, acc) { this.opUndefined(op); }; @@ -3287,8 +3529,9 @@ PDP10.opTLNN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDN = function(op) +PDP10.opTDN = function(op, acc) { this.opUndefined(op); }; @@ -3298,8 +3541,9 @@ PDP10.opTDN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSN = function(op) +PDP10.opTSN = function(op, acc) { this.opUndefined(op); }; @@ -3309,8 +3553,9 @@ PDP10.opTSN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDNE = function(op) +PDP10.opTDNE = function(op, acc) { this.opUndefined(op); }; @@ -3320,8 +3565,9 @@ PDP10.opTDNE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSNE = function(op) +PDP10.opTSNE = function(op, acc) { this.opUndefined(op); }; @@ -3331,8 +3577,9 @@ PDP10.opTSNE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDNA = function(op) +PDP10.opTDNA = function(op, acc) { this.opUndefined(op); }; @@ -3342,8 +3589,9 @@ PDP10.opTDNA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSNA = function(op) +PDP10.opTSNA = function(op, acc) { this.opUndefined(op); }; @@ -3353,8 +3601,9 @@ PDP10.opTSNA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDNN = function(op) +PDP10.opTDNN = function(op, acc) { this.opUndefined(op); }; @@ -3364,8 +3613,9 @@ PDP10.opTDNN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSNN = function(op) +PDP10.opTSNN = function(op, acc) { this.opUndefined(op); }; @@ -3375,8 +3625,9 @@ PDP10.opTSNN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRZ = function(op) +PDP10.opTRZ = function(op, acc) { this.opUndefined(op); }; @@ -3386,8 +3637,9 @@ PDP10.opTRZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLZ = function(op) +PDP10.opTLZ = function(op, acc) { this.opUndefined(op); }; @@ -3397,8 +3649,9 @@ PDP10.opTLZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRZE = function(op) +PDP10.opTRZE = function(op, acc) { this.opUndefined(op); }; @@ -3408,8 +3661,9 @@ PDP10.opTRZE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLZE = function(op) +PDP10.opTLZE = function(op, acc) { this.opUndefined(op); }; @@ -3419,8 +3673,9 @@ PDP10.opTLZE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRZA = function(op) +PDP10.opTRZA = function(op, acc) { this.opUndefined(op); }; @@ -3430,8 +3685,9 @@ PDP10.opTRZA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLZA = function(op) +PDP10.opTLZA = function(op, acc) { this.opUndefined(op); }; @@ -3441,8 +3697,9 @@ PDP10.opTLZA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRZN = function(op) +PDP10.opTRZN = function(op, acc) { this.opUndefined(op); }; @@ -3452,8 +3709,9 @@ PDP10.opTRZN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLZN = function(op) +PDP10.opTLZN = function(op, acc) { this.opUndefined(op); }; @@ -3463,8 +3721,9 @@ PDP10.opTLZN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDZ = function(op) +PDP10.opTDZ = function(op, acc) { this.opUndefined(op); }; @@ -3474,8 +3733,9 @@ PDP10.opTDZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSZ = function(op) +PDP10.opTSZ = function(op, acc) { this.opUndefined(op); }; @@ -3485,8 +3745,9 @@ PDP10.opTSZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDZE = function(op) +PDP10.opTDZE = function(op, acc) { this.opUndefined(op); }; @@ -3496,8 +3757,9 @@ PDP10.opTDZE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSZE = function(op) +PDP10.opTSZE = function(op, acc) { this.opUndefined(op); }; @@ -3507,8 +3769,9 @@ PDP10.opTSZE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDZA = function(op) +PDP10.opTDZA = function(op, acc) { this.opUndefined(op); }; @@ -3518,8 +3781,9 @@ PDP10.opTDZA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSZA = function(op) +PDP10.opTSZA = function(op, acc) { this.opUndefined(op); }; @@ -3529,8 +3793,9 @@ PDP10.opTSZA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDZN = function(op) +PDP10.opTDZN = function(op, acc) { this.opUndefined(op); }; @@ -3540,8 +3805,9 @@ PDP10.opTDZN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSZN = function(op) +PDP10.opTSZN = function(op, acc) { this.opUndefined(op); }; @@ -3551,8 +3817,9 @@ PDP10.opTSZN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRC = function(op) +PDP10.opTRC = function(op, acc) { this.opUndefined(op); }; @@ -3562,8 +3829,9 @@ PDP10.opTRC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLC = function(op) +PDP10.opTLC = function(op, acc) { this.opUndefined(op); }; @@ -3573,8 +3841,9 @@ PDP10.opTLC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRCE = function(op) +PDP10.opTRCE = function(op, acc) { this.opUndefined(op); }; @@ -3584,8 +3853,9 @@ PDP10.opTRCE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLCE = function(op) +PDP10.opTLCE = function(op, acc) { this.opUndefined(op); }; @@ -3595,8 +3865,9 @@ PDP10.opTLCE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRCA = function(op) +PDP10.opTRCA = function(op, acc) { this.opUndefined(op); }; @@ -3606,8 +3877,9 @@ PDP10.opTRCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLCA = function(op) +PDP10.opTLCA = function(op, acc) { this.opUndefined(op); }; @@ -3617,8 +3889,9 @@ PDP10.opTLCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRCN = function(op) +PDP10.opTRCN = function(op, acc) { this.opUndefined(op); }; @@ -3628,8 +3901,9 @@ PDP10.opTRCN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLCN = function(op) +PDP10.opTLCN = function(op, acc) { this.opUndefined(op); }; @@ -3639,8 +3913,9 @@ PDP10.opTLCN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDC = function(op) +PDP10.opTDC = function(op, acc) { this.opUndefined(op); }; @@ -3650,8 +3925,9 @@ PDP10.opTDC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSC = function(op) +PDP10.opTSC = function(op, acc) { this.opUndefined(op); }; @@ -3661,8 +3937,9 @@ PDP10.opTSC = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDCE = function(op) +PDP10.opTDCE = function(op, acc) { this.opUndefined(op); }; @@ -3672,8 +3949,9 @@ PDP10.opTDCE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSCE = function(op) +PDP10.opTSCE = function(op, acc) { this.opUndefined(op); }; @@ -3683,8 +3961,9 @@ PDP10.opTSCE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDCA = function(op) +PDP10.opTDCA = function(op, acc) { this.opUndefined(op); }; @@ -3694,8 +3973,9 @@ PDP10.opTDCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSCA = function(op) +PDP10.opTSCA = function(op, acc) { this.opUndefined(op); }; @@ -3705,8 +3985,9 @@ PDP10.opTSCA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDCN = function(op) +PDP10.opTDCN = function(op, acc) { this.opUndefined(op); }; @@ -3716,8 +3997,9 @@ PDP10.opTDCN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSCN = function(op) +PDP10.opTSCN = function(op, acc) { this.opUndefined(op); }; @@ -3727,8 +4009,9 @@ PDP10.opTSCN = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRO = function(op) +PDP10.opTRO = function(op, acc) { this.opUndefined(op); }; @@ -3738,8 +4021,9 @@ PDP10.opTRO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLO = function(op) +PDP10.opTLO = function(op, acc) { this.opUndefined(op); }; @@ -3749,8 +4033,9 @@ PDP10.opTLO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTROE = function(op) +PDP10.opTROE = function(op, acc) { this.opUndefined(op); }; @@ -3760,8 +4045,9 @@ PDP10.opTROE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLOE = function(op) +PDP10.opTLOE = function(op, acc) { this.opUndefined(op); }; @@ -3771,8 +4057,9 @@ PDP10.opTLOE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTROA = function(op) +PDP10.opTROA = function(op, acc) { this.opUndefined(op); }; @@ -3782,8 +4069,9 @@ PDP10.opTROA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLOA = function(op) +PDP10.opTLOA = function(op, acc) { this.opUndefined(op); }; @@ -3793,8 +4081,9 @@ PDP10.opTLOA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTRON = function(op) +PDP10.opTRON = function(op, acc) { this.opUndefined(op); }; @@ -3804,8 +4093,9 @@ PDP10.opTRON = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTLON = function(op) +PDP10.opTLON = function(op, acc) { this.opUndefined(op); }; @@ -3815,8 +4105,9 @@ PDP10.opTLON = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDO = function(op) +PDP10.opTDO = function(op, acc) { this.opUndefined(op); }; @@ -3826,8 +4117,9 @@ PDP10.opTDO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSO = function(op) +PDP10.opTSO = function(op, acc) { this.opUndefined(op); }; @@ -3837,8 +4129,9 @@ PDP10.opTSO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDOE = function(op) +PDP10.opTDOE = function(op, acc) { this.opUndefined(op); }; @@ -3848,8 +4141,9 @@ PDP10.opTDOE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSOE = function(op) +PDP10.opTSOE = function(op, acc) { this.opUndefined(op); }; @@ -3859,8 +4153,9 @@ PDP10.opTSOE = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDOA = function(op) +PDP10.opTDOA = function(op, acc) { this.opUndefined(op); }; @@ -3870,8 +4165,9 @@ PDP10.opTDOA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSOA = function(op) +PDP10.opTSOA = function(op, acc) { this.opUndefined(op); }; @@ -3881,8 +4177,9 @@ PDP10.opTSOA = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTDON = function(op) +PDP10.opTDON = function(op, acc) { this.opUndefined(op); }; @@ -3892,8 +4189,9 @@ PDP10.opTDON = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opTSON = function(op) +PDP10.opTSON = function(op, acc) { this.opUndefined(op); }; @@ -3903,8 +4201,9 @@ PDP10.opTSON = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opBLKI = function(op) +PDP10.opBLKI = function(op, acc) { this.opUndefined(op); }; @@ -3914,8 +4213,9 @@ PDP10.opBLKI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDATAI = function(op) +PDP10.opDATAI = function(op, acc) { this.opUndefined(op); }; @@ -3925,8 +4225,9 @@ PDP10.opDATAI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opBLKO = function(op) +PDP10.opBLKO = function(op, acc) { this.opUndefined(op); }; @@ -3936,8 +4237,9 @@ PDP10.opBLKO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opDATAO = function(op) +PDP10.opDATAO = function(op, acc) { this.opUndefined(op); }; @@ -3947,8 +4249,9 @@ PDP10.opDATAO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCONO = function(op) +PDP10.opCONO = function(op, acc) { this.opUndefined(op); }; @@ -3958,8 +4261,9 @@ PDP10.opCONO = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCONI = function(op) +PDP10.opCONI = function(op, acc) { this.opUndefined(op); }; @@ -3969,8 +4273,9 @@ PDP10.opCONI = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCONSZ = function(op) +PDP10.opCONSZ = function(op, acc) { this.opUndefined(op); }; @@ -3980,30 +4285,33 @@ PDP10.opCONSZ = function(op) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opCONSO = function(op) +PDP10.opCONSO = function(op, acc) { this.opUndefined(op); }; /** - * opIO(op) + * opIO(op, acc) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} acc */ -PDP10.opIO = function(op) +PDP10.opIO = function(op, acc) { this.opUndefined(op); }; /** - * opUndefined() + * opUndefined(op, acc) * * @this {CPUStatePDP10} * @param {number} op + * @param {number} [acc] */ -PDP10.opUndefined = function(op) +PDP10.opUndefined = function(op, acc) { this.println("undefined opcode: " + Str.toOct(op)); this.advancePC(-1); diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index 4738b143e..487869c57 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -443,12 +443,12 @@ class CPUStatePDP10 extends CPUPDP10 { * * @this {CPUStatePDP10} * @param {number} src (36-bit) - * @return {number} (negated 36-bit src) + * @return {number} (negated, but as an unsigned 36-bit result) */ negate(src) { if (!src) { - this.fCarry = this.fCarry1 = true; + this.fCarry0 = this.fCarry1 = true; } else { /* diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 38e151e9c..7ab9ad331 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -873,6 +873,18 @@ class DebuggerPDP10 extends Debugger { case DebuggerPDP10.REGS.EA: value = this.cpu.regEA; break; + case DebuggerPDP10.REGS.C0: + value = this.cpu.fCarry0? 1 : 0; + break; + case DebuggerPDP10.REGS.C1: + value = this.cpu.fCarry1? 1 : 0; + break; + case DebuggerPDP10.REGS.OV: + value = this.cpu.fOverflow? 1 : 0; + break; + case DebuggerPDP10.REGS.ND: + value = this.cpu.fNoDivide? 1 : 0; + break; } return value; } @@ -2055,7 +2067,7 @@ class DebuggerPDP10 extends Debugger { { var sReg = this.getRegName(iReg); if (sReg) { - var nBits = (iReg == DebuggerPDP10.REGS.RA? 23 : 18); + var nBits = (iReg >= DebuggerPDP10.REGS.C0? 1 : (iReg == DebuggerPDP10.REGS.RA? 23 : 18)); sReg += '=' + this.toStrBase(this.getRegValue(iReg), nBits) + ' '; } return sReg; @@ -2070,18 +2082,22 @@ class DebuggerPDP10 extends Debugger { getMiscDump() { var sDump = ""; - sDump += this.getRegOutput(DebuggerPDP10.REGS.PC) + this.getRegOutput(DebuggerPDP10.REGS.RA) + this.getRegOutput(DebuggerPDP10.REGS.EA); + for (var i = 0; i < DebuggerPDP10.REGNAMES.length; i++) { + sDump += this.getRegOutput(i); + } return sDump; } /** * getRegDump(fMisc) * + * For now, fMisc defaults to true, providing a full register dump by default. + * * @this {DebuggerPDP10} * @param {boolean} [fMisc] (true to include misc registers) * @return {string} */ - getRegDump(fMisc) + getRegDump(fMisc = true) { var sDump = ""; for (var i = 0; i < 16; i++) { @@ -3022,8 +3038,8 @@ class DebuggerPDP10 extends Debugger { return; } - var fMisc = false; var cpu = this.cpu; + var fMisc = undefined; if (fInstruction == null) fInstruction = true; if (asArgs != null && asArgs.length > 1) { @@ -3798,11 +3814,15 @@ if (DEBUGGER) { DebuggerPDP10.REGS = { PC: 0, RA: 1, - EA: 2 + EA: 2, + C0: 3, // single-bit "register" representing the Carry 0 flag + C1: 4, // single-bit "register" representing the Carry 1 flag + OV: 5, // single-bit "register" representing the Overflow flag + ND: 6, // single-bit "register" representing the No Divide flag }; DebuggerPDP10.REGNAMES = [ - "PC", "RA", "EA" + "PC", "RA", "EA", "C0", "C1", "OV", "ND" ]; /* From 85a338b8c49c6a953df82213d7b18471e0a6d30e Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 2 Mar 2017 10:20:11 -0800 Subject: [PATCH 05/32] All PDP-10 MOVN (Move Negative) opcodes implemented --- versions/pdpjs/1.34.2/pdp10-dbg.js | 275 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 132 +++++++------- 2 files changed, 204 insertions(+), 203 deletions(-) diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index df9a9ef7e..3de480536 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,8 +31,8 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var la=Math.pow(2,36),ma=-Math.pow(2,35),q={Xb:0,pb:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,qb:10,fc:11,gc:12,rb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81, -Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,vb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,sb:127}; +var la=Math.pow(2,36),ma=-Math.pow(2,35),q={ac:0,tb:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,$a:8,ic:9,ub:10,jc:11,kc:12,vb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Za:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81, +Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87,Qc:88,Rc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,wb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} @@ -46,181 +46,182 @@ function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return function Ua(a){if(!Va){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Va=c}return Va[a]}function Wa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ta:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.F=this.C=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.eb=b.comment;this.sb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ua:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.F=this.D=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.i=this.F=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb, -set:this.Qb};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; -l.ga=function(a,b,c,d){if(this.C&&this.C.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.H[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.H[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.H[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.F=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.g,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])bc(this,this.g=a[0]),Wb(this,this.v=a[1]),jc(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.H[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.H[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} -l.yb=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return jc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Rb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} -function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.i.j.K||(this.i.u=this.g%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Ib=function(){};l.Cb=function(a){a||this.i.V()}; -l.Ab=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<a;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.A=this.i=this.F=this.D=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, +set:this.Ub};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; +l.ga=function(a,b,c,d){if(this.D&&this.D.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.D=a;this.F=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.g,this.v,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])bc(this,this.g=a[0]),Wb(this,this.v=a[1]),jc(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} +l.Cb=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return jc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Vb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} +function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.i.j.K||(this.i.u=this.g%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Mb=function(){};l.Gb=function(a){a||this.i.V()}; +l.Eb=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.g;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Dc(Ec,e,g)}e=new zc(a,e,m,16384,d);Ac(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Fc[d]+" at "+pa(b)),!0):Dc(Gc,b,c)} -function xc(a,b){var c=a.b[(b&a.u)>>>a.g];a.v++;b=c.F(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.g];a.v++;d.C(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ud(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.f(ud(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Da*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&yd(a.C)}tc(a,a.J);a.J=0;a.G=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;c>>a.g];a.v++;b=c.F(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.g];a.v++;d.D(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ud(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.f(ud(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.D)if(a=d.D,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Qa*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.D&&yd(a.D)}tc(a,a.J);a.J=0;a.H=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Bd(a,b){var c=a.N-=a.O;a.O=0;b&&(a.N=0);return c} -l.Ob=function(){if(this.j.K){this.ya>=this.Ra&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Qa&&(this.G+=a,this.G>this.ra&&(this.G=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=Cd&&(this.C&&I(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.V();this.C&&this.C.stop(rb(),ud(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.M=rb();var c=this.Qa;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.G;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,vd(this)));if(0>c||this.Rc&&(this.G-=c),c=0;this.ya+=this.ja;this.M+=c;a(b,c)}}}; -function qc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{vd(a);a.j.K=!0;a.j.Pa=!0;var c=a.H.run;c&&(c.textContent="Halt");a.C&&(b&&yd(a.C,!0),a.C.start(a.G,ud(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.H.run)b.textContent="Run";this.C&&this.C.stop(rb(),ud(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; -function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.tb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.ab=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.V();this.g=this.B=this.za=0;this.la=this.u=this.qa=this.bb;this.v=0;this.D=this.Kb;this.I=this.Vb;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.mb=function(){return 0}; +l.Sb=function(){if(this.j.K){this.ya>=this.Sa&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Ra&&(this.H+=a,this.H>this.ra&&(this.H=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Ta>=Cd&&(this.D&&I(this.D,void 0),this.Ta=0);break}}while(this.j.K)}catch(e){this.V();this.D&&this.D.stop(rb(),ud(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.ib;this.M=rb();var c=this.Ra;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.H;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,vd(this)));if(0>c||this.Rc&&(this.H-=c),c=0;this.ya+=this.ja;this.M+=c;a(b,c)}}}; +function qc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{vd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.D&&(b&&yd(a.D,!0),a.D.start(a.H,ud(a)));a.A||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.D&&this.D.stop(rb(),ud(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; +function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.hb=b;this.cb=+a.addrReset||0;this.zb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.bb=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.hb);this.j.K&&this.V();this.g=this.B=this.za=0;this.u=this.qa=this.cb;this.gb=this.fb=this.Da=this.xb=!1;this.la=this.u;this.v=0;this.C=this.Ob;this.G=this.Zb;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.pb=function(){return 0}; l.save=function(){var a=new H(this);a.set(0,[this.g,this.B,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.P,this.W,this.j.Z]);a.set(3,Fd(this));a.set(4,Ad(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.g=b.next().value;this.B=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];vd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.g].D(a&16383,a)};l.Vb=function(a,b){var c=this.F;a=this.la=a;c.b[(a&c.u)>>>c.g].I(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.D(this.g):this.za=this.D(this.qa=this.u);this.B&=8388607;this.g=this.B&262143;if(a= -this.B>>18&15)this.g=this.g+this.D(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Tb|0);0<=a&&this.tb(a)}while(0>4].call(this,a)}function M(a){this.b(a)}function Ld(a){var b=a&15,c=this.D(this.g),d=this.D(b);this.I(b,Md(a,d,c)+(c-(c&262143)))} -function Nd(a){var b=a&15,c=this.D(b);this.I(b,Md(a,c,0))}function Od(a){var b=this.D(a&15),c=this.D(this.g);this.I(this.g,Md(a,c,b)+(b-(b&262143)))}function Pd(a){var b=this.D(this.g),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Ob?262143:0}b=d;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Qd(a){var b=a&15,c=(this.D(this.g)&262143)*F,d=this.D(b);this.I(b,Md(a,d,c)+c)}function Rd(a){var b=a&15,c=this.g*F,d=this.D(b);this.I(b,Md(a,d,c)+c)} -function Sd(a){var b=(this.D(a&15)&262143)*F,c=this.D(this.g);this.I(this.g,Md(a,c,b)+b)}function Td(a){var b=this.D(this.g),c=(b&262143)*F,b=Md(a,b,c)+c;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Ud(a){var b=a&15,c=this.D(this.g)&262143,d=this.D(b);this.I(b,Vd(a,d,c)+c)}function Wd(a){var b=a&15,c=this.D(b);this.I(b,Vd(a,c,this.g)+this.g)}function Xd(a){var b=this.D(a&15)&262143,c=this.D(this.g);this.I(this.g,Vd(a,c,b)+b)} -function Yd(a){var b=this.D(this.g),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*F;break;case 384:d+=b>Nb?262143*F:0}b=d;this.I(this.g,b);(a&=15)&&this.I(a,b)}function Zd(a){var b=a&15,c=this.D(this.g)/F|0,d=this.D(b);this.I(b,Vd(a,d,c)+c)}function $d(a){var b=a&15,c=this.D(b);this.I(b,Vd(a,c,0))}function ae(a){var b=this.D(a&15)/F|0,c=this.D(this.g);this.I(this.g,Vd(a,c,b)+b)}function be(a){var b=this.D(this.g),c=b/F|0,b=Vd(a,b,c)+c;this.I(this.g,b);(a&=15)&&this.I(a,b)} -function O(a){this.b(a)}function L(a){this.f("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.g=b.next().value;this.B=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];vd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.g].C(a&16383,a)};l.Zb=function(a,b){var c=this.F;a=this.la=a;c.b[(a&c.u)>>>c.g].G(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.C(this.g):this.za=this.C(this.qa=this.u);this.B&=8388607;this.g=this.B&262143;if(a= +this.B>>18&15)this.g=this.g+this.C(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Tb|0);0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Ld(a,b){var c=this.C(this.g),d=this.C(b);this.G(b,Md(a,d,c)+(c-(c&262143)))} +function Nd(a,b){var c=this.C(b);this.G(b,Md(a,c,0))}function Od(a,b){b=this.C(b);var c=this.C(this.g);this.G(this.g,Md(a,c,b)+(b-(b&262143)))}function Pd(a,b){var c=this.C(this.g),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.G(this.g,c);b&&this.G(b,c)}function Qd(a,b){var c=(this.C(this.g)&262143)*F,d=this.C(b);this.G(b,Md(a,d,c)+c)}function Rd(a,b){var c=this.g*F,d=this.C(b);this.G(b,Md(a,d,c)+c)} +function Sd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.g);this.G(this.g,Md(a,c,b)+b)}function Td(a,b){var c=this.C(this.g),d=(c&262143)*F,c=Md(a,c,d)+d;this.G(this.g,c);b&&this.G(b,c)}function Ud(a,b){var c=this.C(this.g)&262143,d=this.C(b);this.G(b,Vd(a,d,c)+c)}function Wd(a,b){var c=this.C(b);this.G(b,Vd(a,c,this.g)+this.g)}function Xd(a,b){b=this.C(b)&262143;var c=this.C(this.g);this.G(this.g,Vd(a,c,b)+b)} +function Yd(a,b){var c=this.C(this.g),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.G(this.g,c);b&&this.G(b,c)}function Zd(a,b){var c=this.C(this.g)/F|0,d=this.C(b);this.G(b,Vd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.G(b,Vd(a,c,0))}function ae(a,b){b=this.C(b)/F|0;var c=this.C(this.g);this.G(this.g,Vd(a,c,b)+b)}function be(a,b){var c=this.C(this.g),d=c/F|0,c=Vd(a,c,d)+d;this.G(this.g,c);b&&this.G(b,c)}function O(a){this.b(a)} +function L(a){this.f("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} var Kd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.I(a&15,this.D(this.g))},function(a){this.I(a&15,this.g)},function(a){this.I(this.g,this.D(a&15))},function(a){(a&=15)&&this.I(a,this.D(this.g))},function(a){var b=this.D(this.g),b=b/F|(b&262143)*F;this.I(a&15,b)},function(a){this.I(a&15,this.g*F)},function(a){a=this.D(a&15);a=a/F|(a&262143)*F;this.I(this.g,a)},function(a){var b=this.D(this.g),b=b/F|(b&262143)*F;this.I(this.g,b);(a&=15)&&this.I(a, -b)},function(a){this.I(a&15,Hd(this.D(this.g)))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){a&=15;var b=this.D(a);this.I(a,this.D(this.g));this.I(this.g,b)},function(a){var b=!1;a&=15;for(var c=this.D(a),d=c/F|0,c=c&262143;!b;)this.I(c,this.D(d)),c==this.g&&(b=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.I(a,d*F+c),b||Gd(this,-1),b=!0)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.G(b,this.C(this.g))},function(a,b){this.G(b,this.g)},function(a,b){this.G(this.g,this.C(b))},function(a,b){b&&this.G(b,this.C(this.g))},function(a,b){a=this.C(this.g);a=a/F|(a&262143)*F;this.G(b,a)},function(a,b){this.G(b,this.g*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.G(this.g,a)},function(a,b){a=this.C(this.g);a=a/F|(a&262143)*F;this.G(this.g,a);b&&this.G(b,a)},function(a, +b){this.G(b,Hd(this,this.C(this.g)))},function(a,b){this.G(b,this.g?Qb-this.g:0)},function(a,b){this.G(this.g,Hd(this,this.C(b)))},function(a,b){a=Hd(this,this.C(this.g));this.G(this.g,a);b&&this.G(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.G(b,this.C(this.g));this.G(this.g,a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.G(c,this.C(d)),c==this.g&&(a=!0),d=d+1&262143, +c=c+1&262143,this.j.K||(this.G(b,d*F+c),a||Gd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd, -$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd, +Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -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 ce(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.g=a.alias;"string"==typeof this.g&&(this.g=eval(this.g));this.v=a.file;this.G=qa(this.v);if(this.v){a=this.v;var b=ra(this.G);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);de(c)})}}p(ce,v); +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 ce(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.g=a.alias;"string"==typeof this.g&&(this.g=eval(this.g));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);de(c)})}}p(ce,v); ce.prototype.va=function(a,b,c,d){this.F=b;this.i=c;this.A=d;de(this)};ce.prototype.pa=function(){this.T&&(this.A&&ee(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ce.prototype.fa=function(){return!0}; function de(a){if(!Eb(a)){if(a.v){if(!a.b||!a.F)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Cc(a.F,b,a.u,Kc)){var c;for(c=0;c>>g.g;0>>= g.g;0>>a.g;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Ya&&c<=q.vb&&(b=c-(q.Ya-q.pb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.rb&&(b=q.qb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.F=b;this.i=c;this.A=d;D(this)}; -l.ob=function(a){if(!this.b){var b=Vc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ob(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d>>a.g;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Za&&c<=q.yb&&(b=c-(q.Za-q.tb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.vb&&(b=q.ub);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.D=a;this.F=b;this.i=c;this.A=d;D(this)}; +l.rb=function(a){if(!this.b){var b=Vc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} function me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} function P(a,b,c){var d;if(b){b=ne(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} function re(a,b){if(b)return qe(a,b,a.W[b]);var c=0;for(b in a.W)qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function se(a){ke.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.G=[];this.b=this.M=this.J=[];te(this);this.R=this.ka=0;this.g=[];this.sa=void 0;ue(this);this.A=this;this.qa={};this.X=this.ib=0;this.S=null;this.O=[];ve(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return td(b,a)}):void 0===global[B]&&(global[B]=function(a){return td(b, -a)})}p(se,ke);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,lb:void 0===b?!1:b,ea:!1,ba:c}}function we(a,b,c,d){a.w=b;a.lb=c||!1;a.ea=!1;a.ba=d}function xe(a){return[a.w,a.lb,a.ba,a.ea,a.Oa]}function ye(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.gb=le(a,c.Oa=b[4]));return c}l=se.prototype; -l.va=function(a,b,c,d){this.F=b;this.C=a;this.i=c;this.ha=a.u;(a=Vc(a,"messages"))&&ve(this,a);ze(this,function(a){a:{var b=d.F.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.F.g;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Fc[c],n&&d.f(t(n.id,8)+" %"+t(e<>>d.F.g;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Fc[c],n&&d.f(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.D(b)),0<=d&&(we(a.g[a.R],b),++a.R==a.g.length&&(a.R=0)));return!1} -function tf(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in uf)if(f=uf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=vf;m=n&3;break;case 32256:k=wf;m=n&7;break;case 29248:k=xf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>yf&&(k="B");k=zf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== +l.ga=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",td(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.vd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(we(a.g[a.R],b),++a.R==a.g.length&&(a.R=0)));return!1} +function xf(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in yf)if(f=yf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=zf;m=n&3;break;case 32256:k=Af;m=n&7;break;case 29248:k=Bf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Cf&&(k="B");k=Df[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ud(a.i).toString()+" cs="+t(a.i.sa)):h+(null!=d?"="+d.toString():""));return h}function te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.g],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.g],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Ba=function(a,b,c){var d=!0;c||Af(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.F;g.b[e>>>g.g].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Bf(this,a,a.length-1,"set"),ue(this)));return d};function Af(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.g],b==a.J));h.ea||ue(a);break}}return g} -function Cf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}b&&(c+="\n"+(Ef(a,De)+Ef(a,Ee)+Ef(a,Fe)));return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({$c:b,w:c,zb:d,T:e,hb:g})}function Gf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.zb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(tf(a,b,f,g));e-=b.w-k;c++}}} -function Df(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Je+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"yf&&(bd="B");if(mg==zf[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(ad|Oe<<6)*Rb;break}}if(0<= +l.Ba=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.F;g.b[e>>>g.g].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Ff(this,a,a.length-1,"set"),ue(this)));return d};function Ef(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.g],b==a.J));h.ea||ue(a);break}}return g} +function Gf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}if(b){b="";for(d=0;d=Ge?1:d==Ee?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.mb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({dd:b,w:c,Db:d,T:e,kb:g})}function Jf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Db;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(xf(a,b,f,g));e-=b.w-k;c++}}} +function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(tf+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Cf&&(bd="B");if(pg==Df[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(ad|Oe<<6)*Rb;break}}if(0<= y)break}if(0<=y)break}if(0<=y)if(Me)for(var cd=Me.split(","),fb=0;fbE||127E||15E||262143< -E){a.f("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||pg,ta=oe(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=rg}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.$a):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,vg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!vg--)break;if(!(pd.w&1)){for(var wg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2E||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||sg,ta=oe(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=ug}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.ab):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,yg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!yg--)break;if(!(pd.w&1)){for(var zg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bSf){if(Tf(d,this.M)){this.B=new H(this,"1.34.2",bg);Tf(this.B)&&(cg(this,d),a=dg,eg(this.B));this.B.set(Zf,Ea());fg(this.B);var e=this.b&&!this.L;if(a==$f||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=Yf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Tf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(gg,""),this.g=null)):this.f(g+": "+f),eg(d),Tf(d)?(c=Yf(d),e=!0):c=!1))}e&&Wf(this,c?d:null)}else a==dg&&d.clear()}else Wf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.i&&(hg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(cg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function cg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.g||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Mf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",Xf),h=Ea();f.set(Zf,h);g.set(Zf,h);g.set(ig,"1.34.2");g.set(jg,window?window.location.href:null);g.set(kg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bVf){if(Wf(d,this.M)){this.B=new H(this,"1.34.2",eg);Wf(this.B)&&(fg(this,d),a=gg,hg(this.B));this.B.set(bg,Ea());ig(this.B);var e=this.b&&!this.L;if(a==cg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=ag(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Wf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(jg,""),this.g=null)):this.f(g+": "+f),hg(d),Wf(d)?(c=ag(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else a==gg&&d.clear()}else Zf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(kg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(fg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function fg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.g||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Pf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",$f),h=Ea();f.set(bg,h);g.set(bg,h);g.set(lg,"1.34.2");g.set(mg,window?window.location.href:null);g.set(ng,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.H.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.H.PC.textContent!=e&&(a.H.PC.textContent=e)}a.L=0}-1>b?a.g=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Hg(a,b,c)}})}else c(a,null)} -function Ig(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Eg||cb(!0));m=!1}var h,k,m=!0;Eg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Fg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Eg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Eg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Fg(c,b,a,e,!0,g,n):Gg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Ig("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Ig("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.i){var c=a.i,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.g=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Kg(a,b,c)}})}else c(a,null)} +function Lg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Hg||cb(!0));m=!1}var h,k,m=!0;Hg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ig(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Hg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Hg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ig(c,b,a,e,!0,g,n):Jg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Lg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Lg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={yb:0,Ra:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Ja:8,Gb:9,Sa:10,Hb:11,Ib:12,Ta:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81, -hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127}; +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Bb:0,Sa:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Ja:8,Jb:9,Ta:10,Kb:11,Lb:12,Ua:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, +kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Va:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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())} @@ -44,112 +44,112 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.ab=b;this.exports={};this.j=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.v=this.f=this.o=this.s=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob, -set:this.rb};K(this)}n($a,B);k=$a.prototype;k.reset=function(a){this.stop();a&&bb(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, +function $a(a,b){B.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.b=this.w=this.g=this.h=0;this.G=this.I=-1;this.K=this.M=this.u=!1;this.O=ab;this.m={};this.a={START:[1,1,!0,!1,this.lb],STEP:[1,1,!1,!1,this.mb],ENABLE:[1,1,!1,!1,this.gb],CONT:[1,1,!0,!1,this.eb],DEP:[0,0,!0,!1,this.fb],EXAM:[1,1,!0,!1,this.hb],LOAD:[1,1,!0,!1,this.jb],TEST:[0,0,!0,!1,this.ib]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.kb,a];this.v=this.f=this.o=this.s=null;this.exports={hold:this.cb,toggle:this.vb,reset:this.rb, +set:this.ub};K(this)}n($a,B);k=$a.prototype;k.reset=function(a){this.stop();a&&bb(this,this.h=0)}; +k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.j[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.m[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){db(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;eb(this);fb(this)};k.V=function(a,b){if(!b)if(this.R&&gb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])hb(this,this.b=a[0]),bb(this,this.h=a[1]),ib(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}fb(this);return!0};function jb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function eb(a,b){for(var c in a.l)jb(a,c,null!=b?b:a.l[c])}function kb(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fb(a){for(var b in a.a)kb(a,b,a.a[b][1])} -k.$a=function(a,b,c){if(cb(this,b)){if(c){var d=this;setTimeout(function(){db(d,b);a&&a()},+c);return!1}db(this,b)}return!0}; -k.rb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.j(this.b);bb(this,this.h=a)}};k.gb=function(a){a||this.f.c.A||hb(this,this.g)};k.fb=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.hb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.i(this.b);bb(this,this.h=a)}};k.jb=function(a){a||this.f.c.A||hb(this,this.g)};k.ib=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.i(c,b&16383,b);a.h--} -function xb(a){for(var b=0,c=[],d=0;d>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.j(c,b&16383,b);a.h--} +function xb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.l=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;c=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.m=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Wb(a,b){var c=a.G-=a.I;a.I=0;b&&(a.G=0);return c} -k.pb=function(){if(this.c.A){this.pa>=this.Ba&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Aa&&(this.l+=a,this.l>this.ja&&(this.l=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Xb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); -this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Na;this.D=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.l)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.l-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; -function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.s&&a.s.start(a.l,Rb(a));a.v||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.i.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; -function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Va);this.c.A&&P(this);this.b=this.w=this.qa=0;this.ia=this.g=this.ya=this.La;this.h=0;this.j=this.lb;this.m=this.wb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Pa=function(){return 0}; +k.sb=function(){if(this.c.A){this.pa>=this.Ba&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Aa&&(this.m+=a,this.m>this.ja&&(this.m=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Xb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); +this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Oa;this.D=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.m)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.m-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; +function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.j.run)b.textContent="Halt";a.s&&a.s.start(a.m,Rb(a));a.v||a.status("Started");setTimeout(a.Oa,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.j.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; +function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Ya=b;this.La=+a.addrReset||0;this.Za=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Ya);this.c.A&&P(this);this.b=this.w=this.qa=0;this.g=this.ya=this.La;this.Xa=this.Wa=this.Na=!1;this.ia=this.g;this.h=0;this.i=this.ob;this.l=this.zb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Qa=function(){return 0}; k.save=function(){var a=new O(this);a.set(0,[this.b,this.w,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.K,this.W,this.c.J]);a.set(3,$b(this));a.set(4,Vb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].j(a&16383,a)};k.wb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].m(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.j(this.b):this.qa=this.j(this.ya=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.j(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Wa(a)}while(0< -this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a)}function U(a){this.a(a)}function cc(a){var b=a&15,c=this.j(this.b),d=this.j(b);this.m(b,V(a,d,c)+(c-(c&262143)))}function dc(a){var b=a&15,c=this.j(b);this.m(b,V(a,c,0))}function ec(a){var b=this.j(a&15),c=this.j(this.b);this.m(this.b,V(a,c,b)+(b-(b&262143)))} -function fc(a){var b=this.j(this.b),c,d=b;if(c=a&384)switch(d-=d&262143,c){case 256:d+=262143;break;case 384:d+=b>Wa?262143:0}b=d;this.m(this.b,b);(a&=15)&&this.m(a,b)}function gc(a){var b=a&15,c=(this.j(this.b)&262143)*N,d=this.j(b);this.m(b,V(a,d,c)+c)}function hc(a){var b=a&15,c=this.b*N,d=this.j(b);this.m(b,V(a,d,c)+c)}function ic(a){var b=(this.j(a&15)&262143)*N,c=this.j(this.b);this.m(this.b,V(a,c,b)+b)} -function jc(a){var b=this.j(this.b),c=(b&262143)*N,b=V(a,b,c)+c;this.m(this.b,b);(a&=15)&&this.m(a,b)}function kc(a){var b=a&15,c=this.j(this.b)&262143,d=this.j(b);this.m(b,W(a,d,c)+c)}function lc(a){var b=a&15,c=this.j(b);this.m(b,W(a,c,this.b)+this.b)}function mc(a){var b=this.j(a&15)&262143,c=this.j(this.b);this.m(this.b,W(a,c,b)+b)} -function nc(a){var b=this.j(this.b),c,d=b;if(c=a&384)switch(d&=262143,c){case 256:d+=262143*N;break;case 384:d+=b>Va?262143*N:0}b=d;this.m(this.b,b);(a&=15)&&this.m(a,b)}function oc(a){var b=a&15,c=this.j(this.b)/N|0,d=this.j(b);this.m(b,W(a,d,c)+c)}function pc(a){var b=a&15,c=this.j(b);this.m(b,W(a,c,0))}function qc(a){var b=this.j(a&15)/N|0,c=this.j(this.b);this.m(this.b,W(a,c,b)+b)}function rc(a){var b=this.j(this.b),c=b/N|0,b=W(a,b,c)+c;this.m(this.b,b);(a&=15)&&this.m(a,b)} -function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].i(a&16383,a)};k.zb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].l(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.i(this.b):this.qa=this.i(this.ya=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.i(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Za(a)}while(0< +this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function cc(a,b){var c=this.i(this.b),d=this.i(b);this.l(b,V(a,d,c)+(c-(c&262143)))}function dc(a,b){var c=this.i(b);this.l(b,V(a,c,0))}function ec(a,b){b=this.i(b);var c=this.i(this.b);this.l(this.b,V(a,c,b)+(b-(b&262143)))} +function fc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.l(this.b,c);b&&this.l(b,c)}function gc(a,b){var c=(this.i(this.b)&262143)*N,d=this.i(b);this.l(b,V(a,d,c)+c)}function hc(a,b){var c=this.b*N,d=this.i(b);this.l(b,V(a,d,c)+c)}function ic(a,b){b=(this.i(b)&262143)*N;var c=this.i(this.b);this.l(this.b,V(a,c,b)+b)}function jc(a,b){var c=this.i(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.l(this.b,c);b&&this.l(b,c)} +function kc(a,b){var c=this.i(this.b)&262143,d=this.i(b);this.l(b,W(a,d,c)+c)}function lc(a,b){var c=this.i(b);this.l(b,W(a,c,this.b)+this.b)}function mc(a,b){b=this.i(b)&262143;var c=this.i(this.b);this.l(this.b,W(a,c,b)+b)}function nc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.l(this.b,c);b&&this.l(b,c)}function oc(a,b){var c=this.i(this.b)/N|0,d=this.i(b);this.l(b,W(a,d,c)+c)} +function pc(a,b){var c=this.i(b);this.l(b,W(a,c,0))}function qc(a,b){b=this.i(b)/N|0;var c=this.i(this.b);this.l(this.b,W(a,c,b)+b)}function rc(a,b){var c=this.i(this.b),d=c/N|0,c=W(a,c,d)+d;this.l(this.b,c);b&&this.l(b,c)}function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b} +function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} var bc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.m(a&15,this.j(this.b))},function(a){this.m(a&15,this.b)},function(a){this.m(this.b,this.j(a&15))},function(a){(a&=15)&&this.m(a,this.j(this.b))},function(a){var b=this.j(this.b),b=b/N|(b&262143)*N;this.m(a&15,b)},function(a){this.m(a&15,this.b*N)},function(a){a=this.j(a&15);a=a/N|(a&262143)*N;this.m(this.b,a)},function(a){var b=this.j(this.b),b=b/N|(b&262143)*N;this.m(this.b,b);(a&=15)&&this.m(a, -b)},function(a){this.m(a&15,ac(this.j(this.b)))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){a&=15;var b=this.j(a);this.m(a,this.j(this.b));this.m(this.b,b)},function(a){var b=!1;a&=15;for(var c=this.j(a),d=c/N|0,c=c&262143;!b;)this.m(c,this.j(d)),c==this.b&&(b=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.m(a,d*N+c),b||(this.g=(this.g+-1)%M),b=!0)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.l(b,this.i(this.b))},function(a,b){this.l(b,this.b)},function(a,b){this.l(this.b,this.i(b))},function(a,b){b&&this.l(b,this.i(this.b))},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.l(b,a)},function(a,b){this.l(b,this.b*N)},function(a,b){a=this.i(b);a=a/N|(a&262143)*N;this.l(this.b,a)},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.l(this.b,a);b&&this.l(b,a)},function(a, +b){this.l(b,ac(this,this.i(this.b)))},function(a,b){this.l(b,this.b?Ya-this.b:0)},function(a,b){this.l(this.b,ac(this,this.i(b)))},function(a,b){a=ac(this,this.i(this.b));this.l(this.b,a);b&&this.l(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.i(b);this.l(b,this.i(this.b));this.l(this.b,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/N|0,c=c&262143;!a;)this.l(c,this.i(d)),c==this.b&&(a=!0),d=d+1&262143, +c=c+1&262143,this.c.A||(this.l(b,d*N+c),a||(this.g=(this.g+-1)%M),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc, -pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc, +ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function sc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.u=na(this.h);if(this.h){a=this.h;var b=oa(this.u);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);tc(c)})}}n(sc,B); -sc.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;tc(this)};sc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.g,this.N),delete this.N);return!0};sc.prototype.P=function(){return!0}; -function tc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.o)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.l;if(yb(a.o,b,a.g,Gb)){var c;for(c=0;c>>f.b;0>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function wc(a){B.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=xc;b&&(void 0===c&&(c="Panel"),(c=F(c,this.id))&&(b=c.j[b])&&this.U(null,a,b))}this.a=this.m=null;this.exports={connect:this.Ra,receiveData:this.ua,receiveStatus:this.qb,setConnection:this.tb}}n(wc,B);k=wc.prototype; +k.U=function(a,b,c){var d=this;switch(b){case xc:return this.j[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Ja:q.Va:46==c?b=q.Ja:a.ctrlKey&&c>=q.Ia&&c<=q.$a&&(b=c-(q.Ia-q.Sa));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ua&&(b=q.Ta);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;K(this)}; -k.Qa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.m=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ra(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bBc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Kc);Z(this.l)&&(Lc(this,d),a=Mc,Nc(this.l));this.l.set(Hc,ta());Oc(this.l);var e=this.a&&!this.C;if(a==Ic||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fBc){if(Z(d,this.D)){this.m=new O(this,"1.34.2",Kc);Z(this.m)&&(Lc(this,d),a=Mc,Nc(this.m));this.m.set(Hc,ta());Oc(this.m);var e=this.a&&!this.C;if(a==Ic||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.h=0}; +k.Pa=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.h=0}; function Lc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} function Rc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Fc),h=ta();g.set(Hc,h);f.set(Hc,h);f.set(Sc,"1.34.2");f.set(Tc,window?window.location.href:null);f.set(Uc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.i.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.j.PC){var f=a.v&&a.v.m||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.j.PC.textContent!=e&&(a.j.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), From affaa1075cdcc5e578e08d0514b5cd677f446fc0 Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 2 Mar 2017 16:38:00 -0800 Subject: [PATCH 06/32] Finished the PDP-10 Move Magnitude opcodes, along with the Push Down and Pop Up opcodes (uncovering some SIMH weirdness along the way) --- apps/pdp10/tests/optest-v01.json | 8 + apps/pdp10/tests/optest-v01.simh | 15 +- modules/pdp10/lib/cpuops.js | 143 ++++++++++++-- modules/pdp10/lib/cpustate.js | 29 ++- modules/pdp10/lib/debugger.js | 13 +- modules/pdp10/lib/defines.js | 5 + versions/pdpjs/1.34.2/pdp10-dbg.js | 303 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 108 +++++----- 8 files changed, 399 insertions(+), 225 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index fff27ab40..84c4d16a6 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -27,5 +27,13 @@ // 10=000000000010 11=111111444444 12=444444111111 13=777777444444 // 14=444444777777 15=777777777777 16=777777777777 17=000000000000 // + 0o261240000011, // 000115: PUSH 5,11 +// +// 00=111111444444 01=777777444444 02=777777444444 03=777777444444 +// 04=444444777777 05=000001000000 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// + 0o262240000005, // 000116: POP 5,5 ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index db52d4d4c..81205ed36 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -11,7 +11,9 @@ dep 111 533000000006 dep 112 541000000010 dep 113 251000000017 dep 114 577040000002 -ex -m 100-114 +dep 115 261240000011 +dep 116 262240000005 +ex -m 100-116 dep pc 100 step 11 ex 0-17 @@ -39,3 +41,14 @@ echo Execute HLRES 1,2 ; step 1 ex 0-17 +; +echo Execute PUSH 5,11 +; +step 1 +ex 0-17 +; +echo Execute POP 5,5 +; +dep 5 1000000 +step 1 +ex 0-17 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index bf177bed1..3227a3830 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -841,6 +841,8 @@ PDP10.opMOVNI = function(op, acc) * We perform an in-line two's complement of regEA, since negate() updates the flags, and the documentation * above claims that this operation must "set no flags." It's certainly true that regEA, being an 18-bit value, * could never be -2^35, but it COULD be zero -- and apparently this instruction treats zero differently from MOVN. + * + * TODO: Verify the "set no flags" assertion. */ this.writeWord(acc, this.regEA? PDP10.TWO_POW36 - this.regEA : 0); }; @@ -898,7 +900,20 @@ PDP10.opMOVNS = function(op, acc) }; /** - * opMOVM(0o214000) + * opMOVM(0o214000): Move Magnitude + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-12: + * + * Take the magnitude of the word contained in the source specified by M and move it to the + * specified destination. If the source word is fixed point -2^35 (400000 000000) set the + * Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^27 sets the flags, but this is not a normalized + * number). + * + * The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op @@ -906,11 +921,26 @@ PDP10.opMOVNS = function(op, acc) */ PDP10.opMOVM = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, this.abs(this.readWord(this.regEA))); }; /** - * opMOVMI(0o215000) + * opMOVMI(0o215000): Move Magnitude Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-12: + * + * Take the magnitude of the word contained in the source specified by M and move it to the + * specified destination. If the source word is fixed point -2^35 (400000 000000) set the + * Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^27 sets the flags, but this is not a normalized + * number). + * + * The source is unaffected, the original contents of the destination are lost. + * + * SIDEBAR: The word 0,E is equivalent to its magnitude, so MOVMI is equivalent to MOVEI. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -918,11 +948,24 @@ PDP10.opMOVM = function(op, acc) */ PDP10.opMOVMI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, this.regEA); }; /** - * opMOVMM(0o216000) + * opMOVMM(0o216000): Move Magnitude to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-12: + * + * Take the magnitude of the word contained in the source specified by M and move it to the + * specified destination. If the source word is fixed point -2^35 (400000 000000) set the + * Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^27 sets the flags, but this is not a normalized + * number). + * + * The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op @@ -930,11 +973,24 @@ PDP10.opMOVMI = function(op, acc) */ PDP10.opMOVMM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.abs(this.readWord(acc))); }; /** - * opMOVMS(0o217000) + * opMOVMS(0o217000): Move Magnitude to Self + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-12: + * + * Take the magnitude of the word contained in the source specified by M and move it to the + * specified destination. If the source word is fixed point -2^35 (400000 000000) set the + * Overflow and Carry 1 flags. + * + * (Negating the equivalent floating point -1 * 2^27 sets the flags, but this is not a normalized + * number). + * + * The source is unaffected, the original contents of the destination are lost. + * + * NOTE: This is a "Self" mode instruction: the source AND destination is [E] (and also [A] if A is non-zero). * * @this {CPUStatePDP10} * @param {number} op @@ -942,7 +998,9 @@ PDP10.opMOVMM = function(op, acc) */ PDP10.opMOVMS = function(op, acc) { - this.opUndefined(op); + var dst = this.abs(this.readWord(this.regEA)); + this.writeWord(this.regEA, dst); + if (acc) this.writeWord(acc, dst); }; /** @@ -1257,6 +1315,9 @@ PDP10.opEXCH = function(op, acc) * is the final location being loaded. Furthermore, the program cannot assume that AC is the same after the BLT * as it was before. * + * TODO: Determine the logic behind SIMH's bizarre treatment of the AC register when it's part of the memory + * being transferred. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -1357,7 +1418,28 @@ PDP10.opPUSHJ = function(op, acc) }; /** - * opPUSH(0o261000) + * opPUSH(0o261000): Push Down + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-13: + * + * Add 000001 000001 to AC to increment both halves by one, then move the contents of location E to the + * location now addressed by AC right. If the addition causes the count in AC left to reach zero, set the + * Pushdown Overflow flag. The contents of E are unaffected, the original contents of the location added + * to the list are lost. + * + * If we trusted SIMH, then we could not literally interpret this instruction as adding 000001 000001 to AC, + * because if AC contained 777777 777777, adding 000001 000001 would result in 000001 000000, not 000000 000000, + * and yet 000000 000000 is EXACTLY what we get in SIMH. + * + * And yet, DEC's documentation clearly contradicts what SIMH is doing: + * + * The incrementing and decrementing of both halves of AC simultaneously is effected by adding and subtracting + * 000001 000001. Hence a count of -2 in AC left is increased to zero if 2^18 - 1 is incremented in AC right, + * and conversely, 1 in AC left is decreased to -1 if zero is decremented in AC right. + * + * Perhaps SIMH is simply emulating the behavior of some later PDP-10 model, which performed independent increments? + * + * TODO: Investigate. * * @this {CPUStatePDP10} * @param {number} op @@ -1365,11 +1447,41 @@ PDP10.opPUSHJ = function(op, acc) */ PDP10.opPUSH = function(op, acc) { - this.opUndefined(op); + var p = this.readWord(acc); + if (!SIMH) { + /* + * This is the behavior that is clearly documented by DEC. + */ + p += 0o000001000001; + this.writeWord(p & PDP10.WORD_MASK, this.readWord(this.regEA)); + if (p >= PDP10.DATA_LIMIT) p -= PDP10.DATA_LIMIT; + if (!((p / PDP10.WORD_SHIFT) | 0)) this.fPDOverflow = true; + } else { + /* + * This is the SIMH behavior, which appears to increment each half of AC independently. + */ + var addr = (p + 1) & PDP10.WORD_MASK; + this.writeWord(addr, this.readWord(this.regEA)); + p = (p + 0o000001000000) - (p & PDP10.WORD_MASK) + addr; + if (p >= PDP10.DATA_LIMIT) { + p -= PDP10.DATA_LIMIT; + this.fPDOverflow = true; + } + } + this.writeWord(acc, p); }; /** - * opPOP(0o262000) + * opPOP(0o262000): Pop Up + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-13: + * + * Move the contents of the location addressed by AC right to location E, then subtract 000001 000001 + * from AC to decrement both halves by one. If the subtraction causes the count in AC left to reach -1, + * set the Pushdown Overflow flag. The original contents of E are lost. + * + * NOTE: Because of the order in which the operands are stored, the instruction POP AC,AC would load the + * contents of the location addressed by AC right into AC on top of the pushdown count, destroying it. * * @this {CPUStatePDP10} * @param {number} op @@ -1377,7 +1489,14 @@ PDP10.opPUSH = function(op, acc) */ PDP10.opPOP = function(op, acc) { - this.opUndefined(op); + var p = this.readWord(acc); + var src = this.readWord(p & PDP10.WORD_MASK); + this.writeWord(this.regEA, src); + if (this.regEA == acc) p = src; // this avoids re-reading the accumulator if the write just overwrote it + p -= 0o000001000001; + if (p < 0) p += PDP10.DATA_LIMIT; + if (((p / PDP10.WORD_SHIFT) | 0) == PDP10.WORD_MASK) this.fPDOverflow = true; + this.writeWord(acc, p); }; /** diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index 487869c57..c444ddc93 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -176,7 +176,7 @@ class CPUStatePDP10 extends CPUPDP10 { { this.regEA = this.regRA = this.regOP = 0; this.regPC = this.lastPC = this.addrReset; - this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = false; + this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register @@ -439,11 +439,34 @@ class CPUStatePDP10 extends CPUPDP10 { } /** - * negate(src) + * abs(src) + * + * Used by the MOVM* (Move Magnitude) instructions. * * @this {CPUStatePDP10} * @param {number} src (36-bit) - * @return {number} (negated, but as an unsigned 36-bit result) + * @return {number} (absolute value of src) + */ + abs(src) + { + if (src > PDP10.MAX_POS36) { + if (src != PDP10.MIN_NEG36) { + src = PDP10.TWO_POW36 - src; + } else { + this.fOverflow = this.fCarry1 = true; + } + } + return src; + } + + /** + * negate(src) + * + * Used by the MOVN* (Move Negative) instructions. + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (src negated, but as an unsigned 36-bit result) */ negate(src) { diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 7ab9ad331..8cd2d3184 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -885,6 +885,9 @@ class DebuggerPDP10 extends Debugger { case DebuggerPDP10.REGS.ND: value = this.cpu.fNoDivide? 1 : 0; break; + case DebuggerPDP10.REGS.PD: + value = this.cpu.fPDOverflow? 1 : 0; + break; } return value; } @@ -3145,15 +3148,16 @@ class DebuggerPDP10 extends Debugger { */ doStep(sCmd, sOption) { - if (sOption == '?') { + var fCallStep = true; + var nRegs = (sCmd == "p"? 0 : (sCmd == "pr"? 1 : -1)); + + if (sOption == '?' || nRegs < 0) { this.println("step commands:"); this.println("\tp\tstep over instruction"); this.println("\tpr\tstep over instruction with register update"); return; } - var fCallStep = true; - var nRegs = (sCmd == "pr"? 1 : 0); /* * Set up the value for this.nStep (ie, 1 or 2) depending on whether the user wants * a subsequent register dump ("pr") or not ("p"). @@ -3819,10 +3823,11 @@ if (DEBUGGER) { C1: 4, // single-bit "register" representing the Carry 1 flag OV: 5, // single-bit "register" representing the Overflow flag ND: 6, // single-bit "register" representing the No Divide flag + PD: 7, // single-bit "register" representing the Pushdown Overflow flag }; DebuggerPDP10.REGNAMES = [ - "PC", "RA", "EA", "C0", "C1", "OV", "ND" + "PC", "RA", "EA", "C0", "C1", "OV", "ND", "PD" ]; /* diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 6f326afd6..cc500eb96 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -56,6 +56,11 @@ var APPNAME = "PDPjs"; // this @define is the default application name */ var DEBUGGER = true; // this @define is overridden by the Closure Compiler to remove Debugger-related support +/* + * Set this to true to enable behavior compatible with SIMH. + */ +var SIMH = false; + /* * Combine all the shared globals and machine-specific globals into one machine-specific global object, * which all machine components should start using; eg: "if (PDP10.DEBUG) ..." instead of "if (DEBUG) ...". diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 3de480536..9ff071604 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,8 +31,8 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var la=Math.pow(2,36),ma=-Math.pow(2,35),q={ac:0,tb:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,$a:8,ic:9,ub:10,jc:11,kc:12,vb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Za:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81, -Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87,Qc:88,Rc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,wb:127}; +var la=Math.pow(2,36),ma=-Math.pow(2,35),q={bc:0,ub:1,dc:2,ec:3,fc:4,gc:5,hc:6,ic:7,bb:8,jc:9,vb:10,kc:11,lc:12,wb:13,mc:14,nc:15,oc:16,pc:17,qc:18,rc:19,sc:20,tc:21,uc:22,vc:23,wc:24,xc:25,yc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ab:65,ac:66,cc:67,zc:68,E:69,Ac:70,Bc:71,Cc:72,Dc:73,Ec:74,Fc:75,Gc:76,Hc:77,Ic:78,Jc:79,Kc:80,Q:81, +Lc:82,Mc:83,Nc:84,Oc:85,Pc:86,Qc:87,Rc:88,Sc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Tc:97,Uc:98,Vc:99,d:100,e:101,Wc:102,Xc:103,Yc:104,Zc:105,$c:106,k:107,ad:108,bd:109,n:110,cd:111,p:112,q:113,r:114,dd:115,t:116,fd:117,gd:118,hd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} @@ -40,188 +40,189 @@ function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} function Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Aa=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ba=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Ua:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.F=this.D=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.gb=b.comment;this.Ab=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Wa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.A=this.i=this.F=this.D=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, -set:this.Ub};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; -l.ga=function(a,b,c,d){if(this.D&&this.D.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.D=a;this.F=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.g,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])bc(this,this.g=a[0]),Wb(this,this.v=a[1]),jc(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} -l.Cb=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return jc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Vb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} -function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.i.j.K||(this.i.u=this.g%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Mb=function(){};l.Gb=function(a){a||this.i.V()}; -l.Eb=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<a;a++)this.b["S"+a]=[0,0,!1,!1,this.Lb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Db,toggle:this.Wb,reset:this.Sb, +set:this.Vb};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])bc(this,this.f=a[0]),Wb(this,this.v=a[1]),cc(this,a[2]);return!0};l.Sb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} +l.Db=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Vb=function(a,b){if("SR"==a)return cc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Wb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} +function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Mb=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Nb=function(){};l.Hb=function(a){a||this.i.V()}; +l.Fb=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.g;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Dc(Ec,e,g)}e=new zc(a,e,m,16384,d);Ac(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Fc[d]+" at "+pa(b)),!0):Dc(Gc,b,c)} -function xc(a,b){var c=a.b[(b&a.u)>>>a.g];a.v++;b=c.F(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.g];a.v++;d.D(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ud(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.f(ud(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.D)if(a=d.D,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Qa*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.D&&yd(a.D)}tc(a,a.J);a.J=0;a.H=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;c>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Dc(Ec,e,g)}e=new zc(a,e,m,16384,d);Ac(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Fc[d]+" at "+pa(b)),!0):Dc(Gc,b,c)} +function xc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ad(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.g(ad(a)+" cycles: checksum="+t(a.sa))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Sa*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&yd(a.F)}tc(a,a.J);a.J=0;a.H=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Bd(a,b){var c=a.N-=a.O;a.O=0;b&&(a.N=0);return c} -l.Sb=function(){if(this.j.K){this.ya>=this.Sa&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Ra&&(this.H+=a,this.H>this.ra&&(this.H=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Ta>=Cd&&(this.D&&I(this.D,void 0),this.Ta=0);break}}while(this.j.K)}catch(e){this.V();this.D&&this.D.stop(rb(),ud(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.ib;this.M=rb();var c=this.Ra;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.H;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,vd(this)));if(0>c||this.Rc&&(this.H-=c),c=0;this.ya+=this.ja;this.M+=c;a(b,c)}}}; -function qc(a,b){if(!Db(a))if(a.j.K)a.f(a.toString()+" busy");else{vd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.D&&(b&&yd(a.D,!0),a.D.start(a.H,ud(a)));a.A||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.D&&this.D.stop(rb(),ud(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; -function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.hb=b;this.cb=+a.addrReset||0;this.zb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.bb=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.hb);this.j.K&&this.V();this.g=this.B=this.za=0;this.u=this.qa=this.cb;this.gb=this.fb=this.Da=this.xb=!1;this.la=this.u;this.v=0;this.C=this.Ob;this.G=this.Zb;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.pb=function(){return 0}; -l.save=function(){var a=new H(this);a.set(0,[this.g,this.B,this.za,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.P,this.W,this.j.Z]);a.set(3,Fd(this));a.set(4,Ad(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.g=b.next().value;this.B=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];vd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.g].C(a&16383,a)};l.Zb=function(a,b){var c=this.F;a=this.la=a;c.b[(a&c.u)>>>c.g].G(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.C(this.g):this.za=this.C(this.qa=this.u);this.B&=8388607;this.g=this.B&262143;if(a= -this.B>>18&15)this.g=this.g+this.C(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.za/Tb|0);0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Ld(a,b){var c=this.C(this.g),d=this.C(b);this.G(b,Md(a,d,c)+(c-(c&262143)))} -function Nd(a,b){var c=this.C(b);this.G(b,Md(a,c,0))}function Od(a,b){b=this.C(b);var c=this.C(this.g);this.G(this.g,Md(a,c,b)+(b-(b&262143)))}function Pd(a,b){var c=this.C(this.g),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.G(this.g,c);b&&this.G(b,c)}function Qd(a,b){var c=(this.C(this.g)&262143)*F,d=this.C(b);this.G(b,Md(a,d,c)+c)}function Rd(a,b){var c=this.g*F,d=this.C(b);this.G(b,Md(a,d,c)+c)} -function Sd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.g);this.G(this.g,Md(a,c,b)+b)}function Td(a,b){var c=this.C(this.g),d=(c&262143)*F,c=Md(a,c,d)+d;this.G(this.g,c);b&&this.G(b,c)}function Ud(a,b){var c=this.C(this.g)&262143,d=this.C(b);this.G(b,Vd(a,d,c)+c)}function Wd(a,b){var c=this.C(b);this.G(b,Vd(a,c,this.g)+this.g)}function Xd(a,b){b=this.C(b)&262143;var c=this.C(this.g);this.G(this.g,Vd(a,c,b)+b)} -function Yd(a,b){var c=this.C(this.g),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.G(this.g,c);b&&this.G(b,c)}function Zd(a,b){var c=this.C(this.g)/F|0,d=this.C(b);this.G(b,Vd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.G(b,Vd(a,c,0))}function ae(a,b){b=this.C(b)/F|0;var c=this.C(this.g);this.G(this.g,Vd(a,c,b)+b)}function be(a,b){var c=this.C(this.g),d=c/F|0,c=Vd(a,c,d)+d;this.G(this.g,c);b&&this.G(b,c)}function O(a){this.b(a)} -function L(a){this.f("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} +l.Tb=function(){if(this.j.K){this.za>=this.Ua&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Ta&&(this.H+=a,this.H>this.ra&&(this.H=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Va>=Cd&&(this.F&&I(this.F,void 0),this.Va=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),ad(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.jb;this.M=rb();var c=this.Ta;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.H;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,bd(this)));if(0>c||this.Rc&&(this.H-=c),c=0;this.za+=this.ja;this.M+=c;a(b,c)}}}; +function qc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{bd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&yd(a.F,!0),a.F.start(a.H,ad(a)));a.A||a.status("Started");setTimeout(a.jb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),ad(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; +function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.ib=b;this.fb=+a.addrReset||0;this.tb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.eb=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.ib);this.j.K&&this.V();this.f=this.B=this.Aa=0;this.u=this.qa=this.fb;this.Qa=this.hb=this.ya=this.zb=this.Ra=!1;this.la=this.u;this.v=0;this.C=this.Pb;this.D=this.$b;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.qb=function(){return 0}; +l.save=function(){var a=new H(this);a.set(0,[this.f,this.B,this.Aa,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.P,this.W,this.j.Z]);a.set(3,Fd(this));a.set(4,Ad(this));return a.data()}; +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.B=b.next().value;this.Aa=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];bd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Qa=this.ya=!0);return a};function Hd(a,b){b?b==Pb?a.Qa=a.ya=!0:b=Qb-b:a.hb=a.ya=!0;return b}function Fd(a){var b=[];for(a=a.ka;a;)b.push(a.Xb),a=a.next;return b}l.Pb=function(a){var b=this.G;a=this.la=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.$b=function(a,b){var c=this.G;a=this.la=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.C(this.f):this.Aa=this.C(this.qa=this.u);this.B&=8388607;this.f=this.B&262143;if(a= +this.B>>18&15)this.f=this.f+this.C(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Aa/Tb|0);0<=a&&this.tb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Ld(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Md(a,d,c)+(c-(c&262143)))} +function Nd(a,b){var c=this.C(b);this.D(b,Md(a,c,0))}function Od(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Md(a,c,b)+(b-(b&262143)))}function Pd(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Qd(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Md(a,d,c)+c)}function Rd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Md(a,d,c)+c)} +function Sd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Md(a,c,b)+b)}function Td(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Md(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Vd(a,d,c)+c)}function Wd(a,b){var c=this.C(b);this.D(b,Vd(a,c,this.f)+this.f)}function Xd(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Vd(a,c,b)+b)} +function Yd(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Zd(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Vd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Vd(a,c,0))}function ae(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Vd(a,c,b)+b)}function be(a,b){var c=this.C(this.f),d=c/F|0,c=Vd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)} +function L(a){this.g("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} var Kd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.G(b,this.C(this.g))},function(a,b){this.G(b,this.g)},function(a,b){this.G(this.g,this.C(b))},function(a,b){b&&this.G(b,this.C(this.g))},function(a,b){a=this.C(this.g);a=a/F|(a&262143)*F;this.G(b,a)},function(a,b){this.G(b,this.g*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.G(this.g,a)},function(a,b){a=this.C(this.g);a=a/F|(a&262143)*F;this.G(this.g,a);b&&this.G(b,a)},function(a, -b){this.G(b,Hd(this,this.C(this.g)))},function(a,b){this.G(b,this.g?Qb-this.g:0)},function(a,b){this.G(this.g,Hd(this,this.C(b)))},function(a,b){a=Hd(this,this.C(this.g));this.G(this.g,a);b&&this.G(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.G(b,this.C(this.g));this.G(this.g,a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.G(c,this.C(d)),c==this.g&&(a=!0),d=d+1&262143, -c=c+1&262143,this.j.K||(this.G(b,d*F+c),a||Gd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.D(b,this.C(this.f))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.C(b))},function(a,b){b&&this.D(b,this.C(this.f))},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(b,a)},function(a,b){this.D(b,this.f*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.D(this.f,a)},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(this.f,a);b&&this.D(b,a)},function(a, +b){this.D(b,Hd(this,this.C(this.f)))},function(a,b){this.D(b,this.f?Qb-this.f:0)},function(a,b){this.D(this.f,Hd(this,this.C(b)))},function(a,b){a=Hd(this,this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a,b){this.D(b,this.abs(this.C(this.f)))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.abs(this.C(b)))},function(a,b){a=this.abs(this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.D(b,this.C(this.f));this.D(this.f, +a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.D(c,this.C(d)),c==this.f&&(a=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.D(b,d*F+c),a||Gd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a,b){a=this.C(b);a+=262145;this.D(a&262143,this.C(this.f));a>=Mb&&(a-=Mb);a/F|0||(this.Ra=!0);this.D(b,a)},function(a,b){a=this.C(b);var c=this.C(a&262143);this.D(this.f,c); +this.f==b&&(a=c);a-=262145;0>a&&(a+=Mb);262143==(a/F|0)&&(this.Ra=!0);this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd, -Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 ce(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.g=a.alias;"string"==typeof this.g&&(this.g=eval(this.g));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);de(c)})}}p(ce,v); -ce.prototype.va=function(a,b,c,d){this.F=b;this.i=c;this.A=d;de(this)};ce.prototype.pa=function(){this.T&&(this.A&&ee(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ce.prototype.fa=function(){return!0}; -function de(a){if(!Eb(a)){if(a.v){if(!a.b||!a.F)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Cc(a.F,b,a.u,Kc)){var c;for(c=0;c>>g.g;0>>= -g.g;0>>a.g;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.Za&&c<=q.yb&&(b=c-(q.Za-q.tb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.vb&&(b=q.ub);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.D=a;this.F=b;this.i=c;this.A=d;D(this)}; -l.rb=function(a){if(!this.b){var b=Vc(this.D,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.g.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d>>g.f;0>>= +g.f;0>>a.f;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.ab&&c<=q.yb&&(b=c-(q.ab-q.ub));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.wb&&(b=q.vb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; +l.sb=function(a){if(!this.b){var b=Vc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} function me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=ne(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} +function oe(a,b,c,d){var e;null!=b?(e=a.rb(b),0<=e?e=a.Za(e):(e=a.W[b],null==e&&(e=na(b,a.ba))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} +function qe(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} function re(a,b){if(b)return qe(a,b,a.W[b]);var c=0;for(b in a.W)qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function se(a){ke.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.H=[];this.b=this.M=this.J=[];te(this);this.R=this.ka=0;this.g=[];this.sa=void 0;ue(this);this.A=this;this.qa={};this.X=this.lb=0;this.S=null;this.O=[];ve(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Ca=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return td(b,a)}):void 0===global[B]&&(global[B]=function(a){return td(b, -a)})}p(se,ke);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,ob:void 0===b?!1:b,ea:!1,ba:c}}function we(a,b,c,d){a.w=b;a.ob=c||!1;a.ea=!1;a.ba=d}function xe(a){return[a.w,a.ob,a.ba,a.ea,a.Oa]}function ye(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.jb=le(a,c.Oa=b[4]));return c}l=se.prototype; -l.va=function(a,b,c,d){this.F=b;this.D=a;this.i=c;this.ha=a.u;(a=Vc(a,"messages"))&&ve(this,a);ze(this,function(a){a:{var b=d.F.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.F.g;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Fc[c],n&&d.f(t(n.id,8)+" %"+t(e<>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Fc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(we(a.g[a.R],b),++a.R==a.g.length&&(a.R=0)));return!1} -function xf(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in yf)if(f=yf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=zf;m=n&3;break;case 32256:k=Af;m=n&7;break;case 29248:k=Bf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Cf&&(k="B");k=Df[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ud(a.i).toString()+" cs="+t(a.i.sa)):h+(null!=d?"="+d.toString():""));return h}function te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.g],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.g],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Ba=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.f("invalid address: "+K(this,b.w)),d=!1;else{var g=this.F;g.b[e>>>g.g].Ba(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Ff(this,a,a.length-1,"set"),ue(this)));return d};function Ef(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.g],b==a.J));h.ea||ue(a);break}}return g} -function Gf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}if(b){b="";for(d=0;d=Ge?1:d==Ee?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.mb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({dd:b,w:c,Db:d,T:e,kb:g})}function Jf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Db;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.f(xf(a,b,f,g));e-=b.w-k;c++}}} -function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(tf+b):(a.P&&(a.f("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Cf&&(bd="B");if(pg==Df[Pe]+bd){Oe=29248!=cc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(ad|Oe<<6)*Rb;break}}if(0<= -y)break}if(0<=y)break}if(0<=y)if(Me)for(var cd=Me.split(","),fb=0;fbE||127E||15E||262143< -E){a.f("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.f("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var hd=[];"call"==Ve&&(hb=1E5,hd=["CALL"]);for(void 0!==Ue&&a.f(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Xe++;hb--}}Xe||(a.f("no "+We+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,$e="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||sg,ta=oe(a,ia);else{var af=T(a,ia);af&&(ta=af.w-Pa.w)}0>ta&&(ta=0);65536ef;ef++)cf+=String.fromCharCode((ec%64|0)+32),ec/=64}ua&&(ua+="\n");ua=$e?ua+(va+","):ua+(W+": "+va+(0>df?" "+cf:""))}ua&&a.f(ua);a.ba=ug}}}}break;case "e":if("else"==f[0])break;var ff,gf,hf=f[0],kd=f[1];"e"==hf||"ew"==hf?(ff=a.wa,gf=a.ab):kd=null;if(null==kd)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var fc=T(a,kd,a.ja);if(fc)for(var gc=2;gcod;){for(var wa=null,yg=256;65536>kb.w>>>0;){pd.w=a.wa(kb,2);if(null==kb.w||!yg--)break;if(!(pd.w&1)){for(var zg=a,hc=pd,kf=null,lb=hc.w,lf=lb,qd=1;6>=qd&&lb;qd++){if(2> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bVf){if(Wf(d,this.M)){this.B=new H(this,"1.34.2",eg);Wf(this.B)&&(fg(this,d),a=gg,hg(this.B));this.B.set(bg,Ea());ig(this.B);var e=this.b&&!this.L;if(a==cg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=ag(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Wf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(jg,""),this.g=null)):this.f(g+": "+f),hg(d),Wf(d)?(c=ag(d),e=!0):c=!1))}e&&Zf(this,c?d:null)}else a==gg&&d.clear()}else Zf(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(kg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(fg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function fg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.g||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Pf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",$f),h=Ea();f.set(bg,h);g.set(bg,h);g.set(lg,"1.34.2");g.set(mg,window?window.location.href:null);g.set(ng,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;kd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(we(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Af(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in Bf)if(f=Bf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Cf;m=n&3;break;case 32256:k=Df;m=n&7;break;case 29248:k=Ef,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Ff&&(k="B");k=Gf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ad(a.i).toString()+" cs="+t(a.i.sa)):h+(null!=d?"="+d.toString():""));return h}function te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Ca=function(a,b,c){var d=!0;c||Hf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Ca(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(If(this,a,a.length-1,"set"),ue(this)));return d};function Hf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.f],b==a.J));h.ea||ue(a);break}}return g} +function Jf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}if(b){b="";for(d=0;d=Ge?1:d==Ee?23:18)+" "),b+=e;c+="\n"+b}return c}l.nb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.nb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({ed:b,w:c,Eb:d,T:e,lb:g})}function Mf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Eb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.g(Af(a,b,f,g));e-=b.w-k;c++}}} +function Kf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(vf+b):(a.P&&(a.g("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Ff&&(ed="B");if(sg==Gf[Re]+ed){Qe=29248!=dc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(dd|Qe<<6)*Rb;break}}if(0<= +y)break}if(0<=y)break}if(0<=y)if(Oe)for(var fd=Oe.split(","),fb=0;fbE||127E||15E||262143< +E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var kd=[];"call"==Xe&&(hb=1E5,kd=["CALL"]);for(void 0!==We&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Ze++;hb--}}Ze||(a.g("no "+Ye+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,bf="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||vg,ta=oe(a,ia);else{var cf=T(a,ia);cf&&(ta=cf.w-Pa.w)}0>ta&&(ta=0);65536gf;gf++)ef+=String.fromCharCode((fc%64|0)+32),fc/=64}ua&&(ua+="\n");ua=bf?ua+(va+","):ua+(W+": "+va+(0>ff?" "+ef:""))}ua&&a.g(ua);a.ba=xg}}}}break;case "e":if("else"==f[0])break;var hf,jf,kf=f[0],nd=f[1];"e"==kf||"ew"==kf?(hf=a.wa,jf=a.cb):nd=null;if(null==nd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var gc=T(a,nd,a.ja);if(gc)for(var hc=2;hcrd;){for(var wa=null,Bg=256;65536>kb.w>>>0;){sd.w=a.wa(kb,2);if(null==kb.w||!Bg--)break;if(!(sd.w&1)){for(var Cg=a,ic=sd,mf=null,lb=ic.w,nf=lb,td=1;6>=td&&lb;td++){if(2tf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var uf=Q(a.i.u);a.wa(uf);a.N?(a.Ca(a.b,uf,!0),Me(a)||(a.F&&yd(a.F),a.N=0)):Rf(a,tf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}xf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var nb=+f[2];if(8==nb||10==nb||16== +nb)a.ba=nb;else{a.g("invalid base: "+nb);break}}a.g("default base: "+a.ba);break;case "cs":var ob;void 0!==f[3]&&(ob=+f[3]);switch(f[2]){case "int":a.i.da=ob;break;case "start":a.i.ta=ob;break;case "stop":a.i.ia=ob;break;default:a.g("unknown cs option");break a}void 0!==ob&&Xc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(bd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.S.toFixed(2)+"Mhz")+" ("+a.i.W+ +"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":Rf(a,f[0],f[1]);break;case "u":yf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Of(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ +" version 1.34.2 ("+a.i.ib+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Qf(a,b.substr(1));break}var ud="commands:",vd;for(vd in Tf)ud+="\n"+Ba(vd,9)+Tf[vd];Id(a)||(ud+="\nnote: history disabled if no exec breakpoints");a.g(ud);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(wf){a.g("debugger error: "+(wf.stack||wf.message)),d=!1}return d}function $c(a,b,c){b=le(a,b,c);for(var d in b)if(!Kf(a,b[+d]))return!1;return!0} +var Tf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Ff=20,Gf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +De=0,Ee=1,Fe=2,Ge=3,He=4,Ie=5,Je=6,Ke=7,Ce="PC RA EA C0 C1 OV ND PD".split(" "),Uf={},Bf=(Uf[28672]={0:101},Uf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Uf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ff,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Uf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Uf[29248]={24576:79,24640:80,25088:81,25152:82},Uf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},Uf),Cf=["","I","M","S"],Df=" L E LE A GE N G".split(" "),Ef="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Le=1E3,vf=">> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYf){if(Zf(d,this.M)){this.B=new H(this,"1.34.2",hg);Zf(this.B)&&(ig(this,d),a=jg,kg(this.B));this.B.set(eg,Ea());lg(this.B);var e=this.b&&!this.L;if(a==fg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=dg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Zf(d,f):("error"==g&&"no machine state"!= +f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(mg,""),this.f=null)):this.g(g+": "+f),kg(d),Zf(d)?(c=dg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else a==jg&&d.clear()}else bg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(ng(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(ig(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function ig(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Sf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",cg),h=Ea();f.set(eg,h);g.set(eg,h);g.set(og,"1.34.2");g.set(pg,window?window.location.href:null);g.set(qg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.g=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Kg(a,b,c)}})}else c(a,null)} -function Lg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Hg||cb(!0));m=!1}var h,k,m=!0;Hg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ig(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Hg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Hg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ig(c,b,a,e,!0,g,n):Jg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Lg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Lg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.i){var c=a.i,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Da+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Da=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Lg(a,b,c)}})}else c(a,null)} +function Mg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Ig||cb(!0));m=!1}var h,k,m=!0;Ig++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Jg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Ig||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ig|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Jg(c,b,a,e,!0,g,n):Kg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Mg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Mg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Bb:0,Sa:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Ja:8,Jb:9,Ta:10,Kb:11,Lb:12,Ua:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ia:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, -kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Va:127}; +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Bb:0,Ta:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Ka:8,Jb:9,Ua:10,Kb:11,Lb:12,Va:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ja:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, +kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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())} @@ -44,15 +44,15 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Na=b.comment;this.ab=b;this.exports={};this.l=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Ea:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.kb,a];this.v=this.f=this.o=this.s=null;this.exports={hold:this.cb,toggle:this.vb,reset:this.rb, set:this.ub};K(this)}n($a,B);k=$a.prototype;k.reset=function(a){this.stop();a&&bb(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.j[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.j[b]=c,this.m[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.j[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, +k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.l[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.m[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){db(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;eb(this);fb(this)};k.V=function(a,b){if(!b)if(this.R&&gb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])hb(this,this.b=a[0]),bb(this,this.h=a[1]),ib(this,a[2]);return!0};k.rb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}fb(this);return!0};function jb(a,b,c){if(a=a.j[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function eb(a,b){for(var c in a.m)jb(a,c,null!=b?b:a.m[c])}function kb(a,b,c){if(a=a.j[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fb(a){for(var b in a.a)kb(a,b,a.a[b][1])} +k.restore=function(a){if(a=a[0])hb(this,this.b=a[0]),bb(this,this.h=a[1]),ib(this,a[2]);return!0};k.rb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}fb(this);return!0};function jb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function eb(a,b){for(var c in a.m)jb(a,c,null!=b?b:a.m[c])}function kb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fb(a){for(var b in a.a)kb(a,b,a.a[b][1])} k.cb=function(a,b,c){if(cb(this,b)){if(c){var d=this;setTimeout(function(){db(d,b);a&&a()},+c);return!1}db(this,b)}return!0}; k.ub=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.i(this.b);bb(this,this.h=a)}};k.jb=function(a){a||this.f.c.A||hb(this,this.g)};k.ib=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.kb=function(a,b){this.g=a?this.g|1<>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.i(this.b);bb(this,this.h=a)}};k.jb=function(a){a||this.f.c.A||hb(this,this.g)};k.ib=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.j(c,b&16383,b);a.h--} -function xb(a){for(var b=0,c=[],d=0;d>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.l(c,b&16383,b);a.h--} +function xb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.m=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;c=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.Aa*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.m=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Wb(a,b){var c=a.G-=a.I;a.I=0;b&&(a.G=0);return c} -k.sb=function(){if(this.c.A){this.pa>=this.Ba&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Aa&&(this.m+=a,this.m>this.ja&&(this.m=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Xb&&(this.s&&Q(this.s,void 0),this.Ca=0);break}}while(this.c.A)}catch(f){P(this); -this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Oa;this.D=D();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.m)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.m-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; -function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ga=!0;if(b=a.j.run)b.textContent="Halt";a.s&&a.s.start(a.m,Rb(a));a.v||a.status("Started");setTimeout(a.Oa,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.j.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; -function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Ya=b;this.La=+a.addrReset||0;this.Za=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.Ka=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Ya);this.c.A&&P(this);this.b=this.w=this.qa=0;this.g=this.ya=this.La;this.Xa=this.Wa=this.Na=!1;this.ia=this.g;this.h=0;this.i=this.ob;this.l=this.zb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Qa=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.w,this.qa,this.g,this.ya,this.ia,this.h]);a.set(1,[]);a.set(2,[this.K,this.W,this.c.J]);a.set(3,$b(this));a.set(4,Vb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].i(a&16383,a)};k.zb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].l(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ga?0:1:-1;this.c.Ga=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.i(this.b):this.qa=this.i(this.ya=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.i(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Za(a)}while(0< -this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function cc(a,b){var c=this.i(this.b),d=this.i(b);this.l(b,V(a,d,c)+(c-(c&262143)))}function dc(a,b){var c=this.i(b);this.l(b,V(a,c,0))}function ec(a,b){b=this.i(b);var c=this.i(this.b);this.l(this.b,V(a,c,b)+(b-(b&262143)))} -function fc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.l(this.b,c);b&&this.l(b,c)}function gc(a,b){var c=(this.i(this.b)&262143)*N,d=this.i(b);this.l(b,V(a,d,c)+c)}function hc(a,b){var c=this.b*N,d=this.i(b);this.l(b,V(a,d,c)+c)}function ic(a,b){b=(this.i(b)&262143)*N;var c=this.i(this.b);this.l(this.b,V(a,c,b)+b)}function jc(a,b){var c=this.i(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.l(this.b,c);b&&this.l(b,c)} -function kc(a,b){var c=this.i(this.b)&262143,d=this.i(b);this.l(b,W(a,d,c)+c)}function lc(a,b){var c=this.i(b);this.l(b,W(a,c,this.b)+this.b)}function mc(a,b){b=this.i(b)&262143;var c=this.i(this.b);this.l(this.b,W(a,c,b)+b)}function nc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.l(this.b,c);b&&this.l(b,c)}function oc(a,b){var c=this.i(this.b)/N|0,d=this.i(b);this.l(b,W(a,d,c)+c)} -function pc(a,b){var c=this.i(b);this.l(b,W(a,c,0))}function qc(a,b){b=this.i(b)/N|0;var c=this.i(this.b);this.l(this.b,W(a,c,b)+b)}function rc(a,b){var c=this.i(this.b),d=c/N|0,c=W(a,c,d)+d;this.l(this.b,c);b&&this.l(b,c)}function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b} +k.sb=function(){if(this.c.A){this.pa>=this.Ca&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Ba&&(this.m+=a,this.m>this.ja&&(this.m=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Da>=Xb&&(this.s&&Q(this.s,void 0),this.Da=0);break}}while(this.c.A)}catch(f){P(this); +this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Pa;this.D=D();c=this.Ba;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.m)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.m-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; +function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ha=!0;if(b=a.l.run)b.textContent="Halt";a.s&&a.s.start(a.m,Rb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.l.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; +function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Ya=b;this.Ma=+a.addrReset||0;this.Za=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.La=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Ya);this.c.A&&P(this);this.b=this.w=this.qa=0;this.g=this.za=this.Ma;this.Oa=this.Xa=this.ya=!1;this.ia=this.g;this.h=0;this.i=this.ob;this.j=this.zb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Ra=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.w,this.qa,this.g,this.za,this.ia,this.h]);a.set(1,[]);a.set(2,[this.K,this.W,this.c.J]);a.set(3,$b(this));a.set(4,Vb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.za=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dWa&&(a!=Xa?a=Ya-a:this.Oa=this.ya=!0);return a};function ac(a,b){b?b==Xa?a.Oa=a.ya=!0:b=Ya-b:a.Xa=a.ya=!0;return b}function $b(a){var b=[];for(a=a.ha;a;)b.push(a.wb),a=a.next;return b}k.ob=function(a){var b=this.o;a=this.ia=a;return b.a[(a&b.g)>>>b.b].i(a&16383,a)};k.zb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; +k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ha?0:1:-1;this.c.Ha=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.i(this.b):this.qa=this.i(this.za=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.i(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Za(a)}while(0< +this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function cc(a,b){var c=this.i(this.b),d=this.i(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function dc(a,b){var c=this.i(b);this.j(b,V(a,c,0))}function ec(a,b){b=this.i(b);var c=this.i(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))} +function fc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function gc(a,b){var c=(this.i(this.b)&262143)*N,d=this.i(b);this.j(b,V(a,d,c)+c)}function hc(a,b){var c=this.b*N,d=this.i(b);this.j(b,V(a,d,c)+c)}function ic(a,b){b=(this.i(b)&262143)*N;var c=this.i(this.b);this.j(this.b,V(a,c,b)+b)}function jc(a,b){var c=this.i(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)} +function kc(a,b){var c=this.i(this.b)&262143,d=this.i(b);this.j(b,W(a,d,c)+c)}function lc(a,b){var c=this.i(b);this.j(b,W(a,c,this.b)+this.b)}function mc(a,b){b=this.i(b)&262143;var c=this.i(this.b);this.j(this.b,W(a,c,b)+b)}function nc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function oc(a,b){var c=this.i(this.b)/N|0,d=this.i(b);this.j(b,W(a,d,c)+c)} +function pc(a,b){var c=this.i(b);this.j(b,W(a,c,0))}function qc(a,b){b=this.i(b)/N|0;var c=this.i(this.b);this.j(this.b,W(a,c,b)+b)}function rc(a,b){var c=this.i(this.b),d=c/N|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b} function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} var bc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.l(b,this.i(this.b))},function(a,b){this.l(b,this.b)},function(a,b){this.l(this.b,this.i(b))},function(a,b){b&&this.l(b,this.i(this.b))},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.l(b,a)},function(a,b){this.l(b,this.b*N)},function(a,b){a=this.i(b);a=a/N|(a&262143)*N;this.l(this.b,a)},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.l(this.b,a);b&&this.l(b,a)},function(a, -b){this.l(b,ac(this,this.i(this.b)))},function(a,b){this.l(b,this.b?Ya-this.b:0)},function(a,b){this.l(this.b,ac(this,this.i(b)))},function(a,b){a=ac(this,this.i(this.b));this.l(this.b,a);b&&this.l(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.i(b);this.l(b,this.i(this.b));this.l(this.b,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/N|0,c=c&262143;!a;)this.l(c,this.i(d)),c==this.b&&(a=!0),d=d+1&262143, -c=c+1&262143,this.c.A||(this.l(b,d*N+c),a||(this.g=(this.g+-1)%M),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.i(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.i(b))},function(a,b){b&&this.j(b,this.i(this.b))},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.j(b,a)},function(a,b){this.j(b,this.b*N)},function(a,b){a=this.i(b);a=a/N|(a&262143)*N;this.j(this.b,a)},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.j(this.b,a);b&&this.j(b,a)},function(a, +b){this.j(b,ac(this,this.i(this.b)))},function(a,b){this.j(b,this.b?Ya-this.b:0)},function(a,b){this.j(this.b,ac(this,this.i(b)))},function(a,b){a=ac(this,this.i(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.i(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.i(b);this.j(b,this.i(this.b));this.j(this.b, +a)},function(a,b){a=!1;for(var c=this.i(b),d=c/N|0,c=c&262143;!a;)this.j(c,this.i(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*N+c),a||(this.g=(this.g+-1)%M),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.i(b);a+=262145;this.j(a&262143,this.i(this.b));a>=Ua&&(a-=Ua);this.j(b,a)},function(a,b){a=this.i(b);var c=this.i(a&262143);this.j(this.b,c);this.b==b&& +(a=c);a-=262145;0>a&&(a+=Ua);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc, -ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function sc(a){B.call(this,"ROM",a);this.N=this.a=null;this.m=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.u=na(this.h);if(this.h){a=this.h;var b=oa(this.u);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);tc(c)})}}n(sc,B); +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, +X,X,X,X,X,X,X,X,X];function sc(a){B.call(this,"ROM",a);this.N=this.a=null;this.m=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.u=na(this.h);if(this.h){a=this.h;var b=oa(this.u);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);tc(c)})}}n(sc,B); sc.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;tc(this)};sc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.m,this.g,this.N),delete this.N);return!0};sc.prototype.P=function(){return!0}; function tc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.o)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.m;if(yb(a.o,b,a.g,Gb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ia&&c<=q.$a&&(b=c-(q.Ia-q.Sa));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ua&&(b=q.Ta);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +Y.prototype.reset=function(){if(this.h&&!this.u){for(var a=this.o,b=this.b,c=this.g,d=b&16383,b=b>>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ja&&c<=q.$a&&(b=c-(q.Ja-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;K(this)}; -k.Ra=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.m=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ra(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.Sa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.m=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bBc){if(Z(d,this.D)){this.m=new O(this,"1.34.2",Kc);Z(this.m)&&(Lc(this,d),a=Mc,Nc(this.m));this.m.set(Hc,ta());Oc(this.m);var e=this.a&&!this.C;if(a==Ic||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.h=0}; +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.h=0}; function Lc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} function Rc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Fc),h=ta();g.set(Hc,h);f.set(Hc,h);f.set(Sc,"1.34.2");f.set(Tc,window?window.location.href:null);f.set(Uc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.j.PC){var f=a.v&&a.v.m||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.j.PC.textContent!=e&&(a.j.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.l.PC){var f=a.v&&a.v.m||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.l.PC.textContent!=e&&(a.l.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), From 25aa95cec82dfc09c8efb5313d70018e5d7226ab Mon Sep 17 00:00:00 2001 From: Jeff Date: Thu, 2 Mar 2017 23:10:24 -0800 Subject: [PATCH 07/32] First cut at PDP-10 byte instructions --- apps/pdp10/tests/optest-v01.json | 8 + modules/pdp10/lib/cpuops.js | 111 +++++++++- modules/pdp10/lib/cpustate.js | 12 +- modules/pdp10/lib/debugger.js | 12 +- modules/pdp10/lib/defines.js | 13 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 317 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 199 +++++++++--------- 7 files changed, 396 insertions(+), 276 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index 84c4d16a6..d9fa6facd 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -35,5 +35,13 @@ // 14=444444777777 15=777777777777 16=777777777777 17=000000000000 // 0o262240000005, // 000116: POP 5,5 +// +// 00=111111444444 01=777777444444 02=777777444444 03=777777444444 +// 04=444444777777 05=111110444443 06=777777777777 07=000000000000 +// 10=000000000010 11=111111444444 12=444444111111 13=777777444444 +// 14=444444777777 15=777777777777 16=777777777777 17=000000000000 +// + 0o515040170600, // 000117: HRLZI 1,170600 + 0o135100000001, // 000120: LDB 2,1 ] } diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 3227a3830..75a7fda9c 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -188,11 +188,27 @@ PDP10.opFSC = function(op, acc) */ PDP10.opIBP = function(op, acc) { - this.opUndefined(op); + var w = this.readWord(this.regEA); + var p = (w / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; + var s = (w >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; + p -= s; + if (p < 0) { + p = 36 - s; + w++; + } + w = (p * PDP10.OPCODE.P_SCALE) + (s << PDP10.OPCODE.S_SHIFT) + (w & PDP10.OPCODE.PTR_MASK); + this.writeWord(this.regEA, w); }; /** - * opILDB(0o134000) + * opILDB(0o134000): Increment Pointer and Load Byte + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: + * + * Increment the byte pointer in location E as explained above. Then retrieve a byte of S bits from the + * location and position specified by the newly incremented pointer, load it into the right end of AC, + * and clear the remaining AC bits. The location containing the byte is unaffected, the original contents + * of AC are lost. * * @this {CPUStatePDP10} * @param {number} op @@ -200,11 +216,30 @@ PDP10.opIBP = function(op, acc) */ PDP10.opILDB = function(op, acc) { - this.opUndefined(op); + /* + * We're called in two phases: phase 1 is with regEA containing the address of the pointer, and phase 2 + * is with regEA containing the address of the bits to be loaded. + * + * We can implement this as a simple combination of opIBP() and opLDB(), but taking care that we only call + * opIBP() on phase 1. + */ + if (this.regPS < 0) { + //noinspection JSUnresolvedFunction + PDP10.opIBP.call(this, op, acc); + } + + //noinspection JSUnresolvedFunction + PDP10.opLDB.call(this, op, acc); }; /** - * opLDB(0o135000) + * opLDB(0o135000): Load Byte + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: + * + * Retrieve a byte of S bits from the location and position specified by the pointer contained in location E, + * load it into the right end of AC, and clear the remaining AC bits. The location containing the byte is unaffected, + * the original contents of AC are lost. * * @this {CPUStatePDP10} * @param {number} op @@ -212,23 +247,67 @@ PDP10.opILDB = function(op, acc) */ PDP10.opLDB = function(op, acc) { - this.opUndefined(op); + /* + * We're called in two phases: phase 1 is with regEA containing the address of the pointer, and phase 2 + * is with regEA containing the address of the bits to be loaded. + */ + var w = this.readWord(this.regEA); + if (this.regPS < 0) { + this.regPS = w; + this.regRA = this.regEA | PDP10.OPCODE.I_BIT; + this.advancePC(-1); + return; + } + var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; + var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; + if (p + s <= 32) { + w = (w >> p) & ((1 << s) - 1); + } else { + w = Math.trunc(w / Math.pow(2, p)) % Math.pow(2, s); + } + this.writeWord(acc, w); + this.regPS = -1; }; /** * opIDPB(0o136000) * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: + * + * Increment the byte pointer in location E as explained above. Then deposit the right S bits of AC into + * the location and position specified by the newly incremented pointer. The original contents of the bits + * that receive the byte are lost, AC and the remaining bits of the deposit location are unaffected. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opIDPB = function(op, acc) { - this.opUndefined(op); + /* + * We're called in two phases: phase 1 is with regEA containing the address of the pointer, and phase 2 + * is with regEA containing the address of the bits to be stored. + * + * We can implement this as a simple combination of opIBP() and opDDB(), but taking care that we only call + * opIBP() on phase 1. + */ + if (this.regPS < 0) { + //noinspection JSUnresolvedFunction + PDP10.opIBP.call(this, op, acc); + } + + //noinspection JSUnresolvedFunction + PDP10.opDPB.call(this, op, acc); }; /** - * opDPB(0o137000) + * opDPB(0o137000): Deposit Byte + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: + * + * Deposit the right S bits of AC into the location and position specified by the pointer contained + * in location E. The original contents of the bits that receive the byte are lost, AC and the remaining + * bits of the deposit location are unaffected. * * @this {CPUStatePDP10} * @param {number} op @@ -236,7 +315,23 @@ PDP10.opIDPB = function(op, acc) */ PDP10.opDPB = function(op, acc) { - this.opUndefined(op); + /* + * We're called in two phases: phase 1 is with regEA containing the address of the pointer, and phase 2 + * is with regEA containing the address of the bits to be stored. + */ + var w = this.readWord(this.regEA); + if (this.regPS < 0) { + this.regPS = w; + this.regRA = this.regEA | PDP10.OPCODE.I_BIT; + this.advancePC(-1); + return; + } + var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; + var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; + var b = (this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p); + w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p)); + this.writeWord(this.regEA, w); + this.regPS = -1; }; /** diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index c444ddc93..c9270a644 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -178,6 +178,12 @@ class CPUStatePDP10 extends CPUPDP10 { this.regPC = this.lastPC = this.addrReset; this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; + /* + * This next two internal regs are used only with byte instructions, to record an active byte + * pointer state (regPS) and pointer address (regPA). + */ + this.regPS = this.regPA = -1; + /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register * (which takes precedence when, for example, you've manually halted the CPU and are independently @@ -279,6 +285,8 @@ class CPUStatePDP10 extends CPUPDP10 { state.set(0, [ this.regEA, this.regRA, + this.regPS, + this.regPA, this.regOP, this.regPC, this.lastPC, @@ -308,6 +316,8 @@ class CPUStatePDP10 extends CPUPDP10 { [ this.regEA, this.regRA, + this.regPS, + this.regPA, this.regOP, this.regPC, this.lastPC, @@ -369,7 +379,7 @@ class CPUStatePDP10 extends CPUPDP10 { if (this.regRA & PDP10.OPCODE.I_BIT) return -1; this.regPC = (this.regPC + 1) % PDP10.ADDR_LIMIT; - return (this.regOP / PDP10.OPCODE.ACSHIFT)|0; + return (this.regOP / PDP10.OPCODE.A_SCALE)|0; } /** diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 8cd2d3184..c04ad0bb0 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -1415,7 +1415,7 @@ class DebuggerPDP10 extends Debugger { findInstruction(opCode, fOperands = true) { var opNum, opMask, aModes, iMode = 0; - var op = (opCode / PDP10.OPCODE.OPSHIFT)|0; + var op = (opCode / PDP10.OPCODE.OP_SCALE)|0; for (var mask in DebuggerPDP10.OPTABLE) { var opMasks = DebuggerPDP10.OPTABLE[mask]; @@ -1423,7 +1423,7 @@ class DebuggerPDP10 extends Debugger { if (opNum) { opMask = +mask; /* - * When we extracted op from opCode using OPSHIFT, we included 6 additional bits + * When we extracted op from opCode using OP_SCALE, we included 6 additional bits * to help distinguish OPIO instructions from non-OPIO instructions. But for the * following tests, we don't need those bits, so we get rid of them now. */ @@ -1458,7 +1458,7 @@ class DebuggerPDP10 extends Debugger { sOperation += this.toStrWord(opCode); } else { if (opMask == PDP10.OPCODE.OPIO) { - sOperation += this.toStrBase((opCode / PDP10.OPCODE.IOSHIFT) & PDP10.OPCODE.IOMASK, -1); + sOperation += this.toStrBase((opCode / PDP10.OPCODE.IO_SCALE) & PDP10.OPCODE.IO_MASK, -1); } else { sOperation += this.toStrBase((opCode >> PDP10.OPCODE.A_SHIFT) & PDP10.OPCODE.A_MASK, -1); } @@ -1564,7 +1564,7 @@ class DebuggerPDP10 extends Debugger { } else { opMode = ((iMode & 0o3) << 1) | ((iMode & 0o14) << 2); } - opCode = (op | (opMode << 6)) * PDP10.OPCODE.OPSHIFT; + opCode = (op | (opMode << 6)) * PDP10.OPCODE.OP_SCALE; break; } } @@ -1601,12 +1601,12 @@ class DebuggerPDP10 extends Debugger { } if (!i && aOperands.length > 1) { if (opMask == PDP10.OPCODE.OPIO) { - if (operand < 0 || operand > PDP10.OPCODE.IOMASK) { + if (operand < 0 || operand > PDP10.OPCODE.IO_MASK) { this.println("device code out of range: " + match[2]); opCode = -1; break; } - opCode += (operand * PDP10.OPCODE.IOSHIFT); + opCode += (operand * PDP10.OPCODE.IO_SCALE); } else { if (operand < 0 || operand > PDP10.OPCODE.A_MASK) { diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index cc500eb96..17a9b4030 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -158,10 +158,14 @@ var PDP10 = { OPTEST: 0o71100, // operation with test OPIO: 0o70034, // input-output operation OPUUO: 0o70000, // unimplemented user operation (UUO) mask - OPSHIFT: Math.pow(2, 21), // operation shift - IOSHIFT: Math.pow(2, 26), // input-output device code shift - IOMASK: 0o177, // input-output device code mask (after shift) - ACSHIFT: Math.pow(2, 23), // used to shift down the high 13 bits, with A starting at bit 0 + OP_SCALE: Math.pow(2, 21), // operation scale + IO_SCALE: Math.pow(2, 26), // input-output device code scale + IO_MASK: 0o177, // input-output device code mask (after descale) + A_SCALE: Math.pow(2, 23), // used to shift down the high 13 bits, with A starting at bit 0 + P_SCALE: Math.pow(2, 30), // P scale + P_MASK: 0o77, // P mask (after descale) + S_SHIFT: 24, // S shift + S_MASK: 0o77, // S mask (after shift) A_SHIFT: 23, // A shift A_MASK: 0o17, // A mask (after shift) I_BIT: 0o20000000, // indirect bit @@ -169,6 +173,7 @@ var PDP10 = { X_MASK: 0o17, // X mask (after shift) Y_MASK: 0o777777, // Y mask R_MASK: 0o37777777, // used to isolate the low 23 bits (I,X,Y) + PTR_MASK: 0o77777777, // used to isolate the low 24 bits (?,I,X,Y) of a byte pointer HALT: 0o5304 // operation code for HALT }, diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 9ff071604..284de8746 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,8 +31,8 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var la=Math.pow(2,36),ma=-Math.pow(2,35),q={bc:0,ub:1,dc:2,ec:3,fc:4,gc:5,hc:6,ic:7,bb:8,jc:9,vb:10,kc:11,lc:12,wb:13,mc:14,nc:15,oc:16,pc:17,qc:18,rc:19,sc:20,tc:21,uc:22,vc:23,wc:24,xc:25,yc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,ab:65,ac:66,cc:67,zc:68,E:69,Ac:70,Bc:71,Cc:72,Dc:73,Ec:74,Fc:75,Gc:76,Hc:77,Ic:78,Jc:79,Kc:80,Q:81, -Lc:82,Mc:83,Nc:84,Oc:85,Pc:86,Qc:87,Rc:88,Sc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Tc:97,Uc:98,Vc:99,d:100,e:101,Wc:102,Xc:103,Yc:104,Zc:105,$c:106,k:107,ad:108,bd:109,n:110,cd:111,p:112,q:113,r:114,dd:115,t:116,fd:117,gd:118,hd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127}; +var la=Math.pow(2,36),ma=-Math.pow(2,35),q={dc:0,vb:1,fc:2,gc:3,hc:4,ic:5,jc:6,kc:7,eb:8,lc:9,wb:10,mc:11,nc:12,xb:13,oc:14,pc:15,qc:16,rc:17,sc:18,tc:19,uc:20,vc:21,wc:22,xc:23,yc:24,zc:25,Ac:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,cb:65,cc:66,ec:67,Bc:68,E:69,Cc:70,Dc:71,Ec:72,Fc:73,Gc:74,Hc:75,Ic:76,Jc:77,Kc:78,Lc:79,Mc:80,Q:81, +Nc:82,Oc:83,Pc:84,Qc:85,Rc:86,Sc:87,Tc:88,Uc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Vc:97,Wc:98,Xc:99,d:100,e:101,Yc:102,Zc:103,$c:104,ad:105,bd:106,k:107,cd:108,dd:109,n:110,ed:111,p:112,q:113,r:114,fd:115,t:116,hd:117,jd:118,kd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} @@ -40,189 +40,190 @@ function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} function Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ba=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Wa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function pb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function ab(a){if(bb)try{for(var b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function hb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Lb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Db,toggle:this.Wb,reset:this.Sb, -set:this.Vb};D(this)}p(Ub,v);l=Ub.prototype;l.reset=function(a){this.stop();a&&Wb(this,this.v=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Xb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Yb(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){Xb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Yb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;Zb(this);$b(this)};l.pa=function(a,b){if(!b)if(this.W&&ac(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])bc(this,this.f=a[0]),Wb(this,this.v=a[1]),cc(this,a[2]);return!0};l.Sb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}$b(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Zb(a,b){for(var c in a.B)kc(a,c,null!=b?b:a.B[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $b(a){for(var b in a.b)lc(a,b,a.b[b][1])} -l.Db=function(a,b,c){if(Xb(this,b)){if(c){var d=this;setTimeout(function(){Yb(d,b);a&&a()},+c);return!1}Yb(this,b)}return!0};l.Vb=function(a,b){if("SR"==a)return cc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Wb=function(a){return Xb(this,a)?(Yb(this,a),!0):!1};function Xb(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} -function Yb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Mb=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[pc]&&this.b[pc][1]&&qc(this.i))};l.Nb=function(){};l.Hb=function(a){a||this.i.V()}; -l.Fb=function(a){if(!a&&!this.i.j.K)if(this.b[pc]&&this.b[pc][1])qc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),rc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Dc(Ec,e,g)}e=new zc(a,e,m,16384,d);Ac(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Fc[d]+" at "+pa(b)),!0):Dc(Gc,b,c)} -function xc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function wc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Bc(a){for(var b=0,c=[],d=0;d=a.ha&&(a.ha+=a.da,c=!0);0<=a.ia&&a.ia<=ad(a)&&(a.da=a.ia=-1,Xc(a),a.V(),c=!0);c&&a.g(ad(a)+" cycles: checksum="+t(a.sa))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.R/a.S?b=1:d=!0;a.W=b;b=a.Sa*a.W;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&yd(a.F)}tc(a,a.J);a.J=0;a.H=rb();a.M=0;wd(a);return d}function zd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Ad(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Bd(a,b){var c=a.N-=a.O;a.O=0;b&&(a.N=0);return c} -l.Tb=function(){if(this.j.K){this.za>=this.Ua&&wd(this,!0);this.ja=0;this.ra=rb();if(this.M){var a=this.ra-this.M;a>this.Ta&&(this.H+=a,this.H>this.ra&&(this.H=this.ra))}try{do{var b=zd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Bd(this,!0);this.ja+=b;this.J+=b;uc(this,b);sc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Va>=Cd&&(this.F&&I(this.F,void 0),this.Va=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),ad(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.jb;this.M=rb();var c=this.Ta;this.ja&&(c=Math.round(c*this.ja/this.ua));var c=c-(this.M-this.ra),d=this.M-this.H;d&&(this.R=Math.round(this.J/(10*d))/100,864E5<=d&&(this.P=0,bd(this)));if(0>c||this.Rc&&(this.H-=c),c=0;this.za+=this.ja;this.M+=c;a(b,c)}}}; -function qc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{bd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&yd(a.F,!0),a.F.start(a.H,ad(a)));a.A||a.status("Started");setTimeout(a.jb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Bd(this);tc(this,this.J);this.J=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),ad(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var xd=30,Cd=15,Uc=["power","reset"]; -function Dd(a){var b=+a.model||1001;Tc.call(this,a,1E6);this.ib=b;this.fb=+a.addrReset||0;this.tb=Ed.bind(this);this.b=L.bind(this);this.ka=null;this.eb=[];this.j.complete=!1}p(Dd,Tc);l=Dd.prototype;l.reset=function(){this.status("Model "+this.ib);this.j.K&&this.V();this.f=this.B=this.Aa=0;this.u=this.qa=this.fb;this.Qa=this.hb=this.ya=this.zb=this.Ra=!1;this.la=this.u;this.v=0;this.C=this.Pb;this.D=this.$b;this.ka=null;Wc(this);this.j.error=!1;Tc.prototype.reset.call(this)};l.qb=function(){return 0}; -l.save=function(){var a=new H(this);a.set(0,[this.f,this.B,this.Aa,this.u,this.qa,this.la,this.v]);a.set(1,[]);a.set(2,[this.P,this.W,this.j.Z]);a.set(3,Fd(this));a.set(4,Ad(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.B=b.next().value;this.Aa=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.la=b.next().value;this.v=b.next().value;b=a[2];this.P=b[0];bd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Qa=this.ya=!0);return a};function Hd(a,b){b?b==Pb?a.Qa=a.ya=!0:b=Qb-b:a.hb=a.ya=!0;return b}function Fd(a){var b=[];for(a=a.ka;a;)b.push(a.Xb),a=a.next;return b}l.Pb=function(a){var b=this.G;a=this.la=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.$b=function(a,b){var c=this.G;a=this.la=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Id(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.N=this.O=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Jd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.ka||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Jd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.B=this.B&4194304?this.C(this.f):this.Aa=this.C(this.qa=this.u);this.B&=8388607;this.f=this.B&262143;if(a= -this.B>>18&15)this.f=this.f+this.C(a)&Lb;this.B&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Aa/Tb|0);0<=a&&this.tb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Ld(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Md(a,d,c)+(c-(c&262143)))} -function Nd(a,b){var c=this.C(b);this.D(b,Md(a,c,0))}function Od(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Md(a,c,b)+(b-(b&262143)))}function Pd(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Qd(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Md(a,d,c)+c)}function Rd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Md(a,d,c)+c)} -function Sd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Md(a,c,b)+b)}function Td(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Md(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Vd(a,d,c)+c)}function Wd(a,b){var c=this.C(b);this.D(b,Vd(a,c,this.f)+this.f)}function Xd(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Vd(a,c,b)+b)} -function Yd(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Zd(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Vd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Vd(a,c,0))}function ae(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Vd(a,c,b)+b)}function be(a,b){var c=this.C(this.f),d=c/F|0,c=Vd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)} -function L(a){this.g("undefined opcode: "+pa(a));Gd(this,-1);this.V()}function Vd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Md(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} -var Kd=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var B="pdp10",Jb="PDPjs",Kb=Math.pow(2,18),Lb=Math.pow(2,18)-1,Mb=Math.pow(2,36),F=Math.pow(2,18),Nb=Math.pow(2,17)-1,Ob=Math.pow(2,35)-1,Pb=Math.pow(2,35),Qb=Math.pow(2,36),Rb=Math.pow(2,21),Sb=Math.pow(2,26),Tb=Math.pow(2,23),Ub=Math.pow(2,30),B="pdp10",Jb="PDPjs",G={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912, +buffer:1073741824,halt:-2147483648}; +function Vb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=Wb;this.B={};this.b={START:[1,1,!0,!1,this.Ob],STEP:[1,1,!1,!1,this.Pb],ENABLE:[1,1,!1,!1,this.Jb],CONT:[1,1,!0,!1,this.Hb],DEP:[0,0,!0,!1,this.Ib],EXAM:[1,1,!0,!1,this.Kb],LOAD:[1,1,!0,!1,this.Mb],TEST:[0,0,!0,!1,this.Lb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Nb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Fb,toggle:this.Yb,reset:this.Ub, +set:this.Xb};D(this)}p(Vb,v);l=Vb.prototype;l.reset=function(a){this.stop();a&&Xb(this,this.v=0)}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Yb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Zb(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){Yb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Zb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;$b(this);ac(this)};l.pa=function(a,b){if(!b)if(this.W&&bc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])cc(this,this.f=a[0]),Xb(this,this.v=a[1]),dc(this,a[2]);return!0};l.Ub=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ac(this);return!0};function ec(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.B)ec(a,c,null!=b?b:a.B[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)mc(a,b,a.b[b][1])} +l.Fb=function(a,b,c){if(Yb(this,b)){if(c){var d=this;setTimeout(function(){Zb(d,b);a&&a()},+c);return!1}Zb(this,b)}return!0};l.Xb=function(a,b){if("SR"==a)return dc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Yb=function(a){return Yb(this,a)?(Zb(this,a),!0):!1};function Yb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} +function Zb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Ob=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[qc]&&this.b[qc][1]&&rc(this.i))};l.Pb=function(){};l.Jb=function(a){a||this.i.V()}; +l.Hb=function(a){if(!a&&!this.i.j.K)if(this.b[qc]&&this.b[qc][1])rc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),sc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Ec(Fc,e,g)}e=new Ac(a,e,m,16384,d);Bc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+pa(b)),!0):Ec(Hc,b,c)} +function yc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function xc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Cc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=bd(a)&&(a.ha=a.ja=-1,Yc(a),a.V(),c=!0);c&&a.g(bd(a)+" cycles: checksum="+t(a.ta))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&zd(a.F)}uc(a,a.L);a.L=0;a.J=rb();a.N=0;dd(a);return d}function Ad(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Bd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Cd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} +l.Vb=function(){if(this.j.K){this.Aa>=this.Va&&dd(this,!0);this.ka=0;this.sa=rb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=Ad(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Cd(this,!0);this.ka+=b;this.L+=b;vc(this,b);tc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Dd&&(this.F&&I(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),bd(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.lb;this.N=rb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,cd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; +function rc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{cd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&zd(a.F,!0),a.F.start(a.J,bd(a)));a.A||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Cd(this);uc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var yd=30,Dd=15,Vc=["power","reset"]; +function Ed(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.kb=b;this.hb=+a.addrReset||0;this.Bb=Fd.bind(this);this.b=L.bind(this);this.la=null;this.gb=[];this.j.complete=!1}p(Ed,Uc);l=Ed.prototype;l.reset=function(){this.status("Model "+this.kb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.hb;this.Ra=this.jb=this.za=this.Ab=this.Sa=!1;this.B=this.bb=-1;this.qa=this.u;this.v=0;this.C=this.Rb;this.D=this.bc;this.la=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)}; +l.sb=function(){return 0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.H,this.B,this.bb,this.Ba,this.u,this.ra,this.qa,this.v]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Gd(this));a.set(4,Bd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.H=b.next().value;this.B=b.next().value;this.bb=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.v=b.next().value;b=a[2];this.R=b[0];cd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Ra=this.za=!0);return a};function Id(a,b){b?b==Pb?a.Ra=a.za=!0:b=Qb-b:a.jb=a.za=!0;return b}function Gd(a){var b=[];for(a=a.la;a;)b.push(a.Zb),a=a.next;return b}l.Rb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.bc=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.A?Jd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Kd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.la||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Kd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.H=this.H&4194304?this.C(this.f):this.Ba=this.C(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.C(a)&Lb;this.H&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Ba/Tb|0);0<=a&&this.Bb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Md(){var a=this.C(this.f),b=a/Ub&63,c=a>>24&63,b=b-c;0>b&&(b=36-c,a++);a=b*Ub+(c<<24)+(a&16777215);this.D(this.f,a)} +function Nd(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;a=32>=c+d?a>>c&(1<this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;b=this.C(b)%Math.pow(2,d)*Math.pow(2,c);a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.D(this.f,a);this.B=-1}} +function Pd(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Qd(a,d,c)+(c-(c&262143)))}function Rd(a,b){var c=this.C(b);this.D(b,Qd(a,c,0))}function Sd(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+(b-(b&262143)))}function Td(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)} +function Vd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Wd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+b)}function Xd(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Qd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function Yd(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Zd(a,c,this.f)+this.f)}function ae(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)} +function be(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function ce(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function de(a,b){var c=this.C(b);this.D(b,Zd(a,c,0))}function ee(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.C(this.f),d=c/F|0,c=Zd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)} +function L(a){this.g("undefined opcode: "+pa(a));Hd(this,-1);this.V()}function Zd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Qd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} +var Ld=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Md,function(a,b){0>this.B&&Md.call(this);Nd.call(this,0,b)},Nd,function(a,b){0>this.B&&Md.call(this);Od.call(this,0,b)},Od,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.D(b,this.C(this.f))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.C(b))},function(a,b){b&&this.D(b,this.C(this.f))},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(b,a)},function(a,b){this.D(b,this.f*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.D(this.f,a)},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(this.f,a);b&&this.D(b,a)},function(a, -b){this.D(b,Hd(this,this.C(this.f)))},function(a,b){this.D(b,this.f?Qb-this.f:0)},function(a,b){this.D(this.f,Hd(this,this.C(b)))},function(a,b){a=Hd(this,this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a,b){this.D(b,this.abs(this.C(this.f)))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.abs(this.C(b)))},function(a,b){a=this.abs(this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +b){this.D(b,Id(this,this.C(this.f)))},function(a,b){this.D(b,this.f?Qb-this.f:0)},function(a,b){this.D(this.f,Id(this,this.C(b)))},function(a,b){a=Id(this,this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a,b){this.D(b,this.abs(this.C(this.f)))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.abs(this.C(b)))},function(a,b){a=this.abs(this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.D(b,this.C(this.f));this.D(this.f, -a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.D(c,this.C(d)),c==this.f&&(a=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.D(b,d*F+c),a||Gd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a,b){a=this.C(b);a+=262145;this.D(a&262143,this.C(this.f));a>=Mb&&(a-=Mb);a/F|0||(this.Ra=!0);this.D(b,a)},function(a,b){a=this.C(b);var c=this.C(a&262143);this.D(this.f,c); -this.f==b&&(a=c);a-=262145;0>a&&(a+=Mb);262143==(a/F|0)&&(this.Ra=!0);this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.D(c,this.C(d)),c==this.f&&(a=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.D(b,d*F+c),a||Hd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a,b){a=this.C(b);a+=262145;this.D(a&262143,this.C(this.f));a>=Mb&&(a-=Mb);a/F|0||(this.Sa=!0);this.D(b,a)},function(a,b){a=this.C(b);var c=this.C(a&262143);this.D(this.f,c); +this.f==b&&(a=c);a-=262145;0>a&&(a+=Mb);262143==(a/F|0)&&(this.Sa=!0);this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ld,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,Ud,Wd,Xd,Yd,Zd,$d,ae,be,function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 ce(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.ca("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(pb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);de(c)})}}p(ce,v); -ce.prototype.va=function(a,b,c,d){this.G=b;this.i=c;this.A=d;de(this)};ce.prototype.pa=function(){this.T&&(this.A&&ee(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ce.prototype.fa=function(){return!0}; -function de(a){if(!Eb(a)){if(a.v){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Cc(a.G,b,a.u,Kc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.ab&&c<=q.yb&&(b=c-(q.ab-q.ub));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.wb&&(b=q.vb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; -l.sb=function(a){if(!this.b){var b=Vc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} -function me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function ge(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(hb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);he(c)})}}p(ge,v); +ge.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.A=d;he(this)};ge.prototype.pa=function(){this.T&&(this.A&&ie(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ge.prototype.fa=function(){return!0}; +function he(a){if(!Eb(a)){if(a.v){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Dc(a.G,b,a.u,Lc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.cb&&c<=q.zb&&(b=c-(q.cb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; +l.ub=function(a){if(!this.b){var b=Wc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ub(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} +function qe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=ne(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} -function re(a,b){if(b)return qe(a,b,a.W[b]);var c=0;for(b in a.W)qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function se(a){ke.call(this,a);this.ya=!1;this.la=!0;this.xa=Q();this.L=Q(0);this.ja=Q(0);this.da=Q(0);this.H=[];this.b=this.M=this.J=[];te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ue(this);this.A=this;this.qa={};this.X=this.mb=0;this.S=null;this.O=[];ve(this,a.messages);this.ua=a.commands;this.N=0;this.Da=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return $c(b,a)}):void 0===global[B]&&(global[B]=function(a){return $c(b, -a)})}p(se,ke);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,pb:void 0===b?!1:b,ea:!1,ba:c}}function we(a,b,c,d){a.w=b;a.pb=c||!1;a.ea=!1;a.ba=d}function xe(a){return[a.w,a.pb,a.ba,a.ea,a.Oa]}function ye(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.kb=le(a,c.Oa=b[4]));return c}l=se.prototype; -l.va=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Vc(a,"messages"))&&ve(this,a);ze(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Fc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.qa==b&&(b=Gd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(we(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Af(a,b,c,d){var e=Q(b.w),g=a.wa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in Bf)if(f=Bf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Cf;m=n&3;break;case 32256:k=Df;m=n&7;break;case 29248:k=Ef,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Ff&&(k="B");k=Gf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Be(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.wa(e,1),f+=" "+Be(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ad(a.i).toString()+" cs="+t(a.i.sa)):h+(null!=d?"="+d.toString():""));return h}function te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Ca=function(a,b,c){var d=!0;c||Hf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Ca(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(If(this,a,a.length-1,"set"),ue(this)));return d};function Hf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.f],b==a.J));h.ea||ue(a);break}}return g} -function Jf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);we(e.xa,d);g+="="+K(e,e.wa(e.xa),36)+" ";c+=g}if(b){b="";for(d=0;d=Ge?1:d==Ee?23:18)+" "),b+=e;c+="\n"+b}return c}l.nb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.nb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({ed:b,w:c,Eb:d,T:e,lb:g})}function Mf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Eb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.da;m=b;h.w=m.w;h.ea=m.ea;h.ba=m.ba;a.g(Af(a,b,f,g));e-=b.w-k;c++}}} -function Kf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(vf+b):(a.P&&(a.g("ended assemble at "+K(a,a.da.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Ff&&(ed="B");if(sg==Gf[Re]+ed){Qe=29248!=dc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(dd|Qe<<6)*Rb;break}}if(0<= -y)break}if(0<=y)break}if(0<=y)if(Oe)for(var fd=Oe.split(","),fb=0;fbE||127E||15E||262143< -E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var kd=[];"call"==Xe&&(hb=1E5,kd=["CALL"]);for(void 0!==We&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;Ze++;hb--}}Ze||(a.g("no "+Ye+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,bf="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||vg,ta=oe(a,ia);else{var cf=T(a,ia);cf&&(ta=cf.w-Pa.w)}0>ta&&(ta=0);65536gf;gf++)ef+=String.fromCharCode((fc%64|0)+32),fc/=64}ua&&(ua+="\n");ua=bf?ua+(va+","):ua+(W+": "+va+(0>ff?" "+ef:""))}ua&&a.g(ua);a.ba=xg}}}}break;case "e":if("else"==f[0])break;var hf,jf,kf=f[0],nd=f[1];"e"==kf||"ew"==kf?(hf=a.wa,jf=a.cb):nd=null;if(null==nd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var gc=T(a,nd,a.ja);if(gc)for(var hc=2;hcrd;){for(var wa=null,Bg=256;65536>kb.w>>>0;){sd.w=a.wa(kb,2);if(null==kb.w||!Bg--)break;if(!(sd.w&1)){for(var Cg=a,ic=sd,mf=null,lb=ic.w,nf=lb,td=1;6>=td&&lb;td++){if(2tf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var uf=Q(a.i.u);a.wa(uf);a.N?(a.Ca(a.b,uf,!0),Me(a)||(a.F&&yd(a.F),a.N=0)):Rf(a,tf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}xf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var nb=+f[2];if(8==nb||10==nb||16== -nb)a.ba=nb;else{a.g("invalid base: "+nb);break}}a.g("default base: "+a.ba);break;case "cs":var ob;void 0!==f[3]&&(ob=+f[3]);switch(f[2]){case "int":a.i.da=ob;break;case "start":a.i.ta=ob;break;case "stop":a.i.ia=ob;break;default:a.g("unknown cs option");break a}void 0!==ob&&Xc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(bd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.S.toFixed(2)+"Mhz")+" ("+a.i.W+ -"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":Rf(a,f[0],f[1]);break;case "u":yf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Of(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ -" version 1.34.2 ("+a.i.ib+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Qf(a,b.substr(1));break}var ud="commands:",vd;for(vd in Tf)ud+="\n"+Ba(vd,9)+Tf[vd];Id(a)||(ud+="\nnote: history disabled if no exec breakpoints");a.g(ud);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(wf){a.g("debugger error: "+(wf.stack||wf.message)),d=!1}return d}function $c(a,b,c){b=le(a,b,c);for(var d in b)if(!Kf(a,b[+d]))return!1;return!0} -var Tf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Ff=20,Gf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -De=0,Ee=1,Fe=2,Ge=3,He=4,Ie=5,Je=6,Ke=7,Ce="PC RA EA C0 C1 OV ND PD".split(" "),Uf={},Bf=(Uf[28672]={0:101},Uf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Uf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ff,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Uf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Uf[29248]={24576:79,24640:80,25088:81,25152:82},Uf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},Uf),Cf=["","I","M","S"],Df=" L E LE A GE N G".split(" "),Ef="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Le=1E3,vf=">> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bYf){if(Zf(d,this.M)){this.B=new H(this,"1.34.2",hg);Zf(this.B)&&(ig(this,d),a=jg,kg(this.B));this.B.set(eg,Ea());lg(this.B);var e=this.b&&!this.L;if(a==fg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=dg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Zf(d,f):("error"==g&&"no machine state"!= -f?(this.ca("Error: "+f),"unable to verify user"==f&&(Sa(mg,""),this.f=null)):this.g(g+": "+f),kg(d),Zf(d)?(c=dg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else a==jg&&d.clear()}else bg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(ng(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(ig(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function ig(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.da;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Sf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",cg),h=Ea();f.set(eg,h);g.set(eg,h);g.set(og,"1.34.2");g.set(pg,window?window.location.href:null);g.set(qg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function ve(a,b){if(b)return ue(a,b,a.W[b]);var c=0;for(b in a.W)ue(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function we(a){oe.call(this,a);this.ya=!1;this.la=!0;this.va=Q();this.L=Q(0);this.ja=Q(0);this.ba=Q(0);this.H=[];this.b=this.M=this.J=[];xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ye(this);this.A=this;this.qa={};this.X=this.ob=0;this.S=null;this.O=[];ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ad(b,a)}):void 0===global[B]&&(global[B]=function(a){return ad(b, +a)})}p(we,oe);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,rb:void 0===b?!1:b,ea:!1,ca:c}}function Ae(a,b,c,d){a.w=b;a.rb=c||!1;a.ea=!1;a.ca=d}function Be(a){return[a.w,a.rb,a.ca,a.ea,a.Oa]}function Ce(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.mb=pe(a,c.Oa=b[4]));return c}l=we.prototype; +l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Wc(a,"messages"))&&ze(this,a);De(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Gc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.ra==b&&(b=Hd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(Ae(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Ef(a,b,c,d){var e=Q(b.w),g=a.xa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in Ff)if(f=Ff[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Gf;m=n&3;break;case 32256:k=Hf;m=n&7;break;case 29248:k=If,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Jf&&(k="B");k=Kf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Fe(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.xa(e,1),f+=" "+Fe(k),null== +e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+bd(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Mf(this,a,a.length-1,"set"),ye(this)));return d};function Lf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.f],b==a.J));h.ea||ye(a);break}}return g} +function Nf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);Ae(e.va,d);g+="="+K(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ke?1:d==Ie?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.pb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({gd:b,w:c,Gb:d,T:e,nb:g})}function Qf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Gb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.w=m.w;h.ea=m.ea;h.ca=m.ca;a.g(Ef(a,b,f,g));e-=b.w-k;c++}}} +function Of(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(zf+b):(a.P&&(a.g("ended assemble at "+K(a,a.ba.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Jf&&(gd="B");if(wg==Kf[Ve]+gd){Ue=29248!=fc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(fd|Ue<<6)*Rb;break}}if(0<= +y)break}if(0<=y)break}if(0<=y)if(Se)for(var hd=Se.split(","),gb=0;gbE||127E||15E||262143< +E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var md=[];"call"==af&&(ib=1E5,md=["CALL"]);for(void 0!==$e&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;cf++;ib--}}cf||(a.g("no "+bf+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,ff="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||zg,ta=se(a,ia);else{var gf=T(a,ia);gf&&(ta=gf.w-Pa.w)}0>ta&&(ta=0);65536lf;lf++)jf+=String.fromCharCode((hc%64|0)+32),hc/=64}ua&&(ua+="\n");ua=ff?ua+(va+","):ua+(W+": "+va+(0>kf?" "+jf:""))}ua&&a.g(ua);a.ca=Bg}}}}break;case "e":if("else"==f[0])break;var mf,nf,of=f[0],pd=f[1];"e"==of||"ew"==of?(mf=a.xa,nf=a.fb):pd=null;if(null==pd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var ic=T(a,pd,a.ja);if(ic)for(var jc=2;jctd;){for(var wa=null,Fg=256;65536>lb.w>>>0;){ud.w=a.xa(lb,2);if(null==lb.w||!Fg--)break;if(!(ud.w&1)){for(var Gg=a,kc=ud,qf=null,mb=kc.w,rf=mb,vd=1;6>=vd&&mb;vd++){if(2xf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var yf=Q(a.i.u);a.xa(yf);a.N?(a.Da(a.b,yf,!0),Qe(a)||(a.F&&zd(a.F),a.N=0)):Vf(a,xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Bf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ob=+f[2];if(8==ob||10==ob||16== +ob)a.ca=ob;else{a.g("invalid base: "+ob);break}}a.g("default base: "+a.ca);break;case "cs":var pb;void 0!==f[3]&&(pb=+f[3]);switch(f[2]){case "int":a.i.ha=pb;break;case "start":a.i.ua=pb;break;case "stop":a.i.ja=pb;break;default:a.g("unknown cs option");break a}void 0!==pb&&Yc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+"Mhz")+" ("+a.i.aa+ +"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":Vf(a,f[0],f[1]);break;case "u":Cf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Sf(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ +" version 1.34.2 ("+a.i.kb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Uf(a,b.substr(1));break}var wd="commands:",xd;for(xd in Xf)wd+="\n"+Ba(xd,9)+Xf[xd];Jd(a)||(wd+="\nnote: history disabled if no exec breakpoints");a.g(wd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Af){a.g("debugger error: "+(Af.stack||Af.message)),d=!1}return d}function ad(a,b,c){b=pe(a,b,c);for(var d in b)if(!Of(a,b[+d]))return!1;return!0} +var Xf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Jf=20,Kf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +He=0,Ie=1,Je=2,Ke=3,Le=4,Me=5,Ne=6,Oe=7,Ge="PC RA EA C0 C1 OV ND PD".split(" "),Yf={},Ff=(Yf[28672]={0:101},Yf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Yf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Jf,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Yf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Yf[29248]={24576:79,24640:80,25088:81,25152:82},Yf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},Yf),Gf=["","I","M","S"],Hf=" L E LE A GE N G".split(" "),If="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Pe=1E3,zf=">> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bbg){if(cg(d,this.M)){this.B=new H(this,"1.34.2",lg);cg(this.B)&&(mg(this,d),a=ng,og(this.B));this.B.set(ig,Ea());pg(this.B);var e=this.b&&!this.L;if(a==jg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?cg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Sa(qg,""),this.f=null)):this.g(g+": "+f),og(d),cg(d)?(c=hg(d),e=!0):c=!1))}e&&fg(this,c?d:null)}else a==ng&&d.clear()}else fg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(rg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +function mg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} +function Wf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",gg),h=Ea();f.set(ig,h);g.set(ig,h);g.set(sg,"1.34.2");g.set(tg,window?window.location.href:null);g.set(ug,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Da+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Da=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ba||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Lg(a,b,c)}})}else c(a,null)} -function Mg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Ig||cb(!0));m=!1}var h,k,m=!0;Ig++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Jg(d,null,a,null,!1,g,function(a,e){e?(pb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Ig||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ig|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Jg(c,b,a,e,!0,g,n):Kg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Mg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Mg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; +function I(a,b){if(a.i){var c=a.i,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ca||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);Pg(a,b,c)}})}else c(a,null)} +function Qg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Mg||cb(!0));m=!1}var h,k,m=!0;Mg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ng(d,null,a,null,!1,g,function(a,e){e?(hb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Mg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Mg|| +cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ng(c,b,a,e,!0,g,n):Og(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Qg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Qg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Bb:0,Ta:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Ka:8,Jb:9,Ua:10,Kb:11,Lb:12,Va:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ja:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, -kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; -function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12":62,"?":63,"@":64,Ka:65,Cb:66,Eb:67,ac:68,E:69,bc:70,cc:71,dc:72,ec:73,fc:74,gc:75,hc:76,ic:77,jc:78,kc:79,lc:80,Q:81, +mc:82,nc:83,oc:84,pc:85,qc:86,rc:87,sc:88,tc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,uc:97,vc:98,wc:99,d:100,e:101,xc:102,yc:103,zc:104,Ac:105,Bc:106,k:107,Cc:108,Dc:109,n:110,Ec:111,p:112,q:113,r:114,Fc:115,t:116,Gc:117,Hc:118,Ic:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Za:127}; +function la(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 v(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, @@ -44,119 +44,120 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.c={ready:!1,ra:!1,Ea:!1,B:!1,error:!1};this.ta=null;this.c.error=!1;this.v=this.f=this.o=this.s=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.cb=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.f=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.kb,a];this.v=this.f=this.o=this.s=null;this.exports={hold:this.cb,toggle:this.vb,reset:this.rb, -set:this.ub};K(this)}n($a,B);k=$a.prototype;k.reset=function(a){this.stop();a&&bb(this,this.h=0)}; -k.U=function(a,b,c,d){if(this.s&&this.s.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.l[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.l[b]=c,this.m[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.l[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){db(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){cb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){db(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;eb(this);fb(this)};k.V=function(a,b){if(!b)if(this.R&&gb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.h,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])hb(this,this.b=a[0]),bb(this,this.h=a[1]),ib(this,a[2]);return!0};k.rb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}fb(this);return!0};function jb(a,b,c){if(a=a.l[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function eb(a,b){for(var c in a.m)jb(a,c,null!=b?b:a.m[c])}function kb(a,b,c){if(a=a.l[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fb(a){for(var b in a.a)kb(a,b,a.a[b][1])} -k.cb=function(a,b,c){if(cb(this,b)){if(c){var d=this;setTimeout(function(){db(d,b);a&&a()},+c);return!1}db(this,b)}return!0}; -k.ub=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.i(this.b);bb(this,this.h=a)}};k.jb=function(a){a||this.f.c.A||hb(this,this.g)};k.ib=function(a){a?(this.u=!0,eb(this,!0)):(this.u=!1,eb(this),ib(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return zb(Ab,e,f)}e=new R(a,e,p,16384,d);wb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Bb[d]+" at "+ma(b)),!0):zb(Cb,b,c)}function ub(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.h++;d.l(c,b&16383,b);a.h--} -function xb(a){for(var b=0,c=[],d=0;d=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Rb(a)&&(a.da=a.ea=-1,Qb(a),P(a),c=!0);c&&a.L(Rb(a)+" cycles: checksum="+t(a.na))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.l[b]=c,!0;case "run":return this.l[b]=c,c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.c.B)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.M/a.O&&(b=1);a.W=b;b=a.Aa*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.l.setSpeed;d&&(d.textContent=b);a.L("target speed: "+b)}c&&a.s&&(c=a.s,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}rb(a,a.u);a.u=0;a.m=D();a.D=0;Tb(a)}function Vb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Wb(a,b){var c=a.G-=a.I;a.I=0;b&&(a.G=0);return c} -k.sb=function(){if(this.c.A){this.pa>=this.Ca&&Tb(this,!0);this.ca=0;this.ja=D();if(this.D){var a=this.ja-this.D;a>this.Ba&&(this.m+=a,this.m>this.ja&&(this.m=this.ja))}try{do{for(var b,c=this.c.sa?1:this.fa,d=this.C.length-1;0<=d;d--){var e=this.C[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Wb(this,!0);this.ca+=b;this.u+=b;sb(this,b);qb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Da>=Xb&&(this.s&&Q(this.s,void 0),this.Da=0);break}}while(this.c.A)}catch(f){P(this); -this.s&&this.s.stop(D(),Rb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Pa;this.D=D();c=this.Ba;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.D-this.ja;if(d=this.D-this.m)this.M=Math.round(this.u/(10*d))/100,864E5<=d&&(this.K=0,Sb(this));if(0>c||this.Mc&&(this.m-=c),c=0;this.pa+=this.ca;this.D+=c;a(b,c)}}}; -function pb(a){var b;a.c.error?(a.L(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.L(a.toString()+" busy");else{Sb(a);a.c.A=!0;a.c.Ha=!0;if(b=a.l.run)b.textContent="Halt";a.s&&a.s.start(a.m,Rb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.wa=function(){return 0};function P(a){var b=!1;if(a.c.A){Wb(a);rb(a,a.u);a.u=0;a.c.A=!1;if(b=a.l.run)b.textContent="Run";a.s&&a.s.stop(D(),Rb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Ub=30,Xb=15,Ob=["power","reset"]; -function Yb(a){var b=+a.model||1001;Nb.call(this,a,1E6);this.Ya=b;this.Ma=+a.addrReset||0;this.Za=Zb.bind(this);this.a=T.bind(this);this.ha=null;this.La=[];this.c.complete=!1}n(Yb,Nb);k=Yb.prototype;k.reset=function(){this.status("Model "+this.Ya);this.c.A&&P(this);this.b=this.w=this.qa=0;this.g=this.za=this.Ma;this.Oa=this.Xa=this.ya=!1;this.ia=this.g;this.h=0;this.i=this.ob;this.j=this.zb;this.ha=null;Pb(this);this.c.error=!1;Nb.prototype.reset.call(this)};k.Ra=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.w,this.qa,this.g,this.za,this.ia,this.h]);a.set(1,[]);a.set(2,[this.K,this.W,this.c.J]);a.set(3,$b(this));a.set(4,Vb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.qa=b.next().value;this.g=b.next().value;this.za=b.next().value;this.ia=b.next().value;this.h=b.next().value;b=a[2];this.K=b[0];Sb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dWa&&(a!=Xa?a=Ya-a:this.Oa=this.ya=!0);return a};function ac(a,b){b?b==Xa?a.Oa=a.ya=!0:b=Ya-b:a.Xa=a.ya=!0;return b}function $b(a){var b=[];for(a=a.ha;a;)b.push(a.wb),a=a.next;return b}k.ob=function(a){var b=this.o;a=this.ia=a;return b.a[(a&b.g)>>>b.b].i(a&16383,a)};k.zb=function(a,b){var c=this.o;a=this.ia=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; -k.wa=function(a){this.c.complete=!0;var b=a?this.c.Ha?0:1:-1;this.c.Ha=!1;this.G=this.I=a;this.h=this.h&-5|0;do{if(a=this.h)if(a=this.h&11)this.h&2?this.ha||(this.h&=-3):this.h&1&&this.h++,a=!1;if(a){if(this.h&4&&this.v.h(this.g,b)){P(this);break}if(0>b)break}this.h&=15;this.w=this.w&4194304?this.i(this.b):this.qa=this.i(this.za=this.g);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.i(a)&Ta;this.w&4194304?a=-1:(this.g=(this.g+1)%M,a=this.qa/Za|0);0<=a&&this.Za(a)}while(0< -this.I);return this.c.complete?this.G-this.I:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function cc(a,b){var c=this.i(this.b),d=this.i(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function dc(a,b){var c=this.i(b);this.j(b,V(a,c,0))}function ec(a,b){b=this.i(b);var c=this.i(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))} -function fc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function gc(a,b){var c=(this.i(this.b)&262143)*N,d=this.i(b);this.j(b,V(a,d,c)+c)}function hc(a,b){var c=this.b*N,d=this.i(b);this.j(b,V(a,d,c)+c)}function ic(a,b){b=(this.i(b)&262143)*N;var c=this.i(this.b);this.j(this.b,V(a,c,b)+b)}function jc(a,b){var c=this.i(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)} -function kc(a,b){var c=this.i(this.b)&262143,d=this.i(b);this.j(b,W(a,d,c)+c)}function lc(a,b){var c=this.i(b);this.j(b,W(a,c,this.b)+this.b)}function mc(a,b){b=this.i(b)&262143;var c=this.i(this.b);this.j(this.b,W(a,c,b)+b)}function nc(a,b){var c=this.i(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function oc(a,b){var c=this.i(this.b)/N|0,d=this.i(b);this.j(b,W(a,d,c)+c)} -function pc(a,b){var c=this.i(b);this.j(b,W(a,c,0))}function qc(a,b){b=this.i(b)/N|0;var c=this.i(this.b);this.j(this.b,W(a,c,b)+b)}function rc(a,b){var c=this.i(this.b),d=c/N|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)}function T(a){this.L("undefined opcode: "+ma(a));this.g=(this.g+-1)%M;P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b} -function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} -var bc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +var I="pdp10",L="PDPjs",Ta=Math.pow(2,18),Ua=Math.pow(2,18)-1,Va=Math.pow(2,36),M=Math.pow(2,18),Wa=Math.pow(2,17)-1,Xa=Math.pow(2,35)-1,Ya=Math.pow(2,35),Za=Math.pow(2,36),$a=Math.pow(2,23),ab=Math.pow(2,30),I="pdp10",L="PDPjs"; +function bb(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.g=this.i=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=cb;this.l={};this.a={START:[1,1,!0,!1,this.nb],STEP:[1,1,!1,!1,this.ob],ENABLE:[1,1,!1,!1,this.ib],CONT:[1,1,!0,!1,this.gb],DEP:[0,0,!0,!1,this.hb],EXAM:[1,1,!0,!1,this.jb],LOAD:[1,1,!0,!1,this.lb],TEST:[0,0,!0,!1,this.kb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.mb,a];this.v=this.f=this.o=this.u=null;this.exports={hold:this.fb,toggle:this.xb,reset:this.tb, +set:this.wb};K(this)}n(bb,B);k=bb.prototype;k.reset=function(a){this.stop();a&&N(this,this.i=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;fb(this);gb(this)};k.V=function(a,b){if(!b)if(this.R&&hb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.i,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])ib(this,this.b=a[0]),N(this,this.i=a[1]),jb(this,a[2]);return!0};k.tb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}gb(this);return!0};function kb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.l)kb(a,c,null!=b?b:a.l[c])}function lb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.a)lb(a,b,a.a[b][1])} +k.fb=function(a,b,c){if(db(this,b)){if(c){var d=this;setTimeout(function(){eb(d,b);a&&a()},+c);return!1}eb(this,b)}return!0}; +k.wb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.i++;b=c.o(b&16383,b);a.i--;a=b}else a=this.f.h(this.b);N(this,this.i=a)}};k.lb=function(a){a||this.f.c.A||ib(this,this.g)};k.kb=function(a){a?(this.s=!0,fb(this,!0)):(this.s=!1,fb(this),jb(this,0))};k.mb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Ab(Bb,e,f)}e=new R(a,e,p,16384,d);xb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Cb[d]+" at "+ma(b)),!0):Ab(Db,b,c)}function vb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.i++;d.m(c,b&16383,b);a.i--} +function yb(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Sb(a)&&(a.fa=a.ga=-1,Rb(a),P(a),c=!0);c&&a.M(Sb(a)+" cycles: checksum="+t(a.oa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}sb(a,a.B);a.B=0;a.w=D();a.G=0;Ub(a)}function Wb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Xb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} +k.ub=function(){if(this.c.A){this.qa>=this.Da&&Ub(this,!0);this.da=0;this.ea=D();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Xb(this,!0);this.da+=b;this.B+=b;tb(this,b);rb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=Yb&&(this.u&&Q(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){P(this); +this.u&&this.u.stop(D(),Sb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=D();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Tb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; +function qb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Tb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Sb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function P(a){var b=!1;if(a.c.A){Xb(a);sb(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(D(),Sb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Vb=30,Yb=15,Pb=["power","reset"]; +function Zb(a){var b=+a.model||1001;Ob.call(this,a,1E6);this.bb=b;this.Na=+a.addrReset||0;this.Va=$b.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(Zb,Ob);k=Zb.prototype;k.reset=function(){this.status("Model "+this.bb);this.c.A&&P(this);this.b=this.s=this.ra=0;this.i=this.Aa=this.Na;this.Pa=this.$a=this.za=!1;this.l=this.Ra=-1;this.ka=this.i;this.g=0;this.h=this.qb;this.j=this.Bb;this.ja=null;Qb(this);this.c.error=!1;Ob.prototype.reset.call(this)};k.Ta=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.s,this.l,this.Ra,this.ra,this.i,this.Aa,this.ka,this.g]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,ac(this));a.set(4,Wb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.Ra=b.next().value;this.ra=b.next().value;this.i=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.L=b[0];Tb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dXa&&(a!=Ya?a=Za-a:this.Pa=this.za=!0);return a};function cc(a,b){b?b==Ya?a.Pa=a.za=!0:b=Za-b:a.$a=a.za=!0;return b}function ac(a){var b=[];for(a=a.ja;a;)b.push(a.yb),a=a.next;return b}k.qb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.g)>>>b.b].h(a&16383,a)};k.Bb=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; +k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.v.i(this.i,b)){P(this);break}if(0>b)break}this.g&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.i);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Ua;this.s&4194304?a=-1:(this.i=(this.i+1)%Ta,a=this.ra/$a|0);0<=a&&this.Va(a)}while(0< +this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function ec(){var a=this.h(this.b),b=a/ab&63,c=a>>24&63,b=b-c;0>b&&(b=36-c,a++);a=b*ab+(c<<24)+(a&16777215);this.j(this.b,a)} +function fc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/ab&63,d=this.l>>24&63;a=32>=c+d?a>>c&(1<this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/ab&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c);a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.b,a);this.l=-1}} +function hc(a,b){var c=this.h(this.b),d=this.h(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function ic(a,b){var c=this.h(b);this.j(b,V(a,c,0))}function jc(a,b){b=this.h(b);var c=this.h(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))}function kc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Xa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function lc(a,b){var c=(this.h(this.b)&262143)*M,d=this.h(b);this.j(b,V(a,d,c)+c)} +function mc(a,b){var c=this.b*M,d=this.h(b);this.j(b,V(a,d,c)+c)}function nc(a,b){b=(this.h(b)&262143)*M;var c=this.h(this.b);this.j(this.b,V(a,c,b)+b)}function oc(a,b){var c=this.h(this.b),d=(c&262143)*M,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function pc(a,b){var c=this.h(this.b)&262143,d=this.h(b);this.j(b,W(a,d,c)+c)}function qc(a,b){var c=this.h(b);this.j(b,W(a,c,this.b)+this.b)}function rc(a,b){b=this.h(b)&262143;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)} +function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*M;break;case 384:d+=c>Wa?262143*M:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function tc(a,b){var c=this.h(this.b)/M|0,d=this.h(b);this.j(b,W(a,d,c)+c)}function uc(a,b){var c=this.h(b);this.j(b,W(a,c,0))}function vc(a,b){b=this.h(b)/M|0;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=c/M|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)} +function T(a){this.M("undefined opcode: "+ma(a));bc(this);P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*M;break;case 384:b=c>Wa?262143*M:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Xa?262143:0}return b} +var dc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ec,function(a,b){0>this.l&&ec.call(this);fc.call(this,0,b)},fc,function(a,b){0>this.l&&ec.call(this);gc.call(this,0,b)},gc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.i(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.i(b))},function(a,b){b&&this.j(b,this.i(this.b))},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.j(b,a)},function(a,b){this.j(b,this.b*N)},function(a,b){a=this.i(b);a=a/N|(a&262143)*N;this.j(this.b,a)},function(a,b){a=this.i(this.b);a=a/N|(a&262143)*N;this.j(this.b,a);b&&this.j(b,a)},function(a, -b){this.j(b,ac(this,this.i(this.b)))},function(a,b){this.j(b,this.b?Ya-this.b:0)},function(a,b){this.j(this.b,ac(this,this.i(b)))},function(a,b){a=ac(this,this.i(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.i(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.i(b);this.j(b,this.i(this.b));this.j(this.b, -a)},function(a,b){a=!1;for(var c=this.i(b),d=c/N|0,c=c&262143;!a;)this.j(c,this.i(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*N+c),a||(this.g=(this.g+-1)%M),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.i(b);a+=262145;this.j(a&262143,this.i(this.b));a>=Ua&&(a-=Ua);this.j(b,a)},function(a,b){a=this.i(b);var c=this.i(a&262143);this.j(this.b,c);this.b==b&& -(a=c);a-=262145;0>a&&(a+=Ua);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.h(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.h(b))},function(a,b){b&&this.j(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=a/M|(a&262143)*M;this.j(b,a)},function(a,b){this.j(b,this.b*M)},function(a,b){a=this.h(b);a=a/M|(a&262143)*M;this.j(this.b,a)},function(a,b){a=this.h(this.b);a=a/M|(a&262143)*M;this.j(this.b,a);b&&this.j(b,a)},function(a, +b){this.j(b,cc(this,this.h(this.b)))},function(a,b){this.j(b,this.b?Za-this.b:0)},function(a,b){this.j(this.b,cc(this,this.h(b)))},function(a,b){a=cc(this,this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.h(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.h(b);this.j(b,this.h(this.b));this.j(this.b, +a)},function(a,b){a=!1;for(var c=this.h(b),d=c/M|0,c=c&262143;!a;)this.j(c,this.h(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*M+c),a||bc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.j(a&262143,this.h(this.b));a>=Va&&(a-=Va);this.j(b,a)},function(a,b){a=this.h(b);var c=this.h(a&262143);this.j(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=Va);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,kc,lc,mc,nc,oc,pc,qc,rc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, -X,X,X,X,X,X,X,X,X];function sc(a){B.call(this,"ROM",a);this.N=this.a=null;this.m=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.h=a.file;this.u=na(this.h);if(this.h){a=this.h;var b=oa(this.u);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(Ia(c.ma,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.h=null);tc(c)})}}n(sc,B); -sc.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;tc(this)};sc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.m,this.g,this.N),delete this.N);return!0};sc.prototype.P=function(){return!0}; -function tc(a){if(!Ra(a)){if(a.h){if(!a.a||!a.o)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.m;if(yb(a.o,b,a.g,Gb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ja&&c<=q.$a&&(b=c-(q.Ja-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.s=a;this.o=b;this.f=c;this.v=d;K(this)}; -k.Sa=function(a){if(!this.a){var b=S(this.s,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.la)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.m=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bBc){if(Z(d,this.D)){this.m=new O(this,"1.34.2",Kc);Z(this.m)&&(Lc(this,d),a=Mc,Nc(this.m));this.m.set(Hc,ta());Oc(this.m);var e=this.a&&!this.C;if(a==Ic||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Gc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Pc,""),this.b=null)):this.L(f+": "+g),Nc(d),Z(d)?(c=Gc(d),e=!0):c=!1))}e&&Ec(this,c?d:null)}else a==Mc&&d.clear()}else Ec(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.B=!0;var d=this.l.power;d&&(d.textContent="Shutdown");this.f&&(Qc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Lc(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.h=0}; -function Lc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} -function Rc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Fc),h=ta();g.set(Hc,h);f.set(Hc,h);f.set(Sc,"1.34.2");f.set(Tc,window?window.location.href:null);f.set(Uc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.B=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;K(this)}; +k.Ua=function(a){if(!this.a){var b=S(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bGc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Pc);Z(this.l)&&(Qc(this,d),a=Rc,Sc(this.l));this.l.set(Mc,ta());Tc(this.l);var e=this.a&&!this.B;if(a==Nc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Lc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Uc,""),this.b=null)):this.M(f+": "+g),Sc(d),Z(d)?(c=Lc(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else a==Rc&&d.clear()}else Jc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.f&&(Vc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Qc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0}; +function Qc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} +function Wc(a,b,c){var d,e="none";if(a.i)return null;a.i--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Kc),h=ta();g.set(Mc,h);f.set(Mc,h);f.set(Xc,"1.34.2");f.set(Yc,window?window.location.href:null);f.set(Zc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.C=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.xa+=d))&&(e.textContent=c.c.A?c.M.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.h&8);if(0>=b||60<=(a.C+=b)){e=a.f.g;if(a.l.PC){var f=a.v&&a.v.m||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.l.PC.textContent!=e&&(a.l.PC.textContent=e)}a.C=0}-1>b?a.b=a.f.g:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);bd(a,b,c)}})}else c(a,null)} -function cd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--Zc||A(!0));p=!1}var h,l,p=!0;Zc++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));w.appendChild(la)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?$c(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Zc||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Zc|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?$c(c,b,a,e,!0,f,r):ad(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(dd){g(dd.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return cd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return cd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; +function Q(a,b){if(a.f){var c=a.f,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.B+=b)){e=a.f.i;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.f.i:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);gd(a,b,c)}})}else c(a,null)} +function hd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--dd||A(!0));p=!1}var h,l,p=!0;dd++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],ka=document.createElement("style");ka.type="text/css";ka.styleSheet?ka.styleSheet.cssText=r:ka.appendChild(document.createTextNode(r));w.appendChild(ka)}d|| +(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ed(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--dd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--dd|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ed(c,b,a,e,!0,f,r):fd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(id){g(id.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return hd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return hd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r Date: Fri, 3 Mar 2017 09:01:49 -0800 Subject: [PATCH 08/32] Added some "special considerations" to PDP-10 byte pointer processing --- modules/pdp10/lib/cpuops.js | 84 +++++++++++++--- modules/pdp10/lib/cpustate.js | 8 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 153 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 94 +++++++++--------- 4 files changed, 196 insertions(+), 143 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 75a7fda9c..eed4d7ca3 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -168,19 +168,28 @@ PDP10.opFSC = function(op, acc) * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: * - * Increment the byte pointer in location E as explained above. + * Increment the byte pointer in location E as explained [below]. * - * FROM ABOVE: To facilitate processing a series of bytes, several of the byte instructions increment the pointer, - * ie, modify it so that it points to the next byte position in a set of memory locations. Bytes are processed from - * left to right in a word, so incrementing merely replaces the current value of P by P - S, unless there is - * insufficient space in the present location for another byte of the specified size (P - S < 0). In this case Y is - * increased by one to point to the next consecutive location, and P is set to 36 - S to point to the first byte at - * the left in the new location. + * To facilitate processing a series of bytes, several of the byte instructions increment the + * pointer, ie, modify it so that it points to the next byte position in a set of memory locations. + * Bytes are processed from left to right in a word, so incrementing merely replaces the current value + * of P by P - S, unless there is insufficient space in the present location for another byte of the + * specified size (P - S < 0). In this case Y is increased by one to point to the next consecutive + * location, and P is set to 36 - S to point to the first byte at the left in the new location. * - * CAUTION: Do not allow Y to reach maximum value. The whole pointer is incremented, so if Y is 2^18 - 1 it becomes - * zero and X is also incremented. The address calculation for the pointer uses the original X, but if a priority - * interrupt should occur before the calculation is complete, the incremented X is used when the instruction is - * repeated. + * CAUTION: Do not allow Y to reach maximum value. The whole pointer is incremented, so if Y is 2^18 - 1 + * it becomes zero and X is also incremented. The address calculation for the pointer uses the original X, + * but if a priority interrupt should occur before the calculation is complete, the incremented X is used + * when the instruction is repeated. + * + * SPECIAL CONSIDERATIONS: If S is greater than P and also greater than 36, incrementing produces a new + * P equal to 100 - S rather than 36 - S. For S > 36 the byte is at most the entire word; for P >= 36 no + * byte is processed (loading merely clears AC). If both P and S are less than 36 but P + S > 36, + * a byte of size 36 - P is loaded from position P, or the right 36 - P bits of the byte are deposited + * in position P. + * + * NOTE: Until I can conduct real-world testing, I'm assuming when they say "100 - S", DEC really meant "64 - S", + * which is 100 (base 8), which makes much more sense, since P is limited to a range of 00-77 (base 8). * * @this {CPUStatePDP10} * @param {number} op @@ -188,15 +197,26 @@ PDP10.opFSC = function(op, acc) */ PDP10.opIBP = function(op, acc) { + var inc = 0; var w = this.readWord(this.regEA); var p = (w / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; var s = (w >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; p -= s; if (p < 0) { + inc++; p = 36 - s; - w++; + if (p < 0) p = 64 - s; // see SPECIAL CONSIDERATIONS and NOTE above } + /* + * Since the documentation above makes clear that the effect of the increment (of w) extends past the Y + * bits and into (at least) the X bits, we first re-assemble a new pointer with updated P bits (along with + * the original S bits and the remaining bits covered by PTR_MASK) and then increment as needed. + * + * Yes, PTR_MASK could have included the S bits as well and made the following expression a TINY bit simpler, + * but I would like to keep PTR_MASK distinct from both the P and S fields. + */ w = (p * PDP10.OPCODE.P_SCALE) + (s << PDP10.OPCODE.S_SHIFT) + (w & PDP10.OPCODE.PTR_MASK); + if (inc) w = (w + inc) % PDP10.DATA_LIMIT; this.writeWord(this.regEA, w); }; @@ -210,6 +230,12 @@ PDP10.opIBP = function(op, acc) * and clear the remaining AC bits. The location containing the byte is unaffected, the original contents * of AC are lost. * + * SPECIAL CONSIDERATIONS: If S is greater than P and also greater than 36, incrementing produces a new + * P equal to 100 - S rather than 36 - S. For S > 36 the byte is at most the entire word; for P >= 36 no + * byte is processed (loading merely clears AC). If both P and S are less than 36 but P + S > 36, + * a byte of size 36 - P is loaded from position P, or the right 36 - P bits of the byte are deposited + * in position P. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -238,8 +264,14 @@ PDP10.opILDB = function(op, acc) * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: * * Retrieve a byte of S bits from the location and position specified by the pointer contained in location E, - * load it into the right end of AC, and clear the remaining AC bits. The location containing the byte is unaffected, - * the original contents of AC are lost. + * load it into the right end of AC, and clear the remaining AC bits. The location containing the byte is + * unaffected, the original contents of AC are lost. + * + * SPECIAL CONSIDERATIONS: If S is greater than P and also greater than 36, incrementing produces a new + * P equal to 100 - S rather than 36 - S. For S > 36 the byte is at most the entire word; for P >= 36 no + * byte is processed (loading merely clears AC). If both P and S are less than 36 but P + S > 36, + * a byte of size 36 - P is loaded from position P, or the right 36 - P bits of the byte are deposited + * in position P. * * @this {CPUStatePDP10} * @param {number} op @@ -263,6 +295,11 @@ PDP10.opLDB = function(op, acc) if (p + s <= 32) { w = (w >> p) & ((1 << s) - 1); } else { + /* + * Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are + * over-large, that should be fine, because nothing but additional zero bits will be included (provided + * our memory is working properly and didn't give us more than 36 bits). + */ w = Math.trunc(w / Math.pow(2, p)) % Math.pow(2, s); } this.writeWord(acc, w); @@ -278,6 +315,12 @@ PDP10.opLDB = function(op, acc) * the location and position specified by the newly incremented pointer. The original contents of the bits * that receive the byte are lost, AC and the remaining bits of the deposit location are unaffected. * + * SPECIAL CONSIDERATIONS: If S is greater than P and also greater than 36, incrementing produces a new + * P equal to 100 - S rather than 36 - S. For S > 36 the byte is at most the entire word; for P >= 36 no + * byte is processed (loading merely clears AC). If both P and S are less than 36 but P + S > 36, + * a byte of size 36 - P is loaded from position P, or the right 36 - P bits of the byte are deposited + * in position P. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -309,6 +352,12 @@ PDP10.opIDPB = function(op, acc) * in location E. The original contents of the bits that receive the byte are lost, AC and the remaining * bits of the deposit location are unaffected. * + * SPECIAL CONSIDERATIONS: If S is greater than P and also greater than 36, incrementing produces a new + * P equal to 100 - S rather than 36 - S. For S > 36 the byte is at most the entire word; for P >= 36 no + * byte is processed (loading merely clears AC). If both P and S are less than 36 but P + S > 36, + * a byte of size 36 - P is loaded from position P, or the right 36 - P bits of the byte are deposited + * in position P. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -328,7 +377,12 @@ PDP10.opDPB = function(op, acc) } var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; - var b = (this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p); + /* + * Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are + * over-large, we "mask" the resulting byte value (b) to 36 bits, so that when we re-assemble the final + * result (w), there shouldn't be any overlap or overflow. + */ + var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.DATA_LIMIT; w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p)); this.writeWord(this.regEA, w); this.regPS = -1; diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index c9270a644..736532cc2 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -179,10 +179,10 @@ class CPUStatePDP10 extends CPUPDP10 { this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; /* - * This next two internal regs are used only with byte instructions, to record an active byte - * pointer state (regPS) and pointer address (regPA). + * This next internal reg is used only with byte instructions, to record an active byte + * pointer state (regPS). */ - this.regPS = this.regPA = -1; + this.regPS = -1; /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register @@ -286,7 +286,6 @@ class CPUStatePDP10 extends CPUPDP10 { this.regEA, this.regRA, this.regPS, - this.regPA, this.regOP, this.regPC, this.lastPC, @@ -317,7 +316,6 @@ class CPUStatePDP10 extends CPUPDP10 { this.regEA, this.regRA, this.regPS, - this.regPA, this.regOP, this.regPC, this.lastPC, diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 284de8746..faceea273 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,8 +31,8 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var la=Math.pow(2,36),ma=-Math.pow(2,35),q={dc:0,vb:1,fc:2,gc:3,hc:4,ic:5,jc:6,kc:7,eb:8,lc:9,wb:10,mc:11,nc:12,xb:13,oc:14,pc:15,qc:16,rc:17,sc:18,tc:19,uc:20,vc:21,wc:22,xc:23,yc:24,zc:25,Ac:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,cb:65,cc:66,ec:67,Bc:68,E:69,Cc:70,Dc:71,Ec:72,Fc:73,Gc:74,Hc:75,Ic:76,Jc:77,Kc:78,Lc:79,Mc:80,Q:81, -Nc:82,Oc:83,Pc:84,Qc:85,Rc:86,Sc:87,Tc:88,Uc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Vc:97,Wc:98,Xc:99,d:100,e:101,Yc:102,Zc:103,$c:104,ad:105,bd:106,k:107,cd:108,dd:109,n:110,ed:111,p:112,q:113,r:114,fd:115,t:116,hd:117,jd:118,kd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; +var la=Math.pow(2,36),ma=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, +Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} @@ -41,12 +41,12 @@ function Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function hb(a,b,c){qb[a]&&b&&(qb[a][b]=c)}function rb(){return Date.now()||+new Date} +function ab(a){if(bb)try{for(var b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function gb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function rb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Nb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Fb,toggle:this.Yb,reset:this.Ub, -set:this.Xb};D(this)}p(Vb,v);l=Vb.prototype;l.reset=function(a){this.stop();a&&Xb(this,this.v=0)}; +function Vb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.v=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=Wb;this.B={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, +set:this.Wb};D(this)}p(Vb,v);l=Vb.prototype;l.reset=function(a){this.stop();a&&Xb(this,this.v=0)}; l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Yb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Zb(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){Yb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Zb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;$b(this);ac(this)};l.pa=function(a,b){if(!b)if(this.W&&bc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])cc(this,this.f=a[0]),Xb(this,this.v=a[1]),dc(this,a[2]);return!0};l.Ub=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ac(this);return!0};function ec(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.B)ec(a,c,null!=b?b:a.B[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Fb=function(a,b,c){if(Yb(this,b)){if(c){var d=this;setTimeout(function(){Zb(d,b);a&&a()},+c);return!1}Zb(this,b)}return!0};l.Xb=function(a,b){if("SR"==a)return dc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Yb=function(a){return Yb(this,a)?(Zb(this,a),!0):!1};function Yb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} -function Zb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Ob=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[qc]&&this.b[qc][1]&&rc(this.i))};l.Pb=function(){};l.Jb=function(a){a||this.i.V()}; -l.Hb=function(a){if(!a&&!this.i.j.K)if(this.b[qc]&&this.b[qc][1])rc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),sc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Ec(Fc,e,g)}e=new Ac(a,e,m,16384,d);Bc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+pa(b)),!0):Ec(Hc,b,c)} -function yc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function xc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Cc(a){for(var b=0,c=[],d=0;d>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function xc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Cc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=bd(a)&&(a.ha=a.ja=-1,Yc(a),a.V(),c=!0);c&&a.g(bd(a)+" cycles: checksum="+t(a.ta))}} +l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(rc(this),!0):!1};l.rb=function(){return 0};function Yc(a){void 0===a.ua&&(a.ua=0);void 0===a.ha&&(a.ha=-1);void 0===a.ja&&(a.ja=-1);a.j.Ea=0<=a.ua&&0=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=bd(a)&&(a.ha=a.ja=-1,Yc(a),a.V(),c=!0);c&&a.g(bd(a)+" cycles: checksum="+t(a.ta))}} l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&zd(a.F)}uc(a,a.L);a.L=0;a.J=rb();a.N=0;dd(a);return d}function Ad(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Bd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Cd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Vb=function(){if(this.j.K){this.Aa>=this.Va&&dd(this,!0);this.ka=0;this.sa=rb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=Ad(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Cd(this,!0);this.ka+=b;this.L+=b;vc(this,b);tc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Dd&&(this.F&&I(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),bd(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.lb;this.N=rb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,cd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function rc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{cd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&zd(a.F,!0),a.F.start(a.J,bd(a)));a.A||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Cd(this);uc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var yd=30,Dd=15,Vc=["power","reset"]; -function Ed(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.kb=b;this.hb=+a.addrReset||0;this.Bb=Fd.bind(this);this.b=L.bind(this);this.la=null;this.gb=[];this.j.complete=!1}p(Ed,Uc);l=Ed.prototype;l.reset=function(){this.status("Model "+this.kb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.hb;this.Ra=this.jb=this.za=this.Ab=this.Sa=!1;this.B=this.bb=-1;this.qa=this.u;this.v=0;this.C=this.Rb;this.D=this.bc;this.la=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)}; -l.sb=function(){return 0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.H,this.B,this.bb,this.Ba,this.u,this.ra,this.qa,this.v]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Gd(this));a.set(4,Bd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.H=b.next().value;this.B=b.next().value;this.bb=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.v=b.next().value;b=a[2];this.R=b[0];cd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Ra=this.za=!0);return a};function Id(a,b){b?b==Pb?a.Ra=a.za=!0:b=Qb-b:a.jb=a.za=!0;return b}function Gd(a){var b=[];for(a=a.la;a;)b.push(a.Zb),a=a.next;return b}l.Rb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.bc=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; +l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&dd(this,!0);this.ka=0;this.sa=rb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=Ad(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Cd(this,!0);this.ka+=b;this.L+=b;vc(this,b);tc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Dd&&(this.F&&I(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),bd(this));Cb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=rb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,cd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; +function rc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{cd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&zd(a.F,!0),a.F.start(a.J,bd(a)));a.A||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Cd(this);uc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var yd=30,Dd=15,Vc=["power","reset"]; +function Ed(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Fd.bind(this);this.b=L.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Ed,Uc);l=Ed.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.B=-1;this.qa=this.u;this.v=0;this.C=this.Qb;this.D=this.ac;this.la=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new H(this);a.set(0,[this.f,this.H,this.B,this.Ba,this.u,this.ra,this.qa,this.v]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Gd(this));a.set(4,Bd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.H=b.next().value;this.B=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.v=b.next().value;b=a[2];this.R=b[0];cd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Ra=this.za=!0);return a};function Id(a,b){b?b==Pb?a.Ra=a.za=!0:b=Qb-b:a.ib=a.za=!0;return b}function Gd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; l.Ja=function(a){this.j.complete=!0;var b=this.A?Jd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Kd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.la||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Kd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.H=this.H&4194304?this.C(this.f):this.Ba=this.C(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.C(a)&Lb;this.H&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Ba/Tb|0);0<=a&&this.Bb(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)}function Md(){var a=this.C(this.f),b=a/Ub&63,c=a>>24&63,b=b-c;0>b&&(b=36-c,a++);a=b*Ub+(c<<24)+(a&16777215);this.D(this.f,a)} -function Nd(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;a=32>=c+d?a>>c&(1<this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;b=this.C(b)%Math.pow(2,d)*Math.pow(2,c);a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.D(this.f,a);this.B=-1}} -function Pd(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Qd(a,d,c)+(c-(c&262143)))}function Rd(a,b){var c=this.C(b);this.D(b,Qd(a,c,0))}function Sd(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+(b-(b&262143)))}function Td(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)} -function Vd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Wd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+b)}function Xd(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Qd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function Yd(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Zd(a,c,this.f)+this.f)}function ae(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)} -function be(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function ce(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function de(a,b){var c=this.C(b);this.D(b,Zd(a,c,0))}function ee(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.C(this.f),d=c/F|0,c=Zd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)} -function L(a){this.g("undefined opcode: "+pa(a));Hd(this,-1);this.V()}function Zd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b}function Qd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} +this.H>>18&15)this.f=this.f+this.C(a)&Lb;this.H&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Ba/Tb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)} +function Md(){var a=0,b=this.C(this.f),c=b/Ub&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Ub+(d<<24)+(b&16777215);a&&(b=(b+a)%Mb);this.D(this.f,b)}function Nd(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;a=32>=c+d?a>>c&(1<this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;b=this.C(b)%Math.pow(2,d)*Math.pow(2,c)%Mb;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.D(this.f,a);this.B=-1}}function Pd(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Qd(a,d,c)+(c-(c&262143)))}function Rd(a,b){var c=this.C(b);this.D(b,Qd(a,c,0))}function Sd(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+(b-(b&262143)))} +function Td(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Vd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Wd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+b)}function Xd(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Qd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)} +function Yd(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Zd(a,c,this.f)+this.f)}function ae(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function be(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function ce(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Zd(a,d,c)+c)} +function de(a,b){var c=this.C(b);this.D(b,Zd(a,c,0))}function ee(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.C(this.f),d=c/F|0,c=Zd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)}function L(a){this.g("undefined opcode: "+pa(a));Hd(this,-1);this.V()}function Zd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b} +function Qd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} var Ld=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Md,function(a,b){0>this.B&&Md.call(this);Nd.call(this,0,b)},Nd,function(a,b){0>this.B&&Md.call(this);Od.call(this,0,b)},Od,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.D(b,this.C(this.f))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.C(b))},function(a,b){b&&this.D(b,this.C(this.f))},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(b,a)},function(a,b){this.D(b,this.f*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.D(this.f,a)},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(this.f,a);b&&this.D(b,a)},function(a, @@ -120,38 +121,38 @@ function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a) function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 ge(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(hb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);he(c)})}}p(ge,v); +function ge(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(gb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);he(c)})}}p(ge,v); ge.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.A=d;he(this)};ge.prototype.pa=function(){this.T&&(this.A&&ie(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ge.prototype.fa=function(){return!0}; function he(a){if(!Eb(a)){if(a.v){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Dc(a.G,b,a.u,Lc)){var c;for(c=0;c>>g.f;0>>= g.f;0>>a.f;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.cb&&c<=q.zb&&(b=c-(q.cb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function le(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; -l.ub=function(a){if(!this.b){var b=Wc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.ub(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} function qe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} function P(a,b,c){var d;if(b){b=re(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} function ve(a,b){if(b)return ue(a,b,a.W[b]);var c=0;for(b in a.W)ue(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function we(a){oe.call(this,a);this.ya=!1;this.la=!0;this.va=Q();this.L=Q(0);this.ja=Q(0);this.ba=Q(0);this.H=[];this.b=this.M=this.J=[];xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ye(this);this.A=this;this.qa={};this.X=this.ob=0;this.S=null;this.O=[];ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ad(b,a)}):void 0===global[B]&&(global[B]=function(a){return ad(b, -a)})}p(we,oe);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,rb:void 0===b?!1:b,ea:!1,ca:c}}function Ae(a,b,c,d){a.w=b;a.rb=c||!1;a.ea=!1;a.ca=d}function Be(a){return[a.w,a.rb,a.ca,a.ea,a.Oa]}function Ce(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.mb=pe(a,c.Oa=b[4]));return c}l=we.prototype; +function we(a){oe.call(this,a);this.ya=!1;this.la=!0;this.va=Q();this.L=Q(0);this.ja=Q(0);this.ba=Q(0);this.H=[];this.b=this.M=this.J=[];xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ye(this);this.A=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ad(b,a)}):void 0===global[B]&&(global[B]=function(a){return ad(b, +a)})}p(we,oe);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Ae(a,b,c,d){a.w=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Be(a){return[a.w,a.qb,a.ca,a.ea,a.Oa]}function Ce(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=pe(a,c.Oa=b[4]));return c}l=we.prototype; l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Wc(a,"messages"))&&ze(this,a);De(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Gc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} l.Da=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Mf(this,a,a.length-1,"set"),ye(this)));return d};function Lf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.f],b==a.J));h.ea||ye(a);break}}return g} function Nf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);Ae(e.va,d);g+="="+K(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ke?1:d==Ie?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.pb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({gd:b,w:c,Gb:d,T:e,nb:g})}function Qf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Gb;if(e>=f&&ed;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);Ae(e.va,d);g+="="+K(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ke?1:d==Ie?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,w:c,Fb:d,T:e,mb:g})}function Qf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.w=m.w;h.ea=m.ea;h.ca=m.ca;a.g(Ef(a,b,f,g));e-=b.w-k;c++}}} function Of(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(zf+b):(a.P&&(a.g("ended assemble at "+K(a,a.ba.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Jf&&(gd="B");if(wg==Kf[Ve]+gd){Ue=29248!=fc?Ja:(Ja&3)<<1|(Ja&12)<<2;y=(fd|Ue<<6)*Rb;break}}if(0<= -y)break}if(0<=y)break}if(0<=y)if(Se)for(var hd=Se.split(","),gb=0;gbE||127E||15E||262143< -E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var md=[];"call"==af&&(ib=1E5,md=["CALL"]);for(void 0!==$e&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;cf++;ib--}}cf||(a.g("no "+bf+"history available"),a.sa=void 0)}else{var Pa=T(a,W,a.ja);if(Pa){var ta=0,ff="ds"==Ma;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||zg,ta=se(a,ia);else{var gf=T(a,ia);gf&&(ta=gf.w-Pa.w)}0>ta&&(ta=0);65536lf;lf++)jf+=String.fromCharCode((hc%64|0)+32),hc/=64}ua&&(ua+="\n");ua=ff?ua+(va+","):ua+(W+": "+va+(0>kf?" "+jf:""))}ua&&a.g(ua);a.ca=Bg}}}}break;case "e":if("else"==f[0])break;var mf,nf,of=f[0],pd=f[1];"e"==of||"ew"==of?(mf=a.xa,nf=a.fb):pd=null;if(null==pd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var ic=T(a,pd,a.ja);if(ic)for(var jc=2;jctd;){for(var wa=null,Fg=256;65536>lb.w>>>0;){ud.w=a.xa(lb,2);if(null==lb.w||!Fg--)break;if(!(ud.w&1)){for(var Gg=a,kc=ud,qf=null,mb=kc.w,rf=mb,vd=1;6>=vd&&mb;vd++){if(2xf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var yf=Q(a.i.u);a.xa(yf);a.N?(a.Da(a.b,yf,!0),Qe(a)||(a.F&&zd(a.F),a.N=0)):Vf(a,xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Bf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ob=+f[2];if(8==ob||10==ob||16== -ob)a.ca=ob;else{a.g("invalid base: "+ob);break}}a.g("default base: "+a.ca);break;case "cs":var pb;void 0!==f[3]&&(pb=+f[3]);switch(f[2]){case "int":a.i.ha=pb;break;case "start":a.i.ua=pb;break;case "stop":a.i.ja=pb;break;default:a.g("unknown cs option");break a}void 0!==pb&&Yc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+"Mhz")+" ("+a.i.aa+ +f[1],a.ba);if(r){var z=f[2];if(void 0==z)a.g("begin assemble at "+K(a,r.w)),a.P=!0,I(a.F);else{f.shift();f.shift();f.shift();var U,Se=f.join(""),y=-1,fc,wg=z.toUpperCase(),ed;for(ed in Ff){var Ja;fc=+ed;var Te=Ff[ed];switch(fc){case 32512:Ja=Gf;break;case 32256:Ja=Hf;break;case 29248:Ja=If;break;default:Ja=[""]}var Ue,fd;for(fd in Te){for(var Ve=Te[fd],Ka=0;KaJf&&(gd="B");if(wg==Kf[Ve]+gd){Ue=29248!=fc?Ka:(Ka&3)<<1|(Ka&12)<<2;y=(fd|Ue<<6)*Rb;break}}if(0<= +y)break}if(0<=y)break}if(0<=y)if(Se)for(var hd=Se.split(","),hb=0;hbE||127E||15E||262143< +E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var md=[];"call"==af&&(jb=1E5,md=["CALL"]);for(void 0!==$e&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;cf++;jb--}}cf||(a.g("no "+bf+"history available"),a.sa=void 0)}else{var Qa=T(a,W,a.ja);if(Qa){var ta=0,ff="ds"==Na;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||zg,ta=se(a,ia);else{var gf=T(a,ia);gf&&(ta=gf.w-Qa.w)}0>ta&&(ta=0);65536lf;lf++)jf+=String.fromCharCode((hc%64|0)+32),hc/=64}ua&&(ua+="\n");ua=ff?ua+(va+","):ua+(W+": "+va+(0>kf?" "+jf:""))}ua&&a.g(ua);a.ca=Bg}}}}break;case "e":if("else"==f[0])break;var mf,nf,of=f[0],pd=f[1];"e"==of||"ew"==of?(mf=a.xa,nf=a.eb):pd=null;if(null==pd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var ic=T(a,pd,a.ja);if(ic)for(var jc=2;jctd;){for(var wa=null,Fg=256;65536>mb.w>>>0;){ud.w=a.xa(mb,2);if(null==mb.w||!Fg--)break;if(!(ud.w&1)){for(var Gg=a,kc=ud,qf=null,nb=kc.w,rf=nb,vd=1;6>=vd&&nb;vd++){if(2xf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var yf=Q(a.i.u);a.xa(yf);a.N?(a.Da(a.b,yf,!0),Qe(a)||(a.F&&zd(a.F),a.N=0)):Vf(a,xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Bf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var pb=+f[2];if(8==pb||10==pb||16== +pb)a.ca=pb;else{a.g("invalid base: "+pb);break}}a.g("default base: "+a.ca);break;case "cs":var qb;void 0!==f[3]&&(qb=+f[3]);switch(f[2]){case "int":a.i.ha=qb;break;case "start":a.i.ua=qb;break;case "stop":a.i.ja=qb;break;default:a.g("unknown cs option");break a}void 0!==qb&&Yc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+"Mhz")+" ("+a.i.aa+ "x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":Vf(a,f[0],f[1]);break;case "u":Cf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Sf(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ -" version 1.34.2 ("+a.i.kb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Uf(a,b.substr(1));break}var wd="commands:",xd;for(xd in Xf)wd+="\n"+Ba(xd,9)+Xf[xd];Jd(a)||(wd+="\nnote: history disabled if no exec breakpoints");a.g(wd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Af){a.g("debugger error: "+(Af.stack||Af.message)),d=!1}return d}function ad(a,b,c){b=pe(a,b,c);for(var d in b)if(!Of(a,b[+d]))return!1;return!0} +" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Uf(a,b.substr(1));break}var wd="commands:",xd;for(xd in Xf)wd+="\n"+Ba(xd,9)+Xf[xd];Jd(a)||(wd+="\nnote: history disabled if no exec breakpoints");a.g(wd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Af){a.g("debugger error: "+(Af.stack||Af.message)),d=!1}return d}function ad(a,b,c){b=pe(a,b,c);for(var d in b)if(!Of(a,b[+d]))return!1;return!0} var Xf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Jf=20,Kf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), He=0,Ie=1,Je=2,Ke=3,Le=4,Me=5,Ne=6,Oe=7,Ge="PC RA EA C0 C1 OV ND PD".split(" "),Yf={},Ff=(Yf[28672]={0:101},Yf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Yf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Jf,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Yf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Yf[29248]={24576:79,24640:80,25088:81,25152:82},Yf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, @@ -200,9 +201,9 @@ delete this.J);!b&&this.b&&(b=dg(this))&&(this.L=!0);if(b){var f=this;Fa(b,null, function Wc(a,b,c,d){var e=b.toLowerCase(),e=Ua(b)||Ua(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function eg(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var g=ebg){if(cg(d,this.M)){this.B=new H(this,"1.34.2",lg);cg(this.B)&&(mg(this,d),a=ng,og(this.B));this.B.set(ig,Ea());pg(this.B);var e=this.b&&!this.L;if(a==jg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?cg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Sa(qg,""),this.f=null)):this.g(g+": "+f),og(d),cg(d)?(c=hg(d),e=!0):c=!1))}e&&fg(this,c?d:null)}else a==ng&&d.clear()}else fg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(rg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; +f?(this.da("Error: "+f),"unable to verify user"==f&&(Sa(qg,""),this.f=null)):this.g(g+": "+f),og(d),cg(d)?(c=hg(d),e=!0):c=!1))}e&&fg(this,c?d:null)}else a==ng&&d.clear()}else fg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(rg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; function mg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} function Wf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",gg),h=Ea();f.set(ig,h);g.set(ig,h);g.set(sg,"1.34.2");g.set(tg,window?window.location.href:null);g.set(ug,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;kf.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +function Og(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(gb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],f);Pg(a,b,c)}})}else c(a,null)} -function Qg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Mg||cb(!0));m=!1}var h,k,m=!0;Mg++;qb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ng(d,null,a,null,!1,g,function(a,e){e?(hb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Mg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Mg|| +function Qg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Mg||cb(!0));m=!1}var h,k,m=!0;Mg++;ib[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ng(d,null,a,null,!1,g,function(a,e){e?(gb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Mg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Mg|| cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ng(c,b,a,e,!0,g,n):Og(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Qg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Qg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Db:0,Wa:1,Fb:2,Gb:3,Hb:4,Ib:5,Jb:6,Kb:7,La:8,Lb:9,Xa:10,Mb:11,Nb:12,Ya:13,Ob:14,Pb:15,Qb:16,Rb:17,Sb:18,Tb:19,Ub:20,Vb:21,Wb:22,Xb:23,Yb:24,Zb:25,$b:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ka:65,Cb:66,Eb:67,ac:68,E:69,bc:70,cc:71,dc:72,ec:73,fc:74,gc:75,hc:76,ic:77,jc:78,kc:79,lc:80,Q:81, -mc:82,nc:83,oc:84,pc:85,qc:86,rc:87,sc:88,tc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,uc:97,vc:98,wc:99,d:100,e:101,xc:102,yc:103,zc:104,Ac:105,Bc:106,k:107,Cc:108,Dc:109,n:110,Ec:111,p:112,q:113,r:114,Fc:115,t:116,Gc:117,Hc:118,Ic:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Za:127}; -function la(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12":62,"?":63,"@":64,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, +lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; +function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 v(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, @@ -44,7 +44,7 @@ function u(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function y(a){z.init.push(a)} function Da(a){if(Ea)try{for(var b=0;ba?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.f=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.Ua=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.f=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.mb,a];this.v=this.f=this.o=this.u=null;this.exports={hold:this.fb,toggle:this.xb,reset:this.tb, -set:this.wb};K(this)}n(bb,B);k=bb.prototype;k.reset=function(a){this.stop();a&&N(this,this.i=0)}; +var I="pdp10",L="PDPjs",Ta=Math.pow(2,18),Ua=Math.pow(2,18)-1,M=Math.pow(2,36),N=Math.pow(2,18),Va=Math.pow(2,17)-1,Wa=Math.pow(2,35)-1,Xa=Math.pow(2,35),Ya=Math.pow(2,36),Za=Math.pow(2,23),$a=Math.pow(2,30),I="pdp10",L="PDPjs"; +function ab(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.g=this.i=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=bb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.f=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +set:this.vb};K(this)}n(ab,B);k=ab.prototype;k.reset=function(a){this.stop();a&&cb(this,this.i=0)}; k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a, b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;fb(this);gb(this)};k.V=function(a,b){if(!b)if(this.R&&hb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.i,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])ib(this,this.b=a[0]),N(this,this.i=a[1]),jb(this,a[2]);return!0};k.tb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}gb(this);return!0};function kb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.l)kb(a,c,null!=b?b:a.l[c])}function lb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.a)lb(a,b,a.a[b][1])} -k.fb=function(a,b,c){if(db(this,b)){if(c){var d=this;setTimeout(function(){eb(d,b);a&&a()},+c);return!1}eb(this,b)}return!0}; -k.wb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.i++;b=c.o(b&16383,b);a.i--;a=b}else a=this.f.h(this.b);N(this,this.i=a)}};k.lb=function(a){a||this.f.c.A||ib(this,this.g)};k.kb=function(a){a?(this.s=!0,fb(this,!0)):(this.s=!1,fb(this),jb(this,0))};k.mb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<>>a.b];a.i++;b=c.o(b&16383,b);a.i--;a=b}else a=this.f.h(this.b);cb(this,this.i=a)}};k.kb=function(a){a||this.f.c.A||ib(this,this.g)};k.jb=function(a){a?(this.s=!0,fb(this,!0)):(this.s=!1,fb(this),jb(this,0))};k.lb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Ab(Bb,e,f)}e=new R(a,e,p,16384,d);xb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Cb[d]+" at "+ma(b)),!0):Ab(Db,b,c)}function vb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.i++;d.m(c,b&16383,b);a.i--} -function yb(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Sb(a)&&(a.fa=a.ga=-1,Rb(a),P(a),c=!0);c&&a.M(Sb(a)+" cycles: checksum="+t(a.oa))}} +k.V=function(a,b){var c=S(this.u,"autoStart");null!=c?this.c.J="true"==c?!0:"false"==c?!1:!!c:null==this.c.J&&(this.c.J=void 0===this.m.run);if(!b){if(a){Qb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.status("No debugger detected");this.c.J||this.M("CPU will not be auto-started "+(this.la?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.c.A?!0:this.c.J?(qb(this),!0):!1};k.Sa=function(){return 0}; +function Rb(a){void 0===a.pa&&(a.pa=0);void 0===a.fa&&(a.fa=-1);void 0===a.ga&&(a.ga=-1);a.c.ta=0<=a.pa&&0=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Sb(a)&&(a.fa=a.ga=-1,Rb(a),P(a),c=!0);c&&a.M(Sb(a)+" cycles: checksum="+t(a.oa))}} k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}sb(a,a.B);a.B=0;a.w=D();a.G=0;Ub(a)}function Wb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Xb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.ub=function(){if(this.c.A){this.qa>=this.Da&&Ub(this,!0);this.da=0;this.ea=D();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Xb(this,!0);this.da+=b;this.B+=b;tb(this,b);rb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=Yb&&(this.u&&Q(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){P(this); +k.tb=function(){if(this.c.A){this.qa>=this.Da&&Ub(this,!0);this.da=0;this.ea=D();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Xb(this,!0);this.da+=b;this.B+=b;tb(this,b);rb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=Yb&&(this.u&&Q(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){P(this); this.u&&this.u.stop(D(),Sb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=D();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Tb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; function qb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Tb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Sb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function P(a){var b=!1;if(a.c.A){Xb(a);sb(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(D(),Sb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Vb=30,Yb=15,Pb=["power","reset"]; -function Zb(a){var b=+a.model||1001;Ob.call(this,a,1E6);this.bb=b;this.Na=+a.addrReset||0;this.Va=$b.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(Zb,Ob);k=Zb.prototype;k.reset=function(){this.status("Model "+this.bb);this.c.A&&P(this);this.b=this.s=this.ra=0;this.i=this.Aa=this.Na;this.Pa=this.$a=this.za=!1;this.l=this.Ra=-1;this.ka=this.i;this.g=0;this.h=this.qb;this.j=this.Bb;this.ja=null;Qb(this);this.c.error=!1;Ob.prototype.reset.call(this)};k.Ta=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.s,this.l,this.Ra,this.ra,this.i,this.Aa,this.ka,this.g]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,ac(this));a.set(4,Wb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.Ra=b.next().value;this.ra=b.next().value;this.i=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.L=b[0];Tb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dXa&&(a!=Ya?a=Za-a:this.Pa=this.za=!0);return a};function cc(a,b){b?b==Ya?a.Pa=a.za=!0:b=Za-b:a.$a=a.za=!0;return b}function ac(a){var b=[];for(a=a.ja;a;)b.push(a.yb),a=a.next;return b}k.qb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.g)>>>b.b].h(a&16383,a)};k.Bb=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; -k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.v.i(this.i,b)){P(this);break}if(0>b)break}this.g&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.i);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Ua;this.s&4194304?a=-1:(this.i=(this.i+1)%Ta,a=this.ra/$a|0);0<=a&&this.Va(a)}while(0< -this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function ec(){var a=this.h(this.b),b=a/ab&63,c=a>>24&63,b=b-c;0>b&&(b=36-c,a++);a=b*ab+(c<<24)+(a&16777215);this.j(this.b,a)} -function fc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/ab&63,d=this.l>>24&63;a=32>=c+d?a>>c&(1<this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/ab&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c);a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.b,a);this.l=-1}} -function hc(a,b){var c=this.h(this.b),d=this.h(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function ic(a,b){var c=this.h(b);this.j(b,V(a,c,0))}function jc(a,b){b=this.h(b);var c=this.h(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))}function kc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Xa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function lc(a,b){var c=(this.h(this.b)&262143)*M,d=this.h(b);this.j(b,V(a,d,c)+c)} -function mc(a,b){var c=this.b*M,d=this.h(b);this.j(b,V(a,d,c)+c)}function nc(a,b){b=(this.h(b)&262143)*M;var c=this.h(this.b);this.j(this.b,V(a,c,b)+b)}function oc(a,b){var c=this.h(this.b),d=(c&262143)*M,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function pc(a,b){var c=this.h(this.b)&262143,d=this.h(b);this.j(b,W(a,d,c)+c)}function qc(a,b){var c=this.h(b);this.j(b,W(a,c,this.b)+this.b)}function rc(a,b){b=this.h(b)&262143;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)} -function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*M;break;case 384:d+=c>Wa?262143*M:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function tc(a,b){var c=this.h(this.b)/M|0,d=this.h(b);this.j(b,W(a,d,c)+c)}function uc(a,b){var c=this.h(b);this.j(b,W(a,c,0))}function vc(a,b){b=this.h(b)/M|0;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=c/M|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)} -function T(a){this.M("undefined opcode: "+ma(a));bc(this);P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*M;break;case 384:b=c>Wa?262143*M:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Xa?262143:0}return b} +function Zb(a){var b=+a.model||1001;Ob.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=$b.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(Zb,Ob);k=Zb.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&P(this);this.b=this.s=this.ra=0;this.i=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.i;this.g=0;this.h=this.pb;this.j=this.Ab;this.ja=null;Qb(this);this.c.error=!1;Ob.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new O(this);a.set(0,[this.b,this.s,this.l,this.ra,this.i,this.Aa,this.ka,this.g]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,ac(this));a.set(4,Wb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.i=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.L=b[0];Tb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dWa&&(a!=Xa?a=Ya-a:this.Pa=this.za=!0);return a};function cc(a,b){b?b==Xa?a.Pa=a.za=!0:b=Ya-b:a.Za=a.za=!0;return b}function ac(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.g)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; +k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.v.i(this.i,b)){P(this);break}if(0>b)break}this.g&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.i);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Ua;this.s&4194304?a=-1:(this.i=(this.i+1)%Ta,a=this.ra/Za|0);0<=a&&this.bb(a)}while(0< +this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function ec(){var a=0,b=this.h(this.b),c=b/$a&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$a+(d<<24)+(b&16777215);a&&(b=(b+a)%M);this.j(this.b,b)} +function fc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;a=32>=c+d?a>>c&(1<this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%M;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.b,a);this.l=-1}} +function hc(a,b){var c=this.h(this.b),d=this.h(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function ic(a,b){var c=this.h(b);this.j(b,V(a,c,0))}function jc(a,b){b=this.h(b);var c=this.h(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))}function kc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function lc(a,b){var c=(this.h(this.b)&262143)*N,d=this.h(b);this.j(b,V(a,d,c)+c)} +function mc(a,b){var c=this.b*N,d=this.h(b);this.j(b,V(a,d,c)+c)}function nc(a,b){b=(this.h(b)&262143)*N;var c=this.h(this.b);this.j(this.b,V(a,c,b)+b)}function oc(a,b){var c=this.h(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function pc(a,b){var c=this.h(this.b)&262143,d=this.h(b);this.j(b,W(a,d,c)+c)}function qc(a,b){var c=this.h(b);this.j(b,W(a,c,this.b)+this.b)}function rc(a,b){b=this.h(b)&262143;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)} +function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function tc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.j(b,W(a,d,c)+c)}function uc(a,b){var c=this.h(b);this.j(b,W(a,c,0))}function vc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=c/N|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)} +function T(a){this.M("undefined opcode: "+ma(a));bc(this);P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} var dc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ec,function(a,b){0>this.l&&ec.call(this);fc.call(this,0,b)},fc,function(a,b){0>this.l&&ec.call(this);gc.call(this,0,b)},gc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.h(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.h(b))},function(a,b){b&&this.j(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=a/M|(a&262143)*M;this.j(b,a)},function(a,b){this.j(b,this.b*M)},function(a,b){a=this.h(b);a=a/M|(a&262143)*M;this.j(this.b,a)},function(a,b){a=this.h(this.b);a=a/M|(a&262143)*M;this.j(this.b,a);b&&this.j(b,a)},function(a, -b){this.j(b,cc(this,this.h(this.b)))},function(a,b){this.j(b,this.b?Za-this.b:0)},function(a,b){this.j(this.b,cc(this,this.h(b)))},function(a,b){a=cc(this,this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.h(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.h(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.h(b))},function(a,b){b&&this.j(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(b,a)},function(a,b){this.j(b,this.b*N)},function(a,b){a=this.h(b);a=a/N|(a&262143)*N;this.j(this.b,a)},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(this.b,a);b&&this.j(b,a)},function(a, +b){this.j(b,cc(this,this.h(this.b)))},function(a,b){this.j(b,this.b?Ya-this.b:0)},function(a,b){this.j(this.b,cc(this,this.h(b)))},function(a,b){a=cc(this,this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.h(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.h(b);this.j(b,this.h(this.b));this.j(this.b, -a)},function(a,b){a=!1;for(var c=this.h(b),d=c/M|0,c=c&262143;!a;)this.j(c,this.h(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*M+c),a||bc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.j(a&262143,this.h(this.b));a>=Va&&(a-=Va);this.j(b,a)},function(a,b){a=this.h(b);var c=this.h(a&262143);this.j(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=Va);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&262143;!a;)this.j(c,this.h(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*N+c),a||bc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.j(a&262143,this.h(this.b));a>=M&&(a-=M);this.j(b,a)},function(a,b){a=this.h(b);var c=this.h(a&262143);this.j(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=M);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, @@ -124,11 +124,11 @@ c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);zc(c)})}}n(Y,B);Y.prototype.Z=fun function zc(a){if(a.o&&(!a.i&&a.g&&(zb(a.o,a.b,a.g,1)?a.i=!0:a.g=0),!Ra(a))){if(!a.i)x("No RAM allocated");else if(a.a){if(!a.Y)return;Ac(a,a.Y,a.T,a.S,a.b)?a.status('Loaded image "'+a.l+'"'):a.F('Error loading image "'+a.l+'"')}a.s=!0;K(a)}} Y.prototype.reset=function(){if(this.i&&!this.s){for(var a=this.o,b=this.b,c=this.g,d=b&16383,b=b>>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function Bc(a){B.call(this,"SerialPort",a);this.i=a.upperCase;"string"==typeof this.i&&(this.i="true"==this.i);this.g=!0;this.b=[];var b=a.binding;if("console"!=b){var c;a=Cc;b&&(void 0===c&&(c="Panel"),(c=F(c,this.id))&&(b=c.m[b])&&this.U(null,a,b))}this.a=this.l=null;this.exports={connect:this.Ta,receiveData:this.va,receiveStatus:this.rb,setConnection:this.ub}}n(Bc,B);k=Bc.prototype; +k.U=function(a,b,c){var d=this;switch(b){case Cc:return this.m[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.La:q.Ya:46==c?b=q.La:a.ctrlKey&&c>=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;K(this)}; -k.Ua=function(a){if(!this.a){var b=S(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bGc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Pc);Z(this.l)&&(Qc(this,d),a=Rc,Sc(this.l));this.l.set(Mc,ta());Tc(this.l);var e=this.a&&!this.B;if(a==Nc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Lc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Uc,""),this.b=null)):this.M(f+": "+g),Sc(d),Z(d)?(c=Lc(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else a==Rc&&d.clear()}else Jc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.f&&(Vc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Qc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0}; +k.Ra=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.f&&(Vc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Qc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0}; function Qc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} function Wc(a,b,c){var d,e="none";if(a.i)return null;a.i--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Kc),h=ta();g.set(Mc,h);f.set(Mc,h);f.set(Xc,"1.34.2");f.set(Yc,window?window.location.href:null);f.set(Zc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.C=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.B+=b)){e=a.f.i;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.f.i:0=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.B+=b)){e=a.f.i;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.f.i:0).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);gd(a,b,c)}})}else c(a,null)} -function hd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--dd||A(!0));p=!1}var h,l,p=!0;dd++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],ka=document.createElement("style");ka.type="text/css";ka.styleSheet?ka.styleSheet.cssText=r:ka.appendChild(document.createTextNode(r));w.appendChild(ka)}d|| +function hd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--dd||A(!0));p=!1}var h,l,p=!0;dd++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));w.appendChild(la)}d|| (r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ed(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--dd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--dd|| A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ed(c,b,a,e,!0,f,r):fd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(id){g(id.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return hd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return hd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r Date: Fri, 3 Mar 2017 11:30:34 -0800 Subject: [PATCH 09/32] Started work on PDP-10 logical operations --- modules/pdp10/lib/cpuops.js | 356 +++++++++++++-------------- modules/pdp10/lib/debugger.js | 10 +- modules/pdp10/lib/defines.js | 10 +- modules/pdp10/lib/memory.js | 2 +- modules/pdp10/lib/panel.js | 2 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 370 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 221 ++++++++--------- 7 files changed, 468 insertions(+), 503 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index eed4d7ca3..559290aa4 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -216,7 +216,7 @@ PDP10.opIBP = function(op, acc) * but I would like to keep PTR_MASK distinct from both the P and S fields. */ w = (p * PDP10.OPCODE.P_SCALE) + (s << PDP10.OPCODE.S_SHIFT) + (w & PDP10.OPCODE.PTR_MASK); - if (inc) w = (w + inc) % PDP10.DATA_LIMIT; + if (inc) w = (w + inc) % PDP10.WORD_LIMIT; this.writeWord(this.regEA, w); }; @@ -293,7 +293,12 @@ PDP10.opLDB = function(op, acc) var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; if (p + s <= 32) { - w = (w >> p) & ((1 << s) - 1); + /* + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + w = ((w >> p) & ((1 << s) - 1)) >>> 0; } else { /* * Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are @@ -382,7 +387,7 @@ PDP10.opDPB = function(op, acc) * over-large, we "mask" the resulting byte value (b) to 36 bits, so that when we re-assemble the final * result (w), there shouldn't be any overlap or overflow. */ - var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.DATA_LIMIT; + var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.WORD_LIMIT; w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p)); this.writeWord(this.regEA, w); this.regPS = -1; @@ -782,6 +787,8 @@ PDP10.opFDVRB = function(op, acc) * * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * + * Equivalents: opSETM(0o414000) and opSETMB(0o417000) + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -803,6 +810,8 @@ PDP10.opMOVE = function(op, acc) * * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * + * Equivalents: opSETMI(0o415000) + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -822,6 +831,8 @@ PDP10.opMOVEI = function(op, acc) * * NOTE: This is a "Memory" mode instruction: the source is [A] and the destination is [E] (opposite of "Basic"). * + * Equivalents: opSETAM(0o426000) and opSETAB(0o427000). + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc @@ -869,7 +880,7 @@ PDP10.opMOVES = function(op, acc) PDP10.opMOVS = function(op, acc) { var src = this.readWord(this.regEA); - src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT); this.writeWord(acc, src); }; @@ -891,7 +902,7 @@ PDP10.opMOVS = function(op, acc) */ PDP10.opMOVSI = function(op, acc) { - this.writeWord(acc, this.regEA * PDP10.WORD_SHIFT); + this.writeWord(acc, this.regEA * PDP10.HALF_SHIFT); }; /** @@ -911,7 +922,7 @@ PDP10.opMOVSI = function(op, acc) PDP10.opMOVSM = function(op, acc) { var src = this.readWord(acc); - src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT); this.writeWord(this.regEA, src); }; @@ -932,7 +943,7 @@ PDP10.opMOVSM = function(op, acc) PDP10.opMOVSS = function(op, acc) { var src = this.readWord(this.regEA); - src = (src / PDP10.WORD_SHIFT) | ((src & PDP10.WORD_MASK) * PDP10.WORD_SHIFT); + src = ((src / PDP10.HALF_SHIFT)|0) + ((src % PDP10.HALF_SHIFT) * PDP10.HALF_SHIFT); this.writeWord(this.regEA, src); if (acc) this.writeWord(acc, src) }; @@ -1475,19 +1486,19 @@ PDP10.opBLT = function(op, acc) { var fDone = false; var addrDst = this.readWord(acc); - var addrSrc = (addrDst / PDP10.WORD_SHIFT)|0; - addrDst &= PDP10.WORD_MASK; + var addrSrc = (addrDst / PDP10.HALF_SHIFT)|0; + addrDst &= PDP10.HALF_MASK; while (!fDone) { this.writeWord(addrDst, this.readWord(addrSrc)); if (addrDst == this.regEA) fDone = true; - addrSrc = (addrSrc + 1) & PDP10.WORD_MASK; - addrDst = (addrDst + 1) & PDP10.WORD_MASK; + addrSrc = (addrSrc + 1) & PDP10.HALF_MASK; + addrDst = (addrDst + 1) & PDP10.HALF_MASK; if (!this.isRunning()) { /* * Since the CPU isn't currently running, the CPU is presumably being stepped, so we'll treat that the * same as the "priority interrupt" condition described above, update the accumulator, rewind the PC, and leave. */ - this.writeWord(acc, addrSrc * PDP10.WORD_SHIFT + addrDst); + this.writeWord(acc, addrSrc * PDP10.HALF_SHIFT + addrDst); if (!fDone) this.advancePC(-1); fDone = true; } @@ -1602,18 +1613,18 @@ PDP10.opPUSH = function(op, acc) * This is the behavior that is clearly documented by DEC. */ p += 0o000001000001; - this.writeWord(p & PDP10.WORD_MASK, this.readWord(this.regEA)); - if (p >= PDP10.DATA_LIMIT) p -= PDP10.DATA_LIMIT; - if (!((p / PDP10.WORD_SHIFT) | 0)) this.fPDOverflow = true; + this.writeWord(p & PDP10.HALF_MASK, this.readWord(this.regEA)); + if (p >= PDP10.WORD_LIMIT) p -= PDP10.WORD_LIMIT; + if (!((p / PDP10.HALF_SHIFT)|0)) this.fPDOverflow = true; } else { /* * This is the SIMH behavior, which appears to increment each half of AC independently. */ - var addr = (p + 1) & PDP10.WORD_MASK; + var addr = (p + 1) & PDP10.HALF_MASK; this.writeWord(addr, this.readWord(this.regEA)); - p = (p + 0o000001000000) - (p & PDP10.WORD_MASK) + addr; - if (p >= PDP10.DATA_LIMIT) { - p -= PDP10.DATA_LIMIT; + p = (p + 0o000001000000) - (p & PDP10.HALF_MASK) + addr; + if (p >= PDP10.WORD_LIMIT) { + p -= PDP10.WORD_LIMIT; this.fPDOverflow = true; } } @@ -1639,12 +1650,12 @@ PDP10.opPUSH = function(op, acc) PDP10.opPOP = function(op, acc) { var p = this.readWord(acc); - var src = this.readWord(p & PDP10.WORD_MASK); + var src = this.readWord(p & PDP10.HALF_MASK); this.writeWord(this.regEA, src); if (this.regEA == acc) p = src; // this avoids re-reading the accumulator if the write just overwrote it p -= 0o000001000001; - if (p < 0) p += PDP10.DATA_LIMIT; - if (((p / PDP10.WORD_SHIFT) | 0) == PDP10.WORD_MASK) this.fPDOverflow = true; + if (p < 0) p += PDP10.WORD_LIMIT; + if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.fPDOverflow = true; this.writeWord(acc, p); }; @@ -2573,7 +2584,7 @@ PDP10.opSOSG = function(op, acc) }; /** - * opSETZ(0o400000) + * opSETZ(0o400000) and opSETZI(0o401000) * * @this {CPUStatePDP10} * @param {number} op @@ -2581,19 +2592,7 @@ PDP10.opSOSG = function(op, acc) */ PDP10.opSETZ = function(op, acc) { - this.opUndefined(op); -}; - -/** - * opSETZI(0o401000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETZI = function(op, acc) -{ - this.opUndefined(op); + this.writeWord(acc, 0); }; /** @@ -2605,7 +2604,7 @@ PDP10.opSETZI = function(op, acc) */ PDP10.opSETZM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, 0); }; /** @@ -2617,55 +2616,66 @@ PDP10.opSETZM = function(op, acc) */ PDP10.opSETZB = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, 0); + this.writeWord(this.regEA, 0); }; /** * opAND(0o404000) * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand ([E]) and [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opAND = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA))); }; /** * opANDI(0o405000) * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand (E) and [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opANDI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.regEA)); }; /** * opANDM(0o406000) * + * Change the contents of the destination specified by M ([E]) to the AND function of the specified operand ([E]) and [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opANDM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA))); }; /** * opANDB(0o407000) * + * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the specified operand ([E]) and [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opANDB = function(op, acc) { - this.opUndefined(op); + var result = PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)); + this.writeWord(this.regEA, result); + this.writeWord(acc, result); }; /** @@ -2716,54 +2726,6 @@ PDP10.opANDCAB = function(op, acc) this.opUndefined(op); }; -/** - * opSETM(0o414000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETM = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETMI(0o415000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETMI = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETMM(0o416000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETMM = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETMB(0o417000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETMB = function(op, acc) -{ - this.opUndefined(op); -}; - /** * opANDCM(0o420000) * @@ -2812,54 +2774,6 @@ PDP10.opANDCMB = function(op, acc) this.opUndefined(op); }; -/** - * opSETA(0o424000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETA = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETAI(0o425000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETAI = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETAM(0o426000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETAM = function(op, acc) -{ - this.opUndefined(op); -}; - -/** - * opSETAB(0o427000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETAB = function(op, acc) -{ - this.opUndefined(op); -}; - /** * opXOR(0o430000) * @@ -3053,7 +2967,9 @@ PDP10.opEQVB = function(op, acc) }; /** - * opSETCA(0o450000) + * opSETCA(0o450000) and opSETCAI(0o451000) + * + * Change the contents of the destination specified by M ([AC]) to the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3061,43 +2977,37 @@ PDP10.opEQVB = function(op, acc) */ PDP10.opSETCA = function(op, acc) { - this.opUndefined(op); -}; - -/** - * opSETCAI(0o451000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETCAI = function(op, acc) -{ - this.opUndefined(op); + this.writeWord(acc, PDP10.WORD_MASK - this.readWord(acc)); }; /** * opSETCAM(0o452000) * + * Change the contents of the destination specified by M ([E]) to the complement of [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCAM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.WORD_MASK - this.readWord(acc)); }; /** * opSETCAB(0o453000) * + * Change the contents of the destination specified by M ([E] and [AC]) to the complement of [AC]. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCAB = function(op, acc) { - this.opUndefined(op); + var dst = PDP10.WORD_MASK - this.readWord(acc); + this.writeWord(acc, dst); + this.writeWord(this.regEA, dst); }; /** @@ -3151,49 +3061,59 @@ PDP10.opORCAB = function(op, acc) /** * opSETCM(0o460000) * + * Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand ([E]). + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCM = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.WORD_MASK - this.readWord(this.regEA)); }; /** * opSETCMI(0o461000) * + * Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand (E). + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCMI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.WORD_MASK - this.regEA); }; /** * opSETCMM(0o462000) * + * Change the contents of the destination specified by M ([E]) to the complement of the specified source operand ([E]). + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCMM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.WORD_MASK - this.readWord(this.regEA)); }; /** * opSETCMB(0o463000) * + * Change the contents of the destination specified by M ([E] and [AC]) to the complement of the specified source operand ([E]). + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETCMB = function(op, acc) { - this.opUndefined(op); + var dst = PDP10.WORD_MASK - this.readWord(this.regEA); + this.writeWord(acc, dst); + this.writeWord(this.regEA, dst); }; /** @@ -3293,7 +3213,9 @@ PDP10.opORCBB = function(op, acc) }; /** - * opSETO(0o474000) + * opSETO(0o474000) and opSETOI(0o475000) + * + * Change the contents of the destination specified by M (AC) to all 1s. * * @this {CPUStatePDP10} * @param {number} op @@ -3301,43 +3223,36 @@ PDP10.opORCBB = function(op, acc) */ PDP10.opSETO = function(op, acc) { - this.opUndefined(op); -}; - -/** - * opSETOI(0o475000) - * - * @this {CPUStatePDP10} - * @param {number} op - * @param {number} acc - */ -PDP10.opSETOI = function(op, acc) -{ - this.opUndefined(op); + this.writeWord(acc, PDP10.WORD_MASK); }; /** * opSETOM(0o476000) * + * Change the contents of the destination specified by M ([E]) to all 1s. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETOM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.WORD_MASK); }; /** * opSETOB(0o477000) * + * Change the contents of the destination specified by M ([E] and [AC]) to all 1s. + * * @this {CPUStatePDP10} * @param {number} op * @param {number} acc */ PDP10.opSETOB = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.WORD_MASK); + this.writeWord(this.regEA, PDP10.WORD_MASK); }; /** @@ -3358,7 +3273,7 @@ PDP10.opHLL = function(op, acc) { var src = this.readWord(this.regEA); var dst = this.readWord(acc); - this.writeWord(acc, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); + this.writeWord(acc, PDP10.getHR(op, dst, src) + (src - (src & PDP10.HALF_MASK))); }; /** @@ -3402,7 +3317,7 @@ PDP10.opHLLM = function(op, acc) { var src = this.readWord(acc); var dst = this.readWord(this.regEA); - this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.WORD_MASK))); + this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + (src - (src & PDP10.HALF_MASK))); }; /** @@ -3446,7 +3361,7 @@ PDP10.opHLLS = function(op, acc) */ PDP10.opHRL = function(op, acc) { - var src = (this.readWord(this.regEA) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; + var src = (this.readWord(this.regEA) & PDP10.HALF_MASK) * PDP10.HALF_SHIFT; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, src) + src); }; @@ -3468,7 +3383,7 @@ PDP10.opHRL = function(op, acc) */ PDP10.opHRLI = function(op, acc) { - var src = this.regEA * PDP10.WORD_SHIFT; + var src = this.regEA * PDP10.HALF_SHIFT; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHR(op, dst, src) + src); }; @@ -3490,7 +3405,7 @@ PDP10.opHRLI = function(op, acc) */ PDP10.opHRLM = function(op, acc) { - var src = (this.readWord(acc) & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; + var src = (this.readWord(acc) & PDP10.HALF_MASK) * PDP10.HALF_SHIFT; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHR(op, dst, src) + src); }; @@ -3513,7 +3428,7 @@ PDP10.opHRLM = function(op, acc) PDP10.opHRLS = function(op, acc) { var dst = this.readWord(this.regEA); - var src = (dst & PDP10.WORD_MASK) * PDP10.WORD_SHIFT; + var src = (dst & PDP10.HALF_MASK) * PDP10.HALF_SHIFT; dst = PDP10.getHR(op, dst, src) + src; this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); @@ -3536,7 +3451,7 @@ PDP10.opHRLS = function(op, acc) */ PDP10.opHRR = function(op, acc) { - var src = this.readWord(this.regEA) & PDP10.WORD_MASK; + var src = this.readWord(this.regEA) & PDP10.HALF_MASK; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, src) + src); }; @@ -3579,7 +3494,7 @@ PDP10.opHRRI = function(op, acc) */ PDP10.opHRRM = function(op, acc) { - var src = this.readWord(acc) & PDP10.WORD_MASK; + var src = this.readWord(acc) & PDP10.HALF_MASK; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); }; @@ -3625,7 +3540,7 @@ PDP10.opHRRS = function(op, acc) */ PDP10.opHLR = function(op, acc) { - var src = (this.readWord(this.regEA) / PDP10.WORD_SHIFT)|0; + var src = (this.readWord(this.regEA) / PDP10.HALF_SHIFT)|0; var dst = this.readWord(acc); this.writeWord(acc, PDP10.getHL(op, dst, src) + src); }; @@ -3668,7 +3583,7 @@ PDP10.opHLRI = function(op, acc) */ PDP10.opHLRM = function(op, acc) { - var src = (this.readWord(acc) / PDP10.WORD_SHIFT)|0; + var src = (this.readWord(acc) / PDP10.HALF_SHIFT)|0; var dst = this.readWord(this.regEA); this.writeWord(this.regEA, PDP10.getHL(op, dst, src) + src); }; @@ -3690,7 +3605,7 @@ PDP10.opHLRM = function(op, acc) PDP10.opHLRS = function(op, acc) { var dst = this.readWord(this.regEA); - var src = (dst / PDP10.WORD_SHIFT)|0; + var src = (dst / PDP10.HALF_SHIFT)|0; dst = PDP10.getHL(op, dst, src) + src; this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); @@ -4572,6 +4487,19 @@ PDP10.opIO = function(op, acc) this.opUndefined(op); }; +/** + * opNOP(op, acc) + * + * Used for all "defined" operations that, in fact, do nothing (eg, SETA and SETAI). + * + * @this {CPUStatePDP10} + * @param {number} op + * @param {number} acc + */ +PDP10.opNOP = function(op, acc) +{ +}; + /** * opUndefined(op, acc) * @@ -4600,16 +4528,16 @@ PDP10.getHL = function(op, dst, src) { switch(op & 0o600) { case 0o000: - dst -= (dst & PDP10.WORD_MASK); + dst -= (dst & PDP10.HALF_MASK); break; case 0o200: dst = 0; break; case 0o400: - dst = (PDP10.WORD_MASK * PDP10.WORD_SHIFT); + dst = (PDP10.HALF_MASK * PDP10.HALF_SHIFT); break; case 0o600: - dst = (src > PDP10.MAX_POS18? (PDP10.WORD_MASK * PDP10.WORD_SHIFT) : 0); + dst = (src > PDP10.MAX_POS18? (PDP10.HALF_MASK * PDP10.HALF_SHIFT) : 0); break; } return dst; @@ -4628,13 +4556,13 @@ PDP10.getHL = function(op, dst, src) PDP10.setHL = function(op, dst, src) { if (op &= 0o600) { - dst &= PDP10.WORD_MASK; + dst &= PDP10.HALF_MASK; switch(op) { case 0o400: - dst += (PDP10.WORD_MASK * PDP10.WORD_SHIFT); + dst += (PDP10.HALF_MASK * PDP10.HALF_SHIFT); break; case 0o600: - dst += (src > PDP10.MAX_POS18? (PDP10.WORD_MASK * PDP10.WORD_SHIFT) : 0); + dst += (src > PDP10.MAX_POS18? (PDP10.HALF_MASK * PDP10.HALF_SHIFT) : 0); break; } } @@ -4655,16 +4583,16 @@ PDP10.getHR = function(op, dst, src) { switch(op & 0o600) { case 0o000: - dst = (dst & PDP10.WORD_MASK); + dst = (dst & PDP10.HALF_MASK); break; case 0o200: dst = 0; break; case 0o400: - dst = PDP10.WORD_MASK; + dst = PDP10.HALF_MASK; break; case 0o600: - dst = (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); + dst = (src > PDP10.MAX_POS36? PDP10.HALF_MASK : 0); break; } return dst; @@ -4683,19 +4611,41 @@ PDP10.getHR = function(op, dst, src) PDP10.setHR = function(op, dst, src) { if (op &= 0o600) { - dst -= (dst & PDP10.WORD_MASK); + dst -= (dst & PDP10.HALF_MASK); switch(op) { case 0o400: - dst += PDP10.WORD_MASK; + dst += PDP10.HALF_MASK; break; case 0o600: - dst += (src > PDP10.MAX_POS36? PDP10.WORD_MASK : 0); + dst += (src > PDP10.MAX_POS36? PDP10.HALF_MASK : 0); break; } } return dst; }; +/** + * doAND(dst, src) + * + * Used by callers to perform a logical "AND" of two 36-bit operands. + * + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst & src) + */ +PDP10.doAND = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must "AND" the low 32 bits separately from the higher bits, + * and then combine them with addition. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0); +}; + /* * If we want the basic half-word operations to handle all the sub-operations; ie: * @@ -4755,6 +4705,18 @@ PDP10.opHLREI = PDP10.opHLRI; PDP10.opHLREM = PDP10.opHLRM; PDP10.opHLRES = PDP10.opHLRS; +PDP10.opSETZI = PDP10.opSETZ; +PDP10.opSETOI = PDP10.opSETO; +PDP10.opSETCAI = PDP10.opSETCA; +PDP10.opSETA = PDP10.opNOP; +PDP10.opSETAI = PDP10.opNOP; +PDP10.opSETAM = PDP10.opMOVEM; +PDP10.opSETAB = PDP10.opMOVEM; +PDP10.opSETM = PDP10.opMOVE; +PDP10.opSETMI = PDP10.opMOVEI; +PDP10.opSETMM = PDP10.opNOP; +PDP10.opSETMB = PDP10.opMOVE; + PDP10.aOpXXX_KA10 = [ PDP10.opUUO, // 0o000xxx PDP10.opUUO, // 0o001xxx diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index c04ad0bb0..1f9faa9c3 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -459,7 +459,7 @@ class DebuggerPDP10 extends Debugger { */ getWord(dbgAddr, inc) { - var w = PDP10.DATA_INVALID; + var w = PDP10.WORD_INVALID; var addr = this.getAddr(dbgAddr, false); if (addr !== PDP10.ADDR_INVALID) { w = this.bus.getWordDirect(addr); @@ -590,14 +590,14 @@ class DebuggerPDP10 extends Debugger { * toStrWord(w) * * @this {DebuggerPDP10} - * @param {number} w (up to, but not including, DATA_LIMIT) + * @param {number} w (up to, but not including, WORD_LIMIT) * @return {string} octal representation of the 36-bit word, as two 18-bit values */ toStrWord(w) { /* - * ADDR_LIMIT is not derived from DATA_LIMIT; we're just taking advantage of the fact - * that ADDR_LIMIT happens to be exactly half of DATA_LIMIT, and they are both powers of two. + * ADDR_LIMIT is not derived from WORD_LIMIT; we're just taking advantage of the fact + * that ADDR_LIMIT happens to be exactly half of WORD_LIMIT, and they are both powers of two. */ return Str.toOct(w / PDP10.ADDR_LIMIT, 6) + ' ' + Str.toOct(w % PDP10.ADDR_LIMIT, 6); } @@ -3891,7 +3891,7 @@ if (DEBUGGER) { 0o23400: DebuggerPDP10.OPS.DIV, 0o27000: DebuggerPDP10.OPS.ADD, 0o27400: DebuggerPDP10.OPS.SUB, - 0o40000: DebuggerPDP10.OPS.SETZ, + 0o40000: DebuggerPDP10.OPS.SETZ, // MACRO alias: CLEAR 0o40400: DebuggerPDP10.OPS.AND, 0o41000: DebuggerPDP10.OPS.ANDCA, 0o41400: DebuggerPDP10.OPS.SETM, diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 17a9b4030..da7f770ce 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -103,10 +103,11 @@ var PDP10 = { ADDR_INVALID: -1, ADDR_LIMIT: Math.pow(2, 18), ADDR_MASK: Math.pow(2, 18) - 1, - DATA_INVALID: -1, - DATA_LIMIT: Math.pow(2, 36), - WORD_SHIFT: Math.pow(2, 18), - WORD_MASK: 0o777777, + WORD_INVALID: -1, + WORD_LIMIT: Math.pow(2, 36), + WORD_MASK: Math.pow(2, 36) - 1, + HALF_SHIFT: Math.pow(2, 18), + HALF_MASK: Math.pow(2, 18) - 1, /* * 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all @@ -117,6 +118,7 @@ var PDP10 = { MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) + TWO_POW32: Math.pow(2, 32), /* * PDP-10 opcodes are 36-bit values, most of which use the following layout: diff --git a/modules/pdp10/lib/memory.js b/modules/pdp10/lib/memory.js index d3de7b54a..f8e779c47 100644 --- a/modules/pdp10/lib/memory.js +++ b/modules/pdp10/lib/memory.js @@ -396,7 +396,7 @@ class MemoryPDP10 { this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true); } this.bus.fault(addr); - return PDP10.DATA_INVALID; + return PDP10.WORD_INVALID; } /** diff --git a/modules/pdp10/lib/panel.js b/modules/pdp10/lib/panel.js index 212a20e14..2fbe903da 100644 --- a/modules/pdp10/lib/panel.js +++ b/modules/pdp10/lib/panel.js @@ -1043,7 +1043,7 @@ class PanelPDP10 extends Component { */ updateData(value) { - this.regData = value % PDP10.DATA_LIMIT; + this.regData = value % PDP10.WORD_LIMIT; if (this.ledData !== this.regData) { this.ledData = this.regData; this.updateLEDArray("D", this.ledData, 16); diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index faceea273..e52b9896f 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,204 +27,204 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ea=0;function da(a){return"jscomp_symbol_"+(a||"")+ea++} -function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var la=Math.pow(2,36),ma=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, +var l,ca="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},da="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};da.Symbol||(da.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++} +function ha(){ea();var a=da.Symbol.iterator;a||(a=da.Symbol.iterator=da.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ca(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return ba?-b:b}});ma("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var na=Math.pow(2,36),oa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; -function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} -function Ca(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Da(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Fa(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function pa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ra(a,b,c){b?12"']/g,function(a){return Ca[a]})}function Da(a,b){return(a+" ").slice(0,b)} +function Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ca={"&":"&","<":"<",">":">",'"':""","'":"'"};function Fa(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Ga(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.A=this.i=this.G=this.F=this.oa=null;w.push(this)}function gb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function rb(){return Date.now()||+new Date} -function u(a){window&&window.alert(a)}function sb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.C=this.i=this.G=this.F=this.oa=null;w.push(this)}function ib(a,b,c){kb[a]&&b&&(kb[a][b]=c)}function tb(){return Date.now()||+new Date} +function u(a){window&&window.alert(a)}function ub(a){var b=!1;window&&(b=window.confirm(a));return b}function vb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.A=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, -set:this.Wb};D(this)}p(Vb,v);l=Vb.prototype;l.reset=function(a){this.stop();a&&Xb(this,this.v=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.A&&this.A.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Yb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Zb(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){Yb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Zb(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;$b(this);ac(this)};l.pa=function(a,b){if(!b)if(this.W&&bc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new H(this);a.set(0,[this.f,this.v,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])cc(this,this.f=a[0]),Xb(this,this.v=a[1]),dc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ac(this);return!0};function ec(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $b(a,b){for(var c in a.B)ec(a,c,null!=b?b:a.B[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ac(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Eb=function(a,b,c){if(Yb(this,b)){if(c){var d=this;setTimeout(function(){Zb(d,b);a&&a()},+c);return!1}Zb(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return dc(this,na(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Xb=function(a){return Yb(this,a)?(Zb(this,a),!0):!1};function Yb(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} -function Zb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.i.j.K||(this.i.u=this.f%Kb,this.b[qc]&&this.b[qc][1]&&rc(this.i))};l.Ob=function(){};l.Ib=function(a){a||this.i.V()}; -l.Gb=function(a){if(!a&&!this.i.j.K)if(this.b[qc]&&this.b[qc][1])rc(this.i);else{if((a=this.A)&&!Fb(a,!0))Gb(a,!0),sc(a,0,null),Gb(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ha+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.w+m;e=k+16384;g-=m;f++;continue}}return Ec(Fc,e,g)}e=new Ac(a,e,m,16384,d);Bc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Gc[d]+" at "+pa(b)),!0):Ec(Hc,b,c)} -function yc(a,b){var c=a.b[(b&a.u)>>>a.f];a.v++;b=c.G(b&16383,b);a.v--;return b}function xc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.v++;d.F(c,b&16383,b);a.v--}function Cc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=bd(a)&&(a.ha=a.ja=-1,Yc(a),a.V(),c=!0);c&&a.g(bd(a)+" cycles: checksum="+t(a.ta))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&zd(a.F)}uc(a,a.L);a.L=0;a.J=rb();a.N=0;dd(a);return d}function Ad(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Bd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Cd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&dd(this,!0);this.ka=0;this.sa=rb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=Ad(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Cd(this,!0);this.ka+=b;this.L+=b;vc(this,b);tc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Dd&&(this.F&&I(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(rb(),bd(this));Cb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=rb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,cd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function rc(a,b){if(!Db(a))if(a.j.K)a.g(a.toString()+" busy");else{cd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&zd(a.F,!0),a.F.start(a.J,bd(a)));a.A||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Cd(this);uc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(rb(),bd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var yd=30,Dd=15,Vc=["power","reset"]; -function Ed(a){var b=+a.model||1001;Uc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Fd.bind(this);this.b=L.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Ed,Uc);l=Ed.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.B=-1;this.qa=this.u;this.v=0;this.C=this.Qb;this.D=this.ac;this.la=null;Xc(this);this.j.error=!1;Uc.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new H(this);a.set(0,[this.f,this.H,this.B,this.Ba,this.u,this.ra,this.qa,this.v]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Gd(this));a.set(4,Bd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];fa();ca();fa();var c=b[Symbol.iterator];b=c?c.call(b):ga(b);this.f=b.next().value;this.H=b.next().value;this.B=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.v=b.next().value;b=a[2];this.R=b[0];cd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dOb&&(a!=Pb?a=Qb-a:this.Ra=this.za=!0);return a};function Id(a,b){b?b==Pb?a.Ra=a.za=!0:b=Qb-b:a.ib=a.za=!0;return b}function Gd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].C(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].D(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.A?Jd(this.A)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(Kd(this.A,this.u,c)){this.V();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.la||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&Kd(this.A,this.u,c)){this.V();break}if(0>c)break}}this.v&=15;this.H=this.H&4194304?this.C(this.f):this.Ba=this.C(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.C(a)&Lb;this.H&4194304?a=-1:(this.u=(this.u+1)%Kb,a=this.Ba/Tb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function M(a){this.b(a)} -function Md(){var a=0,b=this.C(this.f),c=b/Ub&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Ub+(d<<24)+(b&16777215);a&&(b=(b+a)%Mb);this.D(this.f,b)}function Nd(a,b){a=this.C(this.f);if(0>this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;a=32>=c+d?a>>c&(1<this.B)this.B=a,this.H=this.f|4194304,Hd(this,-1);else{var c=this.B/Ub&63,d=this.B>>24&63;b=this.C(b)%Math.pow(2,d)*Math.pow(2,c)%Mb;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.D(this.f,a);this.B=-1}}function Pd(a,b){var c=this.C(this.f),d=this.C(b);this.D(b,Qd(a,d,c)+(c-(c&262143)))}function Rd(a,b){var c=this.C(b);this.D(b,Qd(a,c,0))}function Sd(a,b){b=this.C(b);var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+(b-(b&262143)))} -function Td(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Ob?262143:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function Ud(a,b){var c=(this.C(this.f)&262143)*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Vd(a,b){var c=this.f*F,d=this.C(b);this.D(b,Qd(a,d,c)+c)}function Wd(a,b){b=(this.C(b)&262143)*F;var c=this.C(this.f);this.D(this.f,Qd(a,c,b)+b)}function Xd(a,b){var c=this.C(this.f),d=(c&262143)*F,c=Qd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)} -function Yd(a,b){var c=this.C(this.f)&262143,d=this.C(b);this.D(b,Zd(a,d,c)+c)}function $d(a,b){var c=this.C(b);this.D(b,Zd(a,c,this.f)+this.f)}function ae(a,b){b=this.C(b)&262143;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function be(a,b){var c=this.C(this.f),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*F;break;case 384:d+=c>Nb?262143*F:0}c=d;this.D(this.f,c);b&&this.D(b,c)}function ce(a,b){var c=this.C(this.f)/F|0,d=this.C(b);this.D(b,Zd(a,d,c)+c)} -function de(a,b){var c=this.C(b);this.D(b,Zd(a,c,0))}function ee(a,b){b=this.C(b)/F|0;var c=this.C(this.f);this.D(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.C(this.f),d=c/F|0,c=Zd(a,c,d)+d;this.D(this.f,c);b&&this.D(b,c)}function O(a){this.b(a)}function L(a){this.g("undefined opcode: "+pa(a));Hd(this,-1);this.V()}function Zd(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*F;break;case 384:b=c>Nb?262143*F:0}return b} -function Qd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Ob?262143:0}return b} -var Ld=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Md,function(a,b){0>this.B&&Md.call(this);Nd.call(this,0,b)},Nd,function(a,b){0>this.B&&Md.call(this);Od.call(this,0,b)},Od,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var y="pdp10",Lb="PDPjs",Mb=Math.pow(2,18),Nb=Math.pow(2,18)-1,Ob=Math.pow(2,36),E=Math.pow(2,36)-1,G=Math.pow(2,18),H=Math.pow(2,18)-1,Pb=Math.pow(2,17)-1,Qb=Math.pow(2,35)-1,Rb=Math.pow(2,35),Sb=Math.pow(2,36),Tb=Math.pow(2,32),Ub=Math.pow(2,21),Vb=Math.pow(2,26),Wb=Math.pow(2,23),Xb=Math.pow(2,30),y="pdp10",Lb="PDPjs",I={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,speaker:16777216, +computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; +function Yb(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=Zb;this.D={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, +set:this.Wb};D(this)}p(Yb,v);l=Yb.prototype;l.reset=function(a){this.stop();a&&$b(this,this.A=0)}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ac(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){ac(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;cc(this);dc(this)};l.pa=function(a,b){if(!b)if(this.W&&ec(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])fc(this,this.f=a[0]),$b(this,this.A=a[1]),gc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}dc(this);return!0};function hc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cc(a,b){for(var c in a.D)hc(a,c,null!=b?b:a.D[c])}function pc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function dc(a){for(var b in a.b)pc(a,b,a.b[b][1])} +l.Eb=function(a,b,c){if(ac(this,b)){if(c){var d=this;setTimeout(function(){bc(d,b);a&&a()},+c);return!1}bc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return gc(this,pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,pc(this,a,c[1]),!0):!1};l.Xb=function(a){return ac(this,a)?(bc(this,a),!0):!1};function ac(a,b){var c=a.b[b];return c?(pc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=qc&&(a.P=b==rc,a.R=b==sc),!0):!1} +function bc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(pc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.i.j.K||(this.i.u=this.f%Mb,this.b[tc]&&this.b[tc][1]&&uc(this.i))};l.Ob=function(){};l.Ib=function(a){a||this.i.V()}; +l.Gb=function(a){if(!a&&!this.i.j.K)if(this.b[tc]&&this.b[tc][1])uc(this.i);else{if((a=this.C)&&!Hb(a,!0))Ib(a,!0),vc(a,0,null),Ib(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Hc(Ic,e,g)}e=new Dc(a,e,m,16384,d);Ec(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+ra(b)),!0):Hc(Kc,b,c)} +function Bc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ac(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Fc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=ed(a)&&(a.ha=a.ja=-1,ad(a),a.V(),c=!0);c&&a.g(ed(a)+" cycles: checksum="+t(a.ta))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=vb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&id(a.F)}xc(a,a.L);a.L=0;a.J=tb();a.N=0;gd(a);return d}function jd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} +l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&gd(this,!0);this.ka=0;this.sa=tb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=jd(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Fd(this,!0);this.ka+=b;this.L+=b;yc(this,b);wc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Gd&&(this.F&&L(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(tb(),ed(this));Eb(this, +e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=tb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,fd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; +function uc(a,b){if(!Fb(a))if(a.j.K)a.g(a.toString()+" busy");else{fd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&id(a.F,!0),a.F.start(a.J,ed(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Fd(this);xc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(tb(),ed(this));b=!0;this.C||this.status("Stopped")}this.j.complete=a;return b};var hd=30,Gd=15,Yc=["power","reset"]; +function Hd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Id.bind(this);this.b=N.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Hd,Xc);l=Hd.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.u;this.A=0;this.w=this.Qb;this.v=this.ac;this.la=null;$c(this);this.j.error=!1;Xc.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new J(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.u,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Jd(this));a.set(4,kd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];ha();ea();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];fd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dQb&&(a!=Rb?a=Sb-a:this.Ra=this.za=!0);return a};function Ld(a,b){b?b==Rb?a.Ra=a.za=!0:b=Sb-b:a.ib=a.za=!0;return b}function Jd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].w(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].v(b,a&16383,a)}; +l.Ja=function(a){this.j.complete=!0;var b=this.C?Md(this.C)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Nd(this.C,this.u,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Nd(this.C,this.u,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.w(this.f):this.Ba=this.w(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.w(a)&Nb;this.H&4194304?a=-1:(this.u=(this.u+1)%Mb,a=this.Ba/Wb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function O(a){this.b(a)} +function Pd(){var a=0,b=this.w(this.f),c=b/Xb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Xb+(d<<24)+(b&16777215);a&&(b=(b+a)%Ob);this.v(this.f,b)}function Qd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.v(b,a);this.D=-1}} +function Rd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;b=this.w(b)%Math.pow(2,d)*Math.pow(2,c)%Ob;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.v(this.f,a);this.D=-1}}function Sd(a,b){this.v(b,this.w(this.f))}function Td(a,b){this.v(b,this.f)}function Ud(a,b){this.v(this.f,this.w(b))}function Vd(a,b){this.v(b,0)}function Wd(a,b){this.v(b,E-this.w(b))}function Xd(a,b){this.v(b,E)} +function Yd(a,b){var c=this.w(this.f),d=this.w(b);this.v(b,Zd(a,d,c)+(c-(c&H)))}function $d(a,b){var c=this.w(b);this.v(b,Zd(a,c,0))}function ae(a,b){b=this.w(b);var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+(b-(b&H)))}function be(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Qb?H:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function ce(a,b){var c=(this.w(this.f)&H)*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)} +function de(a,b){var c=this.f*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)}function ee(a,b){b=(this.w(b)&H)*G;var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.w(this.f),d=(c&H)*G,c=Zd(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function ge(a,b){var c=this.w(this.f)&H,d=this.w(b);this.v(b,he(a,d,c)+c)}function ie(a,b){var c=this.w(b);this.v(b,he(a,c,this.f)+this.f)}function je(a,b){b=this.w(b)&H;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)} +function ke(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Pb?H*G:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function le(a,b){var c=this.w(this.f)/G|0,d=this.w(b);this.v(b,he(a,d,c)+c)}function me(a,b){var c=this.w(b);this.v(b,he(a,c,0))}function ne(a,b){b=this.w(b)/G|0;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)}function oe(a,b){var c=this.w(this.f),d=c/G|0,c=he(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function Q(a){this.b(a)}function pe(){} +function N(a){this.g("undefined opcode: "+ra(a));Kd(this,-1);this.V()}function he(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Pb?H*G:0}return b}function Zd(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Qb?H:0}return b}function qe(a,b){return((a/Tb|0)&(b/Tb|0))*Tb+((a&b)>>>0)} +var Od=[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,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,function(a,b){0>this.D&&Pd.call(this);Qd.call(this,0,b)},Qd,function(a,b){0>this.D&&Pd.call(this);Rd.call(this,0,b)},Rd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.D(b,this.C(this.f))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.C(b))},function(a,b){b&&this.D(b,this.C(this.f))},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(b,a)},function(a,b){this.D(b,this.f*F)},function(a,b){a=this.C(b);a=a/F|(a&262143)*F;this.D(this.f,a)},function(a,b){a=this.C(this.f);a=a/F|(a&262143)*F;this.D(this.f,a);b&&this.D(b,a)},function(a, -b){this.D(b,Id(this,this.C(this.f)))},function(a,b){this.D(b,this.f?Qb-this.f:0)},function(a,b){this.D(this.f,Id(this,this.C(b)))},function(a,b){a=Id(this,this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a,b){this.D(b,this.abs(this.C(this.f)))},function(a,b){this.D(b,this.f)},function(a,b){this.D(this.f,this.abs(this.C(b)))},function(a,b){a=this.abs(this.C(this.f));this.D(this.f,a);b&&this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a,b){a=this.C(b);this.D(b,this.C(this.f));this.D(this.f, -a)},function(a,b){a=!1;for(var c=this.C(b),d=c/F|0,c=c&262143;!a;)this.D(c,this.C(d)),c==this.f&&(a=!0),d=d+1&262143,c=c+1&262143,this.j.K||(this.D(b,d*F+c),a||Hd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},L,function(a){this.b(a)},function(a,b){a=this.C(b);a+=262145;this.D(a&262143,this.C(this.f));a>=Mb&&(a-=Mb);a/F|0||(this.Sa=!0);this.D(b,a)},function(a,b){a=this.C(b);var c=this.C(a&262143);this.D(this.f,c); -this.f==b&&(a=c);a-=262145;0>a&&(a+=Mb);262143==(a/F|0)&&(this.Sa=!0);this.D(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,Td,Ud,function(a,b){b&&this.v(b,this.w(this.f))},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(b,a)},function(a,b){this.v(b,this.f*G)},function(a,b){a=this.w(b);a=(a/G|0)+a%G*G;this.v(this.f,a)},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,Ld(this,this.w(this.f)))},function(a,b){this.v(b,this.f?Sb-this.f:0)},function(a,b){this.v(this.f,Ld(this, +this.w(b)))},function(a,b){a=Ld(this,this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,this.abs(this.w(this.f)))},function(a,b){this.v(b,this.f)},function(a,b){this.v(this.f,this.abs(this.w(b)))},function(a,b){a=this.abs(this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a,b){a=this.w(b);this.v(b,this.w(this.f));this.v(this.f,a)},function(a,b){a=!1;for(var c=this.w(b),d=c/G|0,c=c&H;!a;)this.v(c,this.w(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.j.K||(this.v(b, +d*G+c),a||Kd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a,b){a=this.w(b);a+=262145;this.v(a&H,this.w(this.f));a>=Ob&&(a-=Ob);a/G|0||(this.Sa=!0);this.v(b,a)},function(a,b){a=this.w(b);var c=this.w(a&H);this.v(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=Ob);(a/G|0)==H&&(this.Sa=!0);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Vd,function(){this.v(this.f,0)},function(a,b){this.v(b,0);this.v(this.f,0)},function(a,b){this.v(b,qe(this.w(b),this.w(this.f)))},function(a,b){this.v(b,qe(this.w(b),this.f))},function(a,b){this.v(this.f,qe(this.w(b),this.w(this.f)))},function(a,b){a=qe(this.w(b),this.w(this.f));this.v(this.f,a);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},Sd,Td,pe,Sd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},pe,pe,Ud,Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},Wd,Wd,function(a,b){this.v(this.f,E-this.w(b))},function(a,b){a=E-this.w(b);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.v(b,E-this.w(this.f))},function(a,b){this.v(b,E-this.f)},function(){this.v(this.f,E-this.w(this.f))},function(a,b){a=E-this.w(this.f);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.v(this.f,E)},function(a,b){this.v(b,E);this.v(this.f,E)},Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Pd,Rd,Sd,Td,Ud,Vd,Wd,Xd,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},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 ge(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.v=a.file;this.H=qa(this.v);if(this.v){a=this.v;var b=ra(this.H);"json"!=b&&"hex"!=b&&(a=ya()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(gb(c.La,a,b),(a=Ga(a,b))?(c.b=a.Y,c.T=a.T):c.v=null);he(c)})}}p(ge,v); -ge.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.A=d;he(this)};ge.prototype.pa=function(){this.T&&(this.A&&ie(this.A,this.id,this.B,this.u,this.T),delete this.T);return!0};ge.prototype.fa=function(){return!0}; -function he(a){if(!Eb(a)){if(a.v){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Cb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.B;if(Dc(a.G,b,a.u,Lc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=ma&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.A=d;D(this)}; -l.tb=function(a){if(!this.b){var b=Wc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Ka)return;c=Ca(c[1]);if(this.b=ub(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new H(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ca(b.substring(c,g))),c=g+1}}return a} -function qe(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q]; +function re(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=sa(this.A);if(this.A){a=this.A;var b=ta(this.H);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(ib(c.La,a,b),(a=Ia(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);se(c)})}}p(re,v); +re.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.C=d;se(this)};re.prototype.pa=function(){this.T&&(this.C&&te(this.C,this.id,this.D,this.u,this.T),delete this.T);return!0};re.prototype.fa=function(){return!0}; +function se(a){if(!Gb(a)){if(a.A){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Eb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.D;if(Gc(a.G,b,a.u,Oc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=oa&&(f+=na);f=Math.trunc(Math.abs(f))%na;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;D(this)}; +l.tb=function(a){if(!this.b){var b=Zc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Ka)return;c=Ea(c[1]);if(this.b=wb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.D=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ea(b.substring(c,g))),c=g+1}}return a} +function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function P(a,b,c){var d;if(b){b=re(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,U--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+pa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} -function ve(a,b){if(b)return ue(a,b,a.W[b]);var c=0;for(b in a.W)ue(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function we(a){oe.call(this,a);this.ya=!1;this.la=!0;this.va=Q();this.L=Q(0);this.ja=Q(0);this.ba=Q(0);this.H=[];this.b=this.M=this.J=[];xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;ye(this);this.A=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[B]&&(window[B]=function(a){return ad(b,a)}):void 0===global[B]&&(global[B]=function(a){return ad(b, -a)})}p(we,oe);function S(a){a=a&&a.w;null==a&&(a=-1);return a}function Q(a,b,c){return{w:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Ae(a,b,c,d){a.w=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Be(a){return[a.w,a.qb,a.ca,a.ea,a.Oa]}function Ce(a,b){var c=Q(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=pe(a,c.Oa=b[4]));return c}l=we.prototype; -l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Wc(a,"messages"))&&ze(this,a);De(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=S(T(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Gc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.ra==b&&(b=Hd(a.i,1)));if(0d&&(d=a.i.C(b)),0<=d&&(Ae(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Ef(a,b,c,d){var e=Q(b.w),g=a.xa(b,1),f,h,k,m=0,n=g/Rb|0,r;for(r in Ff)if(f=Ff[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Gf;m=n&3;break;case 32256:k=Hf;m=n&7;break;case 29248:k=If,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Jf&&(k="B");k=Kf[f||0]+k;k=Ba(k,8);f?(k=28700==h?k+K(a,g/Sb&127,-1):k+K(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=K(a,g&262143,-1),(g=g>>18&15)&&(k+="("+K(a,g,-1)+")")):k+=Fe(g);g=k;f="";h=K(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.xa(e,1),f+=" "+Fe(k),null== -e.w)break;while(e.w!=b.w)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+bd(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||Lf(this,a,b,!1,!0);if(a!=this.b){var e=S(b);if(-1===e)this.g("invalid address: "+K(this,b.w)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Mf(this,a,a.length-1,"set"),ye(this)));return d};function Lf(a,b,c,d,e){var g=!1;c=S(c);for(var f=1;f>>d.f],b==a.J));h.ea||ye(a);break}}return g} -function Nf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=pa(d,2);Ae(e.va,d);g+="="+K(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ke?1:d==Ie?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Da(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,w:c,Fb:d,T:e,mb:g})}function Qf(a,b,c){var d=[],e=S(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.w=m.w;h.ea=m.ea;h.ca=m.ca;a.g(Ef(a,b,f,g));e-=b.w-k;c++}}} -function Of(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(zf+b):(a.P&&(a.g("ended assemble at "+K(a,a.ba.w)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Eb(a)&&0n||"z"Jf&&(gd="B");if(wg==Kf[Ve]+gd){Ue=29248!=fc?Ka:(Ka&3)<<1|(Ka&12)<<2;y=(fd|Ue<<6)*Rb;break}}if(0<= -y)break}if(0<=y)break}if(0<=y)if(Se)for(var hd=Se.split(","),hb=0;hbE||127E||15E||262143< -E){a.g("memory address out of range: "+V[2]);y=-1;break}y+=E;if(V[3]){E=P(a,V[3]);if(void 0==E){y=-1;break}if(0>E||15X.length&&(a.g("note: only "+X.length+" available"),N=X.length);R-=N;0>R&&(null==X[X.length-1].w?(N=R+N,R=0):R+=X.length);var md=[];"call"==af&&(jb=1E5,md=["CALL"]);for(void 0!==$e&&a.g(N+" instructions earlier:");0=X.length&&(R=0);a.sa=N;cf++;jb--}}cf||(a.g("no "+bf+"history available"),a.sa=void 0)}else{var Qa=T(a,W,a.ja);if(Qa){var ta=0,ff="ds"==Na;if(ia){if("l"==ia.charAt(0))ia=ia.substr(1)||zg,ta=se(a,ia);else{var gf=T(a,ia);gf&&(ta=gf.w-Qa.w)}0>ta&&(ta=0);65536lf;lf++)jf+=String.fromCharCode((hc%64|0)+32),hc/=64}ua&&(ua+="\n");ua=ff?ua+(va+","):ua+(W+": "+va+(0>kf?" "+jf:""))}ua&&a.g(ua);a.ca=Bg}}}}break;case "e":if("else"==f[0])break;var mf,nf,of=f[0],pd=f[1];"e"==of||"ew"==of?(mf=a.xa,nf=a.eb):pd=null;if(null==pd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var ic=T(a,pd,a.ja);if(ic)for(var jc=2;jctd;){for(var wa=null,Fg=256;65536>mb.w>>>0;){ud.w=a.xa(mb,2);if(null==mb.w||!Fg--)break;if(!(ud.w&1)){for(var Gg=a,kc=ud,qf=null,nb=kc.w,rf=nb,vd=1;6>=vd&&nb;vd++){if(2xf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var yf=Q(a.i.u);a.xa(yf);a.N?(a.Da(a.b,yf,!0),Qe(a)||(a.F&&zd(a.F),a.N=0)):Vf(a,xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Bf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var pb=+f[2];if(8==pb||10==pb||16== -pb)a.ca=pb;else{a.g("invalid base: "+pb);break}}a.g("default base: "+a.ca);break;case "cs":var qb;void 0!==f[3]&&(qb=+f[3]);switch(f[2]){case "int":a.i.ha=qb;break;case "start":a.i.ua=qb;break;case "stop":a.i.ja=qb;break;default:a.g("unknown cs option");break a}void 0!==qb&&Yc(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(cd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+"Mhz")+" ("+a.i.aa+ -"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":Vf(a,f[0],f[1]);break;case "u":Cf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Sf(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Jb||"PDP10")+ -" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){Uf(a,b.substr(1));break}var wd="commands:",xd;for(xd in Xf)wd+="\n"+Ba(xd,9)+Xf[xd];Jd(a)||(wd+="\nnote: history disabled if no exec breakpoints");a.g(wd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Af){a.g("debugger error: "+(Af.stack||Af.message)),d=!1}return d}function ad(a,b,c){b=pe(a,b,c);for(var d in b)if(!Of(a,b[+d]))return!1;return!0} -var Xf={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Jf=20,Kf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -He=0,Ie=1,Je=2,Ke=3,Le=4,Me=5,Ne=6,Oe=7,Ge="PC RA EA C0 C1 OV ND PD".split(" "),Yf={},Ff=(Yf[28672]={0:101},Yf[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},Yf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Jf,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Yf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Yf[29248]={24576:79,24640:80,25088:81,25152:82},Yf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},Yf),Gf=["","I","M","S"],Hf=" L E LE A GE N G".split(" "),If="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Pe=1E3,zf=">> ";Za(function(){for(var a=C(document,B,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bbg){if(cg(d,this.M)){this.B=new H(this,"1.34.2",lg);cg(this.B)&&(mg(this,d),a=ng,og(this.B));this.B.set(ig,Ea());pg(this.B);var e=this.b&&!this.L;if(a==jg||sb("Click OK to restore the previous "+Jb+" machine state, or CANCEL to reset the machine.")){if(c=hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?cg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Sa(qg,""),this.f=null)):this.g(g+": "+f),og(d),cg(d)?(c=hg(d),e=!0):c=!1))}e&&fg(this,c?d:null)}else a==ng&&d.clear()}else fg(this);delete this.M;delete this.J}e=tb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(rg(this,this.i,b,c,a),I(this,-2),this.i.Z());this.P&&(mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; -function mg(a,b){if(sb("There may be a problem with your "+Jb+" machine.\n\nTo help us diagnose it, click OK to send this "+Jb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Jb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}} -function Wf(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new H(a,"1.34.2"),f=new H(a,"1.34.2",gg),h=Ea();f.set(ig,h);g.set(ig,h);g.set(sg,"1.34.2");g.set(tg,window?window.location.href:null);g.set(ug,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.v&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.A&&a.A.ca||8,e=e||0,e=8==g?pa(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);Pg(a,b,c)}})}else c(a,null)} -function Qg(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--Mg||cb(!0));m=!1}var h,k,m=!0;Mg++;ib[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],z=document.createElement("style");z.type="text/css";z.styleSheet?z.styleSheet.cssText=n:z.appendChild(document.createTextNode(n));r.appendChild(z)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Ng(d,null,a,null,!1,g,function(a,e){e?(gb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Mg||cb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Mg|| -cb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Ng(c,b,a,e,!0,g,n):Og(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(U){f(U.message)}return m}window.embedPDP10=function(a,b,c,d){cb(!1);return Qg("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){cb(!1);return Qg("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return vb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!yb[a]){for(var c=!0,d=yb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,W--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function Ge(a,b){if(b)return Fe(a,b,a.W[b]);var c=0;for(b in a.W)Fe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ee={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function He(a){ze.call(this,a);this.ya=!1;this.la=!0;this.va=S();this.L=S(0);this.ja=S(0);this.ba=S(0);this.H=[];this.b=this.M=this.J=[];Ie(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Je(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ke(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return dd(b,a)}):void 0===global[y]&&(global[y]=function(a){return dd(b, +a)})}p(He,ze);function U(a){a=a&&a.B;null==a&&(a=-1);return a}function S(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Le(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Me(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Ne(a,b){var c=S(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=Ae(a,c.Oa=b[4]));return c}l=He.prototype; +l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Zc(a,"messages"))&&Ke(this,a);Oe(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=U(V(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Jc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.ra==b&&(b=Kd(a.i,1)));if(0d&&(d=a.i.w(b)),0<=d&&(Le(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Pf(a,b,c,d){var e=S(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Ub|0,r;for(r in Qf)if(f=Qf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Rf;m=n&3;break;case 32256:k=Sf;m=n&7;break;case 29248:k=Tf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Uf&&(k="B");k=Vf[f||0]+k;k=Da(k,8);f?(k=28700==h?k+M(a,g/Vb&127,-1):k+M(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=M(a,g&262143,-1),(g=g>>18&15)&&(k+="("+M(a,g,-1)+")")):k+=Qe(g);g=k;f="";h=M(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Qe(k),null== +e.B)break;while(e.B!=b.B)}h+=Da(f,16)+g;c&&(h=Da(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ed(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function Ie(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||Wf(this,a,b,!1,!0);if(a!=this.b){var e=U(b);if(-1===e)this.g("invalid address: "+M(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Xf(this,a,a.length-1,"set"),Je(this)));return d};function Wf(a,b,c,d,e){var g=!1;c=U(c);for(var f=1;f>>d.f],b==a.J));h.ea||Je(a);break}}return g} +function Yf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=ra(d,2);Le(e.va,d);g+="="+M(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ve?1:d==Te?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Fa(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function ag(a,b,c){var d=[],e=U(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Pf(a,b,f,g));e-=b.B-k;c++}}} +function Zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Kf+b):(a.P&&(a.g("ended assemble at "+M(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Gb(a)&&0n||"z"Uf&&(nd="B");if(Hg==Vf[ff]+nd){ef=29248!=ic?Ma:(Ma&3)<<1|(Ma&12)<<2;z=(md|ef<<6)*Ub;break}}if(0<= +z)break}if(0<=z)break}if(0<=z)if(cf)for(var od=cf.split(","),jb=0;jbF||127F||15F||262143< +F){a.g("memory address out of range: "+X[2]);z=-1;break}z+=F;if(X[3]){F=R(a,X[3]);if(void 0==F){z=-1;break}if(0>F||15Z.length&&(a.g("note: only "+Z.length+" available"),P=Z.length);T-=P;0>T&&(null==Z[Z.length-1].B?(P=T+P,T=0):T+=Z.length);var td=[];"call"==mf&&(lb=1E5,td=["CALL"]);for(void 0!==lf&&a.g(P+" instructions earlier:");0=Z.length&&(T=0);a.sa=P;of++;lb--}}of||(a.g("no "+nf+"history available"),a.sa=void 0)}else{var Sa=V(a,Y,a.ja);if(Sa){var va=0,rf="ds"==Pa;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||Kg,va=De(a,ka);else{var sf=V(a,ka);sf&&(va=sf.B-Sa.B)}0>va&&(va=0);65536wf;wf++)uf+=String.fromCharCode((kc%64|0)+32),kc/=64}wa&&(wa+="\n");wa=rf?wa+(xa+","):wa+(Y+": "+xa+(0>vf?" "+uf:""))}wa&&a.g(wa);a.ca=Mg}}}}break;case "e":if("else"==f[0])break;var xf,yf,zf=f[0],wd=f[1];"e"==zf||"ew"==zf?(xf=a.xa,yf=a.eb):wd=null;if(null==wd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var lc=V(a,wd,a.ja);if(lc)for(var mc=2;mcAd;){for(var ya=null,Qg=256;65536>ob.B>>>0;){Bd.B=a.xa(ob,2);if(null==ob.B||!Qg--)break;if(!(Bd.B&1)){for(var Rg=a,nc=Bd,Bf=null,pb=nc.B,Cf=pb,Cd=1;6>=Cd&&pb;Cd++){if(2If)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Jf=S(a.i.u);a.xa(Jf);a.N?(a.Da(a.b,Jf,!0),af(a)||(a.F&&id(a.F),a.N=0)):fg(a,If?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Mf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var rb=+f[2]; +if(8==rb||10==rb||16==rb)a.ca=rb;else{a.g("invalid base: "+rb);break}}a.g("default base: "+a.ca);break;case "cs":var sb;void 0!==f[3]&&(sb=+f[3]);switch(f[2]){case "int":a.i.ha=sb;break;case "start":a.i.ua=sb;break;case "stop":a.i.ja=sb;break;default:a.g("unknown cs option");break a}void 0!==sb&&ad(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(fd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+ +"Mhz")+" ("+a.i.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":fg(a,f[0],f[1]);break;case "u":Nf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){cg(a,b.substr(3))||(d=!1);break}if("ver"== +f[0]){a.g((Lb||"PDP10")+" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){eg(a,b.substr(1));break}var Dd="commands:",Ed;for(Ed in hg)Dd+="\n"+Da(Ed,9)+hg[Ed];Md(a)||(Dd+="\nnote: history disabled if no exec breakpoints");a.g(Dd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Lf){a.g("debugger error: "+(Lf.stack||Lf.message)),d=!1}return d} +function dd(a,b,c){b=Ae(a,b,c);for(var d in b)if(!Zf(a,b[+d]))return!1;return!0} +var hg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Uf=20,Vf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +Se=0,Te=1,Ue=2,Ve=3,We=4,Xe=5,Ye=6,Ze=7,Re="PC RA EA C0 C1 OV ND PD".split(" "),ig={},Qf=(ig[28672]={0:101},ig[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ig[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Uf,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ig[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ig[29248]={24576:79,24640:80,25088:81,25152:82},ig[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},ig),Rf=["","I","M","S"],Sf=" L E LE A GE N G".split(" "),Tf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),$e=1E3,Kf=">> ";ab(function(){for(var a=C(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bmg){if(ng(d,this.M)){this.D=new J(this,"1.34.2",wg);ng(this.D)&&(xg(this,d),a=yg,zg(this.D));this.D.set(tg,Ga());Ag(this.D);var e=this.b&&!this.L;if(a==ug||ub("Click OK to restore the previous "+Lb+" machine state, or CANCEL to reset the machine.")){if(c=sg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?ng(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Ua(Bg,""),this.f=null)):this.g(g+": "+f),zg(d),ng(d)?(c=sg(d),e=!0):c=!1))}e&&qg(this,c?d:null)}else a==yg&&d.clear()}else qg(this);delete this.M;delete this.J}e=vb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(Cg(this,this.i,b,c,a),L(this,-2),this.i.Z());this.P&&(xg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +function xg(a,b){if(ub("There may be a problem with your "+Lb+" machine.\n\nTo help us diagnose it, click OK to send this "+Lb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Lb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}} +function gg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new J(a,"1.34.2"),f=new J(a,"1.34.2",rg),h=Ga();f.set(tg,h);g.set(tg,h);g.set(Dg,"1.34.2");g.set(Eg,window?window.location.href:null);g.set(Fg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=vb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.A&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?ra(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);$g(a,b,c)}})}else c(a,null)} +function ah(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function f(a){g("Error: "+a);m&&(--Xg||eb(!0));m=!1}var h,k,m=!0;Xg++;kb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=n:A.appendChild(document.createTextNode(n));r.appendChild(A)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Yg(d,null,a,null,!1,g,function(a,e){e?(ib(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xg||eb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Xg|| +eb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Yg(c,b,a,e,!0,g,n):Zg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(W){f(W.message)}return m}window.embedPDP10=function(a,b,c,d){eb(!1);return ah("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){eb(!1);return ah("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return xb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ab[a]){for(var c=!0,d=Ab,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,La:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; -function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ma(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 v(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(x(d.H[0]),d=null):(x("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){x("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.f=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function D(){return Date.now()||+new Date} -function x(a){window&&window.alert(a)}function Ka(a){var b=!1;window&&(b=window.confirm(a));return b}function E(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.g=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Ka(){return Date.now()||+new Date} +function w(a){window&&window.alert(a)}function La(a){var b=!1;window&&(b=window.confirm(a));return b}function D(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.f=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, -set:this.vb};K(this)}n(ab,B);k=ab.prototype;k.reset=function(a){this.stop();a&&cb(this,this.i=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){db(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){eb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){db(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){eb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;fb(this);gb(this)};k.V=function(a,b){if(!b)if(this.R&&hb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new O(this);a.set(0,[this.b,this.i,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])ib(this,this.b=a[0]),cb(this,this.i=a[1]),jb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}gb(this);return!0};function kb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fb(a,b){for(var c in a.l)kb(a,c,null!=b?b:a.l[c])}function lb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a){for(var b in a.a)lb(a,b,a.a[b][1])} -k.eb=function(a,b,c){if(db(this,b)){if(c){var d=this;setTimeout(function(){eb(d,b);a&&a()},+c);return!1}eb(this,b)}return!0}; +var H="pdp10",K="PDPjs",Ua=Math.pow(2,18),Va=Math.pow(2,18)-1,L=Math.pow(2,36),M=Math.pow(2,36)-1,N=Math.pow(2,18),O=Math.pow(2,18)-1,Wa=Math.pow(2,17)-1,Xa=Math.pow(2,35)-1,Ya=Math.pow(2,35),Za=Math.pow(2,36),$a=Math.pow(2,32),ab=Math.pow(2,23),bb=Math.pow(2,30),H="pdp10",K="PDPjs"; +function cb(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=db;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.g=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +set:this.vb};J(this)}n(cb,B);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.g&&this.g.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; +k.restore=function(a){if(a=a[0])kb(this,this.b=a[0]),eb(this,this.j=a[1]),lb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ib(this);return!0};function mb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hb(a,b){for(var c in a.l)mb(a,c,null!=b?b:a.l[c])}function nb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a){for(var b in a.a)nb(a,b,a.a[b][1])} +k.eb=function(a,b,c){if(fb(this,b)){if(c){var d=this;setTimeout(function(){gb(d,b);a&&a()},+c);return!1}gb(this,b)}return!0}; k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.i++;b=c.o(b&16383,b);a.i--;a=b}else a=this.f.h(this.b);cb(this,this.i=a)}};k.kb=function(a){a||this.f.c.A||ib(this,this.g)};k.jb=function(a){a?(this.s=!0,fb(this,!0)):(this.s=!1,fb(this),jb(this,0))};k.lb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Ab(Bb,e,f)}e=new R(a,e,p,16384,d);xb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Cb[d]+" at "+ma(b)),!0):Ab(Db,b,c)}function vb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.i++;d.m(c,b&16383,b);a.i--} -function yb(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Sb(a)&&(a.fa=a.ga=-1,Rb(a),P(a),c=!0);c&&a.M(Sb(a)+" cycles: checksum="+t(a.oa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=E(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}sb(a,a.B);a.B=0;a.w=D();a.G=0;Ub(a)}function Wb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Xb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.tb=function(){if(this.c.A){this.qa>=this.Da&&Ub(this,!0);this.da=0;this.ea=D();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Xb(this,!0);this.da+=b;this.B+=b;tb(this,b);rb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=Yb&&(this.u&&Q(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){P(this); -this.u&&this.u.stop(D(),Sb(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=D();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Tb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; -function qb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Tb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Sb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function P(a){var b=!1;if(a.c.A){Xb(a);sb(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(D(),Sb(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Vb=30,Yb=15,Pb=["power","reset"]; -function Zb(a){var b=+a.model||1001;Ob.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=$b.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(Zb,Ob);k=Zb.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&P(this);this.b=this.s=this.ra=0;this.i=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.i;this.g=0;this.h=this.pb;this.j=this.Ab;this.ja=null;Qb(this);this.c.error=!1;Ob.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new O(this);a.set(0,[this.b,this.s,this.l,this.ra,this.i,this.Aa,this.ka,this.g]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,ac(this));a.set(4,Wb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.i=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.L=b[0];Tb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dWa&&(a!=Xa?a=Ya-a:this.Pa=this.za=!0);return a};function cc(a,b){b?b==Xa?a.Pa=a.za=!0:b=Ya-b:a.Za=a.za=!0;return b}function ac(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.g)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.g)>>>c.b].j(b,a&16383,a)}; -k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.v.i(this.i,b)){P(this);break}if(0>b)break}this.g&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.i);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Ua;this.s&4194304?a=-1:(this.i=(this.i+1)%Ta,a=this.ra/Za|0);0<=a&&this.bb(a)}while(0< -this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=J(document,I,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function ec(){var a=0,b=this.h(this.b),c=b/$a&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$a+(d<<24)+(b&16777215);a&&(b=(b+a)%M);this.j(this.b,b)} -function fc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;a=32>=c+d?a>>c&(1<this.l)this.l=a,this.s=this.b|4194304,bc(this);else{var c=this.l/$a&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%M;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.b,a);this.l=-1}} -function hc(a,b){var c=this.h(this.b),d=this.h(b);this.j(b,V(a,d,c)+(c-(c&262143)))}function ic(a,b){var c=this.h(b);this.j(b,V(a,c,0))}function jc(a,b){b=this.h(b);var c=this.h(this.b);this.j(this.b,V(a,c,b)+(b-(b&262143)))}function kc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&262143,a){case 256:d+=262143;break;case 384:d+=c>Wa?262143:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function lc(a,b){var c=(this.h(this.b)&262143)*N,d=this.h(b);this.j(b,V(a,d,c)+c)} -function mc(a,b){var c=this.b*N,d=this.h(b);this.j(b,V(a,d,c)+c)}function nc(a,b){b=(this.h(b)&262143)*N;var c=this.h(this.b);this.j(this.b,V(a,c,b)+b)}function oc(a,b){var c=this.h(this.b),d=(c&262143)*N,c=V(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function pc(a,b){var c=this.h(this.b)&262143,d=this.h(b);this.j(b,W(a,d,c)+c)}function qc(a,b){var c=this.h(b);this.j(b,W(a,c,this.b)+this.b)}function rc(a,b){b=this.h(b)&262143;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)} -function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=262143,a){case 256:d+=262143*N;break;case 384:d+=c>Va?262143*N:0}c=d;this.j(this.b,c);b&&this.j(b,c)}function tc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.j(b,W(a,d,c)+c)}function uc(a,b){var c=this.h(b);this.j(b,W(a,c,0))}function vc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.j(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=c/N|0,c=W(a,c,d)+d;this.j(this.b,c);b&&this.j(b,c)}function X(a){this.a(a)} -function T(a){this.M("undefined opcode: "+ma(a));bc(this);P(this)}function W(a,b,c){switch(a&384){case 0:b-=b&262143;break;case 128:b=0;break;case 256:b=262143*N;break;case 384:b=c>Va?262143*N:0}return b}function V(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Wa?262143:0}return b} -var dc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ec,function(a,b){0>this.l&&ec.call(this);fc.call(this,0,b)},fc,function(a,b){0>this.l&&ec.call(this);gc.call(this,0,b)},gc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return lb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,nb(this,a,c[1]),!0):!1};k.wb=function(a){return fb(this,a)?(gb(this,a),!0):!1};function fb(a,b){var c=a.a[b];return c?(nb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=ob&&(a.K=b==pb,a.L=b==qb),!0):!1}function gb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(nb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +k.mb=function(a){a||this.g.c.A||(this.g.j=this.b%Ua,this.a[rb]&&this.a[rb][1]&&sb(this.g))};k.nb=function(){};k.hb=function(a){a||Q(this.g)};k.fb=function(a){if(!a&&!this.g.c.A)if(this.a[rb]&&this.a[rb][1])sb(this.g);else{a=this.v;var b;if(b=a)a.c.sa&&(a.c.Fa=!0),b=!a.c.sa;if(b)Ta(a,!0),a.b(0,null),Ta(a,!1);else try{var c=this.g.xa(1);0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.g.h(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.g.c.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Cb(Db,e,f)}e=new S(a,e,p,16384,d);zb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Eb[d]+" at "+la(b)),!0):Cb(Fb,b,c)}function xb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} +function Ab(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Ub(a)&&(a.fa=a.ga=-1,Tb(a),Q(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+r(a.oa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=D(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=Ka();a.G=0;Wb(a)}function Yb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} +k.tb=function(){if(this.c.A){this.qa>=this.Da&&Wb(this,!0);this.da=0;this.ea=Ka();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=$b&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){Q(this); +this.u&&this.u.stop(Ka(),Ub(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=Ka();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Vb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; +function sb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Vb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Ub(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.c.A){Zb(a);ub(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ka(),Ub(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Xb=30,$b=15,Rb=["power","reset"]; +function ac(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=bc.bind(this);this.a=U.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(ac,Qb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.h=this.pb;this.f=this.Ab;this.ja=null;Sb(this);this.c.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Vb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dXa&&(a!=Ya?a=Za-a:this.Pa=this.za=!0);return a};function ec(a,b){b?b==Ya?a.Pa=a.za=!0:b=Za-b:a.Za=a.za=!0;return b}function cc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a)}; +k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Va;this.s&4194304?a=-1:(this.j=(this.j+1)%Ua,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< +this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=I(document,H,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function gc(){var a=0,b=this.h(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%L);this.f(this.b,b)} +function hc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function ic(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%L;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function jc(a,b){this.f(b,this.h(this.b))} +function kc(a,b){this.f(b,this.b)}function lc(a,b){this.f(this.b,this.h(b))}function mc(a,b){this.f(b,0)}function nc(a,b){this.f(b,M-this.h(b))}function oc(a,b){this.f(b,M)}function pc(a,b){var c=this.h(this.b),d=this.h(b);this.f(b,W(a,d,c)+(c-(c&O)))}function qc(a,b){var c=this.h(b);this.f(b,W(a,c,0))}function rc(a,b){b=this.h(b);var c=this.h(this.b);this.f(this.b,W(a,c,b)+(b-(b&O)))} +function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&O,a){case 256:d+=O;break;case 384:d+=c>Xa?O:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.h(this.b)&O)*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function uc(a,b){var c=this.b*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function vc(a,b){b=(this.h(b)&O)*N;var c=this.h(this.b);this.f(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=(c&O)*N,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function xc(a,b){var c=this.h(this.b)&O,d=this.h(b);this.f(b,X(a,d,c)+c)}function yc(a,b){var c=this.h(b);this.f(b,X(a,c,this.b)+this.b)}function zc(a,b){b=this.h(b)&O;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ac(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=O,a){case 256:d+=O*N;break;case 384:d+=c>Wa?O*N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Bc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.f(b,X(a,d,c)+c)}function Cc(a,b){var c=this.h(b);this.f(b,X(a,c,0))} +function Dc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ec(a,b){var c=this.h(this.b),d=c/N|0,c=X(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function Y(a){this.a(a)}function Fc(){}function U(a){this.M("undefined opcode: "+la(a));dc(this);Q(this)}function X(a,b,c){switch(a&384){case 0:b-=b&O;break;case 128:b=0;break;case 256:b=O*N;break;case 384:b=c>Wa?O*N:0}return b} +function W(a,b,c){switch(a&384){case 0:b&=O;break;case 128:b=0;break;case 256:b=O;break;case 384:b=c>Xa?O:0}return b}function Gc(a,b){return((a/$a|0)&(b/$a|0))*$a+((a&b)>>>0)} +var fc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},gc,function(a,b){0>this.l&&gc.call(this);hc.call(this,0,b)},hc,function(a,b){0>this.l&&gc.call(this);ic.call(this,0,b)},ic,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.j(b,this.h(this.b))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.h(b))},function(a,b){b&&this.j(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(b,a)},function(a,b){this.j(b,this.b*N)},function(a,b){a=this.h(b);a=a/N|(a&262143)*N;this.j(this.b,a)},function(a,b){a=this.h(this.b);a=a/N|(a&262143)*N;this.j(this.b,a);b&&this.j(b,a)},function(a, -b){this.j(b,cc(this,this.h(this.b)))},function(a,b){this.j(b,this.b?Ya-this.b:0)},function(a,b){this.j(this.b,cc(this,this.h(b)))},function(a,b){a=cc(this,this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.h(this.b)))},function(a,b){this.j(b,this.b)},function(a,b){this.j(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.j(this.b,a);b&&this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.h(b);this.j(b,this.h(this.b));this.j(this.b, -a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&262143;!a;)this.j(c,this.h(d)),c==this.b&&(a=!0),d=d+1&262143,c=c+1&262143,this.c.A||(this.j(b,d*N+c),a||bc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.j(a&262143,this.h(this.b));a>=M&&(a-=M);this.j(b,a)},function(a,b){a=this.h(b);var c=this.h(a&262143);this.j(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=M);this.j(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,kc,lc,function(a,b){b&&this.f(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(b,a)},function(a,b){this.f(b,this.b*N)},function(a,b){a=this.h(b);a=(a/N|0)+a%N*N;this.f(this.b,a)},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,ec(this,this.h(this.b)))},function(a,b){this.f(b,this.b?Za-this.b:0)},function(a,b){this.f(this.b,ec(this, +this.h(b)))},function(a,b){a=ec(this,this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.h(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a,b){a=this.h(b);this.f(b,this.h(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&O;!a;)this.f(c,this.h(d)),c==this.b&&(a=!0),d=d+1&O,c=c+1&O,this.c.A||(this.f(b, +d*N+c),a||dc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.f(a&O,this.h(this.b));a>=L&&(a-=L);this.f(b,a)},function(a,b){a=this.h(b);var c=this.h(a&O);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=L);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,mc,function(){this.f(this.b,0)},function(a,b){this.f(b,0);this.f(this.b,0)},function(a,b){this.f(b,Gc(this.h(b),this.h(this.b)))},function(a,b){this.f(b,Gc(this.h(b),this.b))},function(a,b){this.f(this.b,Gc(this.h(b),this.h(this.b)))},function(a,b){a=Gc(this.h(b),this.h(this.b));this.f(this.b,a);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +jc,kc,Fc,jc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Fc,Fc,lc,lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(a, +b){this.f(this.b,M-this.h(b))},function(a,b){a=M-this.h(b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,M-this.h(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.h(this.b))},function(a,b){a=M-this.h(this.b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b,M)},function(a,b){this.f(b,M);this.f(this.b,M)},pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function xc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.i=a.file;this.s=na(this.i);if(this.i){a=this.i;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=u()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.i=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.i=null);yc(c)})}}n(xc,B); -xc.prototype.Z=function(a,b,c,d){this.o=b;this.f=c;this.v=d;yc(this)};xc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.g,this.N),delete this.N);return!0};xc.prototype.P=function(){return!0}; -function yc(a){if(!Ra(a)){if(a.i){if(!a.a||!a.o)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+t(a.a.length,8,!0)+") does not match specified size ("+t(a.g,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.l;if(zb(a.o,b,a.g,Hb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.f=c;this.v=d;K(this)}; -k.Ta=function(a){if(!this.a){var b=S(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=La(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new O(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bGc){if(Z(d,this.D)){this.l=new O(this,"1.34.2",Pc);Z(this.l)&&(Qc(this,d),a=Rc,Sc(this.l));this.l.set(Mc,ta());Tc(this.l);var e=this.a&&!this.B;if(a==Nc||Ka("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=Lc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(Uc,""),this.b=null)):this.M(f+": "+g),Sc(d),Z(d)?(c=Lc(d),e=!0):c=!1))}e&&Jc(this,c?d:null)}else a==Rc&&d.clear()}else Jc(this);delete this.D;delete this.w}e=E(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.f&&(Vc(this,this.f,b,c,a),Q(this,-2),this.f.J());this.K&&(Qc(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.i=0}; -function Qc(a,b){if(Ka("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=L;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} -function Wc(a,b,c){var d,e="none";if(a.i)return null;a.i--;var f=new O(a,"1.34.2"),g=new O(a,"1.34.2",Kc),h=ta();g.set(Mc,h);f.set(Mc,h);f.set(Xc,"1.34.2");f.set(Yc,window?window.location.href:null);f.set(Zc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.c.J=a.f.c.A),P(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.c.C=!1,!1===d&&(e=null)));for(var h=E(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.c.A;d=!!(a.f.g&8);if(0>=b||60<=(a.B+=b)){e=a.f.i;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?ma(e,void 0):t(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.f.i:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(w){g=null,a=w.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);gd(a,b,c)}})}else c(a,null)} -function hd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&J(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--dd||A(!0));p=!1}var h,l,p=!0;dd++;Ja[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var w=document.head||document.getElementsByTagName("head")[0],la=document.createElement("style");la.type="text/css";la.styleSheet?la.styleSheet.cssText=r:la.appendChild(document.createTextNode(r));w.appendChild(la)}d|| -(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.2/components.xsl");r=function(e,l){l?ed(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--dd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--dd|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ed(c,b,a,e,!0,f,r):fd(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(id){g(id.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return hd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return hd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return F(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Na[a]){for(var c=!0,d=Na,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;J(this)}; +k.Ta=function(a){if(!this.a){var b=T(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Ma(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bQc){if(Rc(d,this.D)){this.l=new P(this,"1.34.2",$c);Rc(this.l)&&(ad(this,d),a=bd,cd(this.l));this.l.set(Xc,ta());dd(this.l);var e=this.a&&!this.B;if(a==Yc||La("Click OK to restore the previous "+K+" machine state, or CANCEL to reset the machine.")){if(c=Wc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(ed,""),this.b=null)):this.M(f+": "+g),cd(d),Rc(d)?(c=Wc(d),e=!0):c=!1))}e&&Uc(this,c?d:null)}else a==bd&&d.clear()}else Uc(this);delete this.D;delete this.w}e=D(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.g&&(fd(this,this.g,b,c,a),R(this,-2),this.g.J());this.K&&(ad(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function ad(a,b){if(La("There may be a problem with your "+K+" machine.\n\nTo help us diagnose it, click OK to send this "+K+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=K;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} +function gd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Vc),h=ta();g.set(Xc,h);f.set(Xc,h);f.set(hd,"1.34.2");f.set(id,window?window.location.href:null);f.set(jd,window?window.navigator.userAgent:"");a.g&&a.g.P&&(c&&(b&&(a.g.c.J=a.g.c.A),Q(a.g)),d=a.g.P(b,c),"object"===typeof d&&f.set(a.g.id,d),c&&(a.g.c.C=!1,!1===d&&(e=null)));for(var h=D(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.g.c.A;d=!!(a.g.i&8);if(0>=b||60<=(a.B+=b)){e=a.g.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.g.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){g=null,a=x.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,u=/( [a-z]+=)(['"])(.*?)\2/g;p=u.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)} +function sd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&I(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--od||A(!0));p=!1}var h,l,p=!0;od++;Ja[b]={};try{if(h=document.getElementById(b)){var u;if("object"==typeof resources&&(u=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],na=document.createElement("style");na.type="text/css";na.styleSheet?na.styleSheet.cssText=u:na.appendChild(document.createTextNode(u));x.appendChild(na)}d|| +(u=a,"pdp"==a.substr(0,3)&&(u="pdpjs"),d="/versions/"+u+"/1.34.2/components.xsl");u=function(e,l){l?pd(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--od||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--od|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?pd(c,b,a,e,!0,f,u):qd(c,null,b,a,e,!1,f,u)}else g("missing machine element: "+b)}catch(td){g(td.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return sd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return sd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return E(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Oa[a]){for(var c=!0,d=Oa,e=a,f=b.length,g=[],h=[],l="",p=null,u=0;u Date: Fri, 3 Mar 2017 15:58:15 -0800 Subject: [PATCH 10/32] Finished PDP-10 logical operations --- modules/pdp10/lib/cpuops.js | 530 ++++++++++++++++++++++------- modules/pdp10/lib/cpustate.js | 2 + modules/pdp10/lib/debugger.js | 2 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 374 ++++++++++---------- versions/pdpjs/1.34.2/pdp10.js | 193 +++++------ 5 files changed, 700 insertions(+), 401 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 559290aa4..d81a3ed65 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -312,7 +312,7 @@ PDP10.opLDB = function(op, acc) }; /** - * opIDPB(0o136000) + * opIDPB(0o136000): Increment Pointer and Deposit Byte * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-16: * @@ -2584,7 +2584,12 @@ PDP10.opSOSG = function(op, acc) }; /** - * opSETZ(0o400000) and opSETZI(0o401000) + * opSETZ(0o400000): Set to Zeros + * opSETZI(0o401000): Set to Zeros Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M to all 0s. * * @this {CPUStatePDP10} * @param {number} op @@ -2596,7 +2601,11 @@ PDP10.opSETZ = function(op, acc) }; /** - * opSETZM(0o402000) + * opSETZM(0o402000): Set to Zeros Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M to all 0s. * * @this {CPUStatePDP10} * @param {number} op @@ -2608,7 +2617,11 @@ PDP10.opSETZM = function(op, acc) }; /** - * opSETZB(0o403000) + * opSETZB(0o403000): Set to Zeros Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M to all 0s. * * @this {CPUStatePDP10} * @param {number} op @@ -2616,14 +2629,15 @@ PDP10.opSETZM = function(op, acc) */ PDP10.opSETZB = function(op, acc) { - this.writeWord(acc, 0); - this.writeWord(this.regEA, 0); + this.writeWord(this.regEA, this.writeWord(acc, 0)); }; /** - * opAND(0o404000) + * opAND(0o404000): And with AC * - * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand ([E]) and [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2635,9 +2649,11 @@ PDP10.opAND = function(op, acc) }; /** - * opANDI(0o405000) + * opANDI(0o405000): And with AC Immediate * - * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand (E) and [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand (E) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2649,9 +2665,11 @@ PDP10.opANDI = function(op, acc) }; /** - * opANDM(0o406000) + * opANDM(0o406000): And with AC to Memory * - * Change the contents of the destination specified by M ([E]) to the AND function of the specified operand ([E]) and [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E]) to the AND function of the specified operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2663,9 +2681,12 @@ PDP10.opANDM = function(op, acc) }; /** - * opANDB(0o407000) + * opANDB(0o407000): And with AC to Both * - * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the specified operand ([E]) and [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the specified operand ([E]) + * and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2673,13 +2694,16 @@ PDP10.opANDM = function(op, acc) */ PDP10.opANDB = function(op, acc) { - var result = PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)); - this.writeWord(this.regEA, result); - this.writeWord(acc, result); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opANDCA(0o410000) + * opANDCA(0o410000): And with Complement of AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand ([E]) + * and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2687,11 +2711,16 @@ PDP10.opANDB = function(op, acc) */ PDP10.opANDCA = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** - * opANDCAI(0o411000) + * opANDCAI(0o411000): And with Complement of AC Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the specified operand (E) + * and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2699,11 +2728,16 @@ PDP10.opANDCA = function(op, acc) */ PDP10.opANDCAI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.regEA)); }; /** - * opANDCAM(0o412000) + * opANDCAM(0o412000): And with Complement of AC to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E]) to the AND function of the specified operand ([E]) + * and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2711,11 +2745,16 @@ PDP10.opANDCAI = function(op, acc) */ PDP10.opANDCAM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** - * opANDCAB(0o413000) + * opANDCAB(0o413000): And with Complement of AC to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the specified operand ([E]) + * and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2723,11 +2762,16 @@ PDP10.opANDCAM = function(op, acc) */ PDP10.opANDCAB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opANDCM(0o420000) + * opANDCM(0o420000): And Complement of Memory with AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the complement of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2735,11 +2779,16 @@ PDP10.opANDCAB = function(op, acc) */ PDP10.opANDCM = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opANDCMI(0o421000) + * opANDCMI(0o421000): And Complement of Memory Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the complement of the specified + * operand (E) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2747,11 +2796,16 @@ PDP10.opANDCM = function(op, acc) */ PDP10.opANDCMI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** - * opANDCMM(0o422000) + * opANDCMM(0o422000): And Complement of Memory to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E]) to the AND function of the complement of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2759,11 +2813,16 @@ PDP10.opANDCMI = function(op, acc) */ PDP10.opANDCMM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opANDCMB(0o423000) + * opANDCMB(0o423000): And Complement of Memory to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-20: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the complement of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2771,11 +2830,16 @@ PDP10.opANDCMM = function(op, acc) */ PDP10.opANDCMB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** - * opXOR(0o430000) + * opXOR(0o430000): Exclusive Or with AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the exclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2783,11 +2847,16 @@ PDP10.opANDCMB = function(op, acc) */ PDP10.opXOR = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opXORI(0o431000) + * opXORI(0o431000): Exclusive Or Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the exclusive OR function of the specified + * operand (E) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2795,11 +2864,16 @@ PDP10.opXOR = function(op, acc) */ PDP10.opXORI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.regEA)); }; /** - * opXORM(0o432000) + * opXORM(0o432000): Exclusive Or to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E]) to the exclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2807,11 +2881,16 @@ PDP10.opXORI = function(op, acc) */ PDP10.opXORM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opXORB(0o433000) + * opXORB(0o433000): Exclusive Or to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the exclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2819,11 +2898,16 @@ PDP10.opXORM = function(op, acc) */ PDP10.opXORB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opIOR(0o434000) + * opIOR(0o434000): Inclusive Or with AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2831,11 +2915,16 @@ PDP10.opXORB = function(op, acc) */ PDP10.opIOR = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opIORI(0o435000) + * opIORI(0o435000): Inclusive Or with AC Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the specified + * operand (E) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2843,11 +2932,16 @@ PDP10.opIOR = function(op, acc) */ PDP10.opIORI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.regEA)); }; /** - * opIORM(0o436000) + * opIORM(0o436000): Inclusive Or with AC to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E]) to the inclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2855,11 +2949,16 @@ PDP10.opIORI = function(op, acc) */ PDP10.opIORM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opIORB(0o437000) + * opIORB(0o437000): Inclusive Or with AC to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the inclusive OR function of the specified + * operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2867,11 +2966,16 @@ PDP10.opIORM = function(op, acc) */ PDP10.opIORB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opANDCB(0o440000) + * opANDCB(0o440000): And Complements of Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NOR function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -2879,11 +2983,16 @@ PDP10.opIORB = function(op, acc) */ PDP10.opANDCB = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opANDCBI(0o441000) + * opANDCBI(0o441000): And Complements of Both Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the AND function of the complements of both + * the specified operand (E) and [AC]. The result is the NOR function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -2891,11 +3000,16 @@ PDP10.opANDCB = function(op, acc) */ PDP10.opANDCBI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** - * opANDCBM(0o442000) + * opANDCBM(0o442000): And Complements of Both to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E]) to the AND function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NOR function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -2903,11 +3017,16 @@ PDP10.opANDCBI = function(op, acc) */ PDP10.opANDCBM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opANDCBB(0o443000) + * opANDCBB(0o443000): And Complements of Both to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the AND function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NOR function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -2915,11 +3034,16 @@ PDP10.opANDCBM = function(op, acc) */ PDP10.opANDCBB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** - * opEQV(0o444000) + * opEQV(0o444000): Equivalence with AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-23: + * + * Change the contents of the destination specified by M ([AC]) to the complement of the exclusive OR function of the + * specified operand ([E]) and [AC] (the result has 1s wherever the corresponding bits of the operands are the same). * * @this {CPUStatePDP10} * @param {number} op @@ -2927,11 +3051,16 @@ PDP10.opANDCBB = function(op, acc) */ PDP10.opEQV = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opEQVI(0o445000) + * opEQVI(0o445000): Equivalence Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-23: + * + * Change the contents of the destination specified by M ([AC]) to the complement of the exclusive OR function of the + * specified operand (E) and [AC] (the result has 1s wherever the corresponding bits of the operands are the same). * * @this {CPUStatePDP10} * @param {number} op @@ -2939,11 +3068,16 @@ PDP10.opEQV = function(op, acc) */ PDP10.opEQVI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.regEA)); }; /** - * opEQVM(0o446000) + * opEQVM(0o446000): Equivalence to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-23: + * + * Change the contents of the destination specified by M ([E]) to the complement of the exclusive OR function of the + * specified operand ([E]) and [AC] (the result has 1s wherever the corresponding bits of the operands are the same). * * @this {CPUStatePDP10} * @param {number} op @@ -2951,11 +3085,16 @@ PDP10.opEQVI = function(op, acc) */ PDP10.opEQVM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA))); }; /** - * opEQVB(0o447000) + * opEQVB(0o447000): Equivalence to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-23: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the complement of the exclusive OR function of the + * specified operand ([E]) and [AC] (the result has 1s wherever the corresponding bits of the operands are the same). * * @this {CPUStatePDP10} * @param {number} op @@ -2963,13 +3102,16 @@ PDP10.opEQVM = function(op, acc) */ PDP10.opEQVB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opSETCA(0o450000) and opSETCAI(0o451000) + * opSETCA(0o450000): Set to Complement of AC + * opSETCAI(0o451000): Set to Complement of AC Immediate * - * Change the contents of the destination specified by M ([AC]) to the complement of [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([AC]) to the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2981,9 +3123,11 @@ PDP10.opSETCA = function(op, acc) }; /** - * opSETCAM(0o452000) + * opSETCAM(0o452000): Set to Complement of AC Memory * - * Change the contents of the destination specified by M ([E]) to the complement of [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([E]) to the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -2995,9 +3139,11 @@ PDP10.opSETCAM = function(op, acc) }; /** - * opSETCAB(0o453000) + * opSETCAB(0o453000): Set to Complement of AC Both * - * Change the contents of the destination specified by M ([E] and [AC]) to the complement of [AC]. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3005,13 +3151,16 @@ PDP10.opSETCAM = function(op, acc) */ PDP10.opSETCAB = function(op, acc) { - var dst = PDP10.WORD_MASK - this.readWord(acc); - this.writeWord(acc, dst); - this.writeWord(this.regEA, dst); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.WORD_MASK - this.readWord(acc))); }; /** - * opORCA(0o454000) + * opORCA(0o454000): Inclusive Or with Complement of AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the specified + * operand ([E]) and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3019,11 +3168,16 @@ PDP10.opSETCAB = function(op, acc) */ PDP10.opORCA = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** - * opORCAI(0o455000) + * opORCAI(0o455000): Inclusive Or with Complement of AC Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the specified + * operand (E) and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3031,11 +3185,16 @@ PDP10.opORCA = function(op, acc) */ PDP10.opORCAI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.regEA)); }; /** - * opORCAM(0o456000) + * opORCAM(0o456000): Inclusive Or with Complement of AC to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E]) to the inclusive OR function of the specified + * operand ([E]) and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3043,11 +3202,16 @@ PDP10.opORCAI = function(op, acc) */ PDP10.opORCAM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** - * opORCAB(0o457000) + * opORCAB(0o457000): Inclusive Or with Complement of AC to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-21: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the inclusive OR function of the specified + * operand ([E]) and the complement of [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3055,13 +3219,16 @@ PDP10.opORCAM = function(op, acc) */ PDP10.opORCAB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); }; /** - * opSETCM(0o460000) + * opSETCM(0o460000): Set to Complement of Memory * - * Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand ([E]). + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([AC]) to the complement of the specified source + * operand ([E]). * * @this {CPUStatePDP10} * @param {number} op @@ -3073,9 +3240,12 @@ PDP10.opSETCM = function(op, acc) }; /** - * opSETCMI(0o461000) + * opSETCMI(0o461000): Set to Complement of Memory Immediate * - * Change the contents of the destination specified by M ([AC]) to the complement of the specified source operand (E). + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([AC]) to the complement of the specified source + * operand (E). * * @this {CPUStatePDP10} * @param {number} op @@ -3087,9 +3257,12 @@ PDP10.opSETCMI = function(op, acc) }; /** - * opSETCMM(0o462000) + * opSETCMM(0o462000): Set to Complement of Memory Memory * - * Change the contents of the destination specified by M ([E]) to the complement of the specified source operand ([E]). + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([E]) to the complement of the specified source + * operand ([E]). * * @this {CPUStatePDP10} * @param {number} op @@ -3101,9 +3274,12 @@ PDP10.opSETCMM = function(op, acc) }; /** - * opSETCMB(0o463000) + * opSETCMB(0o463000): Set to Complement of Memory Both * - * Change the contents of the destination specified by M ([E] and [AC]) to the complement of the specified source operand ([E]). + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-19: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the complement of the specified source + * operand ([E]). * * @this {CPUStatePDP10} * @param {number} op @@ -3111,13 +3287,16 @@ PDP10.opSETCMM = function(op, acc) */ PDP10.opSETCMB = function(op, acc) { - var dst = PDP10.WORD_MASK - this.readWord(this.regEA); - this.writeWord(acc, dst); - this.writeWord(this.regEA, dst); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opORCM(0o464000) + * opORCM(0o464000): Inclusive Or Complement of Memory with AC + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the complement of the + * specified operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3125,11 +3304,16 @@ PDP10.opSETCMB = function(op, acc) */ PDP10.opORCM = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opORCMI(0o465000) + * opORCMI(0o465000): Inclusive Or Complement of Memory Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the complement of the + * specified operand (E) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3137,11 +3321,16 @@ PDP10.opORCM = function(op, acc) */ PDP10.opORCMI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** - * opORCMM(0o466000) + * opORCMM(0o466000): Inclusive Or Complement of Memory to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E]) to the inclusive OR function of the complement of the + * specified operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3149,11 +3338,16 @@ PDP10.opORCMI = function(op, acc) */ PDP10.opORCMM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opORCMB(0o467000) + * opORCMB(0o467000): Inclusive Or Complement of Memory to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the inclusive OR function of the complement of the + * specified operand ([E]) and [AC]. * * @this {CPUStatePDP10} * @param {number} op @@ -3161,11 +3355,16 @@ PDP10.opORCMM = function(op, acc) */ PDP10.opORCMB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** - * opORCB(0o470000) + * opORCB(0o470000): Inclusive Or Complements of Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NAND function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -3173,11 +3372,16 @@ PDP10.opORCMB = function(op, acc) */ PDP10.opORCB = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opORCBI(0o471000) + * opORCBI(0o471000): Inclusive Or Complements of Both Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([AC]) to the inclusive OR function of the complements of both + * the specified operand (E) and [AC]. The result is the NAND function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -3185,11 +3389,16 @@ PDP10.opORCB = function(op, acc) */ PDP10.opORCBI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** - * opORCBM(0o472000) + * opORCBM(0o472000): Inclusive Or Complements of Both To Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E]) to the inclusive OR function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NAND function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -3197,11 +3406,16 @@ PDP10.opORCBI = function(op, acc) */ PDP10.opORCBM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** - * opORCBB(0o473000) + * opORCBB(0o473000): Inclusive Or Complements of Both to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-22: + * + * Change the contents of the destination specified by M ([E] and [AC]) to the inclusive OR function of the complements of both + * the specified operand ([E]) and [AC]. The result is the NAND function of the operands. * * @this {CPUStatePDP10} * @param {number} op @@ -3209,13 +3423,16 @@ PDP10.opORCBM = function(op, acc) */ PDP10.opORCBB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** - * opSETO(0o474000) and opSETOI(0o475000) + * opSETO(0o474000): Set to Ones + * opSETOI(0o475000): Set to Ones Immediate * - * Change the contents of the destination specified by M (AC) to all 1s. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M (AC) to all 1s. * * @this {CPUStatePDP10} * @param {number} op @@ -3227,9 +3444,11 @@ PDP10.opSETO = function(op, acc) }; /** - * opSETOM(0o476000) + * opSETOM(0o476000): Set to Ones Memory * - * Change the contents of the destination specified by M ([E]) to all 1s. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M ([E]) to all 1s. * * @this {CPUStatePDP10} * @param {number} op @@ -3241,9 +3460,11 @@ PDP10.opSETOM = function(op, acc) }; /** - * opSETOB(0o477000) + * opSETOB(0o477000): Set to Ones Both * - * Change the contents of the destination specified by M ([E] and [AC]) to all 1s. + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-18: + * + * Change the contents of the destination specified by M ([E] and [AC]) to all 1s. * * @this {CPUStatePDP10} * @param {number} op @@ -3251,8 +3472,7 @@ PDP10.opSETOM = function(op, acc) */ PDP10.opSETOB = function(op, acc) { - this.writeWord(acc, PDP10.WORD_MASK); - this.writeWord(this.regEA, PDP10.WORD_MASK); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.WORD_MASK)); }; /** @@ -4627,7 +4847,7 @@ PDP10.setHR = function(op, dst, src) /** * doAND(dst, src) * - * Used by callers to perform a logical "AND" of two 36-bit operands. + * Used by callers to perform the logical "and" (AND) of two 36-bit operands. * * @param {number} dst (36-bit value) * @param {number} src (36-bit value) @@ -4636,8 +4856,9 @@ PDP10.setHR = function(op, dst, src) PDP10.doAND = function(dst, src) { /* - * Since dst and src are 36-bit values, we must "AND" the low 32 bits separately from the higher bits, - * and then combine them with addition. + * Since dst and src are 36-bit values, we must AND the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 AND 0 is 0, + * no special masking for the higher bits is required. * * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is @@ -4646,6 +4867,75 @@ PDP10.doAND = function(dst, src) return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0); }; +/** + * doEOR(dst, src) + * + * Used by callers to perform the logical "exclusive-or" (XOR) of two 36-bit operands. + * + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst ^ src) + */ +PDP10.doEOR = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must XOR the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 XOR 0 is 0, + * no special masking for the higher bits is required. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst ^ src) >>> 0); +}; + +/** + * doEQV(dst, src) + * + * Used by callers to perform the logical "equivalence" (EQV) of two 36-bit operands. + * + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (~(dst ^ src)) + */ +PDP10.doEQV = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must EQV the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 EQV 0 is 1, + * we must mask the higher 4 bits with 0o17. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((~(((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) & 0o17) * PDP10.TWO_POW32) + (~(dst ^ src) >>> 0); +}; + +/** + * doIOR(dst, src) + * + * Used by callers to perform the logical "inclusive-or" (OR) of two 36-bit operands. + * + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst | src) + */ +PDP10.doIOR = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must OR the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 OR 0 is 0, + * no special masking for the higher bits is required. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) | ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst | src) >>> 0); +}; + /* * If we want the basic half-word operations to handle all the sub-operations; ie: * diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index 736532cc2..b35298c4d 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -769,10 +769,12 @@ class CPUStatePDP10 extends CPUPDP10 { * @this {CPUStatePDP10} * @param {number} addr * @param {number} data + * @return {number} (we return the data back to the caller to permit nested writes) */ writeWordToPhysical(addr, data) { this.bus.setWord(this.lastAddr = addr, data); + return data; } /** diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 1f9faa9c3..29a26715f 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -3898,7 +3898,7 @@ if (DEBUGGER) { 0o42000: DebuggerPDP10.OPS.ANDCM, 0o42400: DebuggerPDP10.OPS.SETA, 0o43000: DebuggerPDP10.OPS.XOR, - 0o43400: DebuggerPDP10.OPS.IOR, + 0o43400: DebuggerPDP10.OPS.IOR, // MACRO alias: OR 0o44000: DebuggerPDP10.OPS.ANDCB, 0o44400: DebuggerPDP10.OPS.EQV, 0o45000: DebuggerPDP10.OPS.SETCA, diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index e52b9896f..7bfa19736 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,204 +27,208 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,ca="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},da="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ea(){ea=function(){};da.Symbol||(da.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++} -function ha(){ea();var a=da.Symbol.iterator;a||(a=da.Symbol.iterator=da.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ca(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return ba?-b:b}});ma("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var na=Math.pow(2,36),oa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, +var l,fa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ga="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ha(){ha=function(){};ga.Symbol||(ga.Symbol=ia)}var ja=0;function ia(a){return"jscomp_symbol_"+(a||"")+ja++} +function ka(){ha();var a=ga.Symbol.iterator;a||(a=ga.Symbol.iterator=ga.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&fa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return la(this)}});ka=function(){}}function la(a){var b=0;return ma(function(){return ba?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var qa=Math.pow(2,36),ra=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; -function pa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ra(a,b,c){b?12"']/g,function(a){return Ca[a]})}function Da(a,b){return(a+" ").slice(0,b)} -function Ea(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ca={"&":"&","<":"<",">":">",'"':""","'":"'"};function Fa(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ua(a,b,c){b?12"']/g,function(a){return Fa[a]})}function Ga(a,b){return(a+" ").slice(0,b)} +function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Ia(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.j.error=!1;this.X=c||0;this.C=this.i=this.G=this.F=this.oa=null;w.push(this)}function ib(a,b,c){kb[a]&&b&&(kb[a][b]=c)}function tb(){return Date.now()||+new Date} -function u(a){window&&window.alert(a)}function ub(a){var b=!1;window&&(b=window.confirm(a));return b}function vb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.v.error=!1;this.X=c||0;this.C=this.j=this.G=this.F=this.oa=null;w.push(this)}function lb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function wb(){return Date.now()||+new Date} +function u(a){window&&window.alert(a)}function xb(a){var b=!1;window&&(b=window.confirm(a));return b}function yb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.i=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, -set:this.Wb};D(this)}p(Yb,v);l=Yb.prototype;l.reset=function(a){this.stop();a&&$b(this,this.A=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.i&&this.i.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ac(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){bc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ac(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){bc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;cc(this);dc(this)};l.pa=function(a,b){if(!b)if(this.W&&ec(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])fc(this,this.f=a[0]),$b(this,this.A=a[1]),gc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}dc(this);return!0};function hc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cc(a,b){for(var c in a.D)hc(a,c,null!=b?b:a.D[c])}function pc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function dc(a){for(var b in a.b)pc(a,b,a.b[b][1])} -l.Eb=function(a,b,c){if(ac(this,b)){if(c){var d=this;setTimeout(function(){bc(d,b);a&&a()},+c);return!1}bc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return gc(this,pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,pc(this,a,c[1]),!0):!1};l.Xb=function(a){return ac(this,a)?(bc(this,a),!0):!1};function ac(a,b){var c=a.b[b];return c?(pc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=qc&&(a.P=b==rc,a.R=b==sc),!0):!1} -function bc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(pc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.i.j.K||(this.i.u=this.f%Mb,this.b[tc]&&this.b[tc][1]&&uc(this.i))};l.Ob=function(){};l.Ib=function(a){a||this.i.V()}; -l.Gb=function(a){if(!a&&!this.i.j.K)if(this.b[tc]&&this.b[tc][1])uc(this.i);else{if((a=this.C)&&!Hb(a,!0))Ib(a,!0),vc(a,0,null),Ib(a,!1);else try{var b=this.i.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Hc(Ic,e,g)}e=new Dc(a,e,m,16384,d);Ec(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+ra(b)),!0):Hc(Kc,b,c)} -function Bc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ac(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Fc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=ed(a)&&(a.ha=a.ja=-1,ad(a),a.V(),c=!0);c&&a.g(ed(a)+" cycles: checksum="+t(a.ta))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.j.U)a=!0;else{var b=null,c,h=vb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&id(a.F)}xc(a,a.L);a.L=0;a.J=tb();a.N=0;gd(a);return d}function jd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Ub=function(){if(this.j.K){this.Aa>=this.Va&&gd(this,!0);this.ka=0;this.sa=tb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=jd(this,this.j.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Fd(this,!0);this.ka+=b;this.L+=b;yc(this,b);wc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Gd&&(this.F&&L(this.F,void 0),this.Wa=0);break}}while(this.j.K)}catch(e){this.V();this.F&&this.F.stop(tb(),ed(this));Eb(this, -e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.kb;this.N=tb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,fd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function uc(a,b){if(!Fb(a))if(a.j.K)a.g(a.toString()+" busy");else{fd(a);a.j.K=!0;a.j.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&id(a.F,!0),a.F.start(a.J,ed(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.j.K){Fd(this);xc(this,this.L);this.L=0;this.j.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(tb(),ed(this));b=!0;this.C||this.status("Stopped")}this.j.complete=a;return b};var hd=30,Gd=15,Yc=["power","reset"]; -function Hd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Id.bind(this);this.b=N.bind(this);this.la=null;this.fb=[];this.j.complete=!1}p(Hd,Xc);l=Hd.prototype;l.reset=function(){this.status("Model "+this.jb);this.j.K&&this.V();this.f=this.H=this.Ba=0;this.u=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.u;this.A=0;this.w=this.Qb;this.v=this.ac;this.la=null;$c(this);this.j.error=!1;Xc.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new J(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.u,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.j.Z]);a.set(3,Jd(this));a.set(4,kd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];ha();ea();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.u=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];fd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dQb&&(a!=Rb?a=Sb-a:this.Ra=this.za=!0);return a};function Ld(a,b){b?b==Rb?a.Ra=a.za=!0:b=Sb-b:a.ib=a.za=!0;return b}function Jd(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.u)>>>b.f].w(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.u)>>>c.f].v(b,a&16383,a)}; -l.Ja=function(a){this.j.complete=!0;var b=this.C?Md(this.C)?1:this.j.Pa?-1:0:0,c=a?this.j.Pa?0:1:-1;this.j.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Nd(this.C,this.u,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Nd(this.C,this.u,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.w(this.f):this.Ba=this.w(this.ra=this.u);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.w(a)&Nb;this.H&4194304?a=-1:(this.u=(this.u+1)%Mb,a=this.Ba/Wb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function O(a){this.b(a)} -function Pd(){var a=0,b=this.w(this.f),c=b/Xb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Xb+(d<<24)+(b&16777215);a&&(b=(b+a)%Ob);this.v(this.f,b)}function Qd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.v(b,a);this.D=-1}} -function Rd(a,b){a=this.w(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Kd(this,-1);else{var c=this.D/Xb&63,d=this.D>>24&63;b=this.w(b)%Math.pow(2,d)*Math.pow(2,c)%Ob;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.v(this.f,a);this.D=-1}}function Sd(a,b){this.v(b,this.w(this.f))}function Td(a,b){this.v(b,this.f)}function Ud(a,b){this.v(this.f,this.w(b))}function Vd(a,b){this.v(b,0)}function Wd(a,b){this.v(b,E-this.w(b))}function Xd(a,b){this.v(b,E)} -function Yd(a,b){var c=this.w(this.f),d=this.w(b);this.v(b,Zd(a,d,c)+(c-(c&H)))}function $d(a,b){var c=this.w(b);this.v(b,Zd(a,c,0))}function ae(a,b){b=this.w(b);var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+(b-(b&H)))}function be(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Qb?H:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function ce(a,b){var c=(this.w(this.f)&H)*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)} -function de(a,b){var c=this.f*G,d=this.w(b);this.v(b,Zd(a,d,c)+c)}function ee(a,b){b=(this.w(b)&H)*G;var c=this.w(this.f);this.v(this.f,Zd(a,c,b)+b)}function fe(a,b){var c=this.w(this.f),d=(c&H)*G,c=Zd(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function ge(a,b){var c=this.w(this.f)&H,d=this.w(b);this.v(b,he(a,d,c)+c)}function ie(a,b){var c=this.w(b);this.v(b,he(a,c,this.f)+this.f)}function je(a,b){b=this.w(b)&H;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)} -function ke(a,b){var c=this.w(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Pb?H*G:0}c=d;this.v(this.f,c);b&&this.v(b,c)}function le(a,b){var c=this.w(this.f)/G|0,d=this.w(b);this.v(b,he(a,d,c)+c)}function me(a,b){var c=this.w(b);this.v(b,he(a,c,0))}function ne(a,b){b=this.w(b)/G|0;var c=this.w(this.f);this.v(this.f,he(a,c,b)+b)}function oe(a,b){var c=this.w(this.f),d=c/G|0,c=he(a,c,d)+d;this.v(this.f,c);b&&this.v(b,c)}function Q(a){this.b(a)}function pe(){} -function N(a){this.g("undefined opcode: "+ra(a));Kd(this,-1);this.V()}function he(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Pb?H*G:0}return b}function Zd(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Qb?H:0}return b}function qe(a,b){return((a/Tb|0)&(b/Tb|0))*Tb+((a&b)>>>0)} -var Od=[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,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Pd,function(a,b){0>this.D&&Pd.call(this);Qd.call(this,0,b)},Qd,function(a,b){0>this.D&&Pd.call(this);Rd.call(this,0,b)},Rd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function $b(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.w=this.A=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=ac;this.D={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.j=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, +set:this.Wb};D(this)}p($b,v);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.j&&this.j.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.j=c;this.C=d;ec(this);fc(this)};l.pa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new K(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.D)jc(a,c,null!=b?b:a.D[c])}function kc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} +l.Eb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Xb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==tc,a.R=b==uc),!0):!1} +function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.j.v.K||(this.j.w=this.f%Pb,this.b[vc]&&this.b[vc][1]&&wc(this.j))};l.Ob=function(){};l.Ib=function(a){a||this.j.V()}; +l.Gb=function(a){if(!a&&!this.j.v.K)if(this.b[vc]&&this.b[vc][1])wc(this.j);else{if((a=this.C)&&!Kb(a,!0))Lb(a,!0),xc(a,0,null),Lb(a,!1);else try{var b=this.j.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Jc(Kc,e,g)}e=new Fc(a,e,m,16384,d);Gc(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Lc[d]+" at "+ua(b)),!0):Jc(Mc,b,c)} +function Dc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Cc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Hc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=gd(a)&&(a.ha=a.ja=-1,cd(a),a.V(),c=!0);c&&a.g(gd(a)+" cycles: checksum="+t(a.ta))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=yb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=wb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function nd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} +l.Ub=function(){if(this.v.K){this.Aa>=this.Va&&id(this,!0);this.ka=0;this.sa=wb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=ld(this,this.v.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=nd(this,!0);this.ka+=b;this.L+=b;Ac(this,b);yc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Id&&(this.F&&L(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(wb(),gd(this));Hb(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=wb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,hd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; +function wc(a,b){if(!Ib(a))if(a.v.K)a.g(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(wb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; +function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=N.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.i=this.Qb;this.u=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new K(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.w,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Ld(this));a.set(4,md(this));return a.data()}; +l.restore=function(a){var b;b=a[0];ka();ha();ka();var c=b[Symbol.iterator];b=c?c.call(b):la(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.w=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];hd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].i(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].u(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.C?Od(this.C)?1:this.v.Pa?-1:0:0,c=a?this.v.Pa?0:1:-1;this.v.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Pd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Pd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.i(this.f):this.Ba=this.i(this.ra=this.w);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.i(a)&Qb;this.H&4194304?a=-1:(this.w=(this.w+1)%Pb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function P(a){this.b(a)} +function Rd(){var a=0,b=this.i(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%Rb);this.u(this.f,b)}function Sd(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.u(b,a);this.D=-1}} +function Td(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.i(b)%Math.pow(2,d)*Math.pow(2,c)%Rb;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.u(this.f,a);this.D=-1}}function Ud(a,b){this.u(b,this.i(this.f))}function Vd(a,b){this.u(b,this.f)}function Wd(a,b){this.u(this.f,this.i(b))}function Xd(a,b){this.u(b,0)}function Yd(a,b){this.u(b,E-this.i(b))}function Zd(a,b){this.u(b,E)} +function $d(a,b){var c=this.i(this.f),d=this.i(b);this.u(b,ae(a,d,c)+(c-(c&G)))}function be(a,b){var c=this.i(b);this.u(b,ae(a,c,0))}function ce(a,b){b=this.i(b);var c=this.i(this.f);this.u(this.f,ae(a,c,b)+(b-(b&G)))}function de(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d-=d&G,a){case 256:d+=G;break;case 384:d+=c>Tb?G:0}c=d;this.u(this.f,c);b&&this.u(b,c)}function ee(a,b){var c=(this.i(this.f)&G)*F,d=this.i(b);this.u(b,ae(a,d,c)+c)} +function fe(a,b){var c=this.f*F,d=this.i(b);this.u(b,ae(a,d,c)+c)}function ge(a,b){b=(this.i(b)&G)*F;var c=this.i(this.f);this.u(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.i(this.f),d=(c&G)*F,c=ae(a,c,d)+d;this.u(this.f,c);b&&this.u(b,c)}function ie(a,b){var c=this.i(this.f)&G,d=this.i(b);this.u(b,je(a,d,c)+c)}function ke(a,b){var c=this.i(b);this.u(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.i(b)&G;var c=this.i(this.f);this.u(this.f,je(a,c,b)+b)} +function me(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d&=G,a){case 256:d+=G*F;break;case 384:d+=c>Sb?G*F:0}c=d;this.u(this.f,c);b&&this.u(b,c)}function ne(a,b){var c=this.i(this.f)/F|0,d=this.i(b);this.u(b,je(a,d,c)+c)}function oe(a,b){var c=this.i(b);this.u(b,je(a,c,0))}function pe(a,b){b=this.i(b)/F|0;var c=this.i(this.f);this.u(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.i(this.f),d=c/F|0,c=je(a,c,d)+d;this.u(this.f,c);b&&this.u(b,c)}function Q(a){this.b(a)}function re(){} +function N(a){this.g("undefined opcode: "+ua(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&G;break;case 128:b=0;break;case 256:b=G*F;break;case 384:b=c>Sb?G*F:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=G;break;case 128:b=0;break;case 256:b=G;break;case 384:b=c>Tb?G:0}return b}function R(a,b){return((a/H|0)&(b/H|0))*H+((a&b)>>>0)}function se(a,b){return((a/H|0)^(b/H|0))*H+((a^b)>>>0)}function te(a,b){return(~((a/H|0)^(b/H|0))&15)*H+(~(a^b)>>>0)} +function T(a,b){return(a/H|0|b/H|0)*H+((a|b)>>>0)} +var Qd=[P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,Td,Ud,function(a,b){b&&this.v(b,this.w(this.f))},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(b,a)},function(a,b){this.v(b,this.f*G)},function(a,b){a=this.w(b);a=(a/G|0)+a%G*G;this.v(this.f,a)},function(a,b){a=this.w(this.f);a=(a/G|0)+a%G*G;this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,Ld(this,this.w(this.f)))},function(a,b){this.v(b,this.f?Sb-this.f:0)},function(a,b){this.v(this.f,Ld(this, -this.w(b)))},function(a,b){a=Ld(this,this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a,b){this.v(b,this.abs(this.w(this.f)))},function(a,b){this.v(b,this.f)},function(a,b){this.v(this.f,this.abs(this.w(b)))},function(a,b){a=this.abs(this.w(this.f));this.v(this.f,a);b&&this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a,b){a=this.w(b);this.v(b,this.w(this.f));this.v(this.f,a)},function(a,b){a=!1;for(var c=this.w(b),d=c/G|0,c=c&H;!a;)this.v(c,this.w(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.j.K||(this.v(b, -d*G+c),a||Kd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a,b){a=this.w(b);a+=262145;this.v(a&H,this.w(this.f));a>=Ob&&(a-=Ob);a/G|0||(this.Sa=!0);this.v(b,a)},function(a,b){a=this.w(b);var c=this.w(a&H);this.v(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=Ob);(a/G|0)==H&&(this.Sa=!0);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.u(b,this.i(this.f))},function(a,b){a=this.i(this.f);a=(a/F|0)+a%F*F;this.u(b,a)},function(a,b){this.u(b,this.f*F)},function(a,b){a=this.i(b);a=(a/F|0)+a%F*F;this.u(this.f,a)},function(a,b){a=this.i(this.f);a=(a/F|0)+a%F*F;this.u(this.f,a);b&&this.u(b,a)},function(a,b){this.u(b,Nd(this,this.i(this.f)))},function(a,b){this.u(b,this.f?Vb-this.f:0)},function(a,b){this.u(this.f,Nd(this, +this.i(b)))},function(a,b){a=Nd(this,this.i(this.f));this.u(this.f,a);b&&this.u(b,a)},function(a,b){this.u(b,this.abs(this.i(this.f)))},function(a,b){this.u(b,this.f)},function(a,b){this.u(this.f,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.f));this.u(this.f,a);b&&this.u(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a,b){a=this.i(b);this.u(b,this.i(this.f));this.u(this.f,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/F|0,c=c&G;!a;)this.u(c,this.i(d)),c==this.f&&(a=!0),d=d+1&G,c=c+1&G,this.v.K||(this.u(b, +d*F+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a,b){a=this.i(b);a+=262145;this.u(a&G,this.i(this.f));a>=Rb&&(a-=Rb);a/F|0||(this.Sa=!0);this.u(b,a)},function(a,b){a=this.i(b);var c=this.i(a&G);this.u(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=Rb);(a/F|0)==G&&(this.Sa=!0);this.u(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Vd,function(){this.v(this.f,0)},function(a,b){this.v(b,0);this.v(this.f,0)},function(a,b){this.v(b,qe(this.w(b),this.w(this.f)))},function(a,b){this.v(b,qe(this.w(b),this.f))},function(a,b){this.v(this.f,qe(this.w(b),this.w(this.f)))},function(a,b){a=qe(this.w(b),this.w(this.f));this.v(this.f,a);this.v(b,a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},Sd,Td,pe,Sd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},pe,pe,Ud,Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},Wd,Wd,function(a,b){this.v(this.f,E-this.w(b))},function(a,b){a=E-this.w(b);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.v(b,E-this.w(this.f))},function(a,b){this.v(b,E-this.f)},function(){this.v(this.f,E-this.w(this.f))},function(a,b){a=E-this.w(this.f);this.v(b,a);this.v(this.f,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.v(this.f,E)},function(a,b){this.v(b,E);this.v(this.f,E)},Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,Yd,$d,ae,be,ce,de,ee,fe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,ge,ie,je,ke,le,me,ne,oe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.u(this.f,0)},function(a,b){this.u(this.f,this.u(b,0))},function(a,b){this.u(b,R(this.i(b),this.i(this.f)))},function(a,b){this.u(b,R(this.i(b),this.f))},function(a,b){this.u(this.f,R(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(this.i(b),this.i(this.f))))},function(a,b){this.u(b,R(E-this.i(b),this.i(this.f)))}, +function(a,b){this.u(b,R(E-this.i(b),this.f))},function(a,b){this.u(this.f,R(E-this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(E-this.i(b),this.i(this.f))))},Ud,Vd,re,Ud,function(a,b){this.u(b,R(this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,R(this.i(b),E-this.f))},function(a,b){this.u(this.f,R(this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(this.i(b),E-this.i(this.f))))},re,re,Wd,Wd,function(a,b){this.u(b,se(this.i(b),this.i(this.f)))},function(a,b){this.u(b, +se(this.i(b),this.f))},function(a,b){this.u(this.f,se(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,se(this.i(b),this.i(this.f))))},function(a,b){this.u(b,T(this.i(b),this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),this.f))},function(a,b){this.u(this.f,T(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(this.i(b),this.i(this.f))))},function(a,b){this.u(b,R(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,R(E-this.i(b),E-this.f))},function(a,b){this.u(this.f, +R(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(E-this.i(b),E-this.i(this.f))))},function(a,b){this.u(b,te(this.i(b),this.i(this.f)))},function(a,b){this.u(b,te(this.i(b),this.f))},function(a,b){this.u(this.f,te(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,te(this.i(b),this.i(this.f))))},Yd,Yd,function(a,b){this.u(this.f,E-this.i(b))},function(a,b){this.u(this.f,this.u(b,E-this.i(b)))},function(a,b){this.u(b,T(E-this.i(b),this.i(this.f)))},function(a,b){this.u(b, +T(E-this.i(b),this.f))},function(a,b){this.u(this.f,T(E-this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(E-this.i(b),this.i(this.f))))},function(a,b){this.u(b,E-this.i(this.f))},function(a,b){this.u(b,E-this.f)},function(){this.u(this.f,E-this.i(this.f))},function(a,b){this.u(this.f,this.u(b,E-this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),E-this.f))},function(a,b){this.u(this.f,T(this.i(b),E-this.i(this.f)))},function(a, +b){this.u(this.f,this.u(b,T(this.i(b),E-this.i(this.f))))},function(a,b){this.u(b,T(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,T(E-this.i(b),E-this.f))},function(a,b){this.u(this.f,T(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(E-this.i(b),E-this.i(this.f))))},Zd,Zd,function(){this.u(this.f,E)},function(a,b){this.u(this.f,this.u(b,E))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke, +le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q]; -function re(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=sa(this.A);if(this.A){a=this.A;var b=ta(this.H);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(ib(c.La,a,b),(a=Ia(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);se(c)})}}p(re,v); -re.prototype.wa=function(a,b,c,d){this.G=b;this.i=c;this.C=d;se(this)};re.prototype.pa=function(){this.T&&(this.C&&te(this.C,this.id,this.D,this.u,this.T),delete this.T);return!0};re.prototype.fa=function(){return!0}; -function se(a){if(!Gb(a)){if(a.A){if(!a.b||!a.G)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Eb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.u,8,!0)+")");else{var b;b=a.D;if(Gc(a.G,b,a.u,Oc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=oa&&(f+=na);f=Math.trunc(Math.abs(f))%na;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.i=c;this.C=d;D(this)}; -l.tb=function(a){if(!this.b){var b=Zc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Ka)return;c=Ea(c[1]);if(this.b=wb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.D=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ea(b.substring(c,g))),c=g+1}}return a} -function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function(a){this.b(a)},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q]; +function ue(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=va(this.A);if(this.A){a=this.A;var b=wa(this.H);"json"!=b&&"hex"!=b&&(a=Da()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(lb(c.La,a,b),(a=La(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ve(c)})}}p(ue,v); +ue.prototype.wa=function(a,b,c,d){this.G=b;this.j=c;this.C=d;ve(this)};ue.prototype.pa=function(){this.T&&(this.C&&we(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};ue.prototype.fa=function(){return!0}; +function ve(a){if(!Jb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Hb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Ic(a.G,b,a.w,Qc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=ra&&(f+=qa);f=Math.trunc(Math.abs(f))%qa;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.j=c;this.C=d;D(this)}; +l.tb=function(a){if(!this.b){var b=ad(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.Ka)return;c=Ha(c[1]);if(this.b=zb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new K(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ha(b.substring(c,g))),c=g+1}}return a} +function Ee(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function R(a,b,c){var d;if(b){b=Ce(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,W--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} -function Ge(a,b){if(b)return Fe(a,b,a.W[b]);var c=0;for(b in a.W)Fe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ee={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function He(a){ze.call(this,a);this.ya=!1;this.la=!0;this.va=S();this.L=S(0);this.ja=S(0);this.ba=S(0);this.H=[];this.b=this.M=this.J=[];Ie(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Je(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ke(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return dd(b,a)}):void 0===global[y]&&(global[y]=function(a){return dd(b, -a)})}p(He,ze);function U(a){a=a&&a.B;null==a&&(a=-1);return a}function S(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Le(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Me(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Ne(a,b){var c=S(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=Ae(a,c.Oa=b[4]));return c}l=He.prototype; -l.wa=function(a,b,c,d){this.G=b;this.F=a;this.i=c;this.ha=a.u;(a=Zc(a,"messages"))&&Ke(this,a);Oe(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=U(V(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Jc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.i.ra==b&&(b=Kd(a.i,1)));if(0d&&(d=a.i.w(b)),0<=d&&(Le(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Pf(a,b,c,d){var e=S(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Ub|0,r;for(r in Qf)if(f=Qf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Rf;m=n&3;break;case 32256:k=Sf;m=n&7;break;case 29248:k=Tf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Uf&&(k="B");k=Vf[f||0]+k;k=Da(k,8);f?(k=28700==h?k+M(a,g/Vb&127,-1):k+M(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=M(a,g&262143,-1),(g=g>>18&15)&&(k+="("+M(a,g,-1)+")")):k+=Qe(g);g=k;f="";h=M(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Qe(k),null== -e.B)break;while(e.B!=b.B)}h+=Da(f,16)+g;c&&(h=Da(h,48)+";"+(c||""),h=a.i.j.Ea?h+("cycles="+ed(a.i).toString()+" cs="+t(a.i.ta)):h+(null!=d?"="+d.toString():""));return h}function Ie(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||Wf(this,a,b,!1,!0);if(a!=this.b){var e=U(b);if(-1===e)this.g("invalid address: "+M(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(Xf(this,a,a.length-1,"set"),Je(this)));return d};function Wf(a,b,c,d,e){var g=!1;c=U(c);for(var f=1;f>>d.f],b==a.J));h.ea||Je(a);break}}return g} -function Yf(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=ra(d,2);Le(e.va,d);g+="="+M(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ve?1:d==Te?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Fa(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function ag(a,b,c){var d=[],e=U(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Pf(a,b,f,g));e-=b.B-k;c++}}} -function Zf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Kf+b):(a.P&&(a.g("ended assemble at "+M(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Gb(a)&&0n||"z"Uf&&(nd="B");if(Hg==Vf[ff]+nd){ef=29248!=ic?Ma:(Ma&3)<<1|(Ma&12)<<2;z=(md|ef<<6)*Ub;break}}if(0<= -z)break}if(0<=z)break}if(0<=z)if(cf)for(var od=cf.split(","),jb=0;jbF||127F||15F||262143< -F){a.g("memory address out of range: "+X[2]);z=-1;break}z+=F;if(X[3]){F=R(a,X[3]);if(void 0==F){z=-1;break}if(0>F||15Z.length&&(a.g("note: only "+Z.length+" available"),P=Z.length);T-=P;0>T&&(null==Z[Z.length-1].B?(P=T+P,T=0):T+=Z.length);var td=[];"call"==mf&&(lb=1E5,td=["CALL"]);for(void 0!==lf&&a.g(P+" instructions earlier:");0=Z.length&&(T=0);a.sa=P;of++;lb--}}of||(a.g("no "+nf+"history available"),a.sa=void 0)}else{var Sa=V(a,Y,a.ja);if(Sa){var va=0,rf="ds"==Pa;if(ka){if("l"==ka.charAt(0))ka=ka.substr(1)||Kg,va=De(a,ka);else{var sf=V(a,ka);sf&&(va=sf.B-Sa.B)}0>va&&(va=0);65536wf;wf++)uf+=String.fromCharCode((kc%64|0)+32),kc/=64}wa&&(wa+="\n");wa=rf?wa+(xa+","):wa+(Y+": "+xa+(0>vf?" "+uf:""))}wa&&a.g(wa);a.ca=Mg}}}}break;case "e":if("else"==f[0])break;var xf,yf,zf=f[0],wd=f[1];"e"==zf||"ew"==zf?(xf=a.xa,yf=a.eb):wd=null;if(null==wd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var lc=V(a,wd,a.ja);if(lc)for(var mc=2;mcAd;){for(var ya=null,Qg=256;65536>ob.B>>>0;){Bd.B=a.xa(ob,2);if(null==ob.B||!Qg--)break;if(!(Bd.B&1)){for(var Rg=a,nc=Bd,Bf=null,pb=nc.B,Cf=pb,Cd=1;6>=Cd&&pb;Cd++){if(2If)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Jf=S(a.i.u);a.xa(Jf);a.N?(a.Da(a.b,Jf,!0),af(a)||(a.F&&id(a.F),a.N=0)):fg(a,If?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}Mf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var rb=+f[2]; -if(8==rb||10==rb||16==rb)a.ca=rb;else{a.g("invalid base: "+rb);break}}a.g("default base: "+a.ca);break;case "cs":var sb;void 0!==f[3]&&(sb=+f[3]);switch(f[2]){case "int":a.i.ha=sb;break;case "start":a.i.ua=sb;break;case "stop":a.i.ja=sb;break;default:a.g("unknown cs option");break a}void 0!==sb&&ad(a.i);a.g("checksums "+(a.i.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(fd(a.i,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.i.W.toFixed(2)+ -"Mhz")+" ("+a.i.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":fg(a,f[0],f[1]);break;case "u":Nf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){cg(a,b.substr(3))||(d=!1);break}if("ver"== -f[0]){a.g((Lb||"PDP10")+" version 1.34.2 ("+a.i.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){eg(a,b.substr(1));break}var Dd="commands:",Ed;for(Ed in hg)Dd+="\n"+Da(Ed,9)+hg[Ed];Md(a)||(Dd+="\nnote: history disabled if no exec breakpoints");a.g(Dd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Lf){a.g("debugger error: "+(Lf.stack||Lf.message)),d=!1}return d} -function dd(a,b,c){b=Ae(a,b,c);for(var d in b)if(!Zf(a,b[+d]))return!1;return!0} -var hg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Uf=20,Vf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -Se=0,Te=1,Ue=2,Ve=3,We=4,Xe=5,Ye=6,Ze=7,Re="PC RA EA C0 C1 OV ND PD".split(" "),ig={},Qf=(ig[28672]={0:101},ig[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ig[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Uf,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ig[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ig[29248]={24576:79,24640:80,25088:81,25152:82},ig[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},ig),Rf=["","I","M","S"],Sf=" L E LE A GE N G".split(" "),Tf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),$e=1E3,Kf=">> ";ab(function(){for(var a=C(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bmg){if(ng(d,this.M)){this.D=new J(this,"1.34.2",wg);ng(this.D)&&(xg(this,d),a=yg,zg(this.D));this.D.set(tg,Ga());Ag(this.D);var e=this.b&&!this.L;if(a==ug||ub("Click OK to restore the previous "+Lb+" machine state, or CANCEL to reset the machine.")){if(c=sg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?ng(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ua(Bg,""),this.f=null)):this.g(g+": "+f),zg(d),ng(d)?(c=sg(d),e=!0):c=!1))}e&&qg(this,c?d:null)}else a==yg&&d.clear()}else qg(this);delete this.M;delete this.J}e=vb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.j.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.i&&(Cg(this,this.i,b,c,a),L(this,-2),this.i.Z());this.P&&(xg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; -function xg(a,b){if(ub("There may be a problem with your "+Lb+" machine.\n\nTo help us diagnose it, click OK to send this "+Lb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Lb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}} -function gg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new J(a,"1.34.2"),f=new J(a,"1.34.2",rg),h=Ga();f.set(tg,h);g.set(tg,h);g.set(Dg,"1.34.2");g.set(Eg,window?window.location.href:null);g.set(Fg,window?window.navigator.userAgent:"");a.i&&a.i.fa&&(c&&(b&&(a.i.j.Z=a.i.j.K),a.i.V()),d=a.i.fa(b,c),"object"===typeof d&&g.set(a.i.id,d),c&&(a.i.j.U=!1,!1===d&&(e=null)));for(var h=vb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.j.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.i.j.K;d=!!(a.i.A&8);if(0>=b||60<=(a.L+=b)){e=a.i.u;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?ra(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.i.u:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);$g(a,b,c)}})}else c(a,null)} -function ah(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&C(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function f(a){g("Error: "+a);m&&(--Xg||eb(!0));m=!1}var h,k,m=!0;Xg++;kb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],A=document.createElement("style");A.type="text/css";A.styleSheet?A.styleSheet.cssText=n:A.appendChild(document.createTextNode(n));r.appendChild(A)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?Yg(d,null,a,null,!1,g,function(a,e){e?(ib(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xg||eb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Xg|| -eb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Yg(c,b,a,e,!0,g,n):Zg(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(W){f(W.message)}return m}window.embedPDP10=function(a,b,c,d){eb(!1);return ah("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){eb(!1);return ah("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return xb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ab[a]){for(var c=!0,d=Ab,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,Z--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+ua(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function Je(a,b){if(b)return Ie(a,b,a.W[b]);var c=0;for(b in a.W)Ie(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var He={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Ke(a){Ce.call(this,a);this.ya=!1;this.la=!0;this.va=V();this.L=V(0);this.ja=V(0);this.ba=V(0);this.H=[];this.b=this.M=this.J=[];Le(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Me(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ne(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return fd(b,a)}):void 0===global[y]&&(global[y]=function(a){return fd(b, +a)})}p(Ke,Ce);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function V(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Oe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Pe(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Qe(a,b){var c=V(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=De(a,c.Oa=b[4]));return c}l=Ke.prototype; +l.wa=function(a,b,c,d){this.G=b;this.F=a;this.j=c;this.ha=a.w;(a=ad(a,"messages"))&&Ne(this,a);Re(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Lc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.j.ra==b&&(b=Md(a.j,1)));if(0d&&(d=a.j.i(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Sf(a,b,c,d){var e=V(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Wb|0,r;for(r in Tf)if(f=Tf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Uf;m=n&3;break;case 32256:k=Vf;m=n&7;break;case 29248:k=Wf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Xf&&(k="B");k=Yf[f||0]+k;k=Ga(k,8);f?(k=28700==h?k+M(a,g/Xb&127,-1):k+M(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=M(a,g&262143,-1),(g=g>>18&15)&&(k+="("+M(a,g,-1)+")")):k+=Te(g);g=k;f="";h=M(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Te(k),null== +e.B)break;while(e.B!=b.B)}h+=Ga(f,16)+g;c&&(h=Ga(h,48)+";"+(c||""),h=a.j.v.Ea?h+("cycles="+gd(a.j).toString()+" cs="+t(a.j.ta)):h+(null!=d?"="+d.toString():""));return h}function Le(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||Zf(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.g("invalid address: "+M(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=X(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} +function ag(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=ua(d,2);Oe(e.va,d);g+="="+M(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ye?1:d==We?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ia(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function dg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Sf(a,b,f,g));e-=b.B-k;c++}}} +function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Nf+b):(a.P&&(a.g("ended assemble at "+M(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Jb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;A=(pd|hf<<6)*Wb;break}}if(0<= +A)break}if(0<=A)break}if(0<=A)if(ff)for(var rd=ff.split(","),mb=0;mbI||127I||15 +I||262143I||15ca.length&&(a.g("note: only "+ca.length+" available"),S=ca.length);W-=S;0>W&&(null==ca[ca.length-1].B?(S=W+S,W=0):W+=ca.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.g(S+" instructions earlier:");0=ca.length&&(W=0);a.sa=S;rf++;ob--}}rf||(a.g("no "+qf+"history available"),a.sa=void 0)}else{var Va=Y(a,ba,a.ja);if(Va){var ya=0,uf="ds"==Sa;if(na){if("l"==na.charAt(0))na=na.substr(1)||Ng,ya=Ge(a,na);else{var vf=Y(a,na);vf&&(ya=vf.B-Va.B)}0>ya&&(ya=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}za&&(za+="\n");za=uf?za+(Aa+","):za+(ba+": "+Aa+(0>yf?" "+xf:""))}za&&a.g(za);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var pc=Y(a,zd,a.ja);if(pc)for(var qc=2;qc< +f.length;qc++){var Ad=U(a,f[qc]);if(void 0===Ad){a.g("unknown value: "+f[qc]);break}a.g("changing "+M(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Y(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.g("halting"),a.V()):Kb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ha(qb);U(a,qb)?(c||a.g("true: "+qb),Cd=!0):(c||a.g("false: "+qb),Cd= +!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Dd=0,Ed=V(),rb=V();for(a.g("stack trace for "+M(a,rb.B));10>Dd;){for(var Ba=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Mf=V(a.j.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.g("invalid base: "+ub);break}}a.g("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.j.ha=vb;break;case "start":a.j.ua=vb;break;case "stop":a.j.ja=vb;break;default:a.g("unknown cs option");break a}void 0!==vb&&cd(a.j);a.g("checksums "+(a.j.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.j,+f[2])||a.g("warning: using 1x multiplier, previous target not reached")); +a.g("target speed: "+(a.j.W.toFixed(2)+"Mhz")+" ("+a.j.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Ob||"PDP10")+" version 1.34.2 ("+a.j.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ga(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.g(Gd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Of){a.g("debugger error: "+(Of.stack||Of.message)),d=!1}return d} +function fd(a,b,c){b=De(a,b,c);for(var d in b)if(!bg(a,b[+d]))return!1;return!0} +var kg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +Ve=0,We=1,Xe=2,Ye=3,Ze=4,$e=5,af=6,bf=7,Ue="PC RA EA C0 C1 OV ND PD".split(" "),lg={},Tf=(lg[28672]={0:101},lg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},lg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},lg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},lg[29248]={24576:79,24640:80,25088:81,25152:82},lg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},lg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),cf=1E3,Nf=">> ";db(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bpg){if(qg(d,this.M)){this.D=new K(this,"1.34.2",zg);qg(this.D)&&(Ag(this,d),a=Bg,Cg(this.D));this.D.set(wg,Ja());Dg(this.D);var e=this.b&&!this.L;if(a==xg||xb("Click OK to restore the previous "+Ob+" machine state, or CANCEL to reset the machine.")){if(c=vg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?qg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Xa(Eg,""),this.f=null)):this.g(g+": "+f),Cg(d),qg(d)?(c=vg(d),e=!0):c=!1))}e&&tg(this,c?d:null)}else a==Bg&&d.clear()}else tg(this);delete this.M;delete this.J}e=yb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.j&&(Fg(this,this.j,b,c,a),L(this,-2),this.j.Z());this.P&&(Ag(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +function Ag(a,b){if(xb("There may be a problem with your "+Ob+" machine.\n\nTo help us diagnose it, click OK to send this "+Ob+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Ob;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} +function jg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new K(a,"1.34.2"),f=new K(a,"1.34.2",ug),h=Ja();f.set(wg,h);g.set(wg,h);g.set(Gg,"1.34.2");g.set(Hg,window?window.location.href:null);g.set(Ig,window?window.navigator.userAgent:"");a.j&&a.j.fa&&(c&&(b&&(a.j.v.Z=a.j.v.K),a.j.V()),d=a.j.fa(b,c),"object"===typeof d&&g.set(a.j.id,d),c&&(a.j.v.U=!1,!1===d&&(e=null)));for(var h=yb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.j.v.K;d=!!(a.j.A&8);if(0>=b||60<=(a.L+=b)){e=a.j.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?ua(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.j.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);ch(a,b,c)}})}else c(a,null)} +function dh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ea(a))}function f(a){g("Error: "+a);m&&(--$g||hb(!0));m=!1}var h,k,m=!0;$g++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=n:B.appendChild(document.createTextNode(n));r.appendChild(B)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ah(d,null,a,null,!1,g,function(a,e){e?(lb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--$g||hb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$g|| +hb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ah(c,b,a,e,!0,g,n):bh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(Z){f(Z.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return dh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return dh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Ab(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Db[a]){for(var c=!0,d=Db,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n":62,"?":63,"@":64,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function na(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function oa(){var a=t();return-1!==a.indexOf("pcjs.org",a.length-8)}function pa(a){return a.replace(/[&<>"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ta(){function a(a){return(10>a?"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 v(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function u(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.c={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.c.error=!1;this.v=this.g=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Ka(){return Date.now()||+new Date} +function B(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.Ua=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Ka(){return Date.now()||+new Date} function w(a){window&&window.alert(a)}function La(a){var b=!1;window&&(b=window.confirm(a));return b}function D(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.g=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +var H="pdp10",K="PDPjs",Ua=Math.pow(2,18),Va=Math.pow(2,18)-1,Wa=Math.pow(2,36),L=Math.pow(2,36)-1,M=Math.pow(2,18),N=Math.pow(2,18)-1,Xa=Math.pow(2,17)-1,Ya=Math.pow(2,35)-1,Za=Math.pow(2,35),$a=Math.pow(2,36),O=Math.pow(2,32),ab=Math.pow(2,23),bb=Math.pow(2,30),H="pdp10",K="PDPjs"; +function cb(a,b){B.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=db;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, set:this.vb};J(this)}n(cb,B);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.g&&this.g.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; k.restore=function(a){if(a=a[0])kb(this,this.b=a[0]),eb(this,this.j=a[1]),lb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ib(this);return!0};function mb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hb(a,b){for(var c in a.l)mb(a,c,null!=b?b:a.l[c])}function nb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a){for(var b in a.a)nb(a,b,a.a[b][1])} k.eb=function(a,b,c){if(fb(this,b)){if(c){var d=this;setTimeout(function(){gb(d,b);a&&a()},+c);return!1}gb(this,b)}return!0}; k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.g.h(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.g.c.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.h.g.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Cb(Db,e,f)}e=new S(a,e,p,16384,d);zb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Eb[d]+" at "+la(b)),!0):Cb(Fb,b,c)}function xb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Ab(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Ub(a)&&(a.fa=a.ga=-1,Tb(a),Q(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+r(a.oa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.c.C)a=!0;else{var b=null,c,h=D(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=Ka();a.G=0;Wb(a)}function Yb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.tb=function(){if(this.c.A){this.qa>=this.Da&&Wb(this,!0);this.da=0;this.ea=Ka();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.c.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=$b&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.c.A)}catch(f){Q(this); -this.u&&this.u.stop(Ka(),Ub(this));a=f.stack||f.message;this.c.error=!0;this.F(a);return}if(this.c.A){a=setTimeout;b=this.Qa;this.G=Ka();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Vb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; -function sb(a){var b;a.c.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.c.A)a.M(a.toString()+" busy");else{Vb(a);a.c.A=!0;a.c.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Ub(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.c.A){Zb(a);ub(a,a.B);a.B=0;a.c.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ka(),Ub(a));b=!0;a.v||a.status("Stopped")}a.c.complete=void 0;return b}var Xb=30,$b=15,Rb=["power","reset"]; -function ac(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=bc.bind(this);this.a=U.bind(this);this.ja=null;this.Ma=[];this.c.complete=!1}n(ac,Qb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.c.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.h=this.pb;this.f=this.Ab;this.ja=null;Sb(this);this.c.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.c.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Vb(this,b[1]);this.c.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dXa&&(a!=Ya?a=Za-a:this.Pa=this.za=!0);return a};function ec(a,b){b?b==Ya?a.Pa=a.za=!0:b=Za-b:a.Za=a.za=!0;return b}function cc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].h(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a)}; -k.xa=function(a){this.c.complete=!0;var b=a?this.c.Ia?0:1:-1;this.c.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.h(this.b):this.ra=this.h(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.h(a)&Va;this.s&4194304?a=-1:(this.j=(this.j+1)%Ua,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< -this.K);return this.c.complete?this.I-this.K:!1===this.c.complete?-1:0};y(function(){for(var a=I(document,H,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function gc(){var a=0,b=this.h(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%L);this.f(this.b,b)} -function hc(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function ic(a,b){a=this.h(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,dc(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.h(b)%Math.pow(2,d)*Math.pow(2,c)%L;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function jc(a,b){this.f(b,this.h(this.b))} -function kc(a,b){this.f(b,this.b)}function lc(a,b){this.f(this.b,this.h(b))}function mc(a,b){this.f(b,0)}function nc(a,b){this.f(b,M-this.h(b))}function oc(a,b){this.f(b,M)}function pc(a,b){var c=this.h(this.b),d=this.h(b);this.f(b,W(a,d,c)+(c-(c&O)))}function qc(a,b){var c=this.h(b);this.f(b,W(a,c,0))}function rc(a,b){b=this.h(b);var c=this.h(this.b);this.f(this.b,W(a,c,b)+(b-(b&O)))} -function sc(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d-=d&O,a){case 256:d+=O;break;case 384:d+=c>Xa?O:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.h(this.b)&O)*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function uc(a,b){var c=this.b*N,d=this.h(b);this.f(b,W(a,d,c)+c)}function vc(a,b){b=(this.h(b)&O)*N;var c=this.h(this.b);this.f(this.b,W(a,c,b)+b)}function wc(a,b){var c=this.h(this.b),d=(c&O)*N,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function xc(a,b){var c=this.h(this.b)&O,d=this.h(b);this.f(b,X(a,d,c)+c)}function yc(a,b){var c=this.h(b);this.f(b,X(a,c,this.b)+this.b)}function zc(a,b){b=this.h(b)&O;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ac(a,b){var c=this.h(this.b),d=c;if(a&=384)switch(d&=O,a){case 256:d+=O*N;break;case 384:d+=c>Wa?O*N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Bc(a,b){var c=this.h(this.b)/N|0,d=this.h(b);this.f(b,X(a,d,c)+c)}function Cc(a,b){var c=this.h(b);this.f(b,X(a,c,0))} -function Dc(a,b){b=this.h(b)/N|0;var c=this.h(this.b);this.f(this.b,X(a,c,b)+b)}function Ec(a,b){var c=this.h(this.b),d=c/N|0,c=X(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function Y(a){this.a(a)}function Fc(){}function U(a){this.M("undefined opcode: "+la(a));dc(this);Q(this)}function X(a,b,c){switch(a&384){case 0:b-=b&O;break;case 128:b=0;break;case 256:b=O*N;break;case 384:b=c>Wa?O*N:0}return b} -function W(a,b,c){switch(a&384){case 0:b&=O;break;case 128:b=0;break;case 256:b=O;break;case 384:b=c>Xa?O:0}return b}function Gc(a,b){return((a/$a|0)&(b/$a|0))*$a+((a&b)>>>0)} -var fc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},gc,function(a,b){0>this.l&&gc.call(this);hc.call(this,0,b)},hc,function(a,b){0>this.l&&gc.call(this);ic.call(this,0,b)},ic,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +k.V=function(a,b){var c=Sb(this.u,"autoStart");null!=c?this.g.J="true"==c?!0:"false"==c?!1:!!c:null==this.g.J&&(this.g.J=void 0===this.m.run);if(!b){if(a){Tb(this);if(!this.restore(a))return!1;Ub(this)}else this.reset();this.status("No debugger detected");this.g.J||this.M("CPU will not be auto-started "+(this.la?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.g.A?!0:this.g.J?(sb(this),!0):!1};k.Sa=function(){return 0}; +function Ub(a){void 0===a.pa&&(a.pa=0);void 0===a.fa&&(a.fa=-1);void 0===a.ga&&(a.ga=-1);a.g.ta=0<=a.pa&&0=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Vb(a)&&(a.fa=a.ga=-1,Ub(a),Q(a),c=!0);c&&a.M(Vb(a)+" cycles: checksum="+r(a.oa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=D(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=Ka();a.G=0;Xb(a)}function Zb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function $b(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} +k.tb=function(){if(this.g.A){this.qa>=this.Da&&Xb(this,!0);this.da=0;this.ea=Ka();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=$b(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=ac&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.g.A)}catch(f){Q(this); +this.u&&this.u.stop(Ka(),Vb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=Ka();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Wb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; +function sb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Wb(a);a.g.A=!0;a.g.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Vb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.g.A){$b(a);ub(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ka(),Vb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Yb=30,ac=15,Rb=["power","reset"]; +function bc(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=cc.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.g.complete=!1}n(bc,Qb);k=bc.prototype;k.reset=function(){this.status("Model "+this.$a);this.g.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.c=this.pb;this.f=this.Ab;this.ja=null;Tb(this);this.g.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.g.J]);a.set(3,dc(this));a.set(4,Zb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Wb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dYa&&(a!=Za?a=$a-a:this.Pa=this.za=!0);return a};function fc(a,b){b?b==Za?a.Pa=a.za=!0:b=$a-b:a.Za=a.za=!0;return b}function dc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.xa=function(a){this.g.complete=!0;var b=a?this.g.Ia?0:1:-1;this.g.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.ra=this.c(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Va;this.s&4194304?a=-1:(this.j=(this.j+1)%Ua,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< +this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};x(function(){for(var a=I(document,H,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function hc(){var a=0,b=this.c(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%Wa);this.f(this.b,b)} +function ic(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%Wa;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function kc(a,b){this.f(b,this.c(this.b))} +function lc(a,b){this.f(b,this.b)}function mc(a,b){this.f(this.b,this.c(b))}function nc(a,b){this.f(b,0)}function oc(a,b){this.f(b,L-this.c(b))}function pc(a,b){this.f(b,L)}function qc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&N)))}function rc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function sc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&N)))} +function tc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&N,a){case 256:d+=N;break;case 384:d+=c>Ya?N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function uc(a,b){var c=(this.c(this.b)&N)*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function vc(a,b){var c=this.b*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function wc(a,b){b=(this.c(b)&N)*M;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function xc(a,b){var c=this.c(this.b),d=(c&N)*M,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function yc(a,b){var c=this.c(this.b)&N,d=this.c(b);this.f(b,W(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&N;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=N,a){case 256:d+=N*M;break;case 384:d+=c>Xa?N*M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/M|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} +function Ec(a,b){b=this.c(b)/M|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Fc(a,b){var c=this.c(this.b),d=c/M|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){this.a(a)}function Gc(){}function T(a){this.M("undefined opcode: "+la(a));ec(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&N;break;case 128:b=0;break;case 256:b=N*M;break;case 384:b=c>Xa?N*M:0}return b} +function V(a,b,c){switch(a&384){case 0:b&=N;break;case 128:b=0;break;case 256:b=N;break;case 384:b=c>Ya?N:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Hc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Ic(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} +var gc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},hc,function(a,b){0>this.l&&hc.call(this);ic.call(this,0,b)},ic,function(a,b){0>this.l&&hc.call(this);jc.call(this,0,b)},jc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,kc,lc,function(a,b){b&&this.f(b,this.h(this.b))},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(b,a)},function(a,b){this.f(b,this.b*N)},function(a,b){a=this.h(b);a=(a/N|0)+a%N*N;this.f(this.b,a)},function(a,b){a=this.h(this.b);a=(a/N|0)+a%N*N;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,ec(this,this.h(this.b)))},function(a,b){this.f(b,this.b?Za-this.b:0)},function(a,b){this.f(this.b,ec(this, -this.h(b)))},function(a,b){a=ec(this,this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.h(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.h(b)))},function(a,b){a=this.abs(this.h(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a,b){a=this.h(b);this.f(b,this.h(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.h(b),d=c/N|0,c=c&O;!a;)this.f(c,this.h(d)),c==this.b&&(a=!0),d=d+1&O,c=c+1&O,this.c.A||(this.f(b, -d*N+c),a||dc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.h(b);a+=262145;this.f(a&O,this.h(this.b));a>=L&&(a-=L);this.f(b,a)},function(a,b){a=this.h(b);var c=this.h(a&O);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=L);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},kc,lc,mc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(b,a)},function(a,b){this.f(b,this.b*M)},function(a,b){a=this.c(b);a=(a/M|0)+a%M*M;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,fc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?$a-this.b:0)},function(a,b){this.f(this.b,fc(this, +this.c(b)))},function(a,b){a=fc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b, +d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=Wa&&(a-=Wa);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=Wa);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,mc,function(){this.f(this.b,0)},function(a,b){this.f(b,0);this.f(this.b,0)},function(a,b){this.f(b,Gc(this.h(b),this.h(this.b)))},function(a,b){this.f(b,Gc(this.h(b),this.b))},function(a,b){this.f(this.b,Gc(this.h(b),this.h(this.b)))},function(a,b){a=Gc(this.h(b),this.h(this.b));this.f(this.b,a);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -jc,kc,Fc,jc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Fc,Fc,lc,lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(a, -b){this.f(this.b,M-this.h(b))},function(a,b){a=M-this.h(b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,M-this.h(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.h(this.b))},function(a,b){a=M-this.h(this.b);this.f(b,a);this.f(this.b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b,M)},function(a,b){this.f(b,M);this.f(this.b,M)},pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b), +this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a, +b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))}, +function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, +Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac, +Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y]; -function Hc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=oa(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;v(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Ic(c)})}}n(Hc,B); -Hc.prototype.Z=function(a,b,c,d){this.o=b;this.g=c;this.v=d;Ic(this)};Hc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Hc.prototype.P=function(){return!0}; -function Ic(a){if(!Sa(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.c.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.g=c;this.v=d;J(this)}; -k.Ta=function(a){if(!this.a){var b=T(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Ma(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bQc){if(Rc(d,this.D)){this.l=new P(this,"1.34.2",$c);Rc(this.l)&&(ad(this,d),a=bd,cd(this.l));this.l.set(Xc,ta());dd(this.l);var e=this.a&&!this.B;if(a==Yc||La("Click OK to restore the previous "+K+" machine state, or CANCEL to reset the machine.")){if(c=Wc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Rc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(ed,""),this.b=null)):this.M(f+": "+g),cd(d),Rc(d)?(c=Wc(d),e=!0):c=!1))}e&&Uc(this,c?d:null)}else a==bd&&d.clear()}else Uc(this);delete this.D;delete this.w}e=D(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.c.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.g&&(fd(this,this.g,b,c,a),R(this,-2),this.g.J());this.K&&(ad(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function ad(a,b){if(La("There may be a problem with your "+K+" machine.\n\nTo help us diagnose it, click OK to send this "+K+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=K;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;v("http://www.pcjs.org/api/v1/report",d,!0)}} -function gd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Vc),h=ta();g.set(Xc,h);f.set(Xc,h);f.set(hd,"1.34.2");f.set(id,window?window.location.href:null);f.set(jd,window?window.navigator.userAgent:"");a.g&&a.g.P&&(c&&(b&&(a.g.c.J=a.g.c.A),Q(a.g)),d=a.g.P(b,c),"object"===typeof d&&f.set(a.g.id,d),c&&(a.g.c.C=!1,!1===d&&(e=null)));for(var h=D(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;J(this)}; +k.Ta=function(a){if(!this.a){var b=Sb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Ma(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bTc){if(Uc(d,this.D)){this.l=new P(this,"1.34.2",cd);Uc(this.l)&&(dd(this,d),a=ed,fd(this.l));this.l.set($c,ta());gd(this.l);var e=this.a&&!this.B;if(a==ad||La("Click OK to restore the previous "+K+" machine state, or CANCEL to reset the machine.")){if(c=Zc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(hd,""),this.b=null)):this.M(f+": "+g),fd(d),Uc(d)?(c=Zc(d),e=!0):c=!1))}e&&Xc(this,c?d:null)}else a==ed&&d.clear()}else Xc(this);delete this.D;delete this.w}e=D(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(id(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(dd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function dd(a,b){if(La("There may be a problem with your "+K+" machine.\n\nTo help us diagnose it, click OK to send this "+K+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=K;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;u("http://www.pcjs.org/api/v1/report",d,!0)}} +function jd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Yc),h=ta();g.set($c,h);f.set($c,h);f.set(kd,"1.34.2");f.set(ld,window?window.location.href:null);f.set(md,window?window.navigator.userAgent:"");a.h&&a.h.P&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.P(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=D(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.c.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.g.c.A;d=!!(a.g.i&8);if(0>=b||60<=(a.B+=b)){e=a.g.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.g.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(x){g=null,a=x.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");v(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 l=h[0],p,u=/( [a-z]+=)(['"])(.*?)\2/g;p=u.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);rd(a,b,c)}})}else c(a,null)} -function sd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&I(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--od||A(!0));p=!1}var h,l,p=!0;od++;Ja[b]={};try{if(h=document.getElementById(b)){var u;if("object"==typeof resources&&(u=resources.css)){var x=document.head||document.getElementsByTagName("head")[0],na=document.createElement("style");na.type="text/css";na.styleSheet?na.styleSheet.cssText=u:na.appendChild(document.createTextNode(u));x.appendChild(na)}d|| -(u=a,"pdp"==a.substr(0,3)&&(u="pdpjs"),d="/versions/"+u+"/1.34.2/components.xsl");u=function(e,l){l?pd(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--od||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--od|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?pd(c,b,a,e,!0,f,u):qd(c,null,b,a,e,!1,f,u)}else g("missing machine element: "+b)}catch(td){g(td.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return sd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return sd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return E(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Oa[a]){for(var c=!0,d=Oa,e=a,f=b.length,g=[],h=[],l="",p=null,u=0;u=d||30<=(c.ya+=d))&&(e.textContent=c.g.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){g=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} +function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&I(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||A(!0));p=!1}var h,l,p=!0;rd++;Ja[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var y=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));y.appendChild(qa)}d|| +(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?sd(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--rd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rd|| +A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sd(c,b,a,e,!0,f,v):td(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(wd){g(wd.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return vd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return vd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return E(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Oa[a]){for(var c=!0,d=Oa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Fri, 3 Mar 2017 17:44:27 -0800 Subject: [PATCH 11/32] Added LSH and LSHC (albeit untested) --- modules/pdp10/lib/cpuops.js | 75 ++++++- versions/pdpjs/1.34.2/pdp10-dbg.js | 333 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 139 ++++++------ 3 files changed, 308 insertions(+), 239 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index d81a3ed65..7e516fc21 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1380,7 +1380,13 @@ PDP10.opROT = function(op, acc) }; /** - * opLSH(0o242000) + * opLSH(0o242000): Logical Shift + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-25: + * + * Shift AC the number of places specified by E. If E is positive, shift left bringing 0s into bit 35; + * data shifted out of bit 0 is lost. If E is negative, shift right bringing 0s into bit 0; data shifted + * out of bit 35 is lost. * * @this {CPUStatePDP10} * @param {number} op @@ -1388,7 +1394,27 @@ PDP10.opROT = function(op, acc) */ PDP10.opLSH = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + */ + var s = (this.regEA << 14) >> 24; + if (s) { + var w = this.readWord(acc); + if (s > 0) { + if (s >= 36) { + w = 0; + } else { + w = (w * Math.pow(2, s)) % PDP10.WORD_LIMIT; + } + } else { + if (s <= -36) { + w = 0; + } else { + w = Math.trunc(w / Math.pow(2, -s)); + } + } + this.writeWord(acc, w); + } }; /** @@ -1428,7 +1454,14 @@ PDP10.opROTC = function(op, acc) }; /** - * opLSHC(0o246000) + * opLSHC(0o246000): Logical Shift Combined + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-25: + * + * Concatenate accumulators A and A+1 with A on the left, and shift the 72-bit combination the number + * of places specified by E. If E is positive, shift left bringing 0s into bit 71 (bit 35 of AC A + 1); + * bit 36 is shifted into bit 35; data shifted out of bit 0 is lost. If E is negative, shift right + * bringing 0s into bit 0; bit 35 is shifted into bit 36; data shifted out of bit 71 is lost. * * @this {CPUStatePDP10} * @param {number} op @@ -1436,7 +1469,41 @@ PDP10.opROTC = function(op, acc) */ PDP10.opLSHC = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + */ + var s = (this.regEA << 14) >> 24; + if (s) { + var wLeft = this.readWord(acc); + var wRight = this.readWord((acc + 1) & 0o17); + if (s > 0) { + if (s >= 36) { + wRight = 0; + if (s >= 72) { + wLeft = 0; + } else { + wLeft = (wRight * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT; + } + } else { + wLeft = ((wLeft * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = (wRight * Math.pow(2, s)) % PDP10.WORD_LIMIT; + } + } else { + if (s <= -36) { + wLeft = 0; + if (s <= -72) { + wRight = 0; + } else { + wRight = Math.trunc(wLeft / Math.pow(2, -s - 36)); + } + } else { + wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wLeft * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); + wLeft = Math.trunc(wLeft / Math.pow(2, -s)); + } + } + this.writeWord(acc, wLeft); + this.writeWord((acc + 1) & 0o17, wRight); + } }; /** diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 7bfa19736..081bcbcb9 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,208 +27,209 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,fa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ga="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ha(){ha=function(){};ga.Symbol||(ga.Symbol=ia)}var ja=0;function ia(a){return"jscomp_symbol_"+(a||"")+ja++} -function ka(){ha();var a=ga.Symbol.iterator;a||(a=ga.Symbol.iterator=ga.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&fa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return la(this)}});ka=function(){}}function la(a){var b=0;return ma(function(){return ba?-b:b}});pa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var qa=Math.pow(2,36),ra=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, +var l,ga="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ha="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ia(){ia=function(){};ha.Symbol||(ha.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++} +function la(){ia();var a=ha.Symbol.iterator;a||(a=ha.Symbol.iterator=ha.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ga(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; -function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function ua(a,b,c){b?12"']/g,function(a){return Fa[a]})}function Ga(a,b){return(a+" ").slice(0,b)} -function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12"']/g,function(a){return Ga[a]})}function Ha(a,b){return(a+" ").slice(0,b)} +function Ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ja(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 La(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function La(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.v.error=!1;this.X=c||0;this.C=this.j=this.G=this.F=this.oa=null;w.push(this)}function lb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function wb(){return Date.now()||+new Date} -function u(a){window&&window.alert(a)}function xb(a){var b=!1;window&&(b=window.confirm(a));return b}function yb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.oa=null;w.push(this)}function nb(a,b,c){wb[a]&&b&&(wb[a][b]=c)}function xb(){return Date.now()||+new Date} +function u(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.j=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, +function $b(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.w=this.A=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=ac;this.D={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, set:this.Wb};D(this)}p($b,v);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.j&&this.j.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.j=c;this.C=d;ec(this);fc(this)};l.pa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new K(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.u&&this.u.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;ec(this);fc(this)};l.pa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.D)jc(a,c,null!=b?b:a.D[c])}function kc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} -l.Eb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Xb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==tc,a.R=b==uc),!0):!1} -function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.j.v.K||(this.j.w=this.f%Pb,this.b[vc]&&this.b[vc][1]&&wc(this.j))};l.Ob=function(){};l.Ib=function(a){a||this.j.V()}; -l.Gb=function(a){if(!a&&!this.j.v.K)if(this.b[vc]&&this.b[vc][1])wc(this.j);else{if((a=this.C)&&!Kb(a,!0))Lb(a,!0),xc(a,0,null),Lb(a,!1);else try{var b=this.j.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Jc(Kc,e,g)}e=new Fc(a,e,m,16384,d);Gc(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Lc[d]+" at "+ua(b)),!0):Jc(Mc,b,c)} +l.Eb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return ic(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Xb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==tc,a.R=b==uc),!0):!1} +function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[vc]&&this.b[vc][1]&&wc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; +l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[vc]&&this.b[vc][1])wc(this.u);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),xc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Jc(Kc,e,g)}e=new Fc(a,e,m,16384,d);Gc(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Lc[d]+" at "+va(b)),!0):Jc(Mc,b,c)} function Dc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Cc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Hc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=gd(a)&&(a.ha=a.ja=-1,cd(a),a.V(),c=!0);c&&a.g(gd(a)+" cycles: checksum="+t(a.ta))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=yb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=wb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=xb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function nd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Ub=function(){if(this.v.K){this.Aa>=this.Va&&id(this,!0);this.ka=0;this.sa=wb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=ld(this,this.v.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=nd(this,!0);this.ka+=b;this.L+=b;Ac(this,b);yc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Id&&(this.F&&L(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(wb(),gd(this));Hb(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=wb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,hd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function wc(a,b){if(!Ib(a))if(a.v.K)a.g(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(wb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; -function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=N.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.i=this.Qb;this.u=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new K(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.w,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Ld(this));a.set(4,md(this));return a.data()}; -l.restore=function(a){var b;b=a[0];ka();ha();ka();var c=b[Symbol.iterator];b=c?c.call(b):la(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.w=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];hd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].i(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].u(b,a&16383,a);return b}; +l.Ub=function(){if(this.v.K){this.Aa>=this.Va&&id(this,!0);this.ka=0;this.sa=xb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=ld(this,this.v.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=nd(this,!0);this.ka+=b;this.L+=b;Ac(this,b);yc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Id&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),gd(this));Ib(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=xb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,hd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; +function wc(a,b){if(!Jb(a))if(a.v.K)a.g(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; +function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=P.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.i=this.Qb;this.j=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.w,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Ld(this));a.set(4,md(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.w=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];hd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].i(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; l.Ja=function(a){this.v.complete=!0;var b=this.C?Od(this.C)?1:this.v.Pa?-1:0:0,c=a?this.v.Pa?0:1:-1;this.v.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Pd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Pd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.i(this.f):this.Ba=this.i(this.ra=this.w);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.i(a)&Qb;this.H&4194304?a=-1:(this.w=(this.w+1)%Pb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function P(a){this.b(a)} -function Rd(){var a=0,b=this.i(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%Rb);this.u(this.f,b)}function Sd(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.u(b,a);this.D=-1}} -function Td(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.i(b)%Math.pow(2,d)*Math.pow(2,c)%Rb;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.u(this.f,a);this.D=-1}}function Ud(a,b){this.u(b,this.i(this.f))}function Vd(a,b){this.u(b,this.f)}function Wd(a,b){this.u(this.f,this.i(b))}function Xd(a,b){this.u(b,0)}function Yd(a,b){this.u(b,E-this.i(b))}function Zd(a,b){this.u(b,E)} -function $d(a,b){var c=this.i(this.f),d=this.i(b);this.u(b,ae(a,d,c)+(c-(c&G)))}function be(a,b){var c=this.i(b);this.u(b,ae(a,c,0))}function ce(a,b){b=this.i(b);var c=this.i(this.f);this.u(this.f,ae(a,c,b)+(b-(b&G)))}function de(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d-=d&G,a){case 256:d+=G;break;case 384:d+=c>Tb?G:0}c=d;this.u(this.f,c);b&&this.u(b,c)}function ee(a,b){var c=(this.i(this.f)&G)*F,d=this.i(b);this.u(b,ae(a,d,c)+c)} -function fe(a,b){var c=this.f*F,d=this.i(b);this.u(b,ae(a,d,c)+c)}function ge(a,b){b=(this.i(b)&G)*F;var c=this.i(this.f);this.u(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.i(this.f),d=(c&G)*F,c=ae(a,c,d)+d;this.u(this.f,c);b&&this.u(b,c)}function ie(a,b){var c=this.i(this.f)&G,d=this.i(b);this.u(b,je(a,d,c)+c)}function ke(a,b){var c=this.i(b);this.u(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.i(b)&G;var c=this.i(this.f);this.u(this.f,je(a,c,b)+b)} -function me(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d&=G,a){case 256:d+=G*F;break;case 384:d+=c>Sb?G*F:0}c=d;this.u(this.f,c);b&&this.u(b,c)}function ne(a,b){var c=this.i(this.f)/F|0,d=this.i(b);this.u(b,je(a,d,c)+c)}function oe(a,b){var c=this.i(b);this.u(b,je(a,c,0))}function pe(a,b){b=this.i(b)/F|0;var c=this.i(this.f);this.u(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.i(this.f),d=c/F|0,c=je(a,c,d)+d;this.u(this.f,c);b&&this.u(b,c)}function Q(a){this.b(a)}function re(){} -function N(a){this.g("undefined opcode: "+ua(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&G;break;case 128:b=0;break;case 256:b=G*F;break;case 384:b=c>Sb?G*F:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=G;break;case 128:b=0;break;case 256:b=G;break;case 384:b=c>Tb?G:0}return b}function R(a,b){return((a/H|0)&(b/H|0))*H+((a&b)>>>0)}function se(a,b){return((a/H|0)^(b/H|0))*H+((a^b)>>>0)}function te(a,b){return(~((a/H|0)^(b/H|0))&15)*H+(~(a^b)>>>0)} -function T(a,b){return(a/H|0|b/H|0)*H+((a|b)>>>0)} -var Qd=[P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +this.H>>18&15)this.f=this.f+this.i(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Rd(){var a=0,b=this.i(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Sd(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} +function Td(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.i(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Ud(a,b){this.j(b,this.i(this.f))}function Vd(a,b){this.j(b,this.f)}function Wd(a,b){this.j(this.f,this.i(b))}function Xd(a,b){this.j(b,0)}function Yd(a,b){this.j(b,F-this.i(b))}function Zd(a,b){this.j(b,F)} +function $d(a,b){var c=this.i(this.f),d=this.i(b);this.j(b,ae(a,d,c)+(c-(c&H)))}function be(a,b){var c=this.i(b);this.j(b,ae(a,c,0))}function ce(a,b){b=this.i(b);var c=this.i(this.f);this.j(this.f,ae(a,c,b)+(b-(b&H)))}function de(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Tb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ee(a,b){var c=(this.i(this.f)&H)*G,d=this.i(b);this.j(b,ae(a,d,c)+c)} +function fe(a,b){var c=this.f*G,d=this.i(b);this.j(b,ae(a,d,c)+c)}function ge(a,b){b=(this.i(b)&H)*G;var c=this.i(this.f);this.j(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.i(this.f),d=(c&H)*G,c=ae(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ie(a,b){var c=this.i(this.f)&H,d=this.i(b);this.j(b,je(a,d,c)+c)}function ke(a,b){var c=this.i(b);this.j(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.i(b)&H;var c=this.i(this.f);this.j(this.f,je(a,c,b)+b)} +function me(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Sb?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ne(a,b){var c=this.i(this.f)/G|0,d=this.i(b);this.j(b,je(a,d,c)+c)}function oe(a,b){var c=this.i(b);this.j(b,je(a,c,0))}function pe(a,b){b=this.i(b)/G|0;var c=this.i(this.f);this.j(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.i(this.f),d=c/G|0,c=je(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function re(){} +function P(a){this.g("undefined opcode: "+va(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Sb?H*G:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Tb?H:0}return b}function S(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function se(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function te(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)} +function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} +var Qd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.u(b,this.i(this.f))},function(a,b){a=this.i(this.f);a=(a/F|0)+a%F*F;this.u(b,a)},function(a,b){this.u(b,this.f*F)},function(a,b){a=this.i(b);a=(a/F|0)+a%F*F;this.u(this.f,a)},function(a,b){a=this.i(this.f);a=(a/F|0)+a%F*F;this.u(this.f,a);b&&this.u(b,a)},function(a,b){this.u(b,Nd(this,this.i(this.f)))},function(a,b){this.u(b,this.f?Vb-this.f:0)},function(a,b){this.u(this.f,Nd(this, -this.i(b)))},function(a,b){a=Nd(this,this.i(this.f));this.u(this.f,a);b&&this.u(b,a)},function(a,b){this.u(b,this.abs(this.i(this.f)))},function(a,b){this.u(b,this.f)},function(a,b){this.u(this.f,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.f));this.u(this.f,a);b&&this.u(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a,b){a=this.i(b);this.u(b,this.i(this.f));this.u(this.f,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/F|0,c=c&G;!a;)this.u(c,this.i(d)),c==this.f&&(a=!0),d=d+1&G,c=c+1&G,this.v.K||(this.u(b, -d*F+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},N,function(a){this.b(a)},function(a,b){a=this.i(b);a+=262145;this.u(a&G,this.i(this.f));a>=Rb&&(a-=Rb);a/F|0||(this.Sa=!0);this.u(b,a)},function(a,b){a=this.i(b);var c=this.i(a&G);this.u(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=Rb);(a/F|0)==G&&(this.Sa=!0);this.u(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.j(b,this.i(this.f))},function(a,b){a=this.i(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.i(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.i(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Nd(this,this.i(this.f)))},function(a,b){this.j(b,this.f?Vb-this.f:0)},function(a,b){this.j(this.f,Nd(this, +this.i(b)))},function(a,b){a=Nd(this,this.i(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.i(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=this.f<<14>>24){var c=this.i(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=this.f<<14>>24){var c=this.i(b),d=this.i(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.i(b);this.j(b,this.i(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/G|0,c=c&H;!a;)this.j(c,this.i(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.i(b);a+=262145;this.j(a&H,this.i(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.i(b);var c=this.i(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.Sa=!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.u(this.f,0)},function(a,b){this.u(this.f,this.u(b,0))},function(a,b){this.u(b,R(this.i(b),this.i(this.f)))},function(a,b){this.u(b,R(this.i(b),this.f))},function(a,b){this.u(this.f,R(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(this.i(b),this.i(this.f))))},function(a,b){this.u(b,R(E-this.i(b),this.i(this.f)))}, -function(a,b){this.u(b,R(E-this.i(b),this.f))},function(a,b){this.u(this.f,R(E-this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(E-this.i(b),this.i(this.f))))},Ud,Vd,re,Ud,function(a,b){this.u(b,R(this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,R(this.i(b),E-this.f))},function(a,b){this.u(this.f,R(this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(this.i(b),E-this.i(this.f))))},re,re,Wd,Wd,function(a,b){this.u(b,se(this.i(b),this.i(this.f)))},function(a,b){this.u(b, -se(this.i(b),this.f))},function(a,b){this.u(this.f,se(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,se(this.i(b),this.i(this.f))))},function(a,b){this.u(b,T(this.i(b),this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),this.f))},function(a,b){this.u(this.f,T(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(this.i(b),this.i(this.f))))},function(a,b){this.u(b,R(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,R(E-this.i(b),E-this.f))},function(a,b){this.u(this.f, -R(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,R(E-this.i(b),E-this.i(this.f))))},function(a,b){this.u(b,te(this.i(b),this.i(this.f)))},function(a,b){this.u(b,te(this.i(b),this.f))},function(a,b){this.u(this.f,te(this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,te(this.i(b),this.i(this.f))))},Yd,Yd,function(a,b){this.u(this.f,E-this.i(b))},function(a,b){this.u(this.f,this.u(b,E-this.i(b)))},function(a,b){this.u(b,T(E-this.i(b),this.i(this.f)))},function(a,b){this.u(b, -T(E-this.i(b),this.f))},function(a,b){this.u(this.f,T(E-this.i(b),this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(E-this.i(b),this.i(this.f))))},function(a,b){this.u(b,E-this.i(this.f))},function(a,b){this.u(b,E-this.f)},function(){this.u(this.f,E-this.i(this.f))},function(a,b){this.u(this.f,this.u(b,E-this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,T(this.i(b),E-this.f))},function(a,b){this.u(this.f,T(this.i(b),E-this.i(this.f)))},function(a, -b){this.u(this.f,this.u(b,T(this.i(b),E-this.i(this.f))))},function(a,b){this.u(b,T(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(b,T(E-this.i(b),E-this.f))},function(a,b){this.u(this.f,T(E-this.i(b),E-this.i(this.f)))},function(a,b){this.u(this.f,this.u(b,T(E-this.i(b),E-this.i(this.f))))},Zd,Zd,function(){this.u(this.f,E)},function(a,b){this.u(this.f,this.u(b,E))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke, -le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.i(b),this.i(this.f)))},function(a,b){this.j(b,S(this.i(b),this.f))},function(a,b){this.j(this.f,S(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.i(b),this.i(this.f))))},function(a,b){this.j(b,S(F-this.i(b),this.i(this.f)))},function(a,b){this.j(b,S(F-this.i(b),this.f))},function(a, +b){this.j(this.f,S(F-this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.i(b),this.i(this.f))))},Ud,Vd,re,Ud,function(a,b){this.j(b,S(this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,S(this.i(b),F-this.f))},function(a,b){this.j(this.f,S(this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.i(b),F-this.i(this.f))))},re,re,Wd,Wd,function(a,b){this.j(b,se(this.i(b),this.i(this.f)))},function(a,b){this.j(b,se(this.i(b),this.f))},function(a,b){this.j(this.f, +se(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,se(this.i(b),this.i(this.f))))},function(a,b){this.j(b,U(this.i(b),this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),this.f))},function(a,b){this.j(this.f,U(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.i(b),this.i(this.f))))},function(a,b){this.j(b,S(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,S(F-this.i(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.i(b),F-this.i(this.f)))},function(a, +b){this.j(this.f,this.j(b,S(F-this.i(b),F-this.i(this.f))))},function(a,b){this.j(b,te(this.i(b),this.i(this.f)))},function(a,b){this.j(b,te(this.i(b),this.f))},function(a,b){this.j(this.f,te(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,te(this.i(b),this.i(this.f))))},Yd,Yd,function(a,b){this.j(this.f,F-this.i(b))},function(a,b){this.j(this.f,this.j(b,F-this.i(b)))},function(a,b){this.j(b,U(F-this.i(b),this.i(this.f)))},function(a,b){this.j(b,U(F-this.i(b),this.f))},function(a, +b){this.j(this.f,U(F-this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.i(b),this.i(this.f))))},function(a,b){this.j(b,F-this.i(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.i(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),F-this.f))},function(a,b){this.j(this.f,U(this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.i(b), +F-this.i(this.f))))},function(a,b){this.j(b,U(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,U(F-this.i(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.i(b),F-this.i(this.f))))},Zd,Zd,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b,F))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe, +qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q]; -function ue(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=va(this.A);if(this.A){a=this.A;var b=wa(this.H);"json"!=b&&"hex"!=b&&(a=Da()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ka(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(lb(c.La,a,b),(a=La(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ve(c)})}}p(ue,v); -ue.prototype.wa=function(a,b,c,d){this.G=b;this.j=c;this.C=d;ve(this)};ue.prototype.pa=function(){this.T&&(this.C&&we(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};ue.prototype.fa=function(){return!0}; -function ve(a){if(!Jb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Hb(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Ic(a.G,b,a.w,Qc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=ra&&(f+=qa);f=Math.trunc(Math.abs(f))%qa;void 0===g&&(g=e.size);for(h=d;g--&&h>>g.f;0>>= +g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.j=c;this.C=d;D(this)}; -l.tb=function(a){if(!this.b){var b=ad(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.Ka)return;c=Ha(c[1]);if(this.b=zb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new K(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ha(b.substring(c,g))),c=g+1}}return a} +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;D(this)}; +l.tb=function(a){if(!this.b){var b=ad(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} function Ee(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function U(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,Z--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+ua(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} -function Je(a,b){if(b)return Ie(a,b,a.W[b]);var c=0;for(b in a.W)Ie(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var He={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ke(a){Ce.call(this,a);this.ya=!1;this.la=!0;this.va=V();this.L=V(0);this.ja=V(0);this.ba=V(0);this.H=[];this.b=this.M=this.J=[];Le(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Me(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ne(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return fd(b,a)}):void 0===global[y]&&(global[y]=function(a){return fd(b, -a)})}p(Ke,Ce);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function V(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Oe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Pe(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Qe(a,b){var c=V(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=De(a,c.Oa=b[4]));return c}l=Ke.prototype; -l.wa=function(a,b,c,d){this.G=b;this.F=a;this.j=c;this.ha=a.w;(a=ad(a,"messages"))&&Ne(this,a);Re(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Lc[c],n&&d.g(t(n.id,8)+" %"+t(e<=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function Je(a,b){if(b)return Ie(a,b,a.W[b]);var c=0;for(b in a.W)Ie(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var He={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Ke(a){Ce.call(this,a);this.ya=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Le(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Me(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ne(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return fd(b,a)}):void 0===global[y]&&(global[y]=function(a){return fd(b, +a)})}p(Ke,Ce);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Oe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Pe(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Qe(a,b){var c=W(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=De(a,c.Oa=b[4]));return c}l=Ke.prototype; +l.wa=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ha=a.w;(a=ad(a,"messages"))&&Ne(this,a);Re(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Lc[c],n&&d.g(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.j.ra==b&&(b=Md(a.j,1)));if(0d&&(d=a.j.i(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Sf(a,b,c,d){var e=V(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Wb|0,r;for(r in Tf)if(f=Tf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Uf;m=n&3;break;case 32256:k=Vf;m=n&7;break;case 29248:k=Wf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Xf&&(k="B");k=Yf[f||0]+k;k=Ga(k,8);f?(k=28700==h?k+M(a,g/Xb&127,-1):k+M(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=M(a,g&262143,-1),(g=g>>18&15)&&(k+="("+M(a,g,-1)+")")):k+=Te(g);g=k;f="";h=M(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Te(k),null== -e.B)break;while(e.B!=b.B)}h+=Ga(f,16)+g;c&&(h=Ga(h,48)+";"+(c||""),h=a.j.v.Ea?h+("cycles="+gd(a.j).toString()+" cs="+t(a.j.ta)):h+(null!=d?"="+d.toString():""));return h}function Le(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||Zf(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.g("invalid address: "+M(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=X(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} -function ag(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=ua(d,2);Oe(e.va,d);g+="="+M(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ye?1:d==We?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ia(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function dg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Sf(a,b,f,g));e-=b.B-k;c++}}} -function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Nf+b):(a.P&&(a.g("ended assemble at "+M(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Jb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;A=(pd|hf<<6)*Wb;break}}if(0<= -A)break}if(0<=A)break}if(0<=A)if(ff)for(var rd=ff.split(","),mb=0;mbI||127I||15 -I||262143I||15ca.length&&(a.g("note: only "+ca.length+" available"),S=ca.length);W-=S;0>W&&(null==ca[ca.length-1].B?(S=W+S,W=0):W+=ca.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.g(S+" instructions earlier:");0=ca.length&&(W=0);a.sa=S;rf++;ob--}}rf||(a.g("no "+qf+"history available"),a.sa=void 0)}else{var Va=Y(a,ba,a.ja);if(Va){var ya=0,uf="ds"==Sa;if(na){if("l"==na.charAt(0))na=na.substr(1)||Ng,ya=Ge(a,na);else{var vf=Y(a,na);vf&&(ya=vf.B-Va.B)}0>ya&&(ya=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}za&&(za+="\n");za=uf?za+(Aa+","):za+(ba+": "+Aa+(0>yf?" "+xf:""))}za&&a.g(za);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var pc=Y(a,zd,a.ja);if(pc)for(var qc=2;qc< -f.length;qc++){var Ad=U(a,f[qc]);if(void 0===Ad){a.g("unknown value: "+f[qc]);break}a.g("changing "+M(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Y(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.g("halting"),a.V()):Kb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ha(qb);U(a,qb)?(c||a.g("true: "+qb),Cd=!0):(c||a.g("false: "+qb),Cd= -!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Dd=0,Ed=V(),rb=V();for(a.g("stack trace for "+M(a,rb.B));10>Dd;){for(var Ba=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Mf=V(a.j.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.g("invalid base: "+ub);break}}a.g("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.j.ha=vb;break;case "start":a.j.ua=vb;break;case "stop":a.j.ja=vb;break;default:a.g("unknown cs option");break a}void 0!==vb&&cd(a.j);a.g("checksums "+(a.j.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.j,+f[2])||a.g("warning: using 1x multiplier, previous target not reached")); -a.g("target speed: "+(a.j.W.toFixed(2)+"Mhz")+" ("+a.j.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Ob||"PDP10")+" version 1.34.2 ("+a.j.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ga(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.g(Gd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Of){a.g("debugger error: "+(Of.stack||Of.message)),d=!1}return d} +l.ga=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",fd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.Ad&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.ra==b&&(b=Md(a.u,1)));if(0d&&(d=a.u.i(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Sf(a,b,c,d){var e=W(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Wb|0,r;for(r in Tf)if(f=Tf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Uf;m=n&3;break;case 32256:k=Vf;m=n&7;break;case 29248:k=Wf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Xf&&(k="B");k=Yf[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Xb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Te(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Te(k),null== +e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+gd(a.u).toString()+" cs="+t(a.u.ta)):h+(null!=d?"="+d.toString():""));return h}function Le(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||Zf(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.g("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} +function ag(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Oe(e.va,d);g+="="+N(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ye?1:d==We?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function dg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Sf(a,b,f,g));e-=b.B-k;c++}}} +function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Nf+b):(a.P&&(a.g("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;A=(pd|hf<<6)*Wb;break}}if(0<= +A)break}if(0<=A)break}if(0<=A)if(ff)for(var rd=ff.split(","),mb=0;mbI||127I||15 +I||262143I||15da.length&&(a.g("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.g(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;ob--}}rf||(a.g("no "+qf+"history available"),a.sa=void 0)}else{var Va=Z(a,ca,a.ja);if(Va){var za=0,uf="ds"==Sa;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Ng,za=Ge(a,oa);else{var vf=Z(a,oa);vf&&(za=vf.B-Va.B)}0>za&&(za=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}Aa&&(Aa+="\n");Aa=uf?Aa+(Ba+","):Aa+(ca+": "+Ba+(0>yf?" "+xf:""))}Aa&&a.g(Aa);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var pc=Z(a,zd,a.ja);if(pc)for(var qc=2;qc< +f.length;qc++){var Ad=V(a,f[qc]);if(void 0===Ad){a.g("unknown value: "+f[qc]);break}a.g("changing "+N(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Z(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.g("halting"),a.V()):Lb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ia(qb);V(a,qb)?(c||a.g("true: "+qb),Cd=!0):(c||a.g("false: "+qb),Cd= +!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Dd=0,Ed=W(),rb=W();for(a.g("stack trace for "+N(a,rb.B));10>Dd;){for(var Ca=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Mf=W(a.u.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.g("invalid base: "+ub);break}}a.g("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.u.ha=vb;break;case "start":a.u.ua=vb;break;case "stop":a.u.ja=vb;break;default:a.g("unknown cs option");break a}void 0!==vb&&cd(a.u);a.g("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.u,+f[2])||a.g("warning: using 1x multiplier, previous target not reached")); +a.g("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ha(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.g(Gd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Of){a.g("debugger error: "+(Of.stack||Of.message)),d=!1}return d} function fd(a,b,c){b=De(a,b,c);for(var d in b)if(!bg(a,b[+d]))return!1;return!0} var kg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), Ve=0,We=1,Xe=2,Ye=3,Ze=4,$e=5,af=6,bf=7,Ue="PC RA EA C0 C1 OV ND PD".split(" "),lg={},Tf=(lg[28672]={0:101},lg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},lg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},lg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},lg[29248]={24576:79,24640:80,25088:81,25152:82},lg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},lg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),cf=1E3,Nf=">> ";db(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bpg){if(qg(d,this.M)){this.D=new K(this,"1.34.2",zg);qg(this.D)&&(Ag(this,d),a=Bg,Cg(this.D));this.D.set(wg,Ja());Dg(this.D);var e=this.b&&!this.L;if(a==xg||xb("Click OK to restore the previous "+Ob+" machine state, or CANCEL to reset the machine.")){if(c=vg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?qg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Xa(Eg,""),this.f=null)):this.g(g+": "+f),Cg(d),qg(d)?(c=vg(d),e=!0):c=!1))}e&&tg(this,c?d:null)}else a==Bg&&d.clear()}else tg(this);delete this.M;delete this.J}e=yb(this.id);for(g=0;g> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bpg){if(qg(d,this.M)){this.D=new L(this,"1.34.2",zg);qg(this.D)&&(Ag(this,d),a=Bg,Cg(this.D));this.D.set(wg,Ka());Dg(this.D);var e=this.b&&!this.L;if(a==xg||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=vg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?qg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Eg,""),this.f=null)):this.g(g+": "+f),Cg(d),qg(d)?(c=vg(d),e=!0):c=!1))}e&&tg(this,c?d:null)}else a==Bg&&d.clear()}else tg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.j&&(Fg(this,this.j,b,c,a),L(this,-2),this.j.Z());this.P&&(Ag(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; -function Ag(a,b){if(xb("There may be a problem with your "+Ob+" machine.\n\nTo help us diagnose it, click OK to send this "+Ob+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Ob;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} -function jg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new K(a,"1.34.2"),f=new K(a,"1.34.2",ug),h=Ja();f.set(wg,h);g.set(wg,h);g.set(Gg,"1.34.2");g.set(Hg,window?window.location.href:null);g.set(Ig,window?window.navigator.userAgent:"");a.j&&a.j.fa&&(c&&(b&&(a.j.v.Z=a.j.v.K),a.j.V()),d=a.j.fa(b,c),"object"===typeof d&&g.set(a.j.id,d),c&&(a.j.v.U=!1,!1===d&&(e=null)));for(var h=yb(a.id),k=0;ka[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Fg(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Ag(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +function Ag(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} +function jg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",ug),h=Ka();f.set(wg,h);g.set(wg,h);g.set(Gg,"1.34.2");g.set(Hg,window?window.location.href:null);g.set(Ig,window?window.navigator.userAgent:"");a.u&&a.u.fa&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.fa(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.j.v.K;d=!!(a.j.A&8);if(0>=b||60<=(a.L+=b)){e=a.j.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?ua(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.j.w:0=d||30<=(c.Qa+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +function og(a,b){var c=a.f;c||((c=Xa(Eg),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Yg(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c} +function Yg(a,b){a.f=null;b=La(Ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ya(Eg,b.data),a.f=b.data)}catch(d){u(d.message+" ("+c+")")}return a.f}function rg(a){var b=null;a.f&&(b=Ea()+"/api/v1/user?req=load&user="+a.f+"&state="+Zg(a,"1.34.2"));return b} +function Jg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Zg(a,"1.34.2");d.data=c;b=La(Ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +function ch(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],f);ch(a,b,c)}})}else c(a,null)} -function dh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ea(a))}function f(a){g("Error: "+a);m&&(--$g||hb(!0));m=!1}var h,k,m=!0;$g++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=n:B.appendChild(document.createTextNode(n));r.appendChild(B)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ah(d,null,a,null,!1,g,function(a,e){e?(lb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--$g||hb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$g|| -hb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ah(c,b,a,e,!0,g,n):bh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(Z){f(Z.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return dh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return dh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Ab(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Db[a]){for(var c=!0,d=Db,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e function t(){return"http://"+(window?window.location.host:"www.pcjs.org")}function va(){if(null==wa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}wa=a}return wa}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function ya(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function za(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Aa(a){if(!Ba){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ba=c}return Ba[a]}function Ca(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function x(a){z.init.push(a)} -function Da(a){if(Ea)try{for(var b=0;ba?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;C.push(this)}function Ia(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Ka(){return Date.now()||+new Date} -function w(a){window&&window.alert(a)}function La(a){var b=!1;window&&(b=window.confirm(a));return b}function D(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;B.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} +function w(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, -set:this.vb};J(this)}n(cb,B);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)}; +var G="pdp10",J="PDPjs",Va=Math.pow(2,18),Wa=Math.pow(2,18)-1,K=Math.pow(2,36),L=Math.pow(2,36)-1,M=Math.pow(2,18),N=Math.pow(2,18)-1,Xa=Math.pow(2,17)-1,Ya=Math.pow(2,35)-1,Za=Math.pow(2,35),$a=Math.pow(2,36),O=Math.pow(2,32),ab=Math.pow(2,23),bb=Math.pow(2,30),G="pdp10",J="PDPjs"; +function cb(a,b){A.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=db;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +set:this.vb};I(this)}n(cb,A);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)}; k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):B.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):A.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; k.restore=function(a){if(a=a[0])kb(this,this.b=a[0]),eb(this,this.j=a[1]),lb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ib(this);return!0};function mb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hb(a,b){for(var c in a.l)mb(a,c,null!=b?b:a.l[c])}function nb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a){for(var b in a.a)nb(a,b,a.a[b][1])} k.eb=function(a,b,c){if(fb(this,b)){if(c){var d=this;setTimeout(function(){gb(d,b);a&&a()},+c);return!1}gb(this,b)}return!0}; k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.h.g.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Cb(Db,e,f)}e=new S(a,e,p,16384,d);zb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Eb[d]+" at "+la(b)),!0):Cb(Fb,b,c)}function xb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Ab(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Vb(a)&&(a.fa=a.ga=-1,Ub(a),Q(a),c=!0);c&&a.M(Vb(a)+" cycles: checksum="+r(a.oa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=D(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=Ka();a.G=0;Xb(a)}function Zb(a){for(var b=[],c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=La();a.G=0;Xb(a)}function Zb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function $b(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.tb=function(){if(this.g.A){this.qa>=this.Da&&Xb(this,!0);this.da=0;this.ea=Ka();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=$b(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=ac&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.g.A)}catch(f){Q(this); -this.u&&this.u.stop(Ka(),Vb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=Ka();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Wb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; -function sb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Wb(a);a.g.A=!0;a.g.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Vb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.g.A){$b(a);ub(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ka(),Vb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Yb=30,ac=15,Rb=["power","reset"]; +k.tb=function(){if(this.g.A){this.qa>=this.Da&&Xb(this,!0);this.da=0;this.ea=La();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=$b(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=ac&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.g.A)}catch(f){Q(this); +this.u&&this.u.stop(La(),Vb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=La();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Wb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; +function sb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Wb(a);a.g.A=!0;a.g.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Vb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.g.A){$b(a);ub(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Vb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Yb=30,ac=15,Rb=["power","reset"]; function bc(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=cc.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.g.complete=!1}n(bc,Qb);k=bc.prototype;k.reset=function(){this.status("Model "+this.$a);this.g.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.c=this.pb;this.f=this.Ab;this.ja=null;Tb(this);this.g.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0}; k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.g.J]);a.set(3,dc(this));a.set(4,Zb(this));return a.data()}; k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Wb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dYa&&(a!=Za?a=$a-a:this.Pa=this.za=!0);return a};function fc(a,b){b?b==Za?a.Pa=a.za=!0:b=$a-b:a.Za=a.za=!0;return b}function dc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.xa=function(a){this.g.complete=!0;var b=a?this.g.Ia?0:1:-1;this.g.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.ra=this.c(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Va;this.s&4194304?a=-1:(this.j=(this.j+1)%Ua,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< -this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};x(function(){for(var a=I(document,H,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function hc(){var a=0,b=this.c(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%Wa);this.f(this.b,b)} -function ic(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%Wa;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function kc(a,b){this.f(b,this.c(this.b))} +bYa&&(a!=Za?a=$a-a:this.Pa=this.za=!0);return a};function fc(a,b){b?b==Za?a.Pa=a.za=!0:b=$a-b:a.Za=a.za=!0;return b}function dc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.xa=function(a){this.g.complete=!0;var b=a?this.g.Ia?0:1:-1;this.g.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.ra=this.c(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Wa;this.s&4194304?a=-1:(this.j=(this.j+1)%Va,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< +this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};x(function(){for(var a=H(document,G,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function hc(){var a=0,b=this.c(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%K);this.f(this.b,b)} +function ic(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%K;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function kc(a,b){this.f(b,this.c(this.b))} function lc(a,b){this.f(b,this.b)}function mc(a,b){this.f(this.b,this.c(b))}function nc(a,b){this.f(b,0)}function oc(a,b){this.f(b,L-this.c(b))}function pc(a,b){this.f(b,L)}function qc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&N)))}function rc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function sc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&N)))} function tc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&N,a){case 256:d+=N;break;case 384:d+=c>Ya?N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function uc(a,b){var c=(this.c(this.b)&N)*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function vc(a,b){var c=this.b*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function wc(a,b){b=(this.c(b)&N)*M;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function xc(a,b){var c=this.c(this.b),d=(c&N)*M,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} function yc(a,b){var c=this.c(this.b)&N,d=this.c(b);this.f(b,W(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&N;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=N,a){case 256:d+=N*M;break;case 384:d+=c>Xa?N*M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/M|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} @@ -104,64 +104,65 @@ var gc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},kc,lc,mc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(b,a)},function(a,b){this.f(b,this.b*M)},function(a,b){a=this.c(b);a=(a/M|0)+a%M*M;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,fc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?$a-this.b:0)},function(a,b){this.f(this.b,fc(this, this.c(b)))},function(a,b){a=fc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b, -d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=Wa&&(a-=Wa);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=Wa);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b), -this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a, -b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))}, -function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, -Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac, -Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, +this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))}, +function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a, +b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b), +L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X, -X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function Jc(a){B.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ia(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Kc(c)})}}n(Jc,B); +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, +X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; +function Jc(a){A.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Kc(c)})}}n(Jc,A); Jc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Kc(this)};Jc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Jc.prototype.P=function(){return!0}; -function Kc(a){if(!Sa(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;J(this)}; -k.Ta=function(a){if(!this.a){var b=Sb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Ma(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;I(this)}; +k.Ta=function(a){if(!this.a){var b=Sb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bTc){if(Uc(d,this.D)){this.l=new P(this,"1.34.2",cd);Uc(this.l)&&(dd(this,d),a=ed,fd(this.l));this.l.set($c,ta());gd(this.l);var e=this.a&&!this.B;if(a==ad||La("Click OK to restore the previous "+K+" machine state, or CANCEL to reset the machine.")){if(c=Zc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(hd,""),this.b=null)):this.M(f+": "+g),fd(d),Uc(d)?(c=Zc(d),e=!0):c=!1))}e&&Xc(this,c?d:null)}else a==ed&&d.clear()}else Xc(this);delete this.D;delete this.w}e=D(this.id);for(f=0;fTc){if(Uc(d,this.D)){this.l=new P(this,"1.34.2",cd);Uc(this.l)&&(dd(this,d),a=ed,fd(this.l));this.l.set($c,ta());gd(this.l);var e=this.a&&!this.B;if(a==ad||Ma("Click OK to restore the previous "+J+" machine state, or CANCEL to reset the machine.")){if(c=Zc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(hd,""),this.b=null)):this.M(f+": "+g),fd(d),Uc(d)?(c=Zc(d),e=!0):c=!1))}e&&Xc(this,c?d:null)}else a==ed&&d.clear()}else Xc(this);delete this.D;delete this.w}e=C(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(id(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(dd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function dd(a,b){if(La("There may be a problem with your "+K+" machine.\n\nTo help us diagnose it, click OK to send this "+K+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=K;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;u("http://www.pcjs.org/api/v1/report",d,!0)}} -function jd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Yc),h=ta();g.set($c,h);f.set($c,h);f.set(kd,"1.34.2");f.set(ld,window?window.location.href:null);f.set(md,window?window.navigator.userAgent:"");a.h&&a.h.P&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.P(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=D(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.g.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +function td(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(Ja(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){g=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} -function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&I(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||A(!0));p=!1}var h,l,p=!0;rd++;Ja[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var y=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));y.appendChild(qa)}d|| -(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?sd(d,null,a,null,!1,f,function(a,e){e?(Ia(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--rd||A(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rd|| -A(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sd(c,b,a,e,!0,f,v):td(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(wd){g(wd.message)}return p}window.embedPDP10=function(a,b,c,d){A(!1);return vd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){A(!1);return vd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return E(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Oa[a]){for(var c=!0,d=Oa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Fri, 3 Mar 2017 21:09:45 -0800 Subject: [PATCH 12/32] Added ROT and ROTC (albeit untested) --- modules/pdp10/lib/cpuops.js | 59 +++++++++- versions/pdpjs/1.34.2/pdp10-dbg.js | 177 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 37 +++--- 3 files changed, 163 insertions(+), 110 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 7e516fc21..6e9dd7605 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1368,7 +1368,12 @@ PDP10.opASH = function(op, acc) }; /** - * opROT(0o241000) + * opROT(0o241000): Rotate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-25: + * + * Rotate AC the number of places specified by E. If E is positive, rotate left; bit 0 is rotated + * into bit 35. If E is negative, rotate right; bit 35 is rotated into bit O. * * @this {CPUStatePDP10} * @param {number} op @@ -1376,7 +1381,19 @@ PDP10.opASH = function(op, acc) */ PDP10.opROT = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo +/-36. + */ + var s = ((this.regEA << 14) >> 24) % 36; + if (s) { + var w = this.readWord(acc); + if (s > 0) { + w = ((w * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(w / Math.pow(2, 36 - s)); + } else { + w = Math.trunc(w / Math.pow(2, -s)) + ((w * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); + } + this.writeWord(acc, w); + } }; /** @@ -1442,7 +1459,14 @@ PDP10.opASHC = function(op, acc) }; /** - * opROTC(0o245000) + * opROTC(0o245000): Rotate Combined + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-26: + * + * Concatenate accumulators A and A+1 with A on the left, and rotate the 72-bit combination the + * number of places specified by E. If E is positive, rotate left; bit 0 is rotated into bit 71 + * (bit 35 of AC A +1) and bit 36 into bit 35. If E is negative, rotate right; bit 35 is rotated + * into bit 36 and bit 71 into bit 0. * * @this {CPUStatePDP10} * @param {number} op @@ -1450,7 +1474,34 @@ PDP10.opASHC = function(op, acc) */ PDP10.opROTC = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + */ + var s = ((this.regEA << 14) >> 24) % 72; + if (s) { + var wLeft = this.readWord(acc); + var wRight = this.readWord((acc + 1) & 0o17); + var wExcess = wLeft; + if (s > 0) { + if (s < 36) { + wLeft = ((wLeft * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = ((wRight * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wExcess / Math.pow(2, 36 - s)); + } else { + wLeft = ((wRight * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wLeft / Math.pow(2, 72 - s)); + wRight = ((wExcess * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 72 - s)); + } + } else { + if (s > -36) { + wLeft = Math.trunc(wLeft / Math.pow(2, -s)) + ((wRight * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); + wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wExcess * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); + } else { + wLeft = Math.trunc(wRight / Math.pow(2, -s - 36)) + ((wLeft * Math.pow(2, 72 + s)) % PDP10.WORD_LIMIT); + wRight = Math.trunc(wExcess / Math.pow(2, -s - 36)) + ((wRight * Math.pow(2, 72 + s)) % PDP10.WORD_LIMIT); + } + } + this.writeWord(acc, wLeft); + this.writeWord((acc + 1) & 0o17, wRight); + } }; /** diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 081bcbcb9..2ef273e07 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -53,160 +53,161 @@ function Cb(a,b){var c=y;b=z(b.parentNode,c+"-control");for(var d=0;da;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, -set:this.Wb};D(this)}p($b,v);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; +set:this.Wb};A(this)}p($b,v);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.u&&this.u.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;ec(this);fc(this)};l.pa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.D)jc(a,c,null!=b?b:a.D[c])}function kc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} l.Eb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return ic(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Xb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==tc,a.R=b==uc),!0):!1} function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[vc]&&this.b[vc][1]&&wc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[vc]&&this.b[vc][1])wc(this.u);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),xc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Jc(Kc,e,g)}e=new Fc(a,e,m,16384,d);Gc(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Lc[d]+" at "+va(b)),!0):Jc(Mc,b,c)} function Dc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Cc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Hc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=gd(a)&&(a.ha=a.ja=-1,cd(a),a.V(),c=!0);c&&a.g(gd(a)+" cycles: checksum="+t(a.ta))}} +this.ya=null;A(this)}p(Zc,v);l=Zc.prototype;l.wa=function(a,b,c,d){this.F=a;this.G=b;this.C=d;this.ya=a.w;for(a=0;a<$c.length;a++)(b=this.I[$c[a]])&&this.F.ga(null,$c[a],b);A(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; +l.pa=function(a,b){var c=ad(this.F,"autoStart");null!=c?this.v.Z="true"==c?!0:"false"==c?!1:!!c:null==this.v.Z&&(this.v.Z=!this.C&&void 0===this.I.run);if(!b){if(a){bd(this);if(!this.restore(a))return!1;cd(this)}else this.reset();this.C?(a=this.C,b=this.v.Z,a.ya=!0,a.i("Type ? for help with PDPjs Debugger commands"),dd(a),b||ed(a),a.ua&&(b=a.ua,a.ua=null,fd(a,b))):this.status("No debugger detected");this.v.Z||this.i("CPU will not be auto-started "+(this.ya?"(click Run to start)":"(type 'go' to start)"))}return!0}; +l.fa=function(a){return a?this.save():!0};l.Z=function(){return this.v.K?!0:this.v.Z?(wc(this),!0):!1};l.rb=function(){return 0};function cd(a){void 0===a.ua&&(a.ua=0);void 0===a.ha&&(a.ha=-1);void 0===a.ja&&(a.ja=-1);a.v.Ea=0<=a.ua&&0=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=gd(a)&&(a.ha=a.ja=-1,cd(a),a.V(),c=!0);c&&a.i(gd(a)+" cycles: checksum="+t(a.ta))}} l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=xb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=xb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function nd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} l.Ub=function(){if(this.v.K){this.Aa>=this.Va&&id(this,!0);this.ka=0;this.sa=xb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=ld(this,this.v.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=nd(this,!0);this.ka+=b;this.L+=b;Ac(this,b);yc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Id&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),gd(this));Ib(this, e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=xb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,hd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function wc(a,b){if(!Jb(a))if(a.v.K)a.g(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; -function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=P.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.i=this.Qb;this.j=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; +function wc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; +function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=O.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.w,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Ld(this));a.set(4,md(this));return a.data()}; l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.w=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];hd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].i(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.C?Od(this.C)?1:this.v.Pa?-1:0:0,c=a?this.v.Pa?0:1:-1;this.v.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Pd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Pd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.i(this.f):this.Ba=this.i(this.ra=this.w);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.i(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Rd(){var a=0,b=this.i(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Sd(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} -function Td(a,b){a=this.i(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.i(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Ud(a,b){this.j(b,this.i(this.f))}function Vd(a,b){this.j(b,this.f)}function Wd(a,b){this.j(this.f,this.i(b))}function Xd(a,b){this.j(b,0)}function Yd(a,b){this.j(b,F-this.i(b))}function Zd(a,b){this.j(b,F)} -function $d(a,b){var c=this.i(this.f),d=this.i(b);this.j(b,ae(a,d,c)+(c-(c&H)))}function be(a,b){var c=this.i(b);this.j(b,ae(a,c,0))}function ce(a,b){b=this.i(b);var c=this.i(this.f);this.j(this.f,ae(a,c,b)+(b-(b&H)))}function de(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Tb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ee(a,b){var c=(this.i(this.f)&H)*G,d=this.i(b);this.j(b,ae(a,d,c)+c)} -function fe(a,b){var c=this.f*G,d=this.i(b);this.j(b,ae(a,d,c)+c)}function ge(a,b){b=(this.i(b)&H)*G;var c=this.i(this.f);this.j(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.i(this.f),d=(c&H)*G,c=ae(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ie(a,b){var c=this.i(this.f)&H,d=this.i(b);this.j(b,je(a,d,c)+c)}function ke(a,b){var c=this.i(b);this.j(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.i(b)&H;var c=this.i(this.f);this.j(this.f,je(a,c,b)+b)} -function me(a,b){var c=this.i(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Sb?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ne(a,b){var c=this.i(this.f)/G|0,d=this.i(b);this.j(b,je(a,d,c)+c)}function oe(a,b){var c=this.i(b);this.j(b,je(a,c,0))}function pe(a,b){b=this.i(b)/G|0;var c=this.i(this.f);this.j(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.i(this.f),d=c/G|0,c=je(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function re(){} -function P(a){this.g("undefined opcode: "+va(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Sb?H*G:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Tb?H:0}return b}function S(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function se(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function te(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)} -function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -var Qd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +bTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.C?Od(this.C)?1:this.v.Pa?-1:0:0,c=a?this.v.Pa?0:1:-1;this.v.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Pd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Pd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Ba=this.g(this.ra=this.w);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Rd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Sd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} +function Td(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Ud(a,b){this.j(b,this.g(this.f))}function Vd(a,b){this.j(b,this.f)}function Wd(a,b){this.j(this.f,this.g(b))}function Xd(a,b){this.j(b,0)}function Yd(a,b){this.j(b,F-this.g(b))}function Zd(a,b){this.j(b,F)} +function $d(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ae(a,d,c)+(c-(c&H)))}function be(a,b){var c=this.g(b);this.j(b,ae(a,c,0))}function ce(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ae(a,c,b)+(b-(b&H)))}function de(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Tb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ee(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ae(a,d,c)+c)} +function fe(a,b){var c=this.f*G,d=this.g(b);this.j(b,ae(a,d,c)+c)}function ge(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.g(this.f),d=(c&H)*G,c=ae(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ie(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,je(a,d,c)+c)}function ke(a,b){var c=this.g(b);this.j(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,je(a,c,b)+b)} +function me(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Sb?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ne(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,je(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.j(b,je(a,c,0))}function pe(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.g(this.f),d=c/G|0,c=je(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function re(){} +function O(a){this.i("undefined opcode: "+va(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Sb?H*G:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Tb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function se(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function te(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} +function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} +var Qd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.j(b,this.i(this.f))},function(a,b){a=this.i(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.i(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.i(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Nd(this,this.i(this.f)))},function(a,b){this.j(b,this.f?Vb-this.f:0)},function(a,b){this.j(this.f,Nd(this, -this.i(b)))},function(a,b){a=Nd(this,this.i(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.i(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.i(b)))},function(a,b){a=this.abs(this.i(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=this.f<<14>>24){var c=this.i(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=this.f<<14>>24){var c=this.i(b),d=this.i(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.i(b);this.j(b,this.i(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.i(b),d=c/G|0,c=c&H;!a;)this.j(c,this.i(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.i(b);a+=262145;this.j(a&H,this.i(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.i(b);var c=this.i(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.Sa=!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Nd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Vb-this.f:0)},function(a,b){this.j(this.f,Nd(this, +this.g(b)))},function(a,b){a=Nd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b),c=0>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)}, +function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a))):-36>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1; +for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&& +(this.Sa=!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f,S(this.g(b),this.g(this.f)))}, +function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Ud,Vd,re,Ud,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f, +this.j(b,S(this.g(b),F-this.g(this.f))))},re,re,Wd,Wd,function(a,b){this.j(b,se(this.g(b),this.g(this.f)))},function(a,b){this.j(b,se(this.g(b),this.f))},function(a,b){this.j(this.f,se(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,se(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))}, +function(a,b){this.j(b,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,te(this.g(b),this.g(this.f)))},function(a,b){this.j(b,te(this.g(b),this.f))},function(a,b){this.j(this.f,te(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,te(this.g(b),this.g(this.f))))},Yd,Yd,function(a,b){this.j(this.f, +F-this.g(b))},function(a,b){this.j(this.f,this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b), +F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},Zd,Zd,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b, +F))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.i(b),this.i(this.f)))},function(a,b){this.j(b,S(this.i(b),this.f))},function(a,b){this.j(this.f,S(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.i(b),this.i(this.f))))},function(a,b){this.j(b,S(F-this.i(b),this.i(this.f)))},function(a,b){this.j(b,S(F-this.i(b),this.f))},function(a, -b){this.j(this.f,S(F-this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.i(b),this.i(this.f))))},Ud,Vd,re,Ud,function(a,b){this.j(b,S(this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,S(this.i(b),F-this.f))},function(a,b){this.j(this.f,S(this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.i(b),F-this.i(this.f))))},re,re,Wd,Wd,function(a,b){this.j(b,se(this.i(b),this.i(this.f)))},function(a,b){this.j(b,se(this.i(b),this.f))},function(a,b){this.j(this.f, -se(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,se(this.i(b),this.i(this.f))))},function(a,b){this.j(b,U(this.i(b),this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),this.f))},function(a,b){this.j(this.f,U(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.i(b),this.i(this.f))))},function(a,b){this.j(b,S(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,S(F-this.i(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.i(b),F-this.i(this.f)))},function(a, -b){this.j(this.f,this.j(b,S(F-this.i(b),F-this.i(this.f))))},function(a,b){this.j(b,te(this.i(b),this.i(this.f)))},function(a,b){this.j(b,te(this.i(b),this.f))},function(a,b){this.j(this.f,te(this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,te(this.i(b),this.i(this.f))))},Yd,Yd,function(a,b){this.j(this.f,F-this.i(b))},function(a,b){this.j(this.f,this.j(b,F-this.i(b)))},function(a,b){this.j(b,U(F-this.i(b),this.i(this.f)))},function(a,b){this.j(b,U(F-this.i(b),this.f))},function(a, -b){this.j(this.f,U(F-this.i(b),this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.i(b),this.i(this.f))))},function(a,b){this.j(b,F-this.i(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.i(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,U(this.i(b),F-this.f))},function(a,b){this.j(this.f,U(this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.i(b), -F-this.i(this.f))))},function(a,b){this.j(b,U(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(b,U(F-this.i(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.i(b),F-this.i(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.i(b),F-this.i(this.f))))},Zd,Zd,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b,F))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe, -qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R, -R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; function ue(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ve(c)})}}p(ue,v); ue.prototype.wa=function(a,b,c,d){this.G=b;this.u=c;this.C=d;ve(this)};ue.prototype.pa=function(){this.T&&(this.C&&we(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};ue.prototype.fa=function(){return!0}; function ve(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Ic(a.G,b,a.w,Qc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;D(this)}; +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;A(this)}; l.tb=function(a){if(!this.b){var b=ad(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} function Ee(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function V(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e} +function Ge(a,b,c,d){var e;null!=b?(e=a.sb(b),0<=e?e=a.$a(e):(e=a.W[b],null==e&&(e=ta(b,a.ca))),null!=e||d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return e} +function Ie(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} function Je(a,b){if(b)return Ie(a,b,a.W[b]);var c=0;for(b in a.W)Ie(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var He={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Ke(a){Ce.call(this,a);this.ya=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Le(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Me(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ne(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return fd(b,a)}):void 0===global[y]&&(global[y]=function(a){return fd(b, a)})}p(Ke,Ce);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Oe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Pe(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Qe(a,b){var c=W(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=De(a,c.Oa=b[4]));return c}l=Ke.prototype; -l.wa=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ha=a.w;(a=ad(a,"messages"))&&Ne(this,a);Re(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.g("..."):(c=n.type,m=Lc[c],n&&d.g(t(n.id,8)+" %"+t(e<>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Lc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.ra==b&&(b=Md(a.u,1)));if(0d&&(d=a.u.i(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +l.message=function(a,b){b&&(a+=" @"+N(this,W(this.u.ra).B));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.u&&(c=this.u.v.K)||Lb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.i(a);this.u&&(a=this.u,nd(a),a.ba=0,a.F&&M(a.F,void 0))}}; +function Me(a){var b;if(!Od(a))a.f&&a.f.length&&a.i("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(cf);for(b=0;b>23&&a.u.ra==b&&(b=Md(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} function Sf(a,b,c,d){var e=W(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Wb|0,r;for(r in Tf)if(f=Tf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Uf;m=n&3;break;case 32256:k=Vf;m=n&7;break;case 29248:k=Wf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Xf&&(k="B");k=Yf[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Xb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Te(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Te(k),null== e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+gd(a.u).toString()+" cs="+t(a.u.ta)):h+(null!=d?"="+d.toString():""));return h}function Le(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||Zf(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.g("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} -function ag(a,b){for(var c=1;c>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} +function ag(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Oe(e.va,d);g+="="+N(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ye?1:d==We?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function dg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.g(Sf(a,b,f,g));e-=b.B-k;c++}}} -function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(Nf+b):(a.P&&(a.g("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;A=(pd|hf<<6)*Wb;break}}if(0<= -A)break}if(0<=A)break}if(0<=A)if(ff)for(var rd=ff.split(","),mb=0;mbI||127I||15 -I||262143I||15da.length&&(a.g("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.g(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;ob--}}rf||(a.g("no "+qf+"history available"),a.sa=void 0)}else{var Va=Z(a,ca,a.ja);if(Va){var za=0,uf="ds"==Sa;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Ng,za=Ge(a,oa);else{var vf=Z(a,oa);vf&&(za=vf.B-Va.B)}0>za&&(za=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}Aa&&(Aa+="\n");Aa=uf?Aa+(Ba+","):Aa+(ca+": "+Ba+(0>yf?" "+xf:""))}Aa&&a.g(Aa);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.g("edit memory commands:"),a.g("\tew [a] [...] edit words at address a");else{var pc=Z(a,zd,a.ja);if(pc)for(var qc=2;qc< -f.length;qc++){var Ad=V(a,f[qc]);if(void 0===Ad){a.g("unknown value: "+f[qc]);break}a.g("changing "+N(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Z(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.g("halting"),a.V()):Lb(a,!0)||c||a.g("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ia(qb);V(a,qb)?(c||a.g("true: "+qb),Cd=!0):(c||a.g("false: "+qb),Cd= -!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Dd=0,Ed=W(),rb=W();for(a.g("stack trace for "+N(a,rb.B));10>Dd;){for(var Ca=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.g("step commands:"),a.g("\tp\tstep over instruction"),a.g("\tpr\tstep over instruction with register update");else if(a.N)a.g("step in progress");else{var Mf=W(a.u.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.g("invalid base: "+ub);break}}a.g("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.u.ha=vb;break;case "start":a.u.ua=vb;break;case "stop":a.u.ja=vb;break;default:a.g("unknown cs option");break a}void 0!==vb&&cd(a.u);a.g("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.u,+f[2])||a.g("warning: using 1x multiplier, previous target not reached")); -a.g("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.g("unknown option: "+f[1]);break}case "?":a.g("debugger options:"),a.g("\tbase #\t\tset default base to #"),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 "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.g((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.g(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ha(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.g(Gd);break;default:g=!0}g&&(a.g("unknown command: "+b),d=!1)}}catch(Of){a.g("debugger error: "+(Of.stack||Of.message)),d=!1}return d} +function eg(a,b,c,d){var e={},g=a.H[b].mb,f=0,h=null;0<=c&&ch[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.i(Sf(a,b,f,g));e-=b.B-k;c++}}} +function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Nf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;B=(pd|hf<<6)*Wb;break}}if(0<= +B)break}if(0<=B)break}if(0<=B)if(ff)for(var rd=ff.split(","),mb=0;mbJ||127J||15 +J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;ob--}}rf||(a.i("no "+qf+"history available"),a.sa=void 0)}else{var Va=Z(a,ca,a.ja);if(Va){var za=0,uf="ds"==Sa;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Ng,za=Ge(a,oa);else{var vf=Z(a,oa);vf&&(za=vf.B-Va.B)}0>za&&(za=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}Aa&&(Aa+="\n");Aa=uf?Aa+(Ba+","):Aa+(ca+": "+Ba+(0>yf?" "+xf:""))}Aa&&a.i(Aa);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var pc=Z(a,zd,a.ja);if(pc)for(var qc=2;qc< +f.length;qc++){var Ad=V(a,f[qc]);if(void 0===Ad){a.i("unknown value: "+f[qc]);break}a.i("changing "+N(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Z(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ia(qb);V(a,qb)?(c||a.i("true: "+qb),Cd=!0):(c||a.i("false: "+qb),Cd= +!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Dd=0,Ed=W(),rb=W();for(a.i("stack trace for "+N(a,rb.B));10>Dd;){for(var Ca=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Mf=W(a.u.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.i("invalid base: "+ub);break}}a.i("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.u.ha=vb;break;case "start":a.u.ua=vb;break;case "stop":a.u.ja=vb;break;default:a.i("unknown cs option");break a}void 0!==vb&&cd(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); +a.i("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ha(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.i(Gd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Of){a.i("debugger error: "+(Of.stack||Of.message)),d=!1}return d} function fd(a,b,c){b=De(a,b,c);for(var d in b)if(!bg(a,b[+d]))return!1;return!0} var kg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), Ve=0,We=1,Xe=2,Ye=3,Ze=4,$e=5,af=6,bf=7,Ue="PC RA EA C0 C1 OV ND PD".split(" "),lg={},Tf=(lg[28672]={0:101},lg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},lg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},lg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},lg[29248]={24576:79,24640:80,25088:81,25152:82},lg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, 28692:98,28696:99,28700:100},lg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),cf=1E3,Nf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bpg){if(qg(d,this.M)){this.D=new L(this,"1.34.2",zg);qg(this.D)&&(Ag(this,d),a=Bg,Cg(this.D));this.D.set(wg,Ka());Dg(this.D);var e=this.b&&!this.L;if(a==xg||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=vg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?qg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Eg,""),this.f=null)):this.g(g+": "+f),Cg(d),qg(d)?(c=vg(d),e=!0):c=!1))}e&&tg(this,c?d:null)}else a==Bg&&d.clear()}else tg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Fg(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Ag(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; function Ag(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} @@ -229,7 +230,7 @@ function bh(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(nb(c,b,a),( a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],f);ch(a,b,c)}})}else c(a,null)} -function dh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--$g||ib(!0));m=!1}var h,k,m=!0;$g++;wb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=n:B.appendChild(document.createTextNode(n));r.appendChild(B)}d|| +function dh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--$g||ib(!0));m=!1}var h,k,m=!0;$g++;wb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ah(d,null,a,null,!1,g,function(a,e){e?(nb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--$g||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$g|| ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ah(c,b,a,e,!0,g,n):bh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return dh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return dh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;B.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} function w(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b),c=0>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)}, +function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%K+Math.trunc(d/Math.pow(2,72-a))):-36>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1; +for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, -this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))}, -function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a, -b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b), -L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b), +this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc, +mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))}, +function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))}, +function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L- +this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc, +xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, -X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; function Jc(a){A.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Kc(c)})}}n(Jc,A); Jc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Kc(this)};Jc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Jc.prototype.P=function(){return!0}; function Kc(a){if(!Ta(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c>>f.b;0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){g=null,a=y.message}else a="unrecognized XML: "+(255).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} -function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&H(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||Fa(!0));p=!1}var h,l,p=!0;rd++;Ka[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var y=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));y.appendChild(qa)}d|| +function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&H(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||Fa(!0));p=!1}var h,l,p=!0;rd++;Ka[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));z.appendChild(qa)}d|| (v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?sd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--rd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rd|| Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sd(c,b,a,e,!0,f,v):td(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(wd){g(wd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return vd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return vd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return D(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Sat, 4 Mar 2017 11:22:57 -0800 Subject: [PATCH 13/32] Simplified ROT and ROTC, converting all right (negative) rotations into left (positive) rotations --- modules/pdp10/lib/cpuops.js | 44 +++++++++++++++------------------- versions/pdpjs/1.34.2/pdp10.js | 39 +++++++++++++++--------------- 2 files changed, 38 insertions(+), 45 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 6e9dd7605..45d3b2cce 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1382,16 +1382,16 @@ PDP10.opASH = function(op, acc) PDP10.opROT = function(op, acc) { /* - * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo +/-36. + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 36 (+/-35). */ var s = ((this.regEA << 14) >> 24) % 36; if (s) { var w = this.readWord(acc); - if (s > 0) { - w = ((w * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(w / Math.pow(2, 36 - s)); - } else { - w = Math.trunc(w / Math.pow(2, -s)) + ((w * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); - } + /* + * Note that a right rotation (s < 0) of s bits is equivalent to a left rotation (s > 0) of 36 + s bits. + */ + if (s < 0) s = 36 + s; + w = ((w * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(w / Math.pow(2, 36 - s)); this.writeWord(acc, w); } }; @@ -1412,7 +1412,7 @@ PDP10.opROT = function(op, acc) PDP10.opLSH = function(op, acc) { /* - * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ var s = (this.regEA << 14) >> 24; if (s) { @@ -1475,29 +1475,23 @@ PDP10.opASHC = function(op, acc) PDP10.opROTC = function(op, acc) { /* - * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 72 (+/-71). */ var s = ((this.regEA << 14) >> 24) % 72; if (s) { var wLeft = this.readWord(acc); var wRight = this.readWord((acc + 1) & 0o17); - var wExcess = wLeft; - if (s > 0) { - if (s < 36) { - wLeft = ((wLeft * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); - wRight = ((wRight * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wExcess / Math.pow(2, 36 - s)); - } else { - wLeft = ((wRight * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wLeft / Math.pow(2, 72 - s)); - wRight = ((wExcess * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 72 - s)); - } + var wLeftOrig = wLeft; + /* + * Note that a right rotation (s < 0) of s bits is equivalent to a left rotation (s > 0) of 72 + s bits. + */ + if (s < 0) s = 72 + s; + if (s < 36) { + wLeft = ((wLeft * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = ((wRight * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wLeftOrig / Math.pow(2, 36 - s)); } else { - if (s > -36) { - wLeft = Math.trunc(wLeft / Math.pow(2, -s)) + ((wRight * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); - wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wExcess * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); - } else { - wLeft = Math.trunc(wRight / Math.pow(2, -s - 36)) + ((wLeft * Math.pow(2, 72 + s)) % PDP10.WORD_LIMIT); - wRight = Math.trunc(wExcess / Math.pow(2, -s - 36)) + ((wRight * Math.pow(2, 72 + s)) % PDP10.WORD_LIMIT); - } + wLeft = ((wRight * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wLeft / Math.pow(2, 72 - s)); + wRight = ((wLeftOrig * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 72 - s)); } this.writeWord(acc, wLeft); this.writeWord((acc + 1) & 0o17, wRight); @@ -1521,7 +1515,7 @@ PDP10.opROTC = function(op, acc) PDP10.opLSHC = function(op, acc) { /* - * Convert the unsigned 18-bit value in regEA to a signed 8-bit value. + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ var s = (this.regEA << 14) >> 24; if (s) { diff --git a/versions/pdpjs/1.34.2/pdp10.js b/versions/pdpjs/1.34.2/pdp10.js index 7b7a52c45..b5952405e 100644 --- a/versions/pdpjs/1.34.2/pdp10.js +++ b/versions/pdpjs/1.34.2/pdp10.js @@ -42,8 +42,8 @@ function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"= e[c]&255,d.H[f++]=e[c]>>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;B.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} function w(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b>24)%36){var c=this.c(b),c=0>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)}, -function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%K+Math.trunc(d/Math.pow(2,72-a))):-36>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1; -for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%K+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<< +14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%K+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b), -this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))},kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc, -mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))}, -function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))}, -function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a,b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L- -this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc, -xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b, +0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))}, +kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b, +Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a, +b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a, +b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))}, +function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; function Jc(a){A.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Kc(c)})}}n(Jc,A); Jc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Kc(this)};Jc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Jc.prototype.P=function(){return!0}; function Kc(a){if(!Ta(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c>>f.b;0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){g=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} -function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&H(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||Fa(!0));p=!1}var h,l,p=!0;rd++;Ka[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));z.appendChild(qa)}d|| +function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&H(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||Fa(!0));p=!1}var h,l,p=!0;rd++;Ka[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var y=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));y.appendChild(qa)}d|| (v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?sd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--rd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rd|| Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sd(c,b,a,e,!0,f,v):td(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(wd){g(wd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return vd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return vd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return D(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Sat, 4 Mar 2017 14:43:21 -0800 Subject: [PATCH 14/32] Added logic (untested) for ASH --- modules/pdp10/lib/cpuops.js | 131 ++++++++++- modules/pdp10/lib/defines.js | 10 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 340 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 245 ++++++++++----------- 4 files changed, 424 insertions(+), 302 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 45d3b2cce..45fda2cd4 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -998,7 +998,7 @@ PDP10.opMOVN = function(op, acc) PDP10.opMOVNI = function(op, acc) { /* - * We perform an in-line two's complement of regEA, since negate() updates the flags, and the documentation + * We perform an in-line twos complement of regEA, since negate() updates the flags, and the documentation * above claims that this operation must "set no flags." It's certainly true that regEA, being an 18-bit value, * could never be -2^35, but it COULD be zero -- and apparently this instruction treats zero differently from MOVN. * @@ -1356,7 +1356,40 @@ PDP10.opDIVB = function(op, acc) }; /** - * opASH(0o240000) + * opASH(0o240000): Artithmetic Shift + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-31: + * + * Arithmetic Shifting + * + * These two instructions produce an arithmetic shift right or left of the number in AC or the + * double length number in accumulators A and A+1. Shifting is the movement of the contents of + * a register bit-to-bit. The operation discussed here is similar to logical shifting [see §2.4 + * and the illustration on page 2-24], but in an arithmetic shift only the magnitude part is + * shifted - the sign is unaffected. In a double length number the 70-bit string made up of the + * magnitude parts of the two words is shifted, but the sign of the low order word is made equal + * to the sign of the high order word. + * + * Null bits are brought in at the end being vacated: a left shift brings in 0s at the right, + * whereas a right shift brings in the equivalent of the sign bit at the left. In either case, + * information shifted out at the other end is lost. A single shift left is equivalent to multiplying + * the number by 2 (provided no bit of significance is shifted out); a shift right divides the number + * by 2. + * + * The number of places shifted is specified by the result of the effective address calculation + * taken as a signed number (in twos complement notation) modulo 28 in magnitude. In other words + * the effective shift E is the number composed of bit 18 (which is the sign) and bits 28-35 of the + * calculation result. Hence the programmer may specify the shift directly in the instruction + * (perhaps indexed) or give an indirect address to be used in calculating the shift. A positive E + * produces motion to the left, a negative E to the right; E is thus the power of 2 by which the + * number is multiplied. Maximum movement is 255 places. + * + * ASH: Arithmetic Shift + * + * Shift AC arithmetically the number of places specified by E. Do not shift bit 0. If E is positive, + * shift left bringing 0s into bit 35; data shifted out of bit 1 is lost; set Overflow if any bit of + * significance is lost (a 1 in a positive number, a 0 in a negative one). If E is negative, shift right + * bringing 0s into bit 1 if AC is positive, 1s if negative; data shifted out of bit 35 is lost. * * @this {CPUStatePDP10} * @param {number} op @@ -1364,7 +1397,62 @@ PDP10.opDIVB = function(op, acc) */ PDP10.opASH = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). + */ + var s = (this.regEA << 14) >> 24; + if (s) { + var w = this.readWord(acc), bitsShifted; + /* + * Convert the unsigned word (w) to a signed value (i), for convenience. + */ + var i = w > PDP10.MAX_POS36? -(PDP10.WORD_LIMIT - w) : w; + if (s > 0) { + if (s >= 35) { + i = (i < 0? PDP10.INT_LIMIT : 0); + bitsShifted = PDP10.INT_MASK; + } else { + i = (i * Math.pow(2, s)) % PDP10.INT_LIMIT; + /* + * bitsShifted must be set to the mask of all magnitude bits shifted out of + * the original word. Using 8-bit signed words as an example, this table shows + * the bitsShifted values that would correspond to shifting 1-7 bits left: + * + * shifts bitsShifted value calculation + * ------ ----------- ------ ----------- + * 1 0b01000000 128-64 128-Math.pow(2, 7-1) + * 2 0b01100000 128-32 128-Math.pow(2, 7-2) + * 3 0b01110000 128-16 128-Math.pow(2, 7-3) + * ... + * 7 0b01111111 128-1 128-Math.pow(2, 7-7) + */ + bitsShifted = PDP10.INT_LIMIT - Math.pow(2, 35-s); + } + if (w <= PDP10.MAX_POS36) { + /* + * Since w was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value (w) were 0s, then adding bitsShifted to it could NOT + * produce a value > MAX_POS36. + */ + if (w + bitsShifted > PDP10.MAX_POS36) this.fOverflow = true; + } else { + /* + * Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value (w) were 1s, subtracting bitsShifted from it could NOT + * produce a value <= MAX_POS36. + */ + if (w - bitsShifted <= PDP10.MAX_POS36) this.fOverflow = true; + } + } else { + if (s <= -35) { + i = (i < 0? -1 : 0); + } else { + i = Math.trunc(i / Math.pow(2, -s)); + } + } + w = (i < 0? i + PDP10.WORD_LIMIT: i); + this.writeWord(acc, w); + } }; /** @@ -1399,7 +1487,26 @@ PDP10.opROT = function(op, acc) /** * opLSH(0o242000): Logical Shift * - * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-25: + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-24: + * + * Shift and Rotate + * + * The remaining logical instructions shift or rotate right or left the contents of AC or the contents + * of two accumulators, A and A+1 (mod 20 [base 8]), concatenated into a 72-bit register with A on the + * left. The illustration below shows the movement of information these instructions produce in the + * accumulators. In a (logical) shift the contents of a register are moved bit-to-bit with 0s brought + * in at the end being vacated; information shifted out at the other end is lost. [For a discussion of + * arithmetic shifting see § 2.5.] In rotation the contents are moved cyclically such that information + * rotated out at one end is put in at the other. + * + * The number of places moved is specified by the result of the effective address calculation taken as a + * signed number (in twos complement notation) modulo 2^8 in magnitude. In other words the effective shift + * E is the number composed of bit 18 (which is the sign) and bits 28-35 of the calculation result. Hence + * the programmer may specify the shift directly in the instruction (perhaps indexed) or give an indirect + * address to be used in calculating the shift. A positive E produces motion to the left, a negative E to + * the right; maximum movement is 255 places. + * + * LSH: Logical Shift * * Shift AC the number of places specified by E. If E is positive, shift left bringing 0s into bit 35; * data shifted out of bit 0 is lost. If E is negative, shift right bringing 0s into bit 0; data shifted @@ -1447,7 +1554,19 @@ PDP10.opJFFO = function(op, acc) }; /** - * opASHC(0o244000) + * opASHC(0o244000): Arithmetic Shift + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-32: + * + * Concatenate the magnitude portions of accumulators A and A+1 with A on the left, and shift + * the 70-bit combination in bits 1-35 and 37-71 the number of places specified by E. Do not shift + * AC bit 0, but make bit 0 of AC A +1 equal to it if at least one shift occurs (ie if E is nonzero). + * + * If E is positive, shift left bringing 0s into bit 71 (bit 35 of AC A+1); bit 37 (bit 1 of AC A+1) + * is shifted into bit 35; data shifted out of bit 1 is lost; set Overflow if any bit of significance + * is lost (a 1 in a positive number, a 0 in a negative one). If E is negative, shift right bringing 0s + * into bit 1 if AC is positive, 1s if negative; bit 35 is shifted into bit 37; data shifted out of + * bit 71 is lost. * * @this {CPUStatePDP10} * @param {number} op @@ -1504,7 +1623,7 @@ PDP10.opROTC = function(op, acc) * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-25: * * Concatenate accumulators A and A+1 with A on the left, and shift the 72-bit combination the number - * of places specified by E. If E is positive, shift left bringing 0s into bit 71 (bit 35 of AC A + 1); + * of places specified by E. If E is positive, shift left bringing 0s into bit 71 (bit 35 of AC A+1); * bit 36 is shifted into bit 35; data shifted out of bit 0 is lost. If E is negative, shift right * bringing 0s into bit 0; bit 35 is shifted into bit 36; data shifted out of bit 71 is lost. * diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index da7f770ce..9e48b3c28 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -104,10 +104,12 @@ var PDP10 = { ADDR_LIMIT: Math.pow(2, 18), ADDR_MASK: Math.pow(2, 18) - 1, WORD_INVALID: -1, - WORD_LIMIT: Math.pow(2, 36), - WORD_MASK: Math.pow(2, 36) - 1, - HALF_SHIFT: Math.pow(2, 18), - HALF_MASK: Math.pow(2, 18) - 1, + INT_LIMIT: Math.pow(2, 35), // signed word (magnitude) limit + INT_MASK: Math.pow(2, 35) - 1, // signed word (magnitude) mask + WORD_LIMIT: Math.pow(2, 36), // unsigned word limit + WORD_MASK: Math.pow(2, 36) - 1, // unsigned word mask + HALF_SHIFT: Math.pow(2, 18), // unsigned half-word shift + HALF_MASK: Math.pow(2, 18) - 1, // unsigned half-word mask /* * 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 2ef273e07..d97e64e46 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -35,18 +35,18 @@ var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,j Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12"']/g,function(a){return Ga[a]})}function Ha(a,b){return(a+" ").slice(0,b)} +function wa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0"']/g,function(a){return Ga[a]})}function Ha(a,b){return(a+" ").slice(0,b)} function Ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ja(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 La(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} function Ma(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Ma=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.oa=null;w.push(this)}function nb(a,b,c){wb[a]&&b&&(wb[a][b]=c)}function xb(){return Date.now()||+new Date} +function gb(a){if(hb)try{for(var b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Na=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.oa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, -set:this.Wb};A(this)}p($b,v);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.u&&this.u.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;ec(this);fc(this)};l.pa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; -l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.D)jc(a,c,null!=b?b:a.D[c])}function kc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} -l.Eb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return ic(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Xb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==tc,a.R=b==uc),!0):!1} -function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[vc]&&this.b[vc][1]&&wc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; -l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[vc]&&this.b[vc][1])wc(this.u);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),xc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Jc(Kc,e,g)}e=new Fc(a,e,m,16384,d);Gc(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Lc[d]+" at "+va(b)),!0):Jc(Mc,b,c)} -function Dc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Cc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Hc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=gd(a)&&(a.ha=a.ja=-1,cd(a),a.V(),c=!0);c&&a.i(gd(a)+" cycles: checksum="+t(a.ta))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&kd(a.F)}zc(a,a.L);a.L=0;a.J=xb();a.N=0;id(a);return d}function ld(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function md(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function nd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Ub=function(){if(this.v.K){this.Aa>=this.Va&&id(this,!0);this.ka=0;this.sa=xb();if(this.N){var a=this.sa-this.N;a>this.Ua&&(this.J+=a,this.J>this.sa&&(this.J=this.sa))}try{do{var b=ld(this,this.v.Ea?1:this.va);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=nd(this,!0);this.ka+=b;this.L+=b;Ac(this,b);yc(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.va;++this.Wa>=Id&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),gd(this));Ib(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=xb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.va));var c=c-(this.N-this.sa),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,hd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Aa+=this.ka;this.N+=c;a(b,c)}}}; -function wc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{hd(a);a.v.K=!0;a.v.Pa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&kd(a.F,!0),a.F.start(a.J,gd(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){nd(this);zc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),gd(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var jd=30,Id=15,$c=["power","reset"]; -function Jd(a){var b=+a.model||1001;Zc.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Kd.bind(this);this.b=O.bind(this);this.la=null;this.fb=[];this.v.complete=!1}p(Jd,Zc);l=Jd.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ba=0;this.w=this.ra=this.gb;this.Ra=this.ib=this.za=this.ub=this.Sa=!1;this.D=-1;this.qa=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.la=null;bd(this);this.v.error=!1;Zc.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.D,this.Ba,this.w,this.ra,this.qa,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Ld(this));a.set(4,md(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ba=b.next().value;this.w=b.next().value;this.ra=b.next().value;this.qa=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];hd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dTb&&(a!=Ub?a=Vb-a:this.Ra=this.za=!0);return a};function Nd(a,b){b?b==Ub?a.Ra=a.za=!0:b=Vb-b:a.ib=a.za=!0;return b}function Ld(a){var b=[];for(a=a.la;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.C?Od(this.C)?1:this.v.Pa?-1:0:0,c=a?this.v.Pa?0:1:-1;this.v.Pa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Pd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.la||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Pd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Ba=this.g(this.ra=this.w);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ba/Yb|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Rd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Sd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} -function Td(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Md(this,-1);else{var c=this.D/Zb&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Ud(a,b){this.j(b,this.g(this.f))}function Vd(a,b){this.j(b,this.f)}function Wd(a,b){this.j(this.f,this.g(b))}function Xd(a,b){this.j(b,0)}function Yd(a,b){this.j(b,F-this.g(b))}function Zd(a,b){this.j(b,F)} -function $d(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ae(a,d,c)+(c-(c&H)))}function be(a,b){var c=this.g(b);this.j(b,ae(a,c,0))}function ce(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ae(a,c,b)+(b-(b&H)))}function de(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Tb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ee(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ae(a,d,c)+c)} -function fe(a,b){var c=this.f*G,d=this.g(b);this.j(b,ae(a,d,c)+c)}function ge(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ae(a,c,b)+b)}function he(a,b){var c=this.g(this.f),d=(c&H)*G,c=ae(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ie(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,je(a,d,c)+c)}function ke(a,b){var c=this.g(b);this.j(b,je(a,c,this.f)+this.f)}function le(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,je(a,c,b)+b)} -function me(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Sb?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ne(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,je(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.j(b,je(a,c,0))}function pe(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,je(a,c,b)+b)}function qe(a,b){var c=this.g(this.f),d=c/G|0,c=je(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function re(){} -function O(a){this.i("undefined opcode: "+va(a));Md(this,-1);this.V()}function je(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Sb?H*G:0}return b}function ae(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Tb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function se(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function te(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} +var y="pdp10",Pb="PDPjs",Qb=Math.pow(2,18),Rb=Math.pow(2,18)-1,Sb=Math.pow(2,35),Tb=Math.pow(2,35)-1,E=Math.pow(2,36),F=Math.pow(2,36)-1,G=Math.pow(2,18),H=Math.pow(2,18)-1,Ub=Math.pow(2,17)-1,Vb=Math.pow(2,35)-1,Wb=Math.pow(2,35),Xb=Math.pow(2,36),I=Math.pow(2,32),Yb=Math.pow(2,21),Zb=Math.pow(2,26),$b=Math.pow(2,23),ac=Math.pow(2,30),y="pdp10",Pb="PDPjs",K={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768, +serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; +function bc(a,b){v.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.w=this.A=0;this.N=this.O=-1;this.P=this.R=this.H=!1;this.S=cc;this.D={};this.b={START:[1,1,!0,!1,this.Nb],STEP:[1,1,!1,!1,this.Ob],ENABLE:[1,1,!1,!1,this.Ib],CONT:[1,1,!0,!1,this.Gb],DEP:[0,0,!0,!1,this.Hb],EXAM:[1,1,!0,!1,this.Jb],LOAD:[1,1,!0,!1,this.Lb],TEST:[0,0,!0,!1,this.Kb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, +set:this.Wb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; +l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.u&&this.u.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.D)lc(a,c,null!=b?b:a.D[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} +l.Eb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Xb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} +function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; +l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),zc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} +function Fc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=id(a)&&(a.ha=a.ja=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.ua))}} +l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.L);a.L=0;a.J=xb();a.N=0;kd(a);return d}function nd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} +l.Ub=function(){if(this.v.K){this.Ba>=this.Va&&kd(this,!0);this.ka=0;this.ta=xb();if(this.N){var a=this.ta-this.N;a>this.Ua&&(this.J+=a,this.J>this.ta&&(this.J=this.ta))}try{do{var b=nd(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.ka+=b;this.L+=b;Cc(this,b);Ac(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.wa;++this.Wa>=Kd&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=xb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.wa));var c=c-(this.N-this.ta),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,jd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Ba+=this.ka;this.N+=c;a(b,c)}}}; +function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Qa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.J,id(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; +function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Md.bind(this);this.b=O.bind(this);this.qa=null;this.fb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ma=0;this.w=this.sa=this.gb;this.la=this.ib=this.Aa=this.ub=this.Sa=!1;this.D=-1;this.ra=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.qa=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.D,this.Ma,this.w,this.sa,this.ra,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ma=b.next().value;this.w=b.next().value;this.sa=b.next().value;this.ra=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dVb&&(a!=Wb?a=Xb-a:this.la=this.Aa=!0);return a};function Pd(a,b){b?b==Wb?a.la=a.Aa=!0:b=Xb-b:a.ib=a.Aa=!0;return b}function Nd(a){var b=[];for(a=a.qa;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.ra=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.ra=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.C?Qd(this.C)?1:this.v.Qa?-1:0:0,c=a?this.v.Qa?0:1:-1;this.v.Qa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Rd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.qa||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Rd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.w);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ma/$b|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} +function Vd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} +function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&H)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&H)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Vb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ce(a,d,c)+c)} +function he(a,b){var c=this.f*G,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&H)*G,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} +function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function te(){} +function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ue(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function ve(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} -var Qd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Rd,function(a,b){0>this.D&&Rd.call(this);Sd.call(this,0,b)},Sd,function(a,b){0>this.D&&Rd.call(this);Td.call(this,0,b)},Td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.D&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.D&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ud,Vd,Wd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Nd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Vb-this.f:0)},function(a,b){this.j(this.f,Nd(this, -this.g(b)))},function(a,b){a=Nd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b),c=0>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)}, -function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a))):-36>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1; -for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Md(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&& -(this.Sa=!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, +this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.la=!0):a-c<=Vb&&(this.la=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/ +Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/ +Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c= +this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.Sa= +!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Xd,Xd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f,S(this.g(b),this.g(this.f)))}, -function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Ud,Vd,re,Ud,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f, -this.j(b,S(this.g(b),F-this.g(this.f))))},re,re,Wd,Wd,function(a,b){this.j(b,se(this.g(b),this.g(this.f)))},function(a,b){this.j(b,se(this.g(b),this.f))},function(a,b){this.j(this.f,se(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,se(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))}, -function(a,b){this.j(b,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,te(this.g(b),this.g(this.f)))},function(a,b){this.j(b,te(this.g(b),this.f))},function(a,b){this.j(this.f,te(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,te(this.g(b),this.g(this.f))))},Yd,Yd,function(a,b){this.j(this.f, -F-this.g(b))},function(a,b){this.j(this.f,this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b), -F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},Zd,Zd,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b, -F))},$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,$d,be,ce,de,ee,fe,ge,he,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,ie,ke,le,me,ne,oe,pe,qe,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f,S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f, +this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,te,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))}, +te,te,Yd,Yd,function(a,b){this.j(b,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ue(this.g(b),this.f))},function(a,b){this.j(this.f,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ue(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b), +F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f, +this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b, +U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},ae,ae,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b,F))},be,de,ee,fe,ge,he,ie,je,be,de, +ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; -function ue(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ve(c)})}}p(ue,v); -ue.prototype.wa=function(a,b,c,d){this.G=b;this.u=c;this.C=d;ve(this)};ue.prototype.pa=function(){this.T&&(this.C&&we(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};ue.prototype.fa=function(){return!0}; -function ve(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Ic(a.G,b,a.w,Qc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Na(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Na(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Na(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.wa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;A(this)}; -l.tb=function(a){if(!this.b){var b=ad(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Na=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} -function Ee(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; +function we(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);xe(c)})}}p(we,v); +we.prototype.xa=function(a,b,c,d){this.G=b;this.u=c;this.C=d;xe(this)};we.prototype.pa=function(){this.T&&(this.C&&ye(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};we.prototype.fa=function(){return!0}; +function xe(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Kc(a.G,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Oa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Oa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Oa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;B(this)}; +l.tb=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Oa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} +function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function V(a,b,c){var d;if(b){b=Fe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} -function Je(a,b){if(b)return Ie(a,b,a.W[b]);var c=0;for(b in a.W)Ie(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var He={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ke(a){Ce.call(this,a);this.ya=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Le(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Me(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ne(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return fd(b,a)}):void 0===global[y]&&(global[y]=function(a){return fd(b, -a)})}p(Ke,Ce);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Oe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Pe(a){return[a.B,a.qb,a.ca,a.ea,a.Oa]}function Qe(a,b){var c=W(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=De(a,c.Oa=b[4]));return c}l=Ke.prototype; -l.wa=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ha=a.w;(a=ad(a,"messages"))&&Ne(this,a);Re(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Lc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.ra==b&&(b=Md(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Oe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Sf(a,b,c,d){var e=W(b.B),g=a.xa(b,1),f,h,k,m=0,n=g/Wb|0,r;for(r in Tf)if(f=Tf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Uf;m=n&3;break;case 32256:k=Vf;m=n&7;break;case 29248:k=Wf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Xf&&(k="B");k=Yf[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Xb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Te(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.xa(e,1),f+=" "+Te(k),null== -e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+gd(a.u).toString()+" cs="+t(a.u.ta)):h+(null!=d?"="+d.toString():""));return h}function Le(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||Zf(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:($f(this,a,a.length-1,"set"),Me(this)));return d};function Zf(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Me(a);break}}return g} -function ag(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Oe(e.va,d);g+="="+N(e,e.xa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=Ye?1:d==We?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function dg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.i(Sf(a,b,f,g));e-=b.B-k;c++}}} -function bg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Nf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Xf&&(qd="B");if(Kg==Yf[jf]+qd){hf=29248!=mc?Pa:(Pa&3)<<1|(Pa&12)<<2;B=(pd|hf<<6)*Wb;break}}if(0<= -B)break}if(0<=B)break}if(0<=B)if(ff)for(var rd=ff.split(","),mb=0;mbJ||127J||15 -J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var wd=[];"call"==pf&&(ob=1E5,wd=["CALL"]);for(void 0!==of&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;ob--}}rf||(a.i("no "+qf+"history available"),a.sa=void 0)}else{var Va=Z(a,ca,a.ja);if(Va){var za=0,uf="ds"==Sa;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Ng,za=Ge(a,oa);else{var vf=Z(a,oa);vf&&(za=vf.B-Va.B)}0>za&&(za=0);65536zf;zf++)xf+=String.fromCharCode((oc%64|0)+32),oc/=64}Aa&&(Aa+="\n");Aa=uf?Aa+(Ba+","):Aa+(ca+": "+Ba+(0>yf?" "+xf:""))}Aa&&a.i(Aa);a.ca=Pg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],zd=f[1];"e"==Cf||"ew"==Cf?(Af=a.xa,Bf=a.eb):zd=null;if(null==zd)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var pc=Z(a,zd,a.ja);if(pc)for(var qc=2;qc< -f.length;qc++){var Ad=V(a,f[qc]);if(void 0===Ad){a.i("unknown value: "+f[qc]);break}a.i("changing "+N(a,pc.B)+" from "+Te(Af.call(a,pc))+" to "+Te(Ad));Bf.call(a,pc,Ad,1)}}break;case "g":a:{var Df=f[1],Rg=b;if(void 0!==Df){var Bd=Z(a,Df);if(!Bd)break a;Se(a,Bd,Rg);a.Da(a.b,Bd,!0)}df(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Cd;var qb=b.substr(2),qb=Ia(qb);V(a,qb)?(c||a.i("true: "+qb),Cd=!0):(c||a.i("false: "+qb),Cd= -!1);Cd||(d=!1);break}g=!0;break;case "k":var Sg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Dd=0,Ed=W(),rb=W();for(a.i("stack trace for "+N(a,rb.B));10>Dd;){for(var Ca=null,Tg=256;65536>rb.B>>>0;){Ed.B=a.xa(rb,2);if(null==rb.B||!Tg--)break;if(!(Ed.B&1)){for(var Ug=a,rc=Ed,Ef=null,sb=rc.B,Ff=sb,Fd=1;6>=Fd&&sb;Fd++){if(2Lf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Mf=W(a.u.w);a.xa(Mf);a.N?(a.Da(a.b,Mf,!0),df(a)||(a.F&&kd(a.F),a.N=0)):ig(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Pf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var ub=+f[2];if(8==ub||10==ub||16==ub)a.ca=ub;else{a.i("invalid base: "+ub);break}}a.i("default base: "+a.ca);break;case "cs":var vb;void 0!==f[3]&&(vb=+f[3]);switch(f[2]){case "int":a.u.ha=vb;break;case "start":a.u.ua=vb;break;case "stop":a.u.ja=vb;break;default:a.i("unknown cs option");break a}void 0!==vb&&cd(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(hd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); -a.i("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":ig(a,f[0],f[1]);break;case "u":Qf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){fg(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){hg(a,b.substr(1));break}var Gd="commands:",Hd;for(Hd in kg)Gd+="\n"+Ha(Hd,9)+kg[Hd];Od(a)||(Gd+="\nnote: history disabled if no exec breakpoints");a.i(Gd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Of){a.i("debugger error: "+(Of.stack||Of.message)),d=!1}return d} -function fd(a,b,c){b=De(a,b,c);for(var d in b)if(!bg(a,b[+d]))return!1;return!0} -var kg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -Ve=0,We=1,Xe=2,Ye=3,Ze=4,$e=5,af=6,bf=7,Ue="PC RA EA C0 C1 OV ND PD".split(" "),lg={},Tf=(lg[28672]={0:101},lg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},lg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},lg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},lg[29248]={24576:79,24640:80,25088:81,25152:82},lg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},lg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),cf=1E3,Nf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bpg){if(qg(d,this.M)){this.D=new L(this,"1.34.2",zg);qg(this.D)&&(Ag(this,d),a=Bg,Cg(this.D));this.D.set(wg,Ka());Dg(this.D);var e=this.b&&!this.L;if(a==xg||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=vg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?qg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Eg,""),this.f=null)):this.i(g+": "+f),Cg(d),qg(d)?(c=vg(d),e=!0):c=!1))}e&&tg(this,c?d:null)}else a==Bg&&d.clear()}else tg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Fg(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Ag(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; -function Ag(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} -function jg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",ug),h=Ka();f.set(wg,h);g.set(wg,h);g.set(Gg,"1.34.2");g.set(Hg,window?window.location.href:null);g.set(Ig,window?window.navigator.userAgent:"");a.u&&a.u.fa&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.fa(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} +function Le(a,b){if(b)return Ke(a,b,a.W[b]);var c=0;for(b in a.W)Ke(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Je={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Me(a){Ee.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Ne(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Oe(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Pe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return hd(b,a)}):void 0===global[y]&&(global[y]=function(a){return hd(b, +a)})}p(Me,Ee);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Qe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Re(a){return[a.B,a.qb,a.ca,a.ea,a.Pa]}function Se(a,b){var c=W(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=Fe(a,c.Pa=b[4]));return c}l=Me.prototype; +l.xa=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ha=a.w;(a=cd(a,"messages"))&&Pe(this,a);Te(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Qe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Uf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Vf)if(f=Vf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Wf;m=n&3;break;case 32256:k=Xf;m=n&7;break;case 29248:k=Yf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Zf&&(k="B");k=$f[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Ve(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+Ve(k),null== +e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Ne(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||ag(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(bg(this,a,a.length-1,"set"),Oe(this)));return d};function ag(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Oe(a);break}}return g} +function cg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Qe(e.va,d);g+="="+N(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=$e?1:d==Ye?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function fg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.i(Uf(a,b,f,g));e-=b.B-k;c++}}} +function dg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Qf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Zf&&(rd="B");if(Mg==$f[kf]+rd){jf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|jf<<6)*Yb;break}}if(0<= +A)break}if(0<=A)break}if(0<=A)if(gf)for(var sd=gf.split(","),nb=0;nbJ||127J||15 +J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==qf&&(pb=1E5,xd=["CALL"]);for(void 0!==pf&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Pg,Aa=Ie(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Rg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< +f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+Ve(Bf.call(a,qc))+" to "+Ve(Bd));Cf.call(a,qc,Bd,1)}}break;case "g":a:{var Ef=f[1],Tg=b;if(void 0!==Ef){var Cd=Z(a,Ef);if(!Cd)break a;Ue(a,Cd,Tg);a.Da(a.b,Cd,!0)}ff(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= +!1);Dd||(d=!1);break}g=!0;break;case "k":var Ug=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Vg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Vg--)break;if(!(Fd.B&1)){for(var Wg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.w);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),ff(a)||(a.F&&md(a.F),a.N=0)):kg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Rf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ha=wb;break;case "start":a.u.va=wb;break;case "stop":a.u.ja=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); +a.i("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":kg(a,f[0],f[1]);break;case "u":Sf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){hg(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){jg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in mg)Hd+="\n"+Ha(Id,9)+mg[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} +function hd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!dg(a,b[+d]))return!1;return!0} +var mg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Zf=20,$f=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +Xe=0,Ye=1,Ze=2,$e=3,af=4,bf=5,cf=6,df=7,We="PC RA EA C0 C1 OV ND PD".split(" "),ng={},Vf=(ng[28672]={0:101},ng[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ng[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Zf,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ng[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ng[29248]={24576:79,24640:80,25088:81,25152:82},ng[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},ng),Wf=["","I","M","S"],Xf=" L E LE A GE N G".split(" "),Yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ef=1E3,Qf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;brg){if(sg(d,this.M)){this.D=new L(this,"1.34.2",Bg);sg(this.D)&&(Cg(this,d),a=Dg,Eg(this.D));this.D.set(yg,Ka());Fg(this.D);var e=this.b&&!this.L;if(a==zg||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=xg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?sg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Gg,""),this.f=null)):this.i(g+": "+f),Eg(d),sg(d)?(c=xg(d),e=!0):c=!1))}e&&vg(this,c?d:null)}else a==Dg&&d.clear()}else vg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Hg(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +function Cg(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} +function lg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",wg),h=Ka();f.set(yg,h);g.set(yg,h);g.set(Ig,"1.34.2");g.set(Jg,window?window.location.href:null);g.set(Kg,window?window.navigator.userAgent:"");a.u&&a.u.fa&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.fa(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k=d||30<=(c.Qa+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Qa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);ch(a,b,c)}})}else c(a,null)} -function dh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--$g||ib(!0));m=!1}var h,k,m=!0;$g++;wb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ah(d,null,a,null,!1,g,function(a,e){e?(nb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--$g||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--$g|| -ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ah(c,b,a,e,!0,g,n):bh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return dh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return dh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; +function M(a,b){if(a.u){var c=a.u,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ra+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Ra=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);eh(a,b,c)}})}else c(a,null)} +function fh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--bh||ib(!0));m=!1}var h,k,m=!0;bh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ch(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--bh||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--bh|| +ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ch(c,b,a,e,!0,g,n):dh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return fh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return fh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,La:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ka:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Ma:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return ra[a]})}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ra={"&":"&","<":"<",">":">",'"':""","'":"'"}; -function ta(){function a(a){return(10>a?"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 u(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function na(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function oa(){var a=pa();return-1!==a.indexOf("pcjs.org",a.length-8)}function qa(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function ua(){function a(a){return(10>a?"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 t(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function ua(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(w(d.H[0]),d=null):(w("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){w("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.ma=this.id:(this.na=this.id.substr(0,a),this.ma=this.id.substr(a+1));this.g={ready:!1,sa:!1,Fa:!1,C:!1,error:!1};this.ua=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;B.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} -function w(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function C(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;bb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(u(d.H[0]),d=null):(u("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.na=this.id:(this.oa=this.id.substr(0,a),this.na=this.id.substr(a+1));this.g={ready:!1,ta:!1,Ga:!1,C:!1,error:!1};this.va=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} +function u(a){window&&window.alert(a)}function Na(a){var b=!1;window&&(b=window.confirm(a));return b}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, -set:this.vb};I(this)}n(cb,A);k=cb.prototype;k.reset=function(a){this.stop();a&&eb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){fb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gb(a,b)}}(this,b),!0):A.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;hb(this);ib(this)};k.V=function(a,b){if(!b)if(this.R&&jb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; -k.restore=function(a){if(a=a[0])kb(this,this.b=a[0]),eb(this,this.j=a[1]),lb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ib(this);return!0};function mb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hb(a,b){for(var c in a.l)mb(a,c,null!=b?b:a.l[c])}function nb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ib(a){for(var b in a.a)nb(a,b,a.a[b][1])} -k.eb=function(a,b,c){if(fb(this,b)){if(c){var d=this;setTimeout(function(){gb(d,b);a&&a()},+c);return!1}gb(this,b)}return!0}; +var F="pdp10",I="PDPjs",Wa=Math.pow(2,18),Xa=Math.pow(2,18)-1,Ya=Math.pow(2,35),Za=Math.pow(2,35)-1,J=Math.pow(2,36),K=Math.pow(2,36)-1,L=Math.pow(2,18),M=Math.pow(2,18)-1,$a=Math.pow(2,17)-1,N=Math.pow(2,35)-1,ab=Math.pow(2,35),bb=Math.pow(2,36),O=Math.pow(2,32),cb=Math.pow(2,23),db=Math.pow(2,30),F="pdp10",I="PDPjs"; +function eb(a,b){y.call(this,"Panel",a);this.B=this.D=0;this.R=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.O=fb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +set:this.vb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):y.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.R&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; +k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} +k.eb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);eb(this,this.j=a)}};k.kb=function(a){a||this.h.g.A||kb(this,this.i)};k.jb=function(a){a?(this.s=!0,hb(this,!0)):(this.s=!1,hb(this),lb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.wa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.wa){p=h.size-(e-l);p>f&&(p=f);h.wa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Cb(Db,e,f)}e=new S(a,e,p,16384,d);zb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Eb[d]+" at "+la(b)),!0):Cb(Fb,b,c)}function xb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Ab(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Vb(a)&&(a.fa=a.ga=-1,Ub(a),Q(a),c=!0);c&&a.M(Vb(a)+" cycles: checksum="+r(a.oa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=C(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ba*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}ub(a,a.B);a.B=0;a.w=La();a.G=0;Xb(a)}function Zb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function $b(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.tb=function(){if(this.g.A){this.qa>=this.Da&&Xb(this,!0);this.da=0;this.ea=La();if(this.G){var a=this.ea-this.G;a>this.Ca&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ta?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.xa(b)}catch(f){if("number"!=typeof f)throw f;}b=$b(this,!0);this.da+=b;this.B+=b;vb(this,b);tb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Ea>=ac&&(this.u&&R(this.u,void 0),this.Ea=0);break}}while(this.g.A)}catch(f){Q(this); -this.u&&this.u.stop(La(),Vb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=La();c=this.Ca;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Wb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.qa+=this.da;this.G+=c;a(b,c)}}}; -function sb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Wb(a);a.g.A=!0;a.g.Ia=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Vb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.xa=function(){return 0};function Q(a){var b=!1;if(a.g.A){$b(a);ub(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Vb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Yb=30,ac=15,Rb=["power","reset"]; -function bc(a){var b=+a.model||1001;Qb.call(this,a,1E6);this.$a=b;this.Na=+a.addrReset||0;this.bb=cc.bind(this);this.a=T.bind(this);this.ja=null;this.Ma=[];this.g.complete=!1}n(bc,Qb);k=bc.prototype;k.reset=function(){this.status("Model "+this.$a);this.g.A&&Q(this);this.b=this.s=this.ra=0;this.j=this.Aa=this.Na;this.Pa=this.Za=this.za=!1;this.l=-1;this.ka=this.j;this.i=0;this.c=this.pb;this.f=this.Ab;this.ja=null;Tb(this);this.g.error=!1;Qb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.ra,this.j,this.Aa,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.g.J]);a.set(3,dc(this));a.set(4,Zb(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.ra=b.next().value;this.j=b.next().value;this.Aa=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Wb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dYa&&(a!=Za?a=$a-a:this.Pa=this.za=!0);return a};function fc(a,b){b?b==Za?a.Pa=a.za=!0:b=$a-b:a.Za=a.za=!0;return b}function dc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.xa=function(a){this.g.complete=!0;var b=a?this.g.Ia?0:1:-1;this.g.Ia=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.ra=this.c(this.Aa=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Wa;this.s&4194304?a=-1:(this.j=(this.j+1)%Va,a=this.ra/ab|0);0<=a&&this.bb(a)}while(0< -this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};x(function(){for(var a=H(document,G,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function hc(){var a=0,b=this.c(this.b),c=b/bb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bb+(d<<24)+(b&16777215);a&&(b=(b+a)%K);this.f(this.b,b)} -function ic(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,ec(this);else{var c=this.l/bb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%K;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function kc(a,b){this.f(b,this.c(this.b))} -function lc(a,b){this.f(b,this.b)}function mc(a,b){this.f(this.b,this.c(b))}function nc(a,b){this.f(b,0)}function oc(a,b){this.f(b,L-this.c(b))}function pc(a,b){this.f(b,L)}function qc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&N)))}function rc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function sc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&N)))} -function tc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&N,a){case 256:d+=N;break;case 384:d+=c>Ya?N:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function uc(a,b){var c=(this.c(this.b)&N)*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function vc(a,b){var c=this.b*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function wc(a,b){b=(this.c(b)&N)*M;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function xc(a,b){var c=this.c(this.b),d=(c&N)*M,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function yc(a,b){var c=this.c(this.b)&N,d=this.c(b);this.f(b,W(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&N;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=N,a){case 256:d+=N*M;break;case 384:d+=c>Xa?N*M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/M|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} -function Ec(a,b){b=this.c(b)/M|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Fc(a,b){var c=this.c(this.b),d=c/M|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){this.a(a)}function Gc(){}function T(a){this.M("undefined opcode: "+la(a));ec(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&N;break;case 128:b=0;break;case 256:b=N*M;break;case 384:b=c>Xa?N*M:0}return b} -function V(a,b,c){switch(a&384){case 0:b&=N;break;case 128:b=0;break;case 256:b=N;break;case 384:b=c>Ya?N:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Hc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Ic(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} -var gc=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},hc,function(a,b){0>this.l&&hc.call(this);ic.call(this,0,b)},ic,function(a,b){0>this.l&&hc.call(this);jc.call(this,0,b)},jc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return nb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,pb(this,a,c[1]),!0):!1};k.wb=function(a){return hb(this,a)?(ib(this,a),!0):!1};function hb(a,b){var c=a.a[b];return c?(pb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=qb&&(a.K=b==rb,a.L=b==sb),!0):!1}function ib(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(pb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +k.mb=function(a){a||this.h.g.A||(this.h.j=this.b%Wa,this.a[tb]&&this.a[tb][1]&&ub(this.h))};k.nb=function(){};k.hb=function(a){a||Q(this.h)};k.fb=function(a){if(!a&&!this.h.g.A)if(this.a[tb]&&this.a[tb][1])ub(this.h);else{a=this.v;var b;if(b=a)a.g.ta&&(a.g.Ga=!0),b=!a.g.ta;if(b)Va(a,!0),a.b(0,null),Va(a,!1);else try{var c=this.h.ya(1);0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.kb=function(a){a||this.h.g.A||mb(this,this.i)};k.jb=function(a){a?(this.s=!0,jb(this,!0)):(this.s=!1,jb(this),nb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.xa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.xa){p=h.size-(e-l);p>f&&(p=f);h.xa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} +function Cb(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Xb(a)&&(a.fa=a.ga=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.pa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ca*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.B);a.B=0;a.w=Ma();a.G=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} +k.tb=function(){if(this.g.A){this.ra>=this.Ea&&Zb(this,!0);this.da=0;this.ea=Ma();if(this.G){var a=this.ea-this.G;a>this.Da&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ua?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.ya(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.da+=b;this.B+=b;xb(this,b);vb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Fa>=cc&&(this.u&&R(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){Q(this); +this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=Ma();c=this.Da;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Yb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.ra+=this.da;this.G+=c;a(b,c)}}}; +function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.ya=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; +function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.$a=b;this.Oa=+a.addrReset||0;this.bb=ec.bind(this);this.a=T.bind(this);this.ja=null;this.Na=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.$a);this.g.A&&Q(this);this.b=this.s=this.sa=0;this.j=this.Ba=this.Oa;this.ma=this.Za=this.Aa=!1;this.l=-1;this.ka=this.j;this.i=0;this.c=this.pb;this.f=this.Ab;this.ja=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.sa,this.j,this.Ba,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.sa=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dN&&(a!=ab?a=bb-a:this.ma=this.Aa=!0);return a};function hc(a,b){b?b==ab?a.ma=a.Aa=!0:b=bb-b:a.Za=a.Aa=!0;return b}function fc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.ya=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.sa=this.c(this.Ba=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Xa;this.s&4194304?a=-1:(this.j=(this.j+1)%Wa,a=this.sa/cb|0);0<=a&&this.bb(a)}while(0< +this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%J);this.f(this.b,b)} +function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%J;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} +function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,K-this.c(b))}function rc(a,b){this.f(b,K)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&M)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&M)))} +function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&M,a){case 256:d+=M;break;case 384:d+=c>N?M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&M)*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&M)*L;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&M)*L,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function Ac(a,b){var c=this.c(this.b)&M,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&M;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=M,a){case 256:d+=M*L;break;case 384:d+=c>$a?M*L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/L|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} +function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){this.a(a)}function Ic(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} +function V(a,b,c){switch(a&384){case 0:b&=M;break;case 128:b=0;break;case 256:b=M;break;case 384:b=c>N?M:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Jc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Kc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} +var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},kc,lc,mc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(b,a)},function(a,b){this.f(b,this.b*M)},function(a,b){a=this.c(b);a=(a/M|0)+a%M*M;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,fc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?$a-this.b:0)},function(a,b){this.f(this.b,fc(this, -this.c(b)))},function(a,b){a=fc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%K+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<< -14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%K+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&N;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&N,c=c+1&N,this.g.A||(this.f(b,d*M+c),a||ec(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&N,this.c(this.b));a>=K&&(a-=K);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&N);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=K);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(b,a)},function(a,b){this.f(b,this.b*L)},function(a,b){a=this.c(b);a=(a/L|0)+a%L*L;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, +this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=this.b<<14>>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.ma=!0):a-c<=N&&(this.ma=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/ +Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%J+Math.trunc(d/ +Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c= +this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},nc,nc,function(){this.f(this.b, -0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),this.c(this.b))))}, -kc,lc,Gc,kc,function(a,b){this.f(b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),L-this.c(this.b))))},Gc,Gc,mc,mc,function(a,b){this.f(b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Hc(this.c(b),this.b))},function(a,b){this.f(this.b,Hc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Hc(this.c(b),this.c(this.b))))},function(a,b){this.f(b, -Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Y(L-this.c(b),L-this.b))},function(a,b){this.f(this.b,Y(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(L-this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Ic(this.c(b),this.c(this.b)))},function(a, -b){this.f(b,Ic(this.c(b),this.b))},function(a,b){this.f(this.b,Ic(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Ic(this.c(b),this.c(this.b))))},oc,oc,function(a,b){this.f(this.b,L-this.c(b))},function(a,b){this.f(this.b,this.f(b,L-this.c(b)))},function(a,b){this.f(b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),this.b))},function(a,b){this.f(this.b,Z(L-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),this.c(this.b))))},function(a, -b){this.f(b,L-this.c(this.b))},function(a,b){this.f(b,L-this.b)},function(){this.f(this.b,L-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),L-this.b))},function(a,b){this.f(this.b,Z(this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),L-this.c(this.b))))},function(a,b){this.f(b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(b,Z(L-this.c(b),L-this.b))}, -function(a,b){this.f(this.b,Z(L-this.c(b),L-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(L-this.c(b),L-this.c(this.b))))},pc,pc,function(){this.f(this.b,L)},function(a,b){this.f(this.b,this.f(b,L))},qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))}, +function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Ic,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))},Ic,Ic,oc,oc,function(a,b){this.f(b, +Jc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc(this.c(b),this.b))},function(a,b){this.f(this.b,Jc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Jc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b, +Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b, +Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b, +Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc, +wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function Jc(a){A.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=t()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ja(c.na,a,b),(a=ua(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Kc(c)})}}n(Jc,A); -Jc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Kc(this)};Jc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Jc.prototype.P=function(){return!0}; -function Kc(a){if(!Ta(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Bb(a.o,b,a.i,Jb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ka&&c<=q.ab&&(b=c-(q.Ka-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.va(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;I(this)}; -k.Ta=function(a){if(!this.a){var b=Sb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=sa(c[0]);if(d!=this.ma)return;c=sa(c[1]);if(this.a=Na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.va=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bTc){if(Uc(d,this.D)){this.l=new P(this,"1.34.2",cd);Uc(this.l)&&(dd(this,d),a=ed,fd(this.l));this.l.set($c,ta());gd(this.l);var e=this.a&&!this.B;if(a==ad||Ma("Click OK to restore the previous "+J+" machine state, or CANCEL to reset the machine.")){if(c=Zc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Uc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(hd,""),this.b=null)):this.M(f+": "+g),fd(d),Uc(d)?(c=Zc(d),e=!0):c=!1))}e&&Xc(this,c?d:null)}else a==ed&&d.clear()}else Xc(this);delete this.D;delete this.w}e=C(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(id(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(dd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function dd(a,b){if(Ma("There may be a problem with your "+J+" machine.\n\nTo help us diagnose it, click OK to send this "+J+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=J;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;u("http://www.pcjs.org/api/v1/report",d,!0)}} -function jd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",Yc),h=ta();g.set($c,h);f.set($c,h);f.set(kd,"1.34.2");f.set(ld,window?window.location.href:null);f.set(md,window?window.navigator.userAgent:"");a.h&&a.h.P&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.P(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=C(a.id),l=0;l=d||30<=(c.ya+=d))&&(e.textContent=c.g.A?c.O.toFixed(2)+"Mhz":"Stopped",c.ya=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(y){g=null,a=y.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ud(a,b,c)}})}else c(a,null)} -function vd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&H(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--rd||Fa(!0));p=!1}var h,l,p=!0;rd++;Ka[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var y=document.head||document.getElementsByTagName("head")[0],qa=document.createElement("style");qa.type="text/css";qa.styleSheet?qa.styleSheet.cssText=v:qa.appendChild(document.createTextNode(v));y.appendChild(qa)}d|| -(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?sd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--rd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rd|| -Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sd(c,b,a,e,!0,f,v):td(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(wd){g(wd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return vd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return vd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return D(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.ab&&(b=c-(q.La-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.wa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.wa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.wa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;H(this)}; +k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.na)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.oa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.wa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bVc){if(Wc(d,this.D)){this.l=new P(this,"1.34.2",ed);Wc(this.l)&&(fd(this,d),a=gd,hd(this.l));this.l.set(bd,ua());id(this.l);var e=this.a&&!this.B;if(a==cd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=ad(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Wc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(za(jd,""),this.b=null)):this.M(f+": "+g),hd(d),Wc(d)?(c=ad(d),e=!0):c=!1))}e&&Zc(this,c?d:null)}else a==gd&&d.clear()}else Zc(this);delete this.D;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(kd(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(fd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function fd(a,b){if(Na("There may be a problem with your "+I+" machine.\n\nTo help us diagnose it, click OK to send this "+I+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=I;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} +function ld(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",$c),h=ua();g.set(bd,h);f.set(bd,h);f.set(md,"1.34.2");f.set(nd,window?window.location.href:null);f.set(od,window?window.navigator.userAgent:"");a.h&&a.h.P&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.P(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=B(a.id),l=0;l=d||30<=(c.za+=d))&&(e.textContent=c.g.A?c.O.toFixed(2)+"Mhz":"Stopped",c.za=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);wd(a,b,c)}})}else c(a,null)} +function xd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&G(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--td||Ga(!0));p=!1}var h,l,p=!0;td++;La[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],ra=document.createElement("style");ra.type="text/css";ra.styleSheet?ra.styleSheet.cssText=v:ra.appendChild(document.createTextNode(v));z.appendChild(ra)}d|| +(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?ud(d,null,a,null,!1,f,function(a,e){e?(Ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--td||Ga(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--td|| +Ga(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ud(c,b,a,e,!0,f,v):vd(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(yd){g(yd.message)}return p}window.embedPDP10=function(a,b,c,d){Ga(!1);return xd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ga(!1);return xd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return C(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Qa[a]){for(var c=!0,d=Qa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Sat, 4 Mar 2017 14:46:26 -0800 Subject: [PATCH 15/32] Typo --- modules/pdp10/lib/cpuops.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 45fda2cd4..2dd2dd6fd 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1356,7 +1356,7 @@ PDP10.opDIVB = function(op, acc) }; /** - * opASH(0o240000): Artithmetic Shift + * opASH(0o240000): Arithmetic Shift * * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-31: * From 1ac769431fe1e3d8954ff0d48c439db181f15dfb Mon Sep 17 00:00:00 2001 From: Jeff Date: Sat, 4 Mar 2017 16:47:56 -0800 Subject: [PATCH 16/32] Added initial logic for decoding PDP-10 input-output instructions --- modules/pdp10/lib/cpuops.js | 97 +++++++--- modules/pdp10/lib/cpustate.js | 68 +++++-- modules/pdp10/lib/defines.js | 58 +++++- modules/pdp10/lib/memory.js | 5 +- modules/pdp11/lib/cpustate.js | 6 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 288 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 196 ++++++++++---------- 7 files changed, 431 insertions(+), 287 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 2dd2dd6fd..954f05124 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -47,7 +47,9 @@ if (NODE) { PDP10.opKA10 = function(op) { /* - * We shift op right 4 more bits, leaving only the 9 bits required for the table index. + * We shift op right 4 more bits, leaving only the 9 bits required for the table index. Those + * 4 bits are normally an accumulator index, which we also mask and pass along, since most instructions + * will use an accumulator, and those that don't simply ignore it. */ PDP10.aOpXXX_KA10[op >> 4].call(this, op, op & PDP10.OPCODE.A_MASK); }; @@ -1362,9 +1364,9 @@ PDP10.opDIVB = function(op, acc) * * Arithmetic Shifting * - * These two instructions produce an arithmetic shift right or left of the number in AC or the - * double length number in accumulators A and A+1. Shifting is the movement of the contents of - * a register bit-to-bit. The operation discussed here is similar to logical shifting [see §2.4 + * These two instructions [ASH, ASHC] produce an arithmetic shift right or left of the number in AC + * or the double length number in accumulators A and A+1. Shifting is the movement of the contents + * of a register bit-to-bit. The operation discussed here is similar to logical shifting [see §2.4 * and the illustration on page 2-24], but in an arithmetic shift only the magnitude part is * shifted - the sign is unaffected. In a double length number the 70-bit string made up of the * magnitude parts of the two words is shifted, but the sign of the low order word is made equal @@ -1560,7 +1562,7 @@ PDP10.opJFFO = function(op, acc) * * Concatenate the magnitude portions of accumulators A and A+1 with A on the left, and shift * the 70-bit combination in bits 1-35 and 37-71 the number of places specified by E. Do not shift - * AC bit 0, but make bit 0 of AC A +1 equal to it if at least one shift occurs (ie if E is nonzero). + * AC bit 0, but make bit 0 of AC A+1 equal to it if at least one shift occurs (ie if E is nonzero). * * If E is positive, shift left bringing 0s into bit 71 (bit 35 of AC A+1); bit 37 (bit 1 of AC A+1) * is shifted into bit 35; data shifted out of bit 1 is lost; set Overflow if any bit of significance @@ -1584,7 +1586,7 @@ PDP10.opASHC = function(op, acc) * * Concatenate accumulators A and A+1 with A on the left, and rotate the 72-bit combination the * number of places specified by E. If E is positive, rotate left; bit 0 is rotated into bit 71 - * (bit 35 of AC A +1) and bit 36 into bit 35. If E is negative, rotate right; bit 35 is rotated + * (bit 35 of AC A+1) and bit 36 into bit 35. If E is negative, rotate right; bit 35 is rotated * into bit 36 and bit 71 into bit 0. * * @this {CPUStatePDP10} @@ -4835,9 +4837,9 @@ PDP10.opTSON = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opBLKI = function(op, acc) +PDP10.opBLKI = function(op, dev) { this.opUndefined(op); }; @@ -4847,9 +4849,9 @@ PDP10.opBLKI = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opDATAI = function(op, acc) +PDP10.opDATAI = function(op, dev) { this.opUndefined(op); }; @@ -4859,9 +4861,9 @@ PDP10.opDATAI = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opBLKO = function(op, acc) +PDP10.opBLKO = function(op, dev) { this.opUndefined(op); }; @@ -4871,9 +4873,9 @@ PDP10.opBLKO = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opDATAO = function(op, acc) +PDP10.opDATAO = function(op, dev) { this.opUndefined(op); }; @@ -4883,11 +4885,18 @@ PDP10.opDATAO = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opCONO = function(op, acc) +PDP10.opCONO = function(op, dev) { - this.opUndefined(op); + switch(dev) { + case PDP10.DEVICES.APR: + this.writeFlags(this.readWord(this.regEA)); + break; + default: + this.opUndefined(op); + break; + } }; /** @@ -4895,11 +4904,18 @@ PDP10.opCONO = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opCONI = function(op, acc) +PDP10.opCONI = function(op, dev) { - this.opUndefined(op); + switch(dev) { + case PDP10.DEVICES.APR: + this.writeWord(this.regEA, this.readFlags()); + break; + default: + this.opUndefined(op); + break; + } }; /** @@ -4907,9 +4923,9 @@ PDP10.opCONI = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opCONSZ = function(op, acc) +PDP10.opCONSZ = function(op, dev) { this.opUndefined(op); }; @@ -4919,23 +4935,35 @@ PDP10.opCONSZ = function(op, acc) * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc + * @param {number} dev */ -PDP10.opCONSO = function(op, acc) +PDP10.opCONSO = function(op, dev) { this.opUndefined(op); }; /** - * opIO(op, acc) + * opIO(0o700xxx-0o777xxx): Input-Output Instructions + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-68: + * + * The input-output instructions govern all transfers of data to and from the peripheral equipment, and also + * perform many operations within the processor. An instruction in the in-out class is designated by 111 in + * bits 0-2, ie its left octal digit is 7. Bits 3-9 address the device that is to respond to the instruction. + * The format thus allows for 128 codes, two of which, 000 and 004 respectively, address the processor and + * priority interrupt, and are used for the console and time share hardware as well. A chart in Appendix A + * lists all devices for which codes have been assigned, and gives their mnemonics and DEC option numbers. + * + * Bits 13-35 are the same as in all other instructions: they are the I, X, and Y parts, which are used to + * calculate an effective address, set of conditions, or mask to be used in the execution of the instruction. + * The remaining bits, 10-12, select one of the following eight 10 instructions. * * @this {CPUStatePDP10} * @param {number} op - * @param {number} acc */ -PDP10.opIO = function(op, acc) +PDP10.opIO = function(op) { - this.opUndefined(op); + PDP10.aOpIO_KA10[op & 7].call(this, (op >> 3) & 0o177); }; /** @@ -5687,7 +5715,7 @@ PDP10.aOpXXX_KA10 = [ PDP10.opTSOA, // 0o675xxx PDP10.opTDON, // 0o676xxx PDP10.opTSON, // 0o677xxx - PDP10.opIO, // 0o700xx + PDP10.opIO, // 0o700xxx PDP10.opIO, // 0o701xxx PDP10.opIO, // 0o702xxx PDP10.opIO, // 0o703xxx @@ -5752,3 +5780,14 @@ PDP10.aOpXXX_KA10 = [ PDP10.opIO, // 0o776xxx PDP10.opIO // 0o777xxx ]; + +PDP10.aOpIO_KA10 = [ + PDP10.opBLKI, // 0o70000x + PDP10.opDATAI, // 0o70004x + PDP10.opBLKO, // 0o70010x + PDP10.opDATAO, // 0o70014x + PDP10.opCONO, // 0o70020x + PDP10.opCONI, // 0o70024x + PDP10.opCONSZ, // 0o70030x + PDP10.opCONSO // 0o70034x +]; diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index b35298c4d..01dd2f5d9 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -176,7 +176,6 @@ class CPUStatePDP10 extends CPUPDP10 { { this.regEA = this.regRA = this.regOP = 0; this.regPC = this.lastPC = this.addrReset; - this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; /* * This next internal reg is used only with byte instructions, to record an active byte @@ -184,6 +183,11 @@ class CPUStatePDP10 extends CPUPDP10 { */ this.regPS = -1; + /* + * Assorted processor flags + */ + this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; + /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register * (which takes precedence when, for example, you've manually halted the CPU and are independently @@ -191,7 +195,7 @@ class CPUStatePDP10 extends CPUPDP10 { * * We initialize it to the current PC. */ - this.lastAddr = this.regPC; + this.addrLast = this.regPC; /* * opFlags contains various conditions that stepCPU() needs to be aware of. @@ -285,12 +289,18 @@ class CPUStatePDP10 extends CPUPDP10 { state.set(0, [ this.regEA, this.regRA, - this.regPS, this.regOP, this.regPC, + this.regPS, + this.opFlags, + this.fOverflow, + this.fCarry0, + this.fCarry1, + this.fNoDivide, + this.fPDOverflow, this.lastPC, - this.lastAddr, - this.opFlags + this.addrLast, + this.addrReset ]); state.set(1, []); state.set(2, [this.nTotalCycles, this.getSpeed(), this.flags.autoStart]); @@ -315,12 +325,18 @@ class CPUStatePDP10 extends CPUPDP10 { [ this.regEA, this.regRA, - this.regPS, this.regOP, this.regPC, + this.regPS, + this.opFlags, + this.fOverflow, + this.fCarry0, + this.fCarry1, + this.fNoDivide, + this.fPDOverflow, this.lastPC, - this.lastAddr, - this.opFlags + this.addrLast, + this.addrReset ] = data[0]; var a = data[2]; @@ -333,6 +349,36 @@ class CPUStatePDP10 extends CPUPDP10 { return true; } + /** + * readFlags() + * + * Used to implement the ""CONI APR," instruction; see opCONI(). + * + * @this {CPUStatePDP10} + * @return {number} + */ + readFlags() + { + var flags = 0; + if (this.fOverflow) flags |= PDP10.RFLAG.OVFL; + if (this.fPDOverflow) flags |= PDP10.RFLAG.PDOVFL; + return flags; + } + + /** + * writeFlags(w) + * + * Used to implement the ""CONO APR," instruction; see opCONO(). + * + * @this {CPUStatePDP10} + * @param {number} w + */ + writeFlags(w) + { + if (w & PDP10.WFLAG.OVFL_CL) this.fOverflow = false; + if (w & PDP10.WFLAG.PDOVFL_CL) this.fPDOverflow = false; + } + /** * getOpcode() * @@ -417,7 +463,7 @@ class CPUStatePDP10 extends CPUPDP10 { */ getLastAddr() { - return this.lastAddr; + return this.addrLast; } /** @@ -758,7 +804,7 @@ class CPUStatePDP10 extends CPUPDP10 { */ readWordFromPhysical(addr) { - return this.bus.getWord(this.lastAddr = addr); + return this.bus.getWord(this.addrLast = addr); } /** @@ -773,7 +819,7 @@ class CPUStatePDP10 extends CPUPDP10 { */ writeWordToPhysical(addr, data) { - this.bus.setWord(this.lastAddr = addr, data); + this.bus.setWord(this.addrLast = addr, data); return data; } diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 9e48b3c28..794449a01 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -139,10 +139,10 @@ var PDP10 = { * * Mode Suffix Source Destination * ---- ------ ----- ----------- - * 0: BASIC None E AC - * 1: IMMEDIATE I 0,E AC - * 2: MEMORY M AC E - * 3: SELF S E E (and AC if A is non-zero) + * 0: Basic None E AC + * 1: Immediate I 0,E AC + * 2: Memory M AC E + * 3: Self/Both S or B E E (and AC if A is non-zero) * * Input-output instructions look like: * @@ -191,6 +191,56 @@ var PDP10 = { DEBUGGER: 0x0004, // set if the Debugger wants to perform checks WAIT: 0x0008, // WAIT operation in progress PRESERVE: 0x000F, // OPFLAG bits to preserve prior to the next instruction + }, + + /* + * Readable CPU (or APR for "Arithmetic Processor") flags provided by the "CONI APR," instruction; see opCONI(). + */ + RFLAG: { + PIA: 0o000007, // Priority Interrupt Assignment + OVFL: 0o000010, // Overflow + OVFL_IE: 0o000020, // Overflow Interrupt Enabled + TRAP_OFF: 0o000040, // Trap Offset + FPOVFL: 0o000100, // Floating-Point Overflow + FPOVFL_IE: 0o000200, // Floating-Point Overflow Interrupt Enabled + CLOCK: 0o001000, // Clock Flag + CLOCK_IE: 0o002000, // Clock Interrupt Enabled + NXM: 0o010000, // Non-Existent Memory + PRM: 0o020000, // Memory Protection + ADB: 0o040000, // Address Break + UIO: 0o100000, // User In-Out + PDOVFL: 0o200000 // Pushdown Overflow (TODO: Verify this is correct; the May 1968 doc may have a typo) + }, + + /* + * Writable CPU (or APR for "Arithmetic Processor") flags provided by the "CONO APR," instruction; see opCONO(). + * + * A set bit performs the function shown below, a clear bit does nothing. + */ + WFLAG: { + PIA: 0o000007, // Priority Interrupt Assignment + OVFL_CL: 0o000010, // Clear Overflow + OVFL_IE: 0o000020, // Enable Overflow Interrupt + OVFL_ID: 0o000040, // Disable Overflow Interrupt + FPOVFL_CL: 0o000100, // Clear Floating-Point Overflow + FPOVFL_IE: 0o000200, // Enable Floating-Point Overflow Interrupt + FPOVFL_ID: 0o000400, // Disable Floating-Point Overflow Interrupt + CLOCK_CL: 0o001000, // Clear Clock Flag + CLOCK_IE: 0o002000, // Enable Clock Interrupt + CLOCK_ID: 0o004000, // Disable Clock Interrupt + NXM_CL: 0o010000, // Clear Non-Existent Memory + PRM_CL: 0o020000, // Clear Memory Protection + ADB_CL: 0o040000, // Clear Address Break + UIO_CL: 0o200000, // Clear All In-Out Devices + PDOVFL_CL: 0o400000 // Clear Pushdown Overflow + }, + + /* + * 7-bit device codes used by Input-Output instructions; see opIO(). + */ + DEVICES: { + APR: 0o000, // Arithmetic Processor + PI: 0o001 // Priority Interrupt } }; diff --git a/modules/pdp10/lib/memory.js b/modules/pdp10/lib/memory.js index f8e779c47..1b274c2a9 100644 --- a/modules/pdp10/lib/memory.js +++ b/modules/pdp10/lib/memory.js @@ -424,7 +424,9 @@ class MemoryPDP10 { */ readWordMemory(off, addr) { - return this.aw[off]; + var w = this.aw[off]; + Component.assert(w >= 0 && w < PDP10.WORD_LIMIT); + return w; } /** @@ -437,6 +439,7 @@ class MemoryPDP10 { */ writeWordMemory(w, off, addr) { + Component.assert(w >= 0 && w < PDP10.WORD_LIMIT); if (this.aw[off] != w) { this.aw[off] = w; this.fDirty = true; diff --git a/modules/pdp11/lib/cpustate.js b/modules/pdp11/lib/cpustate.js index bed89badc..1017c7d25 100644 --- a/modules/pdp11/lib/cpustate.js +++ b/modules/pdp11/lib/cpustate.js @@ -690,7 +690,8 @@ class CPUStatePDP11 extends CPUPDP11 { this.opLast, this.pswTrap, this.trapReason, - this.trapVector + this.trapVector, + this.addrReset ]); state.set(1, [this.getPSW(),this.getMMR0(),this.getMMR1(),this.getMMR2(),this.getMMR3()]); state.set(2, [this.nTotalCycles, this.getSpeed(), this.flags.autoStart]); @@ -731,7 +732,8 @@ class CPUStatePDP11 extends CPUPDP11 { this.opLast, this.pswTrap, this.trapReason, - this.trapVector + this.trapVector, + this.addrReset ] = data[0]; var a = data[1]; diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index d97e64e46..6f27c504a 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,7 +31,7 @@ var l,ga="function"==typeof Object.defineProperties?Object.defineProperty:functi function la(){ia();var a=ha.Symbol.iterator;a||(a=ha.Symbol.iterator=ha.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ga(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,cb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, +var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,hb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,gb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12":">",'"':""","'":"'"};function Ja(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 La(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Ma(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=f.load;d.oa=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Na=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.oa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.kb=b.comment;this.Bb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ma=this.id:(this.Na=this.id.substr(0,a),this.Ma=this.id.substr(a+1));this.v={ready:!1,Fa:!1,$a:!1,U:!1,error:!1};this.Qa=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.qa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, set:this.Wb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; -l.ga=function(a,b,c,d){if(this.F&&this.F.ga(a,b,c,d)||this.u&&this.u.ga(a,b,c,d)||this.C&&this.C.ga(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ga.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.fa=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.ia=function(a,b,c,d){if(this.F&&this.F.ia(a,b,c,d)||this.u&&this.u.ia(a,b,c,d)||this.C&&this.C.ia(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ia.call(this,a,b,c,d)}};l.za=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;gc(this);hc(this)};l.ra=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.D)lc(a,c,null!=b?b:a.D[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} l.Eb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Xb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; @@ -73,164 +73,166 @@ l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else l.Jb=function(a){if(!a&&!this.u.v.K){var b;this.R&&Dc(this);this.S==cc?b=Fc(this.G,this.f):b=this.u.g(this.f);dc(this,this.A=b)}};l.Lb=function(a){a||this.u.v.K||jc(this,this.w)};l.Kb=function(a){a?(this.H=!0,gc(this,!0)):(this.H=!1,gc(this),kc(this,0))};l.Mb=function(a,b){this.w=a?this.w|1<c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;fd.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} -function Fc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ia&&(a.ia+=a.ha,c=!0);0<=a.ja&&a.ja<=id(a)&&(a.ha=a.ja=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.ua))}} -l.ga=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.S/a.W?b=1:d=!0;a.aa=b;b=a.Ta*a.aa;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.L);a.L=0;a.J=xb();a.N=0;kd(a);return d}function nd(a,b){for(var c=a.M.length-1;0<=c;c--){var d=a.M[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jd(a,b){var c=a.O-=a.P;a.P=0;b&&(a.O=0);return c} -l.Ub=function(){if(this.v.K){this.Ba>=this.Va&&kd(this,!0);this.ka=0;this.ta=xb();if(this.N){var a=this.ta-this.N;a>this.Ua&&(this.J+=a,this.J>this.ta&&(this.J=this.ta))}try{do{var b=nd(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.ka+=b;this.L+=b;Cc(this,b);Ac(this,b);this.ba-=b;if(0>=this.ba){this.ba+=this.wa;++this.Wa>=Kd&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.kb;this.N=xb();var c=this.Ua;this.ka&&(c=Math.round(c*this.ka/this.wa));var c=c-(this.N-this.ta),d=this.N-this.J;d&&(this.S=Math.round(this.L/(10*d))/100,864E5<=d&&(this.R=0,jd(this)));if(0>c||this.Sc&&(this.J-=c),c=0;this.Ba+=this.ka;this.N+=c;a(b,c)}}}; -function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Qa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.J,id(a)));a.C||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.L);this.L=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; -function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.gb=+a.addrReset||0;this.Ab=Md.bind(this);this.b=O.bind(this);this.qa=null;this.fb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.jb);this.v.K&&this.V();this.f=this.H=this.Ma=0;this.w=this.sa=this.gb;this.la=this.ib=this.Aa=this.ub=this.Sa=!1;this.D=-1;this.ra=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.qa=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.rb=function(){return 0}; -l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.D,this.Ma,this.w,this.sa,this.ra,this.A]);a.set(1,[]);a.set(2,[this.R,this.aa,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.D=b.next().value;this.Ma=b.next().value;this.w=b.next().value;this.sa=b.next().value;this.ra=b.next().value;this.A=b.next().value;b=a[2];this.R=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dVb&&(a!=Wb?a=Xb-a:this.la=this.Aa=!0);return a};function Pd(a,b){b?b==Wb?a.la=a.Aa=!0:b=Xb-b:a.ib=a.Aa=!0;return b}function Nd(a){var b=[];for(a=a.qa;a;)b.push(a.Yb),a=a.next;return b}l.Qb=function(a){var b=this.G;a=this.ra=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.ra=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.C?Qd(this.C)?1:this.v.Qa?-1:0:0,c=a?this.v.Qa?0:1:-1;this.v.Qa=!1;this.O=this.P=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Rd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.qa||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Rd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.w);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Ma/$b|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function ad(a,b){v.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ua=0;this.Ya=b;this.ea=c;this.Wa=Math.round(this.Ya/1E4)/100;this.ba=this.Wa*this.ea;this.Xa=this.ya=this.fa=this.Oa=0;this.v.K=this.v.Ta=!1;this.v.Z=a.autoStart;"string"==typeof this.v.Z&&(this.v.Z="true"==this.v.Z);this.v.Ea=!1;this.wa=this.la=0;this.xa=+a.csStart;this.ka=+a.csInterval;this.ma=+a.csStop;this.N=[];this.fb=this.Ub.bind(this);this.S=this.M=this.P=this.R=this.L=this.va=this.O=this.na=this.Za=this.aa= +0;this.Ba=null;B(this)}p(ad,v);l=ad.prototype;l.za=function(a,b,c,d){this.F=a;this.G=b;this.C=d;this.Ba=a.w;for(a=0;a=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=id(a)&&(a.ka=a.ma=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.wa))}} +l.ia=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Wa*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.M);a.M=0;a.L=xb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Ub=function(){if(this.v.K){this.Oa>=this.Ya&&kd(this,!0);this.na=0;this.va=xb();if(this.O){var a=this.va-this.O;a>this.Xa&&(this.L+=a,this.L>this.va&&(this.L=this.va))}try{do{var b=nd(this,this.v.Ea?1:this.ya);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.na+=b;this.M+=b;Cc(this,b);Ac(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ya;++this.Za>=Kd&&(this.F&&M(this.F,void 0),this.Za=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.fb;this.O=xb();var c=this.Xa;this.na&&(c=Math.round(c*this.na/this.ya));var c=c-(this.O-this.va),d=this.O-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.aac&&(this.L-=c),c=0;this.Oa+=this.na;this.O+=c;a(b,c)}}}; +function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Ta=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.L,id(a)));a.C||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; +function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.lb=b;this.Ka=+a.addrReset||0;this.Ab=Md.bind(this);this.b=O.bind(this);this.ta=null;this.jb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.lb);this.v.K&&this.V();this.f=this.H=this.Pa=0;this.w=this.ua=this.Ka;this.D=-1;this.J=this.La=this.ja=this.Va=this.W=!1;this.sa=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.ta=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.sb=function(){return 0}; +l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.Pa,this.w,this.D,this.A,this.J,this.La,this.ja,this.Va,this.W,this.ua,this.sa,this.Ka]);a.set(1,[]);a.set(2,[this.S,this.ea,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.Pa=b.next().value;this.w=b.next().value;this.D=b.next().value;this.A=b.next().value;this.J=b.next().value;this.La=b.next().value;this.ja=b.next().value;this.Va=b.next().value;this.W=b.next().value;this.ua=b.next().value;this.sa=b.next().value;this.Ka=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d= +0;dVb&&(a!=Wb?a=Xb-a:this.J=this.ja=!0);return a};function Pd(a,b){b?b==Wb?a.J=a.ja=!0:b=Xb-b:a.La=a.ja=!0;return b}function Nd(a){var b=[];for(a=a.ta;a;)b.push(a.Yb),a=a.next;return b} +l.Qb=function(a){var b=this.G;a=this.sa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.sa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.C?Qd(this.C)?1:this.v.Ta?-1:0:0,c=a?this.v.Ta?0:1:-1;this.v.Ta=!1;this.P=this.R=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Rd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.ta||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Rd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Pa=this.g(this.ua=this.w);this.H&=8388607;this.f=this.H&262143;if(a= +this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Pa/$b|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} function Vd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&H)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&H)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Vb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ce(a,d,c)+c)} function he(a,b){var c=this.f*G,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&H)*G,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){this.b(a)}function te(){} -function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ue(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function ve(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} +function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a>>3&127)} +function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.D&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.D&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.la=!0):a-c<=Vb&&(this.la=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/ +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.J=!0):a-c<=Vb&&(this.J=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/ Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/ Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c= -this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.Sa=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.Sa= -!0);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.W=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.W=!0); +this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f,S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f, -this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,te,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))}, -te,te,Yd,Yd,function(a,b){this.j(b,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ue(this.g(b),this.f))},function(a,b){this.j(this.f,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ue(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b), -F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f, +this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))}, +ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b), +F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f, this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b, U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},ae,ae,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b,F))},be,de,ee,fe,ge,he,ie,je,be,de, ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; -function we(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);xe(c)})}}p(we,v); -we.prototype.xa=function(a,b,c,d){this.G=b;this.u=c;this.C=d;xe(this)};we.prototype.pa=function(){this.T&&(this.C&&ye(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};we.prototype.fa=function(){return!0}; -function xe(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Kc(a.G,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.zb&&(b=c-(q.bb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Oa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Oa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Oa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;B(this)}; -l.tb=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.tb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.fa=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Oa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} -function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.J=!1);a&131072&&(this.W=!1);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.J&&(a|=8); +this.W&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; +function xe(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.Na,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ye(c)})}}p(xe,v); +xe.prototype.za=function(a,b,c,d){this.G=b;this.u=c;this.C=d;ye(this)};xe.prototype.ra=function(){this.T&&(this.C&&ze(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};xe.prototype.ha=function(){return!0}; +function ye(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Kc(a.G,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.gb&&c<=q.zb&&(b=c-(q.gb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.za=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;B(this)}; +l.ub=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ma)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.Na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ra=function(a,b){if(!b)if(this.ub(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ha=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} +function He(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function V(a,b,c){var d;if(b){b=He(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} -function Le(a,b){if(b)return Ke(a,b,a.W[b]);var c=0;for(b in a.W)Ke(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Je={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Me(a){Ee.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Ne(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Oe(this);this.C=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Pe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.Aa=this.za=this.ia=this.ra=0;this.ha=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return hd(b,a)}):void 0===global[y]&&(global[y]=function(a){return hd(b, -a)})}p(Me,Ee);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,qb:void 0===b?!1:b,ea:!1,ca:c}}function Qe(a,b,c,d){a.B=b;a.qb=c||!1;a.ea=!1;a.ca=d}function Re(a){return[a.B,a.qb,a.ca,a.ea,a.Pa]}function Se(a,b){var c=W(b[0],b[1],b[2]);c.ea=b[3];b[4]&&(c.lb=Fe(a,c.Pa=b[4]));return c}l=Me.prototype; -l.xa=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ha=a.w;(a=cd(a,"messages"))&&Pe(this,a);Te(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} +function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Ne(a){Fe.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.C=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.ya=this.xa=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return hd(b,a)}):void 0===global[y]&&(global[y]=function(a){return hd(b, +a)})}p(Ne,Fe);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,rb:void 0===b?!1:b,ga:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.rb=c||!1;a.ga=!1;a.ca=d}function Se(a){return[a.B,a.rb,a.ca,a.ga,a.Sa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.ga=b[3];b[4]&&(c.mb=Ge(a,c.Sa=b[4]));return c}l=Ne.prototype; +l.za=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ea=a.w;(a=cd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Qe(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Uf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Vf)if(f=Vf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Wf;m=n&3;break;case 32256:k=Xf;m=n&7;break;case 29248:k=Yf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Zf&&(k="B");k=$f[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Ve(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+Ve(k),null== -e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Ne(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||ag(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ea=!0:(bg(this,a,a.length-1,"set"),Oe(this)));return d};function ag(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ea||Oe(a);break}}return g} -function cg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Qe(e.va,d);g+="="+N(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=$e?1:d==Ye?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.ob);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,mb:g})}function fg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ea=m.ea;h.ca=m.ca;a.i(Uf(a,b,f,g));e-=b.B-k;c++}}} -function dg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Qf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"Zf&&(rd="B");if(Mg==$f[kf]+rd){jf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|jf<<6)*Yb;break}}if(0<= +l.ia=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",hd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.Ad&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.ua==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Vf(a,b,c,d){var e=W(b.B),g=a.Aa(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Wf)if(f=Wf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=We(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Aa(e,1),f+=" "+We(k),null== +e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.wa)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.na=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ga=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ga||Pe(a);break}}return g} +function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Re(e.va,d);g+="="+N(e,e.Aa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.pb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,nb:g})}function gg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ga=m.ga;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} +function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"$f&&(rd="B");if(Ng==ag[kf]+rd){jf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|jf<<6)*Yb;break}}if(0<= A)break}if(0<=A)break}if(0<=A)if(gf)for(var sd=gf.split(","),nb=0;nbJ||127J||15 -J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==qf&&(pb=1E5,xd=["CALL"]);for(void 0!==pf&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Pg,Aa=Ie(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Rg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< -f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+Ve(Bf.call(a,qc))+" to "+Ve(Bd));Cf.call(a,qc,Bd,1)}}break;case "g":a:{var Ef=f[1],Tg=b;if(void 0!==Ef){var Cd=Z(a,Ef);if(!Cd)break a;Ue(a,Cd,Tg);a.Da(a.b,Cd,!0)}ff(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= -!1);Dd||(d=!1);break}g=!0;break;case "k":var Ug=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Vg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Vg--)break;if(!(Fd.B&1)){for(var Wg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.w);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),ff(a)||(a.F&&md(a.F),a.N=0)):kg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Rf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ha=wb;break;case "start":a.u.va=wb;break;case "stop":a.u.ja=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); -a.i("target speed: "+(a.u.W.toFixed(2)+"Mhz")+" ("+a.u.aa+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":kg(a,f[0],f[1]);break;case "u":Sf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){hg(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){jg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in mg)Hd+="\n"+Ha(Id,9)+mg[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} -function hd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!dg(a,b[+d]))return!1;return!0} -var mg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Zf=20,$f=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -Xe=0,Ye=1,Ze=2,$e=3,af=4,bf=5,cf=6,df=7,We="PC RA EA C0 C1 OV ND PD".split(" "),ng={},Vf=(ng[28672]={0:101},ng[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ng[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Zf,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ng[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ng[29248]={24576:79,24640:80,25088:81,25152:82},ng[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},ng),Wf=["","I","M","S"],Xf=" L E LE A GE N G".split(" "),Yf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ef=1E3,Qf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;brg){if(sg(d,this.M)){this.D=new L(this,"1.34.2",Bg);sg(this.D)&&(Cg(this,d),a=Dg,Eg(this.D));this.D.set(yg,Ka());Fg(this.D);var e=this.b&&!this.L;if(a==zg||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=xg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?sg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Gg,""),this.f=null)):this.i(g+": "+f),Eg(d),sg(d)?(c=xg(d),e=!0):c=!1))}e&&vg(this,c?d:null)}else a==Dg&&d.clear()}else vg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Hg(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; -function Cg(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} -function lg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",wg),h=Ka();f.set(yg,h);g.set(yg,h);g.set(Ig,"1.34.2");g.set(Jg,window?window.location.href:null);g.set(Kg,window?window.navigator.userAgent:"");a.u&&a.u.fa&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.fa(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;kJ||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==qf&&(pb=1E5,xd=["CALL"]);for(void 0!==pf&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.Aa,Cf=a.ib):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< +f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+We(Bf.call(a,qc))+" to "+We(Bd));Cf.call(a,qc,Bd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Cd=Z(a,Ef);if(!Cd)break a;Ve(a,Cd,Ug);a.Da(a.b,Cd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= +!1);Dd||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.Aa(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.w);a.Aa(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&md(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ka=wb;break;case "start":a.u.xa=wb;break;case "stop":a.u.ma=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); +a.i("target speed: "+(a.u.ba.toFixed(2)+"Mhz")+" ("+a.u.ea+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.lb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} +function hd(a,b,c){b=Ge(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} +var ng={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},$f=20,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ff=1E3,Rf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bsg){if(tg(d,this.M)){this.D=new L(this,"1.34.2",Cg);tg(this.D)&&(Dg(this,d),a=Eg,Fg(this.D));this.D.set(zg,Ka());Gg(this.D);var e=this.b&&!this.L;if(a==Ag||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +function Dg(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} +function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",xg),h=Ka();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ha&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ha(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k=d||30<=(c.Ra+=d))&&(e.textContent=c.v.K?c.S.toFixed(2)+"Mhz":"Stopped",c.Ra=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);eh(a,b,c)}})}else c(a,null)} -function fh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--bh||ib(!0));m=!1}var h,k,m=!0;bh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ch(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--bh||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--bh|| -ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?ch(c,b,a,e,!0,g,n):dh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return fh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return fh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; +function M(a,b){if(a.u){var c=a.u,d=b||0,e=c.I.speed;e&&(0>=d||30<=(c.Ua+=d))&&(e.textContent=c.v.K?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);fh(a,b,c)}})}else c(a,null)} +function gh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--ch||ib(!0));m=!1}var h,k,m=!0;ch++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?dh(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ch|| +ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,g,n):eh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Cb:0,Va:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Ma:8,Kb:9,Wa:10,Lb:11,Mb:12,Xa:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, -lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ya:127}; +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Eb:0,Ya:1,Gb:2,Hb:3,Ib:4,Jb:5,Kb:6,Lb:7,Pa:8,Mb:9,Za:10,Nb:11,Ob:12,$a:13,Pb:14,Qb:15,Rb:16,Sb:17,Tb:18,Ub:19,Vb:20,Wb:21,Xb:22,Yb:23,Zb:24,$b:25,ac:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Oa:65,Db:66,Fb:67,bc:68,E:69,cc:70,dc:71,ec:72,fc:73,gc:74,hc:75,ic:76,jc:77,kc:78,lc:79,mc:80,Q:81, +nc:82,oc:83,pc:84,qc:85,rc:86,sc:87,tc:88,uc:89,bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,vc:97,wc:98,xc:99,d:100,e:101,yc:102,zc:103,Ac:104,Bc:105,Cc:106,k:107,Dc:108,Ec:109,n:110,Fc:111,p:112,q:113,r:114,Gc:115,t:116,Hc:117,Ic:118,Jc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ab:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ua(){function a(a){return(10>a?"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 t(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function va(a,b){var c,d={H:null,N:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(u(d.H[0]),d=null):(u("Empty resource: "+a),d=null));d.N=g.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(u(d.H[0]),d=null):(u("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.na=this.id:(this.oa=this.id.substr(0,a),this.na=this.id.substr(a+1));this.g={ready:!1,ta:!1,Ga:!1,C:!1,error:!1};this.va=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} +function y(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ra=b.comment;this.eb=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.qa=this.id:(this.ra=this.id.substr(0,a),this.qa=this.id.substr(a+1));this.g={ready:!1,wa:!1,Ja:!1,C:!1,error:!1};this.ya=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function Na(a){var b=!1;window&&(b=window.confirm(a));return b}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, -set:this.vb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; +function eb(a,b){y.call(this,"Panel",a);this.B=this.D=0;this.P=b;this.b=this.w=this.i=this.j=0;this.G=this.I=-1;this.K=this.L=this.s=!1;this.N=fb;this.l={};this.a={START:[1,1,!0,!1,this.ob],STEP:[1,1,!1,!1,this.pb],ENABLE:[1,1,!1,!1,this.jb],CONT:[1,1,!0,!1,this.hb],DEP:[0,0,!0,!1,this.ib],EXAM:[1,1,!0,!1,this.kb],LOAD:[1,1,!0,!1,this.mb],TEST:[0,0,!0,!1,this.lb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.nb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.gb,toggle:this.yb,reset:this.ub, +set:this.xb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):y.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.R&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; -k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} -k.eb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; -k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.kb=function(a){a||this.h.g.A||mb(this,this.i)};k.jb=function(a){a?(this.s=!0,jb(this,!0)):(this.s=!1,jb(this),nb(this,0))};k.lb=function(a,b){this.i=a?this.i|1<>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.mb=function(a){a||this.h.g.A||mb(this,this.i)};k.lb=function(a){a?(this.s=!0,jb(this,!0)):(this.s=!1,jb(this),nb(this,0))};k.nb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.xa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.xa){p=h.size-(e-l);p>f&&(p=f);h.xa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Cb(a){for(var b=0,c=[],d=0;d=a.W&&(a.W+=a.fa,c=!0);0<=a.ga&&a.ga<=Xb(a)&&(a.fa=a.ga=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.pa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.O/a.R&&(b=1);a.X=b;b=a.Ca*a.X;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.B);a.B=0;a.w=Ma();a.G=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.I-=a.K;a.K=0;b&&(a.I=0);return c} -k.tb=function(){if(this.g.A){this.ra>=this.Ea&&Zb(this,!0);this.da=0;this.ea=Ma();if(this.G){var a=this.ea-this.G;a>this.Da&&(this.w+=a,this.w>this.ea&&(this.w=this.ea))}try{do{for(var b,c=this.g.ua?1:this.ha,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.ya(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.da+=b;this.B+=b;xb(this,b);vb(this,b);this.ca-=b;if(0>=this.ca){this.ca+=this.ha;++this.Fa>=cc&&(this.u&&R(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){Q(this); -this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Qa;this.G=Ma();c=this.Da;this.da&&(c=Math.round(c*this.da/this.ha));c-=this.G-this.ea;if(d=this.G-this.w)this.O=Math.round(this.B/(10*d))/100,864E5<=d&&(this.L=0,Yb(this));if(0>c||this.Oc&&(this.w-=c),c=0;this.ra+=this.da;this.G+=c;a(b,c)}}}; -function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.ya=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.$a=b;this.Oa=+a.addrReset||0;this.bb=ec.bind(this);this.a=T.bind(this);this.ja=null;this.Na=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.$a);this.g.A&&Q(this);this.b=this.s=this.sa=0;this.j=this.Ba=this.Oa;this.ma=this.Za=this.Aa=!1;this.l=-1;this.ka=this.j;this.i=0;this.c=this.pb;this.f=this.Ab;this.ja=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.l,this.sa,this.j,this.Ba,this.ka,this.i]);a.set(1,[]);a.set(2,[this.L,this.X,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.l=b.next().value;this.sa=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.ka=b.next().value;this.i=b.next().value;b=a[2];this.L=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dN&&(a!=ab?a=bb-a:this.ma=this.Aa=!0);return a};function hc(a,b){b?b==ab?a.ma=a.Aa=!0:b=bb-b:a.Za=a.Aa=!0;return b}function fc(a){var b=[];for(a=a.ja;a;)b.push(a.xb),a=a.next;return b}k.pb=function(a){var b=this.o;a=this.ka=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.o;a=this.ka=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.ya=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.I=this.K=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ja||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.sa=this.c(this.Ba=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Xa;this.s&4194304?a=-1:(this.j=(this.j+1)%Wa,a=this.sa/cb|0);0<=a&&this.bb(a)}while(0< -this.K);return this.g.complete?this.I-this.K:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%J);this.f(this.b,b)} +k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,Cb(this));return a.data()};k.restore=function(a){a:{a=a[0];var b;for(b=0;bd.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.Aa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} +function Cb(a){for(var b=0,c=[],d=0;d=a.ca&&(a.ca+=a.ka,c=!0);0<=a.la&&a.la<=Xb(a)&&(a.ka=a.la=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.sa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.P/a.X&&(b=1);a.da=b;b=a.Fa*a.da;if(a.X!=b){a.X=b;b=a.X.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.B);a.B=0;a.w=Ma();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} +k.vb=function(){if(this.g.A){this.ua>=this.Ha&&Zb(this,!0);this.fa=0;this.ja=Ma();if(this.I){var a=this.ja-this.I;a>this.Ga&&(this.w+=a,this.w>this.ja&&(this.w=this.ja))}try{do{for(var b,c=this.g.xa?1:this.ma,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.fa+=b;this.B+=b;xb(this,b);vb(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.ma;++this.Ia>=cc&&(this.u&&R(this.u,void 0),this.Ia=0);break}}while(this.g.A)}catch(f){Q(this); +this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Ta;this.I=Ma();c=this.Ga;this.fa&&(c=Math.round(c*this.fa/this.ma));c-=this.I-this.ja;if(d=this.I-this.w)this.P=Math.round(this.B/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.w-=c),c=0;this.ua+=this.fa;this.I+=c;a(b,c)}}}; +function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ma=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Xb(a));a.v||a.status("Started");setTimeout(a.Ta,0)}}k.Ba=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; +function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Xa=b;this.pa=+a.addrReset||0;this.cb=ec.bind(this);this.a=T.bind(this);this.ia=null;this.Qa=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&Q(this);this.b=this.s=this.va=0;this.j=this.Ea=this.pa;this.l=-1;this.G=this.Da=this.ha=this.Sa=this.W=!1;this.ga=this.j;this.i=0;this.c=this.rb;this.f=this.Cb;this.ia=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Va=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.va,this.j,this.l,this.i,this.G,this.Da,this.ha,this.Sa,this.W,this.Ea,this.ga,this.pa]);a.set(1,[]);a.set(2,[this.N,this.da,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.va=b.next().value;this.j=b.next().value;this.l=b.next().value;this.i=b.next().value;this.G=b.next().value;this.Da=b.next().value;this.ha=b.next().value;this.Sa=b.next().value;this.W=b.next().value;this.Ea=b.next().value;this.ga=b.next().value;this.pa=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d= +0;dN&&(a!=ab?a=bb-a:this.G=this.ha=!0);return a};function hc(a,b){b?b==ab?a.G=a.ha=!0:b=bb-b:a.Da=a.ha=!0;return b}function fc(a){var b=[];for(a=a.ia;a;)b.push(a.zb),a=a.next;return b}k.rb=function(a){var b=this.o;a=this.ga=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)}; +k.Cb=function(a,b){var c=this.o;a=this.ga=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.Ba=function(a){this.g.complete=!0;var b=a?this.g.Ma?0:1:-1;this.g.Ma=!1;this.K=this.L=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ia||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.va=this.c(this.Ea=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Xa;this.s&4194304?a=-1:(this.j=(this.j+1)%Wa,a=this.va/cb|0);0<=a&&this.cb(a)}while(0< +this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%J);this.f(this.b,b)} function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%J;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,K-this.c(b))}function rc(a,b){this.f(b,K)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&M)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&M)))} function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&M,a){case 256:d+=M;break;case 384:d+=c>N?M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&M)*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&M)*L;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&M)*L,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} function Ac(a,b){var c=this.c(this.b)&M,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&M;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=M,a){case 256:d+=M*L;break;case 384:d+=c>$a?M*L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/L|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} -function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){this.a(a)}function Ic(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} -function V(a,b,c){switch(a&384){case 0:b&=M;break;case 128:b=0;break;case 256:b=M;break;case 384:b=c>N?M:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Jc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Kc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} +function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} +function V(a,b,c){switch(a&384){case 0:b&=M;break;case 128:b=0;break;case 256:b=M;break;case 384:b=c>N?M:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Kc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Lc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(b,a)},function(a,b){this.f(b,this.b*L)},function(a,b){a=this.c(b);a=(a/L|0)+a%L*L;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=this.b<<14>>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.ma=!0):a-c<=N&&(this.ma=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/ +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=this.b<<14>>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.G=!0):a-c<=N&&(this.G=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/ Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%J+Math.trunc(d/ Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c= -this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)}, +this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.W=!0);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);(a/L|0)==M&&(this.W=!0);this.f(b, +a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))}, -function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Ic,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))},Ic,Ic,oc,oc,function(a,b){this.f(b, -Jc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc(this.c(b),this.b))},function(a,b){this.f(this.b,Jc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Jc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b, -Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b, -Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b, -Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc, -wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, +this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))}, +Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b), +K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b, +this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b, +Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc, +uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; -function Lc(a){y.call(this,"ROM",a);this.N=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;t(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ka(c.oa,a,b),(a=va(a,b))?(c.a=a.H,c.N=a.N):c.j=null);Mc(c)})}}n(Lc,y); -Lc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Mc(this)};Lc.prototype.V=function(){this.N&&(this.v&&this.v.a(this.id,this.l,this.i,this.N),delete this.N);return!0};Lc.prototype.P=function(){return!0}; -function Mc(a){if(!Ua(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Db(a.o,b,a.i,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.ab&&(b=c-(q.La-q.Va));b&&(a.preventDefault&&a.preventDefault(),d.wa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Xa&&(b=q.Wa);d.wa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.wa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;H(this)}; -k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.na)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.oa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.wa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bVc){if(Wc(d,this.D)){this.l=new P(this,"1.34.2",ed);Wc(this.l)&&(fd(this,d),a=gd,hd(this.l));this.l.set(bd,ua());id(this.l);var e=this.a&&!this.B;if(a==cd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=ad(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Wc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(za(jd,""),this.b=null)):this.M(f+": "+g),hd(d),Wc(d)?(c=ad(d),e=!0):c=!1))}e&&Zc(this,c?d:null)}else a==gd&&d.clear()}else Zc(this);delete this.D;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.O=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(kd(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(fd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function fd(a,b){if(Na("There may be a problem with your "+I+" machine.\n\nTo help us diagnose it, click OK to send this "+I+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=I;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} -function ld(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",$c),h=ua();g.set(bd,h);f.set(bd,h);f.set(md,"1.34.2");f.set(nd,window?window.location.href:null);f.set(od,window?window.navigator.userAgent:"");a.h&&a.h.P&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.P(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=B(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Oa&&c<=q.bb&&(b=c-(q.Oa-q.Ya));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.$a&&(b=q.Za);d.za(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.za(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;H(this)}; +k.Wa=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.qa)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.ra+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Wa(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Xc(d,this.D)){this.l=new P(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,ua());jd(this.l);var e=this.a&&!this.B;if(a==dd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(za(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.D;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(ld(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function gd(a,b){if(Na("There may be a problem with your "+I+" machine.\n\nTo help us diagnose it, click OK to send this "+I+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=I;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} +function md(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",ad),h=ua();g.set(cd,h);f.set(cd,h);f.set(nd,"1.34.2");f.set(od,window?window.location.href:null);f.set(pd,window?window.navigator.userAgent:"");a.h&&a.h.R&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.R(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=B(a.id),l=0;l=d||30<=(c.za+=d))&&(e.textContent=c.g.A?c.O.toFixed(2)+"Mhz":"Stopped",c.za=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);wd(a,b,c)}})}else c(a,null)} -function xd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&G(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--td||Ga(!0));p=!1}var h,l,p=!0;td++;La[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],ra=document.createElement("style");ra.type="text/css";ra.styleSheet?ra.styleSheet.cssText=v:ra.appendChild(document.createTextNode(v));z.appendChild(ra)}d|| -(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?ud(d,null,a,null,!1,f,function(a,e){e?(Ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--td||Ga(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--td|| -Ga(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ud(c,b,a,e,!0,f,v):vd(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(yd){g(yd.message)}return p}window.embedPDP10=function(a,b,c,d){Ga(!1);return xd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ga(!1);return xd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return C(b,a+".machine")}; +function R(a,b){if(a.h){var c=a.h,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);xd(a,b,c)}})}else c(a,null)} +function yd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&G(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--ud||Ga(!0));p=!1}var h,l,p=!0;ud++;La[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],ra=document.createElement("style");ra.type="text/css";ra.styleSheet?ra.styleSheet.cssText=v:ra.appendChild(document.createTextNode(v));z.appendChild(ra)}d|| +(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?vd(d,null,a,null,!1,f,function(a,e){e?(Ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--ud||Ga(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ud|| +Ga(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?vd(c,b,a,e,!0,f,v):wd(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(zd){g(zd.message)}return p}window.embedPDP10=function(a,b,c,d){Ga(!1);return yd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ga(!1);return yd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return C(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Qa[a]){for(var c=!0,d=Qa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Sat, 4 Mar 2017 16:52:44 -0800 Subject: [PATCH 17/32] Fixed opIO() dispatch --- modules/pdp10/lib/cpuops.js | 2 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 2 +- versions/pdpjs/1.34.2/pdp10.js | 2 +- versions/pdpjs/1.34.2/pdp11-dbg.js | 210 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp11.js | 128 +++++++++--------- 5 files changed, 172 insertions(+), 172 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 954f05124..3a95714b7 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -4963,7 +4963,7 @@ PDP10.opCONSO = function(op, dev) */ PDP10.opIO = function(op) { - PDP10.aOpIO_KA10[op & 7].call(this, (op >> 3) & 0o177); + PDP10.aOpIO_KA10[op & 7].call(this, op, (op >> 3) & 0o177); }; /** diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 6f27c504a..d8b203ea9 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -103,7 +103,7 @@ function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36 function Vd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&H)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&H)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Vb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ce(a,d,c)+c)} function he(a,b){var c=this.f*G,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&H)*G,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a>>3&127)} +function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a,a>>3&127)} function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.D&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.D&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, diff --git a/versions/pdpjs/1.34.2/pdp10.js b/versions/pdpjs/1.34.2/pdp10.js index 1d03d3c80..24e65c440 100644 --- a/versions/pdpjs/1.34.2/pdp10.js +++ b/versions/pdpjs/1.34.2/pdp10.js @@ -99,7 +99,7 @@ function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc( function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,K-this.c(b))}function rc(a,b){this.f(b,K)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&M)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&M)))} function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&M,a){case 256:d+=M;break;case 384:d+=c>N?M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&M)*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&M)*L;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&M)*L,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} function Ac(a,b){var c=this.c(this.b)&M,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&M;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=M,a){case 256:d+=M*L;break;case 384:d+=c>$a?M*L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/L|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} -function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} +function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} function V(a,b,c){switch(a&384){case 0:b&=M;break;case 128:b=0;break;case 256:b=M;break;case 384:b=c>N?M:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Kc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Lc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, diff --git a/versions/pdpjs/1.34.2/pdp11-dbg.js b/versions/pdpjs/1.34.2/pdp11-dbg.js index 85ce2d8f8..2b25b2773 100644 --- a/versions/pdpjs/1.34.2/pdp11-dbg.js +++ b/versions/pdpjs/1.34.2/pdp11-dbg.js @@ -38,8 +38,8 @@ var h,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function fa(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ga(this)}});fa=function(){}}function ga(a){var b=0;return ha(function(){return ba?-b:b}});ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c":62,"?":63,"@":64,Jd:65,wi:66,Ci:67,cj:68,E:69,ij:70,lj:71,xj:72,zj:73,Aj:74,Bj:75,Cj:76,Fj:77,Hj:78,Nj:79,Qj:80,Q:81,Sj:82,Vj:83,dk:84,fk:85,hk:86,ik:87,mk:88,nk:89,xf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pk:97,rk:98,uk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Ck:106,k:107,Dk:108,Ek:109,n:110,Fk:111,p:112,q:113,r:114,Gk:115,t:116,Jk:117,Kk:118,Lk:119,x:120, +var ka={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},la={Ai:0,Fe:1,Hi:2,Ii:3,Ji:4,Ki:5,Li:6,Mi:7,Od:8,Ni:9,Ge:10,Oi:11,Pi:12,He:13,Qi:14,Ri:15,Si:16,Ti:17,Ui:18,Vi:19,Wi:20,Xi:21,Yi:22,Zi:23,$i:24,aj:25,bj:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39, +"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Kd:65,wi:66,Ci:67,cj:68,E:69,ij:70,lj:71,xj:72,zj:73,Aj:74,Bj:75,Cj:76,Fj:77,Hj:78,Nj:79,Qj:80,Q:81,Sj:82,Vj:83,dk:84,fk:85,hk:86,ik:87,mk:88,nk:89,xf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pk:97,rk:98,uk:99,d:100,e:101,vk:102,wk:103,xk:104,yk:105,Ck:106,k:107,Dk:108,Ek:109,n:110,Fk:111,p:112,q:113,r:114,Gk:115,t:116,Jk:117,Kk:118,Lk:119,x:120, y:121,z:122,"{":123,"|":124,"}":125,"~":126,cc:127}; function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b,c){var d="";b?32>=1,f--;return d} @@ -56,7 +56,7 @@ function La(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return function Na(a){if(!Oa){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Oa=c}return Oa[a]}function Pa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0a?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,wd:!1,ba:!1,error:!1};this.Nc=null;this.A.error=!1;this.ha=c||0;this.D=this.f=this.F=this.J=this.Ta=null;db.push(this)}function eb(a,b,c){fb[a]&&b&&(fb[a][b]=c)}function gb(){return Date.now()||+new Date} +function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vd=b.comment;this.vf=b;this.exports={};this.H=this.bindings={};a=this.id.indexOf(".");0>a?this.Mb=this.id:(this.vb=this.id.substr(0,a),this.Mb=this.id.substr(a+1));this.A={ready:!1,eb:!1,xd:!1,ba:!1,error:!1};this.Oc=null;this.A.error=!1;this.ha=c||0;this.D=this.f=this.F=this.J=this.Ta=null;db.push(this)}function eb(a,b,c){fb[a]&&b&&(fb[a][b]=c)}function gb(){return Date.now()||+new Date} function w(a){window&&window.alert(a)}function hb(a){var b=!1;window&&(b=window.confirm(a));return b}function ib(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Sf,a];this.D=this.f=this.F=this.J=null;this.exports={hold:this.Hf,toggle:this.lh, reset:this.gh,set:this.kh};C(this)}p(Sb,x);function Ub(a,b){return Vb(a,a.Eb=b)}h=Sb.prototype;h.reset=function(a){this.stop();a&&Ub(this,0)}; @@ -85,12 +85,12 @@ h.kh=function(a,b){if("SR"==a)return kc(this,ma(b,8));var c=this.b[a];return c?( h.Tf=function(a){a||this.f.A.V||(rc(this.f,this.fa),a=this.f,a.F.reset(),sc(a),this.b[tc]&&this.b[tc][1]&&uc(this.f))};h.Uf=function(){};h.Of=function(a){a||this.f.ca()};h.Mf=function(a){if(!a&&!this.f.A.V)if(this.b[tc]&&this.b[tc][1])uc(this.f);else{if((a=this.D)&&!Eb(a,!0))Fb(a,!0),vc(a,0,null),Fb(a,!1);else try{var b=this.f.Cc(1);0=a.f.ka?8:16,c=65472<=a.fa&&a.fa<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[oc]&&a.b[oc][1]||(b=-b);jc(a,a.fa&~c|a.fa+b&c)}function jc(a,b){a.fa=b&a.F.I;if(a.B!==a.fa){a.B=a.fa;b=a.B;for(var c=0;22>c;c++)Ec(a,"A"+c,b&1<c;c++)Ec(a,"D"+c,b&1<b;b++)a.b["S"+b][1]=a.Wa&1<>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Pa=[];this.na=0;this.C=!1;this.N=[];this.yf=[Ic,Jc,Kc,Wc];this.b=this.u=[];this.B=this.L=this.w=this.O=this.P=0;a=new I(this);Xc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b>>this.g;this.L=0;this.w=this.I;C(this)}p(Gc,x);function $c(a,b){if(b!=a.L){for(var c=0;c>>a.g,a.u[a.P]=a.b[a.O])}}h=Gc.prototype;h.reset=function(){for(var a=0;a>>a.g;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Xb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Xb){n=l.size-(f-m);n>g&&(n=g);l.Xb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return bd(cd,f,g)}f=new I(a,f,n,a.j,d,e);Xc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+dd[d]+" at "+u(b)),!0):bd(ed,b,c)}h.Kd=function(a){return this.u[(a&this.w)>>>this.g].Db(a&this.i,a)}; -h.Bc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].oa(b,a):this.u[c++].Db(b,a)|this.u[c&this.S].Db(0,a+1)<<8};h.Ld=function(a,b){this.u[(a&this.w)>>>this.g].Gb(a&this.i,b,a)};h.ac=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Hb(c,b,a):(this.u[d++].Gb(c,b&255,a),this.u[d&this.S].Gb(0,b>>8&255,a+1))};function fd(a,b){return a.b[(b&a.I)>>>a.g]} +function Yc(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.K)return l.Xb+=l.K-f,l.K=f,!0;if(f>=l.K+l.Xb){n=l.size-(f-m);n>g&&(n=g);l.Xb=f-l.K+n;f=m+a.j;g-=n;k++;continue}}return bd(cd,f,g)}f=new I(a,f,n,a.j,d,e);Xc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+dd[d]+" at "+u(b)),!0):bd(ed,b,c)}h.Ld=function(a){return this.u[(a&this.w)>>>this.g].Db(a&this.i,a)}; +h.Bc=function(a){var b=a&this.i,c=(a&this.w)>>>this.g;return Lb||b!=this.i?this.u[c].oa(b,a):this.u[c++].Db(b,a)|this.u[c&this.S].Db(0,a+1)<<8};h.Md=function(a,b){this.u[(a&this.w)>>>this.g].Gb(a&this.i,b,a)};h.ac=function(a,b){var c=a&this.i,d=(a&this.w)>>>this.g;Lb||c!=this.i?this.u[d].Hb(c,b,a):(this.u[d++].Gb(c,b&255,a),this.u[d&this.S].Gb(0,b>>8&255,a+1))};function fd(a,b){return a.b[(b&a.I)>>>a.g]} function Cc(a,b){var c;a.C=!1;a.na++;var d=b&a.i,e=fd(a,b);Lb||d!=a.i?c=e.B(d,b):c=e.J(d,b)|fd(a,b+1).J(0,b+1)<<8;a.na--;return c}function gd(a,b,c){a.C=!1;a.na++;fd(a,b).F(b&a.i,c&255,b);a.na--}function Ac(a,b,c){a.C=!1;a.na++;var d=b&a.i,e=fd(a,b);Lb||d!=a.i?e.C(d,c&65535,b):(e.F(d,c&255,b),fd(a,b+1).F(0,c>>8&255,b+1));a.na--} function ad(a){for(var b=0,c=[],d=0;d>8:e[2](f)&255):f&1&&(e=d.Pa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} function Jc(a,b,c){var d=!1,e=this.controller,f=e.Pa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Pa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f, b),!0,!e.na))}function Kc(a,b){var c=-1,d=this.controller;a=d.Pa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.na),c;d.Na(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.na);return c} -function Wc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={gb:128,Hd:-1}}p(L,x);h=L.prototype; -h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Hd=md(c,function(){e.b.gb|=128;e.b.gb&64&&nd(e.f,e.b.Qa);e.J&&H(e.J,1);od(e.f,e.b.Hd,1E3/60)});this.b.Qa=pd(c,64,6,2097152);dc(b,this,qd);fc(b,this.reset.bind(this));d&&rd(d,64,function(a){var b=e.f;sd(e,"KIPDR",b.B[0],0,a[0]);sd(e,"KDPDR",b.B[0],8,a[0]);sd(e,"KIPAR",b.M[0],0,a[0]);sd(e,"KDPAR",b.M[0],8,a[0],!0);sd(e,"SIPDR",b.B[1],0,a[0]);sd(e,"SDPDR",b.B[1],8,a[0]);sd(e,"SIPAR",b.M[1],0,a[0]);sd(e,"SDPAR",b.M[1],8,a[0], +function Wc(a,b,c){var d=!1,e=this.controller;a=e.Pa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.na):(e.Na(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.na))}function L(a){x.call(this,"Device",a,256);this.b={gb:128,Id:-1}}p(L,x);h=L.prototype; +h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Id=md(c,function(){e.b.gb|=128;e.b.gb&64&&nd(e.f,e.b.Qa);e.J&&H(e.J,1);od(e.f,e.b.Id,1E3/60)});this.b.Qa=pd(c,64,6,2097152);dc(b,this,qd);fc(b,this.reset.bind(this));d&&rd(d,64,function(a){var b=e.f;sd(e,"KIPDR",b.B[0],0,a[0]);sd(e,"KDPDR",b.B[0],8,a[0]);sd(e,"KIPAR",b.M[0],0,a[0]);sd(e,"KDPAR",b.M[0],8,a[0],!0);sd(e,"SIPDR",b.B[1],0,a[0]);sd(e,"SDPDR",b.B[1],8,a[0]);sd(e,"SIPAR",b.M[1],0,a[0]);sd(e,"SDPAR",b.M[1],8,a[0], !0);sd(e,"UIPDR",b.B[3],0,a[0]);sd(e,"UDPDR",b.B[3],8,a[0]);sd(e,"UIPAR",b.M[3],0,a[0]);sd(e,"UDPAR",b.M[3],8,a[0],!0);b.W&32&&sd(e,"UNIMAP",b.Ha,-1,a[0])});C(this)};function sd(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n>1&63;var b=this.f.Ha[a>>1];return a&1?b>>16:b&65535};h.mi=function(a,b){b=b>>1&63;var c=b>>1;this.f.Ha[c]=b&1?this.f.Ha[c]&65535|(a&63)<<16:this.f.Ha[c]&-65536|a&65534};h.Pg=function(a){return this.f.B[1][a>>1&7]};h.fi=function(a,b){this.f.B[1][b>>1&7]=a&65295};h.Ng=function(a){return this.f.B[1][(a>>1&7)+8]};h.di=function(a,b){this.f.B[1][(b>>1&7)+8]=a&65295};h.Og=function(a){return this.f.M[1][a>>1&7]}; h.ei=function(a,b){b=b>>1&7;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.Mg=function(a){return this.f.M[1][(a>>1&7)+8]};h.ci=function(a,b){b=(b>>1&7)+8;this.f.M[1][b]=a;this.f.B[1][b]&=65295};h.eg=function(a){return this.f.B[0][a>>1&7]};h.xh=function(a,b){this.f.B[0][b>>1&7]=a&65295};h.cg=function(a){return this.f.B[0][(a>>1&7)+8]};h.vh=function(a,b){this.f.B[0][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.f.M[0][a>>1&7]};h.wh=function(a,b){b=b>>1&7;this.f.M[0][b]=a;this.f.B[0][b]&=65295}; h.bg=function(a){return this.f.M[0][(a>>1&7)+8]};h.uh=function(a,b){b=(b>>1&7)+8;this.f.M[0][b]=a;this.f.B[0][b]&=65295};h.Vg=function(a){return this.f.B[3][a>>1&7]};h.li=function(a,b){this.f.B[3][b>>1&7]=a&65295};h.Tg=function(a){return this.f.B[3][(a>>1&7)+8]};h.ji=function(a,b){this.f.B[3][(b>>1&7)+8]=a&65295};h.Ug=function(a){return this.f.M[3][a>>1&7]};h.ki=function(a,b){b=b>>1&7;this.f.M[3][b]=a;this.f.B[3][b]&=65295};h.Sg=function(a){return this.f.M[3][(a>>1&7)+8]}; @@ -116,56 +116,56 @@ L.prototype.Zb,"R4SET0"],M[65477]=[null,null,L.prototype.Vb,L.prototype.Zb,"R5SE L.prototype.$b,"R4SET1",1,1145],M[65485]=[null,null,L.prototype.Wb,L.prototype.$b,"R5SET1",1,1145],M[65486]=[null,null,L.prototype.sg,L.prototype.Jh,"R6SUPER",1,1145],M[65487]=[null,null,L.prototype.tg,L.prototype.Kh,"R6USER",1,1145],M[65504]=[null,null,L.prototype.ag,L.prototype.th,"CTRL",8,1170],M[65520]=[null,null,L.prototype.xe,L.prototype.Ce,"LSIZE",1,1170],M[65522]=[null,null,L.prototype.xe,L.prototype.Ce,"HSIZE",1,1170],M[65524]=[null,null,L.prototype.Rg,L.prototype.hi,"SYSID",1,1170],M[65526]= [null,null,L.prototype.$f,L.prototype.sh,"ERR",1,1170],M[65528]=[null,null,L.prototype.gg,L.prototype.zh,"MBR",1,1170],M[65530]=[null,null,L.prototype.lg,L.prototype.Ch,"PIR"],M[65532]=[null,null,L.prototype.Qg,L.prototype.gi,"SLR"],M[65534]=[null,null,L.prototype.qg,L.prototype.Hh,"PSW"],M); Sa(function(){for(var a=z(document,y,"device"),b=0;b>1),this.b=new Int32Array(this.u,0,this.size>>2),Jd(this,Kd?Td:Ud);else{a=this.b=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.Yf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.bh=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);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}; +h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Gb)for(b=0;b>8,c)};h.Yf=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};h.bh=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);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}; h.qh=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<>8);this.fb=!0};h.Wf=function(a,b){this.f&&null!=this.K&&ae(this.f,this.K+a);return this.J(a,b)};h.Yg=function(a,b){this.f&&null!=this.K&&ae(this.f,this.K+a,2);return this.B(a,b)}; h.oh=function(a,b,c){this.f&&null!=this.K&&be(this.f,this.K+a);this.j?this.Yb(0,b,c):this.F(a,b,c)};h.oi=function(a,b,c){this.f&&null!=this.K&&be(this.f,this.K+a,2);this.j?this.Yb(0,b,c):this.C(a,b,c)};h.Vf=function(a){return this.g[a]};h.Xf=function(a,b){a=this.g[a];this.f&&E(this.f,32)&&F(this.f,"Memory.readByte("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.Xg=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);return this.w.getUint16(a,!0)}; h.ah=function(a,b){Kb&&a&1&&this.D.Na(b,64,2);a=!Lb&&a&1?this.g[a]|this.g[a+1]<<8:this.G[a>>1];this.f&&E(this.f,32)&&F(this.f,"Memory.readWord("+K(this.f,b)+"): "+K(this.f,a),!0);return a};h.nh=function(a,b){this.g[a]=b;this.fb=!0};h.ph=function(a,b,c){this.g[a]=b;this.fb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0)};h.ni=function(a,b,c){Kb&&a&1&&this.D.Na(c,64,4);this.w.setUint16(a,b,!0);this.fb=!0}; h.pi=function(a,b,c){Kb&&a&1&&this.D.Na(c,64,4);!Lb&&a&1?(this.g[a]=b,this.g[a+1]=b>>8):this.G[a>>1]=b;this.fb=!0;this.f&&E(this.f,32)&&F(this.f,"Memory.writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0)};var Hd=0,id=1,Id=2,Zc=4,dd=["NONE","RAM","ROM","VID","H/W"],Gd=0,Wd=[],Vd=[I.prototype.Yf,I.prototype.qh,I.prototype.bh,I.prototype.ri],Zd=[I.prototype.Wf,I.prototype.oh,I.prototype.Yg,I.prototype.oi]; if(Gb)var Ud=[I.prototype.Vf,I.prototype.nh,I.prototype.Xg,I.prototype.ni],Td=[I.prototype.Xf,I.prototype.ph,I.prototype.ah,I.prototype.pi];var ce;if(Gb){var de=new ArrayBuffer(2);(new DataView(de)).setUint16(0,256,!0);ce=256===(new Uint16Array(de))[0]}else ce=!1;var Kd=ce; -function ee(a,b){x.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.$c=0;this.Xc=b;this.mb=c;this.ld=Math.round(this.Xc/1E4)/100;this.xb=this.ld*this.mb;this.md=this.qc=this.Ab=this.Yc=0;this.A.V=this.A.Sc=!1;this.A.qa=a.autoStart;"string"==typeof this.A.qa&&(this.A.qa="true"==this.A.qa);this.A.Nb=!1;this.oc=this.Qb=0;this.pc=+a.csStart;this.Ob=+a.csInterval;this.Rb=+a.csStop;this.ia=[];this.Zd=this.hh.bind(this);this.nb=this.Ka=this.lb=this.b=this.la=this.Ja=this.nc=this.kb=this.Sb= -this.nd=this.wb=0;this.sa=null;C(this)}p(ee,x);h=ee.prototype;h.za=function(a,b,c,d){this.J=a;this.F=b;this.D=d;this.sa=a.i;for(a=0;a=a.Qb&&(a.Qb+=a.Ob,c=!0);0<=a.Rb&&a.Rb<=me(a)&&(a.Ob=a.Rb=-1,ie(a),a.ca(),c=!0);c&&a.v(me(a)+" cycles: checksum="+v(a.oc))}} -h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ba)a=!0;else{var b=null,c,k=ib(a.id);for(c=0;ca.wb/a.xb?b=1:d=!0;a.mb=b;b=a.ld*a.mb;if(a.xb!=b){a.xb=b;b=a.xb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&qe(a.J)}xc(a,a.Ka);a.Ka=0;a.Ja=gb();a.kb=0;oe(a);return d}function md(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function od(a,b,c,d){0<=b&&ba.ia[b][0])&&(c=a.Xc*a.mb/1E3*c|0,a.A.V&&(c+=re(a)),a.ia[b][0]=c)} +h.va=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.H[b]=c,!0;case "run":return this.H[b]=c,c.onclick=function(){var a;if(a=d.J)if(a=d.J,a.A.ba)a=!0;else{var b=null,c,k=ib(a.id);for(c=0;ca.wb/a.xb?b=1:d=!0;a.mb=b;b=a.md*a.mb;if(a.xb!=b){a.xb=b;b=a.xb.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.v("target speed: "+b)}c&&a.J&&qe(a.J)}xc(a,a.Ka);a.Ka=0;a.Ja=gb();a.kb=0;oe(a);return d}function md(a,b){var c=a.ia.length;a.ia.push([-1,b]);return c}function od(a,b,c,d){0<=b&&ba.ia[b][0])&&(c=a.Zc*a.mb/1E3*c|0,a.A.V&&(c+=re(a)),a.ia[b][0]=c)} function se(a,b){for(var c=a.ia.length-1;0<=c;c--){var d=a.ia[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function te(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function re(a,b){var c=a.lb-=a.b;a.b=a.la=0;b&&(a.lb=0);return c} -h.hh=function(){if(this.A.V){this.Yc>=this.Xc&&oe(this,!0);this.Sb=0;this.nc=gb();if(this.kb){var a=this.nc-this.kb;a>this.md&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=se(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=re(this,!0);this.Sb+=b;this.Ka+=b;yc(this,b);wc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.nd>=ue&&(this.J&&H(this.J,void 0),this.nd=0);break}}while(this.A.V)}catch(e){this.ca();this.J&&this.J.stop(gb(),me(this)); -wb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=gb();var c=this.md;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,ne(this)));if(0>c||this.wbc&&(this.Ja-=c),c=0;this.Yc+=this.Sb;this.kb+=c;a(b,c)}}}; -function uc(a,b){if(!Cb(a))if(a.A.V)a.v(a.toString()+" busy");else{ne(a);a.A.V=!0;a.A.Sc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&qe(a.J,!0),a.J.start(a.Ja,me(a)));a.D||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.ca=function(a){var b=!1;if(this.A.V){re(this);xc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(gb(),me(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pe=30,ue=15,fe=["power","reset"]; -function ve(a){var b=+a.model||1170;ee.call(this,a,6666667);this.ka=b;this.Td=+a.addrReset||0;this.bb=this.w=this.N=this.C=this.G=this.L=this.I=0;this.g=this.ta=this.X=[];this.M=this.B=this.Ha=this.xc=[];this.ib=this.O=this.Sd=this.yb=this.zb=this.rb=this.jb=this.P=this.uc=this.ob=this.Ga=this.S=this.vc=this.wc=this.W=this.i=0;this.Wd=[4,2,0,1];this.zc=0;this.Yd=255;1120>=this.ka?(this.be=we.bind(this),this.Lb=this.Cf,this.zc=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=xe.bind(this),this.Lb=this.Df, -this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140e.Fb&&(e.Fb=c,c+=4)}return ee.prototype.Ca.call(this,a,b)}; -h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.ca();this.C=65536;this.G=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Td,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.X=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535, -65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ha=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.xc=[0,0,0,0,0,0,0,0];this.N=0;this.bb=-1;this.u=this.j=this.Wc=this.U=this.Y=this.i=this.uc=0;sc(this);he(this);this.A.error=!1;ee.prototype.reset.call(this)};function sc(a){a.S=0;a.vc=0;a.wc=0;a.W=0;a.P=0;a.ob=0;a.Ga=255;a.yb=0;a.zb=0;a.rb=0;a.jb=262143;a.ib=a.g[7];a.O=0;a.R=null;a.F&&(ye(a),a.Sd=hd(a.F))} -function ye(a){a.jc=a.ad;a.kc=a.cd;a.Tc=a.dd;a.lc=a.jd;a.sc&&(a.jc=a.pe,a.kc=a.te);a.tc&&(a.Tc=a.ze,a.lc=a.Ae);a.yb?(a.Ia=65536,a.ub=a.W&16?4186112:253952,a.Fa=a.se,a.oa=a.sc?a.$g:a.Ed,a.Hb=a.tc?a.ti:a.Id,$c(a.F,a.W&16?22:18)):(a.Ia=0,a.ub=57344,a.Fa=a.Gf,a.oa=a.sc?a.Zg:a.ye,a.Hb=a.tc?a.si:a.De,$c(a.F,16))}function ud(a){var b=a.S;b&57344||(b=b&-3199|a.zb<<5|a.rb<<1);return b} +h.hh=function(){if(this.A.V){this.zc>=this.Zc&&oe(this,!0);this.Sb=0;this.nc=gb();if(this.kb){var a=this.nc-this.kb;a>this.nd&&(this.Ja+=a,this.Ja>this.nc&&(this.Ja=this.nc))}try{do{var b=se(this,this.A.Nb?1:this.qc);try{this.Cc(b)}catch(e){if("number"!=typeof e)throw e;}b=re(this,!0);this.Sb+=b;this.Ka+=b;yc(this,b);wc(this,b);this.Ab-=b;if(0>=this.Ab){this.Ab+=this.qc;++this.od>=ue&&(this.J&&H(this.J,void 0),this.od=0);break}}while(this.A.V)}catch(e){this.ca();this.J&&this.J.stop(gb(),me(this)); +wb(this,e.stack||e.message);return}if(this.A.V){a=setTimeout;b=this.Zd;this.kb=gb();var c=this.nd;this.Sb&&(c=Math.round(c*this.Sb/this.qc));var c=c-(this.kb-this.nc),d=this.kb-this.Ja;d&&(this.wb=Math.round(this.Ka/(10*d))/100,864E5<=d&&(this.nb=0,ne(this)));if(0>c||this.wbc&&(this.Ja-=c),c=0;this.zc+=this.Sb;this.kb+=c;a(b,c)}}}; +function uc(a,b){if(!Cb(a))if(a.A.V)a.v(a.toString()+" busy");else{ne(a);a.A.V=!0;a.A.Tc=!0;var c=a.H.run;c&&(c.textContent="Halt");a.J&&(b&&qe(a.J,!0),a.J.start(a.Ja,me(a)));a.D||a.status("Started");setTimeout(a.Zd,0)}}h.Cc=function(){return 0};h.ca=function(a){var b=!1;if(this.A.V){re(this);xc(this,this.Ka);this.Ka=0;this.A.V=!1;if(b=this.H.run)b.textContent="Run";this.J&&this.J.stop(gb(),me(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var pe=30,ue=15,fe=["power","reset"]; +function ve(a){var b=+a.model||1170;ee.call(this,a,6666667);this.ka=b;this.Xc=+a.addrReset||0;this.bb=this.w=this.N=this.C=this.G=this.L=this.I=0;this.g=this.ta=this.X=[];this.M=this.B=this.Ha=this.xc=[];this.ib=this.O=this.Td=this.yb=this.zb=this.rb=this.jb=this.P=this.uc=this.ob=this.Ga=this.S=this.vc=this.wc=this.W=this.i=0;this.Wd=[4,2,0,1];this.Ac=0;this.Yd=255;1120>=this.ka?(this.be=we.bind(this),this.Lb=this.Cf,this.Ac=8,this.Yd=-1,this.fe=255,this.ee=0):(this.be=xe.bind(this),this.Lb=this.Df, +this.fe=~(1792|(1140>=this.ka?2048:0))&65535,this.ee=1140e.Fb&&(e.Fb=c,c+=4)}return ee.prototype.Ca.call(this,a,b)}; +h.reset=function(){this.status("Model "+this.ka);this.A.V&&this.ca();this.C=65536;this.G=32768;this.L=65535;this.I=32768;this.w=15;this.g=[0,0,0,0,0,0,0,this.Xc,-1,-2,-3,-4,-5,-6,-7,-8];this.ta=[0,0,0,0,0,0];this.X=[0,0,0,0];this.M=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.B=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535, +65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ha=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.xc=[0,0,0,0,0,0,0,0];this.N=0;this.bb=-1;this.u=this.j=this.Yc=this.U=this.Y=this.i=this.uc=0;sc(this);he(this);this.A.error=!1;ee.prototype.reset.call(this)};function sc(a){a.S=0;a.vc=0;a.wc=0;a.W=0;a.P=0;a.ob=0;a.Ga=255;a.yb=0;a.zb=0;a.rb=0;a.jb=262143;a.ib=a.g[7];a.O=0;a.R=null;a.F&&(ye(a),a.Td=hd(a.F))} +function ye(a){a.jc=a.cd;a.kc=a.dd;a.Uc=a.jd;a.lc=a.ld;a.sc&&(a.jc=a.pe,a.kc=a.te);a.tc&&(a.Uc=a.ze,a.lc=a.Ae);a.yb?(a.Ia=65536,a.ub=a.W&16?4186112:253952,a.Fa=a.se,a.oa=a.sc?a.$g:a.Fd,a.Hb=a.tc?a.ti:a.Jd,$c(a.F,a.W&16?22:18)):(a.Ia=0,a.ub=57344,a.Fa=a.Gf,a.oa=a.sc?a.Zg:a.ye,a.Hb=a.tc?a.si:a.De,$c(a.F,16))}function ud(a){var b=a.S;b&57344||(b=b&-3199|a.zb<<5|a.rb<<1);return b} function vd(a,b){b&=-3073;if(a.S!=b){b&57344&&!(a.S&57344)&&(a.vc=a.O>>16&65535,a.wc=a.O&65535);a.S=b;a.zb=(b&96)>>5;a.rb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.yb!=c&&(a.yb=c,ye(a))}}function wd(a){a.S&57344||(a.vc=a.O>>16&65535);a=a.vc;a&65280&&(a=(a<<8|a>>8)&65535);return a}function xd(a){a.S&57344||(a.wc=a.O&65535);return a.wc}function yd(a,b){1170>a.ka&&(b&=-49);a.W!=b&&(a.W=b,a.jb=b&16?4194303:262143,ye(a))} -function ze(a,b,c,d){a.Td=b;rc(a,b);Bd(a,0);a.F.reset();sc(a);if(c){a.g[0]=d||0;for(b=1;5>=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ba?a.A.V||uc(a):a.A.qa=!0}else a.D&&a.A.ba?a.ca()||a.J.A.reset||(je(a.D),H(a.J,-1)):!1===c&&a.ca();!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0}; -h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.X,this.M,this.B,this.Ha,this.xc,this.P,this.uc,this.ob,this.Ga,this.zb,this.rb,this.ib,this.i,this.O,this.bb,this.Ac,this.Dc]);a.set(1,[Ad(this),ud(this),wd(this),xd(this),this.W]);a.set(2,[this.nb,this.mb,this.A.qa]);a.set(3,Ae(this));a.set(4,te(this));return a.data()}; -h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.X=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ha=b.next().value;this.xc=b.next().value;this.P=b.next().value;this.uc=b.next().value;this.ob=b.next().value;this.Ga=b.next().value;this.zb=b.next().value;this.rb=b.next().value;this.ib=b.next().value;this.i=b.next().value;this.O=b.next().value;this.bb=b.next().value;this.Ac=b.next().value;this.Dc=b.next().value;b=a[1];Bd(this,b[0]);vd(this,b[1]); -this.vc=b[2];this.wc=b[3];yd(this,b[4]);b=a[2];this.nb=b[0];ne(this,b[1]);this.A.qa=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d=b;b++)a.g[b]=0;a.g[6]=1024;a.A.ba?a.A.V||uc(a):a.A.qa=!0}else a.D&&a.A.ba?a.ca()||a.J.A.reset||(je(a.D),H(a.J,-1)):!1===c&&a.ca();!a.A.V&&a.sa&&a.sa.stop()}h.qe=function(){return 0}; +h.save=function(){var a=new G(this);a.set(0,[this.g,this.ta,this.X,this.M,this.B,this.Ha,this.xc,this.P,this.uc,this.ob,this.Ga,this.zb,this.rb,this.ib,this.i,this.O,this.bb,this.Dc,this.Ec,this.Xc]);a.set(1,[Ad(this),ud(this),wd(this),xd(this),this.W]);a.set(2,[this.nb,this.mb,this.A.qa]);a.set(3,Ae(this));a.set(4,te(this));return a.data()}; +h.restore=function(a){var b=ia(a[0]);this.g=b.next().value;this.ta=b.next().value;this.X=b.next().value;this.M=b.next().value;this.B=b.next().value;this.Ha=b.next().value;this.xc=b.next().value;this.P=b.next().value;this.uc=b.next().value;this.ob=b.next().value;this.Ga=b.next().value;this.zb=b.next().value;this.rb=b.next().value;this.ib=b.next().value;this.i=b.next().value;this.O=b.next().value;this.bb=b.next().value;this.Dc=b.next().value;this.Ec=b.next().value;this.Xc=b.next().value;b=a[1];Bd(this, +b[0]);vd(this,b[1]);this.vc=b[2];this.wc=b[3];yd(this,b[4]);b=a[2];this.nb=b[0];ne(this,b[1]);this.A.qa=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.b-=2);a.b-=3}function rc(a,b){a.g[7]=b&65535}function pd(a,b,c,d){b={Fb:b,pb:c,message:d||0,name:Qb[b],next:null};a.mc.push(b);return b}function He(a,b){var c=a.R;if(c==b)a.R=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.R&&(a.i|=1)} function nd(a,b){if(b){if(b!=a.R){var c=a.R;if(!c||c.pb<=b.pb)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.pb<=b.pb){b.next=d;c.next=b;break}c=d}while(c)}}a.i|=1;b.message&&E(a,b.message|8)&&F(a,"setIRQ(vector="+u(b.Fb)+",priority="+b.pb+")",!0,!0)}}function td(a,b){b&&(He(a,b),b.message&&E(a,b.message|8)&&F(a,"clearIRQ(vector="+u(b.Fb)+",priority="+b.pb+")",!0,!0))}function Ae(a){var b=[];for(a=a.R;a;)b.push(a.Fb),a=a.next;return b} function Ie(a){return a.i&64?(a.ra(168,64,-6),!0):a.i&32?(a.ra(4,32,-5),!0):a.i&16?(a.ra(12,16,-7),!0):!1}function Ad(a){return a.w=a.w&63728|Ee(a)|De(a)|Ce(a)|Be(a)}function Bd(a,b){b&=a.fe;a.I=b<<12;a.L=~b&4;a.G=b<<14;a.C=b<<16;if((b^a.w)&a.ee)for(var c=a.ta.length;0<=--c;){var d=a.g[c];a.g[c]=a.ta[c];a.ta[c]=d}a.N=b>>14&3;c=a.w>>14&3;a.N!=c&&(a.X[c]=a.g[6],a.g[6]=a.X[a.N]);a.w=b;a.i&=-3;a.i|=a.R?2:1}function zd(a,b){if(b&=65024){var c=b>>9;do b+=34;while(c>>=1);a.i|=1}a.ob=b} h.Da=function(a){this.I=this.L=a;this.G=0};h.qb=function(a,b){this.I=this.L=this.C=a;this.G=b||0};function Je(a,b){a.I=a.L=a.C=b;a.G=a.I^a.C>>1}function Ke(a,b,c,d){a.I=a.L=a.C=b;a.G=(c^d)&(d^b)} -h.ra=function(a,b,c){if(!this.pa){0>this.bb?this.bb=Ad(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ia),e=this.oa(a+2&65535|this.Ia);Bd(this,e&-12289|this.bb>>2&12288);Le(this,this.bb);Le(this,this.g[7]);rc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.bb=-1;this.Ac=c;this.Dc=a;-1==c&&this.ca();if(-4<=c)throw a;}}; +h.ra=function(a,b,c){if(!this.pa){0>this.bb?this.bb=Ad(this):this.N||(c=-4);-4==c&&(this.i&256&&(c=-1),this.i|=256,this.P|=4,this.g[6]=a=4);if(-1!=c){this.O=a|4143316992;this.N=0;var d=this.oa(a|this.Ia),e=this.oa(a+2&65535|this.Ia);Bd(this,e&-12289|this.bb>>2&12288);Le(this,this.bb);Le(this,this.g[7]);rc(this,d)}this.b-=5;this.i&=~(b|19);this.i|=129;this.bb=-1;this.Dc=c;this.Ec=a;-1==c&&this.ca();if(-4<=c)throw a;}}; function Me(a){var b=Ne(a),c=Ne(a);a.w&49152&&(c=c&-225|a.w&63712);rc(a,b);Bd(a,c);a.i&=-17}function Oe(a,b){var c=b>>13&31;31>c&&(b=a.W&32?a.Ha[c]+(b&8191)&4194303:b&-3932161);return b} function Pe(a,b,c){var d=[];if(c){c=Oe(a,b);var e=b>>13&31;d.push(c);d.push(e);a.W&32&&(d.push(a.Ha[e]),d.push(b&8191))}else if(a.yb){var e=a.N<<1,f=b>>13;7>13;a.W&a.Wd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.jb;3932160<=f&&(f=Oe(a,f));if(a.pa)return f;f>=a.Sd&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +function Bc(a,b,c){var d,e,f;if(!(c&a.yb))return f=b&65535,57344<=f&&(f|=a.ub),f;d=b>>13;a.W&a.Wd[a.N]||(d&=7);e=a.B[a.N][d];f=(a.M[a.N][d]<<6)+(b&8191)&a.jb;3932160<=f&&(f=Oe(a,f));if(a.pa)return f;f>=a.Td&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& (g|=16384));a.B[a.N][d]=e;if(f!=(4194170&a.jb)||a.N)a.zb=a.N,a.rb=d;g&&(g&57344&&(0<=a.bb&&(g|=128),a.S&57344||(g|=a.S&4096|a.zb<<5|a.rb<<1,vd(a,a.S&-61695|g&61694)),a.ra(168,64,-2)),a.S&61440||!(f<(4191360&a.jb)||f>(4194239&a.jb))||(a.S|=4096,a.S&512&&(a.i|=64)));return f}function Ne(a){var b=a.oa(a.g[6]|a.Ia);a.g[6]=a.g[6]+2&65535;return b}function Le(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.O=a.O&65535|(a.O&-65536)<<8|16121856;a.i&256||a.Lb(4,-2,c);a.Hb(c,b)} function Qe(a,b,c,d){var e,f,g=d&8?0:a.Ia;switch(b){case 0:return a.ra(4,0,-3),0;case 1:return 6==c&&a.Lb(d,0,a.g[6]),a.b-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Lb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.oa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Lb(d,f,e);7!=c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.oa(e)|g;a.b-=8;break;case 6:return e=a.oa(Fe(a,2)),e=e+a.g[c]&65535,6==c&&a.Lb(d, -0,e),a.b-=6,e|g;case 7:return e=a.oa(Fe(a,2)),e=e+a.g[c]&65535,e=a.oa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cf=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Df=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ae(this.D,a,1);return this.ad(a)};h.te=function(a){this.D&&ae(this.D,a,2);return this.cd(a)}; -h.ze=function(a,b){this.D&&be(this.D,a,1);this.dd(a,b)};h.Ae=function(a,b){this.D&&be(this.D,a,2);this.jd(a,b)};function Dc(a,b){a.pa++;b=a.F.Bc(Bc(a,b,2));a.pa--;return b}function Re(a,b){(b?--a.tc:--a.sc)||ye(a)}h.Gf=function(a,b,c){return Qe(this,a,b,c)};h.se=function(a,b,c){return Bc(this,Qe(this,a,b,c),c)};h.ye=function(a){return this.F.Bc(this.ib=a)};h.Zg=function(a){this.D&&ae(this.D,a,2);return this.ye(a)};h.Ed=function(a){return this.F.Bc(this.ib=Bc(this,a,2))}; -h.$g=function(a){this.D&&ae(this.D,a,2);return this.Ed(a)};h.De=function(a,b){this.F.ac(this.ib=a,b)};h.si=function(a,b){this.D&&be(this.D,a,2);this.De(a,b)};h.Id=function(a,b){this.F.ac(this.ib=Bc(this,a,4),b)};h.ti=function(a,b){this.D&&be(this.D,a,2);this.Id(a,b)};function Se(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Qe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ia),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c} -function Te(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Qe(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Bc(a,e|c&65536,4),a.N=a.w>>14&3,a.lc(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ue(a,b){b>>=6;var c=a.Y=b&7;return(b=a.U=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c+a.zc]&a.Yd}function Ve(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.U=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d+a.zc];return c}function We(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Qe(a,b,c,8)} -function Xe(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c]&255}function Ye(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d];return c}function Ze(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Wc=a.Fa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Tc(e,d.call(a,c,a.jc(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} -function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,6),a.lc(e,d.call(a,0>c?a.g[-c-1]:c,a.kc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function $e(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Fa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Tc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} +0,e),a.b-=6,e|g;case 7:return e=a.oa(Fe(a,2)),e=e+a.g[c]&65535,e=a.oa(e|a.Ia),a.b-=10,e|g}a.g[c]=a.g[c]+f&65535;a.O=a.O&65535|(a.O&-65536)<<8|(f<<3&248|c)<<16;return e}h.Cf=function(a,b,c){!this.N&&0>=b&&c<=this.Ga&&(this.i|=32)};h.Df=function(a,b,c){this.N||(65534<=c&&(c|=-65536),a&4&&c<=this.Ga&&(c<=this.Ga-32?this.ra(4,0,-4):(this.P|=8,this.i|=32)))};h.pe=function(a){this.D&&ae(this.D,a,1);return this.cd(a)};h.te=function(a){this.D&&ae(this.D,a,2);return this.dd(a)}; +h.ze=function(a,b){this.D&&be(this.D,a,1);this.jd(a,b)};h.Ae=function(a,b){this.D&&be(this.D,a,2);this.ld(a,b)};function Dc(a,b){a.pa++;b=a.F.Bc(Bc(a,b,2));a.pa--;return b}function Re(a,b){(b?--a.tc:--a.sc)||ye(a)}h.Gf=function(a,b,c){return Qe(this,a,b,c)};h.se=function(a,b,c){return Bc(this,Qe(this,a,b,c),c)};h.ye=function(a){return this.F.Bc(this.ib=a)};h.Zg=function(a){this.D&&ae(this.D,a,2);return this.ye(a)};h.Fd=function(a){return this.F.Bc(this.ib=Bc(this,a,2))}; +h.$g=function(a){this.D&&ae(this.D,a,2);return this.Fd(a)};h.De=function(a,b){this.F.ac(this.ib=a,b)};h.si=function(a,b){this.D&&be(this.D,a,2);this.De(a,b)};h.Jd=function(a,b){this.F.ac(this.ib=Bc(this,a,4),b)};h.ti=function(a,b){this.D&&be(this.D,a,2);this.Jd(a,b)};function Se(a,b,c){var d=a.j=b&7;(b=a.u=(b&56)>>3)?(d=Qe(a,b,d,2),c&65536||61440!==(a.w&61440)&&(d&=65535),a.N=a.w>>12&3,c=a.oa(d|c&a.Ia),a.N=a.w>>14&3):c=6!=d||(a.w>>2&12288)===(a.w&12288)?a.g[d]:a.X[a.w>>12&3];return c} +function Te(a,b,c,d){a.O=a.O&65535|1441792;var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=Qe(a,b,e,4),c&65536||(e&=65535),a.N=a.w>>12&3,e=Bc(a,e|c&65536,4),a.N=a.w>>14&3,a.lc(e,d)):6!=e||(a.w>>2&12288)===(a.w&12288)?a.g[e]=d:a.X[a.w>>12&3]=d}function Ue(a,b){b>>=6;var c=a.Y=b&7;return(b=a.U=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c+a.Ac]&a.Yd}function Ve(a,b){var c;b>>=6;var d=a.Y=b&7;(b=a.U=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d+a.Ac];return c}function We(a,b){var c=a.j=b&7;b=a.u=(b&56)>>3;return Qe(a,b,c,8)} +function Xe(a,b){var c=a.j=b&7;return(b=a.u=(b&56)>>3)?a.jc(a.Fa(b,c,3)):a.g[c]&255}function Ye(a,b){var c,d=a.j=b&7;(b=a.u=(b&56)>>3)?c=a.kc(a.Fa(b,d,2)):c=a.g[d];return c}function Ze(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Yc=a.Fa(b,e,7),c=0>c?a.g[-c-1]&255:c,a.Uc(e,d.call(a,c,a.jc(e))),e&1&&a.b--):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))} +function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,6),a.lc(e,d.call(a,0>c?a.g[-c-1]:c,a.kc(e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function $e(a,b,c,d,e){var f=a.j=b&7;(b=a.u=(b&56)>>3)?(d=a.Fa(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),a.Uc(d,c),d&1&&a.b--):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))} function af(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.Fa(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))} -h.Cc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Sc?-1:0:0,c=a?this.A.Sc?0:1:-1;this.A.Sc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(cf(this.D,this.g[7],c)){this.ca();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i& +h.Cc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Tc?-1:0:0,c=a?this.A.Tc?0:1:-1;this.A.Tc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(cf(this.D,this.g[7],c)){this.ca();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.ra(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i& 1&&this.i++;if(a){if(this.i&4&&cf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}if(this.i&112&&Ie(this)){if(this.i&4&&cf(this.D,this.g[7],c)){this.ca();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.oa(a);this.g[7]=a+2&65535;this.be(f)}while(0>1|b<<16;Je(this,a);return a&65535}function Ef(a,b){a=b&128|b>>1|b<<8;Je(this,a<<8);return a&255}function Ff(a,b){a=b&~a;this.Da(a);return a}function Gf(a,b){a=b&~a;this.Da(a<<8);return a} function Hf(a,b){a|=b;this.Da(a);return a}function If(a,b){a|=b;this.Da(a<<8);return a}function Jf(a,b){a=~b|65536;this.qb(a);return a&65535}function Kf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Lf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Mf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Nf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Of(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255} @@ -182,13 +182,13 @@ function Cg(){this.w&49152?(this.P|=128,this.ra(4,0,-8)):(this.sa&&1120==this.ka var Jg=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Kg(a){var b=Ve(this,a);this.la=this.b;af(this,a,b,this.Da);this.b=this.la-Jg[(this.U?8:0)+this.u]+(7!=this.j||this.u?0:2)}function Lg(a){var b=Ue(this,a);$e(this,a,b,65535,this.Da);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}var Mg=[7,13,13,17,14,18,17,21]; function Ng(a){var b=Ye(this,a);a=a>>6&7;b=(b<<16>>16)*(this.g[a]<<16>>16);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;b|=0;this.I=b>>16;this.L=this.I|b;this.G=0;this.C=-32768>b||32767>6;if(this.g[b]=this.g[b]-1&65535)rc(this,this.g[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Ug(a){P(this,a,Ve(this,a),Vf);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}function Vg(a){P(this,a,0,Xf);this.b-=this.u?9:3+(7==this.j?2:0)}function Wg(){this.ra(28,0,-9)} -function Xg(){this.sa&&(this.sa.Gd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Fe(this,-2);this.b-=3}function Yg(a){P(this,a,this.g[(a>>6&7)+this.zc],Yf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Dg(b)):b=!1;b||this.ra(8,0,-9)}function we(a){Zg[a>>12].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)} +function Xg(){this.sa&&(this.sa.Hd(this.g[7],!0),this.sa.setData(this.g[0],!0));this.i|=8;Fe(this,-2);this.b-=3}function Yg(a){P(this,a,this.g[(a>>6&7)+this.Ac],Yf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Dg(b)):b=!1;b||this.ra(8,0,-9)}function we(a){Zg[a>>12].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)} function fh(a){gh[a&15].call(this,a)}function hh(a){ih[a&15].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}function lh(a){mh[a>>6&3].call(this,a)}function nh(a){oh[a>>6&3].call(this,a)} var Zg=[function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,Q,function(a){qh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],ph=[function(a){rh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,Q,Q,Q],ah=[function(a){af(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],ch=[function(a){P(this,a,0,Pf); this.b-=this.u?11:6},function(a){P(this,a,Be(this)?1:0,df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Be(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ye(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],eh=[function(a){P(this,a,0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Bf);this.b-=this.u?9:3+(7==this.j?2:0)}],rh= [function(a){sh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,Q,fh,hh,Vg,Vg,Vg,Vg],sh=[Cg,Xg,Rg,tg,Eg,Pg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],gh=[Og,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},xg,function(){this.L=1;this.b-=5},xg,xg,xg,function(){this.I=0;this.b-=5},xg,xg,xg,xg,xg,xg,xg],ih=[Og,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Sg,function(){this.L=0;this.b-=5},Sg,Sg,Sg,function(){this.I=32768;this.b-=5},Sg,Sg,Sg,Sg,Sg,Sg,Sg],qh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh, nh,Q,Q,Q],kh=[function(a){$e(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)}],mh=[function(a){Ze(this,a,0,Qf);this.b-=this.u?11:6},function(a){Ze(this,a,Be(this)?1:0,ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,Be(this)?1:0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this, -a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],oh=[function(a){Ze(this,a,0,Uf);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Ef);this.b-=this.u?9+(this.Wc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)}];function xe(a){th[a>>12].call(this,a)} +a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],oh=[function(a){Ze(this,a,0,Uf);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Ef);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)}];function xe(a){th[a>>12].call(this,a)} var th=[function(a){uh[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,function(a){vh[a>>8&15].call(this,a)},function(a){wh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],uh=[function(a){xh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,function(a){yh[a>>6&3].call(this,a)},Q,Q],yh=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.oa(a|this.Ia);rc(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.b-=8},function(a){a=Se(this,a,0);this.Da(a);Le(this,a);this.b-=11},function(a){var b=Ne(this); this.la=this.b;this.Da(b);Te(this,a,0,b);this.b=this.la-Mg[this.u]},function(a){af(this,a,Ee(this)?65535:0,this.Da);this.b-=this.u?9:3+(7==this.j?2:0)}],xh=[function(a){zh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,function(a){!(a&8)||1145>this.ka?Q.call(this,a):(this.w&49152||(this.w=this.w&-225|(a&7)<<5,this.i|=1,this.i&=-3),this.b-=5)},fh,hh,Vg,Vg,Vg,Vg],zh=[Cg,Xg,function(){Me(this);this.i|=this.w&16;this.b-=13},tg,Eg,Pg,Rg,function(a){Q.call(this,a)},Q,Q,Q,Q,Q,Q,Q,Q],vh=[Ng,Ng,Ag,Ag,$f,$f,ag,ag, Yg,Yg,Q,Q,Q,Q,Tg,Tg],wh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,nh,function(a){1145>this.ka?Q.call(this,a):Ah[a>>6&3].call(this,a)},Q,Q],Ah=[function(a){Q.call(this,a)},function(a){a=Se(this,a,65536);this.Da(a);Le(this,a);this.b-=11},function(a){var b=Ne(this);this.la=this.b;this.Da(b);Te(this,a,65536,b);this.b=this.la-Mg[this.u]},function(a){Q.call(this,a)}]; @@ -204,13 +204,13 @@ function Gh(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l=la.Jd&&c<=la.xf&&(b=c-(la.Jd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Oc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Oc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Oc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; +{connect:this.ue,receiveData:this.Pc,receiveStatus:this.fh,setConnection:this.jh}}p(Ih,x);h=Ih.prototype; +h.va=function(a,b,c){var d=this;switch(b){case Jh:return this.H[b]=this.u=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.Od:la.cc:46==c?b=la.Od:a.ctrlKey&&c>=la.Kd&&c<=la.xf&&(b=c-(la.Kd-la.Fe));b&&(a.preventDefault&&a.preventDefault(),d.Pc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.He&&(b=la.Ge);d.Pc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; h.za=function(a,b,c,d){this.J=a;this.F=b;this.f=c;this.D=d;var e=this;this.P=pd(this.f,this.M?-1:48,4,1048576);this.R=md(this.f,function(){var a;a=-1;e.i.length&&(a=e.i.shift()&255,F(e,"receiveByte("+v(a,2,!0)+")"),e.L&&97<=a&&122>a&&(a-=32),od(e.f,e.R,1E3/Math.round(e.S/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&nd(c,e.P))});this.N=pd(this.f,this.M?-1:52,4,1048576);this.X=md(this.f,function(){e.g|=128;e.g&64&&nd(c,e.N)});dc(b,this,Kh,this.M?64832+8*(this.M-1)-65392:0);fc(b,this.reset.bind(this)); C(this)};h.ue=function(a){if(!this.j){var b=ge(this.J,"connection");if(b){var c=b.split("->");if(2==c.length){var d=za(c[0]);if(d!=this.Mb)return;c=za(c[1]);if(this.j=mb(c)){var e=this.j.exports;if(e){var f=e.connect;f&&f.call(this.j,this.I);if(this.G=e.receiveData){this.I=a;this.O=e.receiveStatus;this.status("Connected "+this.vb+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}}; h.Ca=function(a,b){if(!b)if(this.ue(this.I),!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ba=function(a){return a?this.save():!0};h.reset=function(){Lh(this)};h.save=function(){var a=new G(this);a.set(0,[this.C,this.b,this.g,this.i]);return a.data()};h.restore=function(a){return Lh(this,a[0])};function Lh(a,b){b||(b=[0,8192,128,a.i]);b=ia(b);a.C=b.next().value;a.b=b.next().value;a.g=b.next().value;a.i=b.next().value;return!0} -h.Oc=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.W||8,c=a-this.B%a,this.W&&(b=ya("",c)));this.U&&!this.B&&c&&(b=String.fromCharCode(this.U)+b);this.u.value+=b;this.u.scrollTop=this.u.scrollHeight;this.B+=c}}else if(null!=this.w){if(10==a||1024<=this.w.length)this.v(this.w), this.w="";10!=a&&(this.w+=String.fromCharCode(a))}od(this.f,this.X,1E3/Math.round(this.Y/10));this.g&=-129};var Jh="buffer",Mh={},Kh=(Mh[65392]=[null,null,Ih.prototype.wg,Ih.prototype.Nh,"RCSR"],Mh[65394]=[null,null,Ih.prototype.vg,Ih.prototype.Mh,"RBUF"],Mh[65396]=[null,null,Ih.prototype.eh,Ih.prototype.vi,"XCSR"],Mh[65398]=[null,null,Ih.prototype.dh,Ih.prototype.ui,"XBUF"],Mh);Sa(function(){for(var a=z(document,y,"serial"),b=0;b>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.aa);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ua(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):va(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.zd?"":e)+"&format=json"));return!!Ea(f, +function li(a,b,c,d,e){var f=c;if(a.g)return!0;a.Xa=b;a.Oa=c;a.Gd=ta(c);a.g=e;a.w=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.aa=e[0];a.ja=e[1];a.ea=e[2];a.ua=e[3]||512;c=a.ua>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.aa);for(d=0;dc.indexOf("/api/v1/dump")&&(b=ua(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):va(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Ad?"":e)+"&format=json"));return!!Ea(f, null,!0,function(b,c,d){mi(a,b,c,d)})} -function mi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ba;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{eb(a.controller.vb,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +function mi(a,b,c,d){var e=null,f=0>d&&!!a.J&&!a.J.A.ba;a.j=!1;if(d)a.controller.T('Unable to load disk "'+a.Xa+'" (error '+d+": "+b+")",f);else{eb(a.controller.vb,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(k.length)if(1==k.length)w(k[0]);else{a.aa=k.length;a.ja=k[0].length;a.ea=k[0][0].length;var l=k[0][0][0];a.ua=l&&l.length||512;for(d=c=0;d>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var q=l.data;if(void 0===q){var t=l.bytes;if(void 0!==t&&t.length){for(var r=m<<2,D=t.length;D>2,e=Array(d),f=0;f=this.b.length||l>=this.b[k].length||m>=this.b[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ b+" changes applied)";b=-1;break}if(this.j){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.b[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.T("Unable to restore disk '"+this.Xa+": "+c);return b}; h.toJSON=function(){var a;a=0;for(var b;b=oi(this,a++);)qi(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function qi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var ii=0;function ri(a,b,c,d,e,f){x.call(this,a,b,c);this.N=si(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.Zc;this.g=Array(this.P);this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Bd,selectDrive:this.ih,wait:this.mh}}p(ri,x); +function qi(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var ii=0;function ri(a,b,c,d,e,f){x.call(this,a,b,c);this.N=si(this,b.autoMount);this.M=0;this.R=d;this.S=e;this.U=f;this.P=d.$c;this.g=Array(this.P);this.O=!Ma("Mobi")&&window&&"FileReader"in window;this.B=[];this.Qa=null;this.exports={bootDisk:this.le,loadDisk:this.Cd,selectDrive:this.ih,wait:this.mh}}p(ri,x); function si(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){w(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=ri.prototype; -h.va=function(a,b,c){var d=this;switch(b){case "listDisks":return this.H[b]=c,c.onchange=function(){ti(d)},!0;case "descDisk":case "listDrives":return this.H[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&ui(d,a)},!0;case "loadDisk":return this.H[b]=c,c.onclick=function(){d.Bd()},!0;case "bootDisk":return this.H[b]=c,c.onclick=function(){d.le()},!0;case "saveDisk":if(!this.O){c.parentNode.removeChild(c);break}this.H[b]=c;c.onclick=function(){var a=d.H.listDrives;if(a&&a.options&&d.g)if(a= -d.g[ma(a.value,10)||0])if(a=a.da){var b;b="";for(var c=0,k;k=oi(a,c++);)for(var l=0,m=k.length;lg||9d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ui(this,d),!0;if(b==Ri)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Si){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ta(b);this.status("Attempting to load "+b+' as "'+ +h.Cd=function(a,b,c){if(!a&&!b){var d=this.H.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.H.listDrives)&&ma(d.value,10);if(void 0===d||0>d||d>=this.g.length)return this.T("Unable to load the selected drive"),!1;if(!b)return Ui(this,d),!0;if(b==Ri)return this.T('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Si){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ta(b);this.status("Attempting to load "+b+' as "'+ a+'"')}Yi(this,d,a,b,!1,c);return!0};h.le=function(){var a,b=this.H.listDrives,b=b&&ma(b.value,10);if(null==b||0>b||b>=this.g.length||!(a=this.g[b]))return this.T("Unable to boot the selected drive"),!1;if(!a.da)return this.T("Load a disk into the drive first"),!1;ze(this.f,0,!0,b);return(a=this.Ub(a,a.If,a.Jf,a.Kf,a.Bf,0,2))?(this.T("Unable to read the boot sector ("+a+")"),!1):!0}; -function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Mc?a.T(a.type+" busy"):(k.Mc=!0,e&&(k.yd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Pb=!!f,li(new hi(a,k,"preload"),c,d,f,a.oe)&&g++));return g} -h.oe=function(a,b,c,d,e){a.Mc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Qc||"---")),b=null);b?(a.da=b,a.Xa=c,a.Oa=d,this.we(a.Tb),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Qc||"---"),a.yd||e),this.J&&qe(this.J)):a.Pb=!1;a.yd&&(a.yd=!1,--this.M||C(this));ui(this,a.Tb);a.ic&&(a.ic(),a.ic=null)}; +function Yi(a,b,c,d,e,f){var g=-1,k=a.g[b];k.Oa.toLowerCase()!=d.toLowerCase()&&(g++,Ui(a,b,!0),k.Nc?a.T(a.type+" busy"):(k.Nc=!0,e&&(k.zd=!0,a.M++,E(a)&&F(a,"auto-loading disk: "+c)),k.Pb=!!f,li(new hi(a,k,"preload"),c,d,f,a.oe)&&g++));return g} +h.oe=function(a,b,c,d,e){a.Nc=!1;b&&(b.aa>a.aa||b.ja>a.ja)&&(this.T('Disk "'+c+'" too large for drive '+(this.g[a.Tb].Rc||"---")),b=null);b?(a.da=b,a.Xa=c,a.Oa=d,this.we(a.Tb),Zi(this,c,d,b),this.T('Loaded disk "'+c+'" in drive '+(this.g[a.Tb].Rc||"---"),a.zd||e),this.J&&qe(this.J)):a.Pb=!1;a.zd&&(a.zd=!1,--this.M||C(this));ui(this,a.Tb);a.ic&&(a.ic(),a.ic=null)}; function Oi(a,b,c,d){if((a=a.H.listDisks)&&a.options){for(var e=0;e'+a+"");c.innerHTML=a}}h.mh=function(a){for(var b=0;b=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Fc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; -h.Uc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Ec;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Fc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Fc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; -h.Ze=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Jb|f>>16-R.ma.Jb&R.Jb;this.w=65536-e&65535;this.j=this.j&~cj.rd|d&cj.rd;this.i|=a;dj(this);return!0};function dj(a){a.b&=~R.hb;a.i&&(a.i|=S.Je,a.b|=R.hb,a.i&S.ed&&(a.b|=R.ed),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Bg=function(){return this.G};h.Sh=function(){};h.Cg=function(){return this.i};h.Th=function(){};h.yg=function(){return this.b&R.fc}; -h.Ph=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.dc){a=!0;var b,c,d="",e=(this.j&cj.sb)>>cj.ma.sb,f=this.g[e],g,k,l,m,n,q;this.b&=~(R.Za|R.sd);this.i&=~S.qf;switch(c=this.b&R.wa){case ej.Ee:E(this)&&F(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.Za;break;case ej.Ue:d="RCHK";case ej.tb:d||(d="READ"),b=this.Ub;case ej.vd:d||(d="WCHK");case ej.hc:d||(d="WRITE");b||(b=this.Uc);g=(this.j&cj.bc)>>cj.ma.bc;k=(this.j&cj.hd)>>cj.ma.hd;l=this.j&cj.rd;m=65536-this.w&65535;n=(this.b&R.Jb)<< -16-R.ma.Jb|this.u;q=this.b&R.Qe?0:2;E(this)&&F(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=f.aa){this.i|=S.Ec;break}if(l>=f.ea){this.i|=S.Fc;break}a=b.call(this,f,g,k,l,m,n,q,c>=ej.vd,this.Ze.bind(this));break;case ej.Kc:g=(this.j&cj.bc)>>cj.ma.bc;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g'+a+"");c.innerHTML=a}}h.mh=function(a){for(var b=0;b=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}var t,r;if(0>(t=a.read(n,q++))||0>(r=a.read(n,q++))){m=S.Gc;break}if(!k&&(Ac(this.F,Oe(this.f,f),t|r<<8),ld(this.F))){m=S.ec;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.Vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.da;var n=null,q;a||(m=S.Ud,e=0);for(;e;){var t=Cc(this.F,Oe(this.f,f));if(ld(this.F)){m=S.ec;break}if(!n){if(b>=a.aa){m=S.Fc;break}n=a.seek(b,c,d+1,!0);if(!n){m=S.ce;break}q=0;++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b))}if(k){var r,D;if(0>(r=a.read(n,q++))||0>(D=a.read(n,q++))){m=S.Gc;break}if(t!=(r|D<<8)){m=S.ge;break}}else if(!a.write(n,q++,t&255)||!a.write(n,q++,t>>8)){m=S.Gc;break}q>=a.ua&&(n=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; +h.Ze=function(a,b,c,d,e,f){this.u=f&65535;this.b=this.b&~R.Jb|f>>16-R.ma.Jb&R.Jb;this.w=65536-e&65535;this.j=this.j&~cj.sd|d&cj.sd;this.i|=a;dj(this);return!0};function dj(a){a.b&=~R.hb;a.i&&(a.i|=S.Je,a.b|=R.hb,a.i&S.ed&&(a.b|=R.ed),E(a)&&F(a,a.type+": ERROR: "+u(a.i)))}h.Bg=function(){return this.G};h.Sh=function(){};h.Cg=function(){return this.i};h.Th=function(){};h.yg=function(){return this.b&R.fc}; +h.Ph=function(a){this.b=this.b&~R.Sa|a&R.Sa;if(this.b&R.dc){a=!0;var b,c,d="",e=(this.j&cj.sb)>>cj.ma.sb,f=this.g[e],g,k,l,m,n,q;this.b&=~(R.Za|R.td);this.i&=~S.qf;switch(c=this.b&R.wa){case ej.Ee:E(this)&&F(this,this.type+": CRESET("+e+")",!0);this.i=this.j=0;this.b=R.Za;break;case ej.Ue:d="RCHK";case ej.tb:d||(d="READ"),b=this.Ub;case ej.wd:d||(d="WCHK");case ej.hc:d||(d="WRITE");b||(b=this.Vc);g=(this.j&cj.bc)>>cj.ma.bc;k=(this.j&cj.hd)>>cj.ma.hd;l=this.j&cj.sd;m=65536-this.w&65535;n=(this.b&R.Jb)<< +16-R.ma.Jb|this.u;q=this.b&R.Qe?0:2;E(this)&&F(this,this.type+": "+d+"("+g+":"+k+":"+l+") "+u(n)+"--"+u(n+(m<<1)),!0,!0);if(g>=f.aa){this.i|=S.Fc;break}if(l>=f.ea){this.i|=S.Gc;break}a=b.call(this,f,g,k,l,m,n,q,c>=ej.wd,this.Ze.bind(this));break;case ej.Lc:g=(this.j&cj.bc)>>cj.ma.bc;E(this)&&F(this,this.type+": SEEK("+g+")",!0);g(n=a.read(k,m++))||0>(q=a.read(k,m++))){g=hj.$a;break}Ac(this.F,Oe(this.f,f),n|q<<8);if(ld(this.F)){g=hj.ec;break}f+=2;e--;if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=hj.$a;break}}return l?l(g,b,c,d,e,f):g}; -h.Uc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=hj.$a,e=0);for(;e;){var n=Cc(this.F,Oe(this.f,f));if(ld(this.F)){g=hj.ec;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=hj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=hj.$a;break}if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=hj.$a;break}}return l?l(g,b,c,d,e,f):g}; -h.df=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Ya|f>>16-U.ma.Ya&U.Ya;this.u=f>>16&ij.ab;this.j=this.i=b<>U.ma.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.sb)>>U.ma.sb],e=d.da,f,g,k;this.b&=~U.Ea;switch(this.b&U.wa){case kj.uf:this.w&lj.Rd&&(this.b&=U.Ea|U.wa|U.Ya);this.w=d.status|this.j&jj.Jc|(e&&512==e.aa?lj.Ne:0);break;case kj.Kc:(this.i&jj.Me)==jj.rf&&(b=this.i&jj.gc,c=(this.i&jj.tf)<<2,this.j=this.i&jj.sf?this.j+b:this.j-b,this.i=this.j=this.j&jj.gc|c);break;case kj.Ye:this.w=this.j;break;case kj.Ve:c="READ",b=this.Ub; -case kj.wf:c||(c="WRITE"),b||(b=this.Uc),f=this.i>>jj.ma.gc,g=this.i&jj.Jc?1:0,k=this.i&jj.ae,!e||f>=e.aa||k>=e.ea?this.b=this.b|hj.$a|U.hb:(a=65536-this.w&65535,e=(this.u&ij.ab)<<16|this.C,E(this)&&F(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+u(e)+"--"+u(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.df.bind(this)))}a&&(this.b=this.b|U.Ea|U.Za,this.b&U.Ib&&nd(this.f,this.Qa))}};h.Eg=function(){return this.C};h.Vh=function(a){this.C=a&mj.Sa};h.Hg=function(){return this.i}; +h.Vc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.da;k=null;var m;a||(g=hj.$a,e=0);for(;e;){var n=Cc(this.F,Oe(this.f,f));if(ld(this.F)){g=hj.ec;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=hj.$a;break}m=0}if(!a.write(k,m++,n&255)||!a.write(k,m++,n>>8)){g=hj.$a;break}if(m>=a.ua&&(k=null,++d>=a.ea&&(d=0,++c>=a.ja&&(c=0,++b>=a.aa)))){g=hj.$a;break}}return l?l(g,b,c,d,e,f):g}; +h.df=function(a,b,c,d,e,f){this.C=f&65535;this.b=this.b&~U.Ya|f>>16-U.ma.Ya&U.Ya;this.u=f>>16&ij.ab;this.j=this.i=b<>U.ma.Ya;if(!(this.b&U.Za)){a=!0;var b,c="",d=this.g[(this.b&U.sb)>>U.ma.sb],e=d.da,f,g,k;this.b&=~U.Ea;switch(this.b&U.wa){case kj.uf:this.w&lj.Sd&&(this.b&=U.Ea|U.wa|U.Ya);this.w=d.status|this.j&jj.Kc|(e&&512==e.aa?lj.Ne:0);break;case kj.Lc:(this.i&jj.Me)==jj.rf&&(b=this.i&jj.gc,c=(this.i&jj.tf)<<2,this.j=this.i&jj.sf?this.j+b:this.j-b,this.i=this.j=this.j&jj.gc|c);break;case kj.Ye:this.w=this.j;break;case kj.Ve:c="READ",b=this.Ub; +case kj.wf:c||(c="WRITE"),b||(b=this.Vc),f=this.i>>jj.ma.gc,g=this.i&jj.Kc?1:0,k=this.i&jj.ae,!e||f>=e.aa||k>=e.ea?this.b=this.b|hj.$a|U.hb:(a=65536-this.w&65535,e=(this.u&ij.ab)<<16|this.C,E(this)&&F(this,this.type+": "+c+"("+f+":"+g+":"+k+") "+u(e)+"--"+u(e+(a<<1)),!0,!0),a=b.call(this,d,f,g,k,a,e,2,!1,this.df.bind(this)))}a&&(this.b=this.b|U.Ea|U.Za,this.b&U.Ib&&nd(this.f,this.Qa))}};h.Eg=function(){return this.C};h.Vh=function(a){this.C=a&mj.Sa};h.Hg=function(){return this.i}; h.Yh=function(a){this.i=a};h.Ig=function(){return this.w};h.Zh=function(a){this.w=a};h.Fg=function(){return this.u};h.Wh=function(a){this.u=a&ij.ab;this.b=this.b&~U.Ya|(this.u&3)<=m.aa){k=rj.Se;break}n=m.seek(b,c,d+1);if(!n){k=rj.pd;break}q=0;++d>=m.ea&&(d=0,++c>=m.ja&&(c=0,++b))}var t;if(0>(a=m.read(n,q++))||0>(t=m.read(n,q++))){k=rj.od;break}Ac(this.F,Oe(this.f,f),a|t<<8);q>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; -function pj(a){var b=0,c=a.b&W.td?1:0,d=a.g[c],d=d&&d.da,e=a.I&sj.ab,f=a.G&tj.ab;a.i&=~(uj.Md|uj.Xd|uj.cc|uj.Ea);if(d)if(a.i|=uj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;eg){b=rj.od;break}a.w[e++]=g}c.Ef&&(a.i|=uj.cc)}else b=rj.pd;else b=c?rj.gd:rj.fd;qj(a,b)} -h.Kg=function(a,b){a=this.b;if(!b)switch(a&=W.fc,this.j){case V.bd:case V.EMPTY:this.uthis.u&&(this.b|=W.cb)}return a}; -h.ai=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Cb();else if(this.b&W.dc&&this.j==V.Kb)switch(this.j=this.b&W.wa,this.b&=~(W.dc|W.cb|W.DONE|W.hb),td(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+vj[this.j>>1]+")",!0,!0),this.j){case V.bd:case V.EMPTY:case V.tb:case V.hc:case V.Lc:this.u=0;break;case V.Xe:a=this.g[this.b&W.td?1:0];this.i&=~uj.Ea;a&&a.da&&(this.i|=uj.Ea);this.C=this.i;qj(this);break;case V.We:this.C=this.L,qj(this)}else this.b&W.Ib?this.b&W.DONE&&nd(this.f, +h.Sc=function(){return[this.b,this.C,this.I,this.G,this.i,this.L,this.j,this.u,this.w]};h.we=function(a){a||this.Cb()};function qj(a,b){b&&(a.L=b,a.C=a.i,a.b|=W.hb);a.j=V.Kb;a.b|=W.DONE;a.b&W.Ib&&nd(a.f,a.Qa)} +h.Ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.da,n=null,q;E(this)&&F(this,this.type+".readData("+b+":"+c+":"+d+") "+u(f)+"--"+u(f+(e<<1)),!0,!0);m||(k=a.Tb?rj.gd:rj.fd,e=0);for(;e;){if(!n){if(b>=m.aa){k=rj.Se;break}n=m.seek(b,c,d+1);if(!n){k=rj.qd;break}q=0;++d>=m.ea&&(d=0,++c>=m.ja&&(c=0,++b))}var t;if(0>(a=m.read(n,q++))||0>(t=m.read(n,q++))){k=rj.pd;break}Ac(this.F,Oe(this.f,f),a|t<<8);q>=m.ua&&(n=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; +function pj(a){var b=0,c=a.b&W.ud?1:0,d=a.g[c],d=d&&d.da,e=a.I&sj.ab,f=a.G&tj.ab;a.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Ea);if(d)if(a.i|=uj.Ea,E(a)&&F(a,a.type+".readSector("+e+":0:"+f+")",!0,!0),c=d.seek(e,0,f,!0)){e=0;for(f=a.w.length;eg){b=rj.pd;break}a.w[e++]=g}c.Ef&&(a.i|=uj.cc)}else b=rj.qd;else b=c?rj.gd:rj.fd;qj(a,b)} +h.Kg=function(a,b){a=this.b;if(!b)switch(a&=W.fc,this.j){case V.bd:case V.EMPTY:this.uthis.u&&(this.b|=W.cb)}return a}; +h.ai=function(a){this.b=this.b&~W.Sa|a&W.Sa;if(this.b&W.INIT)this.Cb();else if(this.b&W.dc&&this.j==V.Kb)switch(this.j=this.b&W.wa,this.b&=~(W.dc|W.cb|W.DONE|W.hb),td(this.f,this.Qa),E(this)&&F(this,this.type+".processCommand("+vj[this.j>>1]+")",!0,!0),this.j){case V.bd:case V.EMPTY:case V.tb:case V.hc:case V.Mc:this.u=0;break;case V.Xe:a=this.g[this.b&W.ud?1:0];this.i&=~uj.Ea;a&&a.da&&(this.i|=uj.Ea);this.C=this.i;qj(this);break;case V.We:this.C=this.L,qj(this)}else this.b&W.Ib?this.b&W.DONE&&nd(this.f, this.Qa):td(this.f,this.Qa)};h.Lg=function(a,b){if(!b)switch(this.j){case V.EMPTY:this.b&W.cb&&(this.b&=~W.cb,this.C=this.w[this.u]&255,E(this)&&F(this,this.type+".readByte("+this.u+"): "+v(this.C,2,!0),!0,!0),++this.u>=this.w.length&&qj(this))}return this.C}; -h.bi=function(a){switch(this.j){case V.bd:this.b&W.cb&&(this.b&=~W.cb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Lc:if(this.b&W.cb)switch(this.b&=~W.cb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Lc,c=0,d=this.b&W.td?1:0,e=this.g[d],e=e&&e.da,f=this.I&sj.ab,g=this.G&tj.ab;this.i&=~(uj.Md|uj.Xd|uj.cc|uj.Ea);if(e)if(this.i|=uj.Ea,E(this)&& -F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;b=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Mc:if(this.b&W.cb)switch(this.b&=~W.cb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Mc,c=0,d=this.b&W.ud?1:0,e=this.g[d],e=e&&e.da,f=this.I&sj.ab,g=this.G&tj.ab;this.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Ea);if(e)if(this.i|=uj.Ea,E(this)&& +F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;ba.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.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(za(b.substring(c,f))),c=f+1}}return a} function zj(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 Aj(a,b,c){var d;if(b){b=Bj(a,b);for(var e=0,f=!1,g=b,k=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e} +function Cj(a,b,c,d){var e;null!=b?(e=a.re(b),0<=e?e=a.Bd(e):(e=a.S[b],null==e&&(e=ma(b,a.Aa))),null!=e||d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return e}function Ej(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e} function Fj(a,b){if(b)return Ej(a,b,a.S[b]);var c=0;for(b in a.S)Ej(a,b,a.S[b]),c++;return 0>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Dj={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Gj(a){xj.call(this,a);this.Ga=!1;this.ia=!0;this.G=X();this.Fa=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Hj(this);this.P=this.Y=0;this.i=[];this.pa=void 0;Ij(this);this.D=this;this.ka={};this.ha=this.ke=0;this.R=null;this.M=[];Jj(this,a.messages);this.ta=a.commands;this.Ja=Kj;this.W=[];this.I=0;this.Ka=this.sa=null;this.w=this.Ia=this.Ha=this.X=this.la=0;this.g=this.U=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return le(b,a)}):void 0===global[y]&&(global[y]= -function(a){return le(b,a)})}p(Gj,xj);function Lj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Gj.prototype;h.Gd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Mj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Pc]}function Nj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=yj(a,c.Pc=b[4]));return c} +function(a){return le(b,a)})}p(Gj,xj);function Lj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Ma:void 0===b?!1:b,Ua:!1,Aa:c}}h=Gj.prototype;h.Hd=function(a,b){a.K=b;a.Ua=!1;a.Aa=void 0;return a};function Mj(a){return[a.K,a.Ma,a.Aa,a.Ua,a.Qc]}function Nj(a,b){var c=X(b[0],b[1],b[2]);c.Ua=b[3];b[4]&&(c.he=yj(a,c.Qc=b[4]));return c} h.za=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=ge(a,"messages"))&&Jj(this,a);1140>this.f.ka&&(this.W=this.W.concat(Oj));1145>this.f.ka&&(this.W=this.W.concat(Pj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Lj(Qj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."): (c=n.type,m=dd[c],n&&d.v(v(n.id,8)+" %"+v(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;db||7a)b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.g;switch(a){case Yj:b=Ad(this.f);break;case Zj:b=c.ob;break;case ak:b=c.P;break;case bk:b=c.Ga&65280;break;case ck:b=ud(c);break;case dk:b=wd(c);break;case ek:b=xd(c);break;case fk:b=c.W;break;case Wj:d&&(b=d.fa);break;case gk:d&&(b=d.Eb);break;case hk:d&&(b=d.Wa)}}return b}; +h.Bd=function(a){var b;if(0<=a)if(8>a)b=this.f.g[a];else if(16>a)b=this.f.ta[a-8];else if(20>a)b=this.f.X[a-16];else{var c=this.f,d=this.g;switch(a){case Yj:b=Ad(this.f);break;case Zj:b=c.ob;break;case ak:b=c.P;break;case bk:b=c.Ga&65280;break;case ck:b=ud(c);break;case dk:b=wd(c);break;case ek:b=xd(c);break;case fk:b=c.W;break;case Wj:d&&(b=d.fa);break;case gk:d&&(b=d.Eb);break;case hk:d&&(b=d.Wa)}}return b}; h.message=function(a,b){b&&(a+=" @"+Tj(this,X(this.f.O&65535)));if(!this.R||a!=this.R)if(this.R=a,this.ha&1073741824)this.M.push(a);else{var c;if(this.ha&-2147483648&&this.f&&(c=this.f.A.V)||Eb(this,!0))this.ca(),c&&(a+=" (cpu halted)");this.v(a);this.f&&(a=this.f,re(a),a.Ab=0,a.J&&H(a.J,void 0))}}; function Ij(a){var b;if(!bf(a))a.i&&a.i.length&&a.v("instruction history buffer freed"),a.P=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(ik);for(b=0;b>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?mk(a):nk(a)}}function kk(a,b){var c;(c=!a.f||!Db(a.f))||(c=a.f,c.A.ba?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Cb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; +function je(a,b,c){if(a.Ga){void 0===b&&(b=!0);c&&a.v(lk+c);c=a.f;if(c=c.i&128?c.Ec|c.Dc<<8:0){var d=c>>8;a.v("trapped to "+K(a,c&255,8)+" ("+(0>d?Mb[-d]:K(a,d))+")")}a.G=X(a.f.g[7]);b&&1!=a.I?mk(a):nk(a)}}function kk(a,b){var c;(c=!a.f||!Db(a.f))||(c=a.f,c.A.ba?c=!0:(c.v(c.toString()+" not powered"),c=!1),c=!c);return c||a.f.A.V?(b||a.v("cpu busy or unavailable, command ignored"),!1):!Cb(a.f)}h.Ca=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0}; h.Ba=function(a,b){b&&this.v(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Ij(this);this.X=0;this.R=null;this.w=0;this.G=X(this.f.g[7]);this.A.V=!1;ok(this);a||je(this)};h.save=function(){var a=new G(this);a.set(0,Mj(this.G));a.set(1,Mj(this.N));a.set(2,[this.j,this.O,this.ha]);a.set(3,this.B);return a.data()}; h.restore=function(a){var b=0;void 0!==a[2]&&(this.G=Nj(this,a[b++]),this.N=Nj(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.O=a[b][1],this.ha|=a[b][2]);a[3]&&(this.B=a[3]);return!0};h.start=function(a,b){this.I||this.v("running");this.A.V=!0;this.Ha=a;this.Ia=b}; h.stop=function(a,b){if(this.A.V){this.A.V=!1;this.w=b-this.Ia;if(!this.I){b="stopped";if(this.w){a-=this.Ha;var c=0d&&(d=Dc(a.f,b)),65535!=(d&65535)&&(a.Gd(a.i[a.P],b),++a.P==a.i.length&&(a.P=0)));return!1}function Dg(a){var b=a.f;if(b.A.V)throw rc(b,a.f.O&65535),a.ca(),-1;return!1}function ae(a,b,c){pk(a,b,c||1,a.L)&&a.ca(!1)}function be(a,b,c){pk(a,b,c||1,a.C)&&a.ca(!1)} +function cf(a,b,c){var d=-1;c||(d=Dc(a.f,b))||(a.f.O&65535)!=b||(b=Fe(a.f,2));if(0d&&(d=Dc(a.f,b)),65535!=(d&65535)&&(a.Hd(a.i[a.P],b),++a.P==a.i.length&&(a.P=0)));return!1}function Dg(a){var b=a.f;if(b.A.V)throw rc(b,a.f.O&65535),a.ca(),-1;return!1}function ae(a,b,c){pk(a,b,c||1,a.L)&&a.ca(!1)}function be(a,b,c){pk(a,b,c||1,a.C)&&a.ca(!1)} function Hj(a){var b,c,d;a.b=["bp"];if(a.L)for(b=1;b>>c.g],!1)):Re(a.f,!1);a.L=["br"];if(a.C)for(b=1;b>>c.g],!0)):Re(a.f,!0);a.C=["bw"];a.la=0;a.Y=0} h.Bb=function(a,b,c){var d=!0;c||qk(this,a,b,!1,!0);if(a!=this.b){var e=Lj(b);if(-1===e)this.v("invalid address: "+Tj(this,b)),d=!1;else{var f=a==this.C;65535>>g.g].Bb(e&g.i,f)}else e=this.f,(f?e.tc++:e.sc++)||ye(e)}}d&&(a.push(b),c?b.Ua=!0:(rk(this,a,a.length-1,"set"),Ij(this)));return d}; -function qk(a,b,c,d,e){var f=!1;c=Lj(c);for(var g=1;g>>d.g],b)):Re(a.f,b));k.Ua||Ij(a);break}}return f}function sk(a,b){for(var c=1;c>>d.g],b)):Re(a.f,b));k.Ua||Ij(a);break}}return f}function sk(a,b){for(var c=1;c>23)&65535,A=K(r,t);else if(B==yk)t=t.K-((f&63)<<1)&65535,A=K(r,t);else if(B==zk)A=K(r,f&7,3);else if(B==Ak)A=K(r,f&63,6);else if(B==Bk)A=K(r,f&255,8);else if(B=f&D,D&Ck&&(B>>=6,D>>=6),D&Z){var D=null,J=B& Dk;switch(B&Ek){case 0:A=Vj(r,J);break;case 8:A="@"+Vj(r,J);D=Fk(r,r.f.g[J]);break;case 16:7>J?A="("+Vj(r,J)+")+":(B=r.Ra(t,2),A="#"+K(r,B,-1));break;case 24:7>J?A="@("+Vj(r,J)+")+":(B=r.Ra(t,2),A="@#"+K(r,B,-1),D=Fk(r,B));break;case 32:A="-("+Vj(r,J)+")";break;case 40:A="@-("+Vj(r,J)+")";break;case 48:B=r.Ra(t,2);A=K(r,B,-1)+"("+Vj(r,J)+")";7==J&&(A=K(r,B=B+t.K&65535),D=Fk(r,B));break;case 56:B=r.Ra(t,2),A="@"+K(r,B)+"("+Vj(r,J)+")",7==J&&(A="@"+K(r,B=B+t.K&65535),D=Fk(r,Dc(r.f,B)))}D&&(A=[A,D])}r= A;if(!r||!r.length){k="INVALID";break}"string"!=typeof r&&(m=r[1],r=r[0]);0=a.f.ub&&b=c.B&&(b=c.Pa[b&kd])&&(a=b[4]);return a}function Gk(a,b){switch(b){case "N":a=Ee(a.f);break;case "Z":a=De(a.f);break;case "V":a=Ce(a.f);break;case "C":a=Be(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Hk(a,b){var c=Vj(a,b);c&&(c+="="+K(a,a.Ad(b))+" ");return c} +function Fk(a,b){b=Pe(a.f,b)[0];b>=a.f.ub&&b=c.B&&(b=c.Pa[b&kd])&&(a=b[4]);return a}function Gk(a,b){switch(b){case "N":a=Ee(a.f);break;case "Z":a=De(a.f);break;case "V":a=Ce(a.f);break;case "C":a=Be(a.f);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Hk(a,b){var c=Vj(a,b);c&&(c+="="+K(a,a.Bd(b))+" ");return c} function Ik(a,b){var c,d="";for(c=0;6>c;c++)d+=Hk(a,c);d=d+"\n"+(Hk(a,6)+Hk(a,7));d+=Hk(a,Yj)+Hk(a,Zj)+Hk(a,bk);d+=Gk(a,"T")+Gk(a,"N")+Gk(a,"Z")+Gk(a,"V")+Gk(a,"C");b&&(b=d,c=""+(Hk(a,ck)+Hk(a,dk)),c+=Hk(a,ek)+Hk(a,fk)+Hk(a,ak),c=c+"\n"+(Hk(a,hk)+Hk(a,Wj)+Hk(a,gk)),d=b+("\n"+c));return d}h.me=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],q=Ba(n,l,a.me);0>q&&n.splice(-(q+1),0,l)}m&&(k.a=m.replace(/''/g,'"'))}a.B.push({Hk:b,K:c,Lf:d,ga:e,ie:f})}function Jk(a,b,c){var d=[],e=Lj(b)>>>0;for(b=0;b>>0,k=f.Lf;if(e>=g&&ek[0].indexOf("+"))){var m=k[0]+":";k[2]&&(m+=" "+k[2]);a.v(m)}k[3]&&(g=k[3],f=null);f=uk(a,b,g,f);a.v(f);a.G=b;e-=b.K-l;c++}}} function tk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(lk+b):(a.O&&(a.v("ended assemble at "+Tj(a,a.N)),a.G=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.R=null;if(Db(a)&&0n||"z"Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ia-=Ca;0>Ia&&(null==Ua[Ua.length-1].K?(Ca=Ia+Ca,Ia=0):Ia+=Ua.length);var jf=[];"call"==zi&&(Lc=1E5,jf=["CALL"]);for(void 0!==yi&&a.v(Ca+" instructions earlier:");0=Ua.length&&(Ia=0);a.pa=Ca;Bi++;Lc--}}Bi||(a.v("no "+Ai+"history available"),a.pa=void 0)}else{var oa=Qj(a,Ta);if(oa)if("da"==jb){var kf=oa.Ma||65535O.length?(2=Ua.length&&(Ia=0);a.pa=Ca;Bi++;Lc--}}Bi||(a.v("no "+Ai+"history available"),a.pa=void 0)}else{var oa=Qj(a,Ta);if(oa)if("da"==jb){var kf=oa.Ma||65535O.length?(2xb&&(xb=0);65536of?String.fromCharCode(of):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=lf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+nf))}zb&&a.v(zb);a.Fa=oa;a.Aa=ql}}}}break;case "e":if("else"== -g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Od,rf=a.Pd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Ra,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Qj(a,tf);if(Od)for(var Pd=2;Pdof?String.fromCharCode(of):"."),Nd=Nd>>8}zb&&(zb+="\n");zb=lf?zb+(Ab+","):zb+(Ta+": "+Ab+(Md?"":" "+nf))}zb&&a.v(zb);a.Fa=oa;a.Aa=ql}}}}break;case "e":if("else"== +g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Pd,rf=a.Qd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Ra,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Qj(a,tf);if(Od)for(var Pd=2;Pdwf;){for(var Bb=null,ul=256;65536>Rc.K>>>0;){xf.K=a.Ra(Rc,2);if(null==Rc.K||!ul--)break;if(!(xf.K&1)){for(var vl=a,Qd=xf,Gi=null,Sc=Qd.K,Hi=Sc,yf=1;6>=yf&⪼yf++){if(2=d||30<=(c.$c+=d))&&(e.textContent=c.A.V?c.wb.toFixed(2)+"Mhz":"Stopped",c.$c=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;eb?a.fa=a.f.g[7]:0=d||30<=(c.ad+=d))&&(e.textContent=c.A.V?c.wb.toFixed(2)+"Mhz":"Stopped",c.ad=0)}if(a.i&&(a=a.i,b=b||0,a.u)){c=a.f.A.V;d=!!(a.f.i&8);if(0>=b||60<=(a.j+=b)){for(e=0;eb?a.fa=a.f.g[7]:0a?-b:b}});ja("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});ja("Array.prototype.fill",function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c":62,"?":63,"@":64,hd:65,Lh:66,Rh:67,si:68,E:69,yi:70,Bi:71,Ni:72,Pi:73,Qi:74,Ri:75,Si:76,Vi:77,Xi:78,cj:79,fj:80,Q:81,hj:82,kj:83,tj:84,vj:85,xj:86,yj:87,Cj:88,Dj:89,Ke:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ej:97,Gj:98,Jj:99,d:100,e:101,Kj:102,Lj:103,Mj:104,Nj:105,Rj:106,k:107,Sj:108,Tj:109,n:110,Uj:111,p:112,q:113,r:114,Vj:115,t:116,Xj:117,Yj:118,Zj:119,x:120, +var ka={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},la={Ph:0,Ud:1,Wh:2,Xh:3,Yh:4,Zh:5,$h:6,ai:7,ld:8,bi:9,Vd:10,ci:11,di:12,Wd:13,ei:14,fi:15,gi:16,hi:17,ii:18,ji:19,ki:20,li:21,mi:22,ni:23,oi:24,pi:25,ri:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39, +"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,jd:65,Lh:66,Rh:67,si:68,E:69,yi:70,Bi:71,Ni:72,Pi:73,Qi:74,Ri:75,Si:76,Vi:77,Xi:78,cj:79,fj:80,Q:81,hj:82,kj:83,tj:84,vj:85,xj:86,yj:87,Cj:88,Dj:89,Ke:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ej:97,Gj:98,Jj:99,d:100,e:101,Kj:102,Lj:103,Mj:104,Nj:105,Rj:106,k:107,Sj:108,Tj:109,n:110,Uj:111,p:112,q:113,r:114,Vj:115,t:116,Xj:117,Yj:118,Zj:119,x:120, y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127}; function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function pa(a,b){b?12a?this.ib=this.id:(this.Ua=this.id.substr(0,a),this.ib=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Wc:!1,R:!1,error:!1};this.ic=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.v=this.A=this.ob=null;u.push(this)}function Sa(a,b,c){Ua[a]&&b&&(Ua[a][b]=c)}function Va(){return Date.now()||+new Date} +function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.qd=b.comment;this.Ie=b;this.exports={};this.o=this.bindings={};a=this.id.indexOf(".");0>a?this.ib=this.id:(this.Ua=this.id.substr(0,a),this.ib=this.id.substr(a+1));this.j={ready:!1,Ra:!1,Yc:!1,R:!1,error:!1};this.ic=null;this.j.error=!1;this.pd=c||0;this.D=this.c=this.v=this.A=this.ob=null;u.push(this)}function Sa(a,b,c){Ua[a]&&b&&(Ua[a][b]=c)}function Va(){return Date.now()||+new Date} function r(a){window&&window.alert(a)}function Wa(a){var b=!1;window&&(b=window.confirm(a));return b}function Xa(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.ff,a];this.D=this.c=this.v=this.A=null;this.exports={hold:this.We,toggle:this.Bg,reset:this.ug, set:this.zg};B(this)}n(mb,t);h=mb.prototype;h.reset=function(a){this.stop();a&&ob(this,this.b=0)}; h.ma=function(a,b,c,d){if(this.A&&this.A.ma(a,b,c,d)||this.c&&this.c.ma(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.l++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.h[b]=d?1:0,this.l++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){pb(a, @@ -79,7 +79,7 @@ h.ka=function(a){return a?this.save():!0};h.save=function(){var a=new E(this);a. function Ab(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function vb(a){for(var b in a.a)Ab(a,b,a.a[b][1])}function Bb(a,b,c,d){if(a.o[b]){var e=a.D&&a.D.h||8;c=c||0;c=8==e?pa(c,d):qa(c,d);a.o[b].textContent!=c&&(a.o[b].textContent=c)}}h.We=function(a,b,c){if(pb(this,b)){if(c){var d=this;setTimeout(function(){qb(d,b);a&&a()},+c);return!1}qb(this,b)}return!0}; h.zg=function(a,b){if("SR"==a)return yb(this,na(b,8));var c=this.a[a];return c?(c[1]=+b?1:0,Ab(this,a,c[1]),!0):!1};h.Bg=function(a){return pb(this,a)?(qb(this,a),!0):!1};function pb(a,b){var c=a.a[b];return c?(Ab(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=Cb&&(a.w=b==Db,a.B=b==Eb),!0):!1}function qb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(Ab(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} h.gf=function(a){a||this.c.j.N||(F(this.c,this.U),a=this.c,a.v.reset(),Fb(a),this.a[Gb]&&this.a[Gb][1]&&Hb(this.c))};h.hf=function(){};h.bf=function(a){a||G(this.c)}; -h.$e=function(a){if(!a&&!this.c.j.N)if(this.a[Gb]&&this.a[Gb][1])Hb(this.c);else{a=this.D;var b;if(b=a)a.j.Ra&&(a.j.Wc=!0),b=!a.j.Ra;if(b)fb(a,!0),a.f(0,null),fb(a,!1);else try{var c=this.c.zc(1);0=a.c.sa?8:16,c=65472<=a.U&&a.U<65472+b,b=c?1:2,c=c?15:a.v.u;a.a[Cb]&&a.a[Cb][1]||(b=-b);xb(a,a.U&~c|a.U+b&c)}function xb(a,b){a.U=b&a.v.u;if(a.s!==a.U){a.s=a.U;b=a.s;for(var c=0;22>c;c++)Qb(a,"A"+c,b&1<c;c++)Qb(a,"D"+c,b&1<b;b++)a.a["S"+b][1]=a.f&1<a.c.sa)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null;65472<=f&&65487>=f&&(!k&&m&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var q=g[4],v=g[5]||1,y=0;y>8:e[2](f)&255):f&1&&(e=d.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return c;I(d,b,16);return 255} function Vb(a,b,c){var d=!1,e=this.controller,f=e.Qa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Qa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d||I(e,c,16)}function Wb(a,b){var c=-1,d=this.controller;a=d.Qa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return c;I(d,b,16);return 65535} -function Xb(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function K(a){t.call(this,"Device",a,256);this.a={Ia:128,dd:-1}}n(K,t);h=K.prototype;h.ja=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.dd=nc(c,function(){e.a.Ia|=128;e.a.Ia&64&&oc(e.c,e.a.qa);e.A&&Lb(e.A,1);pc(e.c,e.a.dd,1E3/60)});this.a.qa=qc(c,64,6,2097152);rb(b,this,rc);tb(b,this.reset.bind(this));B(this)}; -h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a.Ia=128;pc(this.c,this.a.dd,1E3/60,!0)};h.save=function(){var a=new E(this);a.set(0,[this.a.Ia]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.Ia=a.next().value;return!0};h.vf=function(){return this.a.Ia};h.Og=function(a){this.a.Ia=a&192;this.a.Ia&64||(a=this.a.qa)&&sc(this.c,a)};h.xf=function(){return tc(this.c)}; +function Xb(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d||I(e,c,16)}function K(a){t.call(this,"Device",a,256);this.a={Ia:128,fd:-1}}n(K,t);h=K.prototype;h.ja=function(a,b,c,d){this.v=b;this.A=a;this.c=c;this.D=d;var e=this;this.a.fd=nc(c,function(){e.a.Ia|=128;e.a.Ia&64&&oc(e.c,e.a.qa);e.A&&Lb(e.A,1);pc(e.c,e.a.fd,1E3/60)});this.a.qa=qc(c,64,6,2097152);rb(b,this,rc);tb(b,this.reset.bind(this));B(this)}; +h.la=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.ka=function(a){return a?this.save():!0};h.reset=function(){this.a.Ia=128;pc(this.c,this.a.fd,1E3/60,!0)};h.save=function(){var a=new E(this);a.set(0,[this.a.Ia]);return a.data()};h.restore=function(a){a=ia(a[0]);this.a.Ia=a.next().value;return!0};h.vf=function(){return this.a.Ia};h.Og=function(a){this.a.Ia=a&192;this.a.Ia&64||(a=this.a.qa)&&sc(this.c,a)};h.xf=function(){return tc(this.c)}; h.Qg=function(a){uc(this.c,a&-129|this.c.J&128)};h.yf=function(){return vc(this.c)};h.zf=function(){return wc(this.c)};h.Af=function(){return this.c.ta};h.Rg=function(a){xc(this.c,a)};h.lg=function(a){a=a>>1&63;var b=this.c.Pa[a>>1];return a&1?b>>16:b&65535};h.Dh=function(a,b){b=b>>1&63;var c=b>>1;this.c.Pa[c]=b&1?this.c.Pa[c]&65535|(a&63)<<16:this.c.Pa[c]&-65536|a&65534};h.eg=function(a){return this.c.s[1][a>>1&7]};h.wh=function(a,b){this.c.s[1][b>>1&7]=a&65295}; h.cg=function(a){return this.c.s[1][(a>>1&7)+8]};h.uh=function(a,b){this.c.s[1][(b>>1&7)+8]=a&65295};h.dg=function(a){return this.c.H[1][a>>1&7]};h.vh=function(a,b){b=b>>1&7;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.bg=function(a){return this.c.H[1][(a>>1&7)+8]};h.th=function(a,b){b=(b>>1&7)+8;this.c.H[1][b]=a;this.c.s[1][b]&=65295};h.uf=function(a){return this.c.s[0][a>>1&7]};h.Ng=function(a,b){this.c.s[0][b>>1&7]=a&65295};h.sf=function(a){return this.c.s[0][(a>>1&7)+8]}; h.Lg=function(a,b){this.c.s[0][(b>>1&7)+8]=a&65295};h.tf=function(a){return this.c.H[0][a>>1&7]};h.Mg=function(a,b){b=b>>1&7;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.rf=function(a){return this.c.H[0][(a>>1&7)+8]};h.Kg=function(a,b){b=(b>>1&7)+8;this.c.H[0][b]=a;this.c.s[0][b]&=65295};h.kg=function(a){return this.c.s[3][a>>1&7]};h.Ch=function(a,b){this.c.s[3][b>>1&7]=a&65295};h.ig=function(a){return this.c.s[3][(a>>1&7)+8]};h.Ah=function(a,b){this.c.s[3][(b>>1&7)+8]=a&65295}; @@ -110,49 +110,49 @@ K.prototype.yb,"R4SET0"],L[65477]=[null,null,K.prototype.vb,K.prototype.yb,"R5SE K.prototype.zb,"R4SET1",1,1145],L[65485]=[null,null,K.prototype.wb,K.prototype.zb,"R5SET1",1,1145],L[65486]=[null,null,K.prototype.If,K.prototype.Zg,"R6SUPER",1,1145],L[65487]=[null,null,K.prototype.Jf,K.prototype.$g,"R6USER",1,1145],L[65504]=[null,null,K.prototype.qf,K.prototype.Jg,"CTRL",8,1170],L[65520]=[null,null,K.prototype.Md,K.prototype.Pd,"LSIZE",1,1170],L[65522]=[null,null,K.prototype.Md,K.prototype.Pd,"HSIZE",1,1170],L[65524]=[null,null,K.prototype.gg,K.prototype.yh,"SYSID",1,1170],L[65526]= [null,null,K.prototype.pf,K.prototype.Ig,"ERR",1,1170],L[65528]=[null,null,K.prototype.wf,K.prototype.Pg,"MBR",1,1170],L[65530]=[null,null,K.prototype.Bf,K.prototype.Sg,"PIR"],L[65532]=[null,null,K.prototype.fg,K.prototype.xh,"SLR"],L[65534]=[null,null,K.prototype.Gf,K.prototype.Xg,"PSW"],L); Ka(function(){for(var a=A(document,z,"device"),b=0;b>1),this.c=new Int32Array(this.f,0,this.size>>2),Gc(this,Hc?Ic:Jc);else{a=this.c=Array(this.size>>2);for(f=0;f>2),b=0;b>8,c)};h.mf=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.qg=function(a,b){ib&&a&1&&I(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8}; +h.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(gb)for(b=0;b>8,c)};h.mf=function(a){return this.c[a>>2]>>>((a&3)<<3)&255};h.qg=function(a,b){ib&&a&1&&I(this.b,b,64);b=a>>2;a=(a&3)<<3;var c=this.c[b]>>a;return 24>a?c&65535:c&255|(this.c[b+1]&255)<<8}; h.Gg=function(a,b){var c=a>>2;a=(a&3)<<3;this.c[c]=this.c[c]&~(255<>2;a=(a&3)<<3;24>a?this.c[c]=this.c[c]&~(65535<>8);this.Ha=!0};h.kf=function(a,b){return this.i(a,b)};h.ng=function(a,b){return this.D(a,b)};h.Eg=function(a,b,c){this.A?this.Wb(0,0,c):this.o(a,b,c)};h.Fh=function(a,b,c){this.A?this.Wb(0,0,c):this.l(a,b,c)};h.jf=function(a){return this.a[a]}; h.lf=function(a){return this.a[a]};h.mg=function(a,b){ib&&a&1&&I(this.b,b,64);return this.v.getUint16(a,!0)};h.pg=function(a,b){ib&&a&1&&I(this.b,b,64);return!jb&&a&1?this.a[a]|this.a[a+1]<<8:this.m[a>>1]};h.Dg=function(a,b){this.a[a]=b;this.Ha=!0};h.Fg=function(a,b){this.a[a]=b;this.Ha=!0};h.Eh=function(a,b,c){ib&&a&1&&I(this.b,c,64);this.v.setUint16(a,b,!0);this.Ha=!0};h.Gh=function(a,b,c){ib&&a&1&&I(this.b,c,64);!jb&&a&1?(this.a[a]=b,this.a[a+1]=b>>8):this.m[a>>1]=b;this.Ha=!0}; var Ec=0,jc=1,Fc=2,$b=4,ec=["NONE","RAM","ROM","VID","H/W"],Dc=0,Lc=[],Kc=[H.prototype.mf,H.prototype.Gg,H.prototype.qg,H.prototype.Hh],Oc=[H.prototype.kf,H.prototype.Eg,H.prototype.ng,H.prototype.Fh];if(gb)var Jc=[H.prototype.jf,H.prototype.Dg,H.prototype.mg,H.prototype.Eh],Ic=[H.prototype.lf,H.prototype.Fg,H.prototype.pg,H.prototype.Gh];var Pc;if(gb){var Rc=new ArrayBuffer(2);(new DataView(Rc)).setUint16(0,256,!0);Pc=256===(new Uint16Array(Rc))[0]}else Pc=!1;var Hc=Pc; -function Sc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.fd=0;this.tc=b;this.Za=c;this.Dc=Math.round(this.tc/1E4)/100;this.jb=this.Dc*this.Za;this.Fc=this.Nb=this.mb=this.uc=0;this.j.N=this.j.cd=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.gc=!1;this.rc=this.lb=0;this.sc=+a.csStart;this.Lb=+a.csInterval;this.Mb=+a.csStop;this.X=[];this.td=this.vg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Kb=this.La=this.nb=this.Gc= +function Sc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.hd=0;this.uc=b;this.Za=c;this.Gc=Math.round(this.uc/1E4)/100;this.jb=this.Gc*this.Za;this.Hc=this.Nb=this.mb=this.wc=0;this.j.N=this.j.ed=!1;this.j.Y=a.autoStart;"string"==typeof this.j.Y&&(this.j.Y="true"==this.j.Y);this.j.gc=!1;this.sc=this.lb=0;this.tc=+a.csStart;this.Lb=+a.csInterval;this.Mb=+a.csStop;this.X=[];this.td=this.vg.bind(this);this.Na=this.Da=this.Ma=this.a=this.ba=this.Ca=this.Kb=this.La=this.nb=this.Mc= this.Wa=0;this.pa=null;B(this)}n(Sc,t);h=Sc.prototype;h.ja=function(a,b,c,d){this.A=a;this.v=b;this.D=d;this.pa=a.f;for(a=0;a=a.lb&&(a.lb+=a.Lb,c=!0);0<=a.Mb&&a.Mb<=Xc(a)&&(a.Lb=a.Mb=-1,Wc(a),G(a),c=!0);c&&a.aa(Xc(a)+" cycles: checksum="+qa(a.rc))}} +function Wc(a){void 0===a.tc&&(a.tc=0);void 0===a.Lb&&(a.Lb=-1);void 0===a.Mb&&(a.Mb=-1);a.j.gc=0<=a.tc&&0=a.lb&&(a.lb+=a.Lb,c=!0);0<=a.Mb&&a.Mb<=Xc(a)&&(a.Lb=a.Mb=-1,Wc(a),G(a),c=!0);c&&a.aa(Xc(a)+" cycles: checksum="+qa(a.sc))}} h.ma=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.R)a=!0;else{var b=null,c,k=Xa(a.id);for(c=0;ca.Wa/a.jb&&(b=1);a.Za=b;b=a.Dc*a.Za;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&ad(a.A)}Jb(a,a.Da);a.Da=0;a.Ca=Va();a.La=0;Zc(a)}function nc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function pc(a,b,c,d){0<=b&&ba.X[b][0])&&(c=a.tc*a.Za/1E3*c|0,a.j.N&&(c+=bd(a)),a.X[b][0]=c)}function cd(a){for(var b=[],c=0;ca.Wa/a.jb&&(b=1);a.Za=b;b=a.Gc*a.Za;if(a.jb!=b){a.jb=b;b=a.jb.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.aa("target speed: "+b)}c&&a.A&&ad(a.A)}Jb(a,a.Da);a.Da=0;a.Ca=Va();a.La=0;Zc(a)}function nc(a,b){var c=a.X.length;a.X.push([-1,b]);return c}function pc(a,b,c,d){0<=b&&ba.X[b][0])&&(c=a.uc*a.Za/1E3*c|0,a.j.N&&(c+=bd(a)),a.X[b][0]=c)}function cd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bd(a,b){var c=a.Ma-=a.a;a.a=a.ba=0;b&&(a.Ma=0);return c} -h.vg=function(){if(this.j.N){this.uc>=this.tc&&Zc(this,!0);this.nb=0;this.Kb=Va();if(this.La){var a=this.Kb-this.La;a>this.Fc&&(this.Ca+=a,this.Ca>this.Kb&&(this.Ca=this.Kb))}try{do{for(var b,c=this.j.gc?1:this.Nb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.zc(b)}catch(f){if("number"!=typeof f)throw f;}b=bd(this,!0);this.nb+=b;this.Da+=b;Kb(this,b);Ib(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Nb;++this.Gc>=dd&&(this.A&&Lb(this.A,void 0),this.Gc=0);break}}while(this.j.N)}catch(f){G(this); -this.A&&this.A.stop(Va(),Xc(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.N){a=setTimeout;b=this.td;this.La=Va();c=this.Fc;this.nb&&(c=Math.round(c*this.nb/this.Nb));c-=this.La-this.Kb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,Yc(this));if(0>c||this.Wac&&(this.Ca-=c),c=0;this.uc+=this.nb;this.La+=c;a(b,c)}}}; -function Hb(a){var b;a.j.error?(a.aa(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.aa(a.toString()+" busy");else{Yc(a);a.j.N=!0;a.j.cd=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,Xc(a));a.D||a.status("Started");setTimeout(a.td,0)}}h.zc=function(){return 0};function G(a){var b=!1;if(a.j.N){bd(a);Jb(a,a.Da);a.Da=0;a.j.N=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(Va(),Xc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var $c=30,dd=15,Tc=["power","reset"]; -function ed(a){var b=+a.model||1170;Sc.call(this,a,6666667);this.sa=b;this.od=+a.addrReset||0;this.Ea=this.i=this.B=this.u=this.l=this.m=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Rb=[];this.Ka=this.C=this.nd=this.kb=this.Xa=this.Ya=this.cb=this.F=this.Ob=this.$a=this.Oa=this.J=this.Pb=this.Qb=this.ta=this.g=0;this.He=[4,2,0,1];this.wc=0;this.sd=255;1120>=this.sa?(this.vd=fd.bind(this),this.hb=this.Pe,this.wc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=gd.bind(this),this.hb=this.Qe, -this.zd=~(1792|(1140>=this.sa?2048:0))&65535,this.wd=1140=this.uc&&Zc(this,!0);this.nb=0;this.Kb=Va();if(this.La){var a=this.Kb-this.La;a>this.Hc&&(this.Ca+=a,this.Ca>this.Kb&&(this.Ca=this.Kb))}try{do{for(var b,c=this.j.gc?1:this.Nb,d=this.X.length-1;0<=d;d--){var e=this.X[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ac(b)}catch(f){if("number"!=typeof f)throw f;}b=bd(this,!0);this.nb+=b;this.Da+=b;Kb(this,b);Ib(this,b);this.mb-=b;if(0>=this.mb){this.mb+=this.Nb;++this.Mc>=dd&&(this.A&&Lb(this.A,void 0),this.Mc=0);break}}while(this.j.N)}catch(f){G(this); +this.A&&this.A.stop(Va(),Xc(this));a=f.stack||f.message;this.j.error=!0;this.G(a);return}if(this.j.N){a=setTimeout;b=this.td;this.La=Va();c=this.Hc;this.nb&&(c=Math.round(c*this.nb/this.Nb));c-=this.La-this.Kb;if(d=this.La-this.Ca)this.Wa=Math.round(this.Da/(10*d))/100,864E5<=d&&(this.Na=0,Yc(this));if(0>c||this.Wac&&(this.Ca-=c),c=0;this.wc+=this.nb;this.La+=c;a(b,c)}}}; +function Hb(a){var b;a.j.error?(a.aa(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.N)a.aa(a.toString()+" busy");else{Yc(a);a.j.N=!0;a.j.ed=!0;if(b=a.o.run)b.textContent="Halt";a.A&&a.A.start(a.Ca,Xc(a));a.D||a.status("Started");setTimeout(a.td,0)}}h.Ac=function(){return 0};function G(a){var b=!1;if(a.j.N){bd(a);Jb(a,a.Da);a.Da=0;a.j.N=!1;if(b=a.o.run)b.textContent="Run";a.A&&a.A.stop(Va(),Xc(a));b=!0;a.D||a.status("Stopped")}a.j.complete=void 0;return b}var $c=30,dd=15,Tc=["power","reset"]; +function ed(a){var b=+a.model||1170;Sc.call(this,a,6666667);this.sa=b;this.qc=+a.addrReset||0;this.Ea=this.i=this.B=this.u=this.l=this.m=this.w=0;this.b=this.ua=this.ga=[];this.H=this.s=this.Pa=this.Rb=[];this.Ka=this.C=this.od=this.kb=this.Xa=this.Ya=this.cb=this.F=this.Ob=this.$a=this.Oa=this.J=this.Pb=this.Qb=this.ta=this.g=0;this.He=[4,2,0,1];this.xc=0;this.sd=255;1120>=this.sa?(this.vd=fd.bind(this),this.hb=this.Pe,this.xc=8,this.sd=-1,this.zd=255,this.wd=0):(this.vd=gd.bind(this),this.hb=this.Qe, +this.zd=~(1792|(1140>=this.sa?2048:0))&65535,this.wd=1140e.Ub&&(e.Ub=c,c+=4)}return Sc.prototype.la.call(this,a,b)}; -h.reset=function(){this.status("Model "+this.sa);this.j.N&&G(this);this.u=65536;this.l=32768;this.m=65535;this.w=32768;this.i=15;this.b=[0,0,0,0,0,0,0,this.od,-1,-2,-3,-4,-5,-6,-7,-8];this.ua=[0,0,0,0,0,0];this.ga=[0,0,0,0];this.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.s=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535, -65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Pa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Rb=[0,0,0,0,0,0,0,0];this.B=0;this.Ea=-1;this.h=this.f=this.qc=this.K=this.S=this.g=this.Ob=0;Fb(this);Vc(this);this.j.error=!1;Sc.prototype.reset.call(this)};function Fb(a){a.J=0;a.Pb=0;a.Qb=0;a.ta=0;a.F=0;a.$a=0;a.Oa=255;a.kb=0;a.Xa=0;a.Ya=0;a.cb=262143;a.Ka=a.b[7];a.C=0;a.I=null;a.v&&(hd(a),a.nd=ic(a.v))} -function hd(a){a.kc=a.gd;a.lc=a.xc;a.yc=a.Ac;a.mc=a.Cc;a.kb?(a.Aa=65536,a.jc=a.ta&16?4186112:253952,a.ra=a.Id,a.W=a.Nd,a.Ab=a.Qd,ac(a.v,a.ta&16?22:18)):(a.Aa=0,a.jc=57344,a.ra=a.Ue,a.W=a.og,a.Ab=a.Ih,ac(a.v,16))}function tc(a){var b=a.J;b&57344||(b=b&-3199|a.Xa<<5|a.Ya<<1);return b}function uc(a,b){b&=-3073;if(a.J!=b){b&57344&&!(a.J&57344)&&(a.Pb=a.C>>16&65535,a.Qb=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.kb!=c&&(a.kb=c,hd(a))}} -function vc(a){a.J&57344||(a.Pb=a.C>>16&65535);a=a.Pb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wc(a){a.J&57344||(a.Qb=a.C&65535);return a.Qb}function xc(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.cb=b&16?4194303:262143,hd(a))}function id(a,b,c,d){a.od=b;F(a,b);Ac(a,0);a.v.reset();Fb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.R?a.j.N||Hb(a):a.j.Y=!0}else a.D&&a.j.R?G(a)||a.A.j.reset||(a.D.g(),Lb(a.A,-1)):!1===c&&G(a);!a.j.N&&a.pa&&a.pa.stop()}h.Hd=function(){return 0}; -h.save=function(){var a=new E(this);a.set(0,[this.b,this.ua,this.ga,this.H,this.s,this.Pa,this.Rb,this.F,this.Ob,this.$a,this.Oa,this.Xa,this.Ya,this.Ka,this.g,this.C,this.Ea,this.Lc,this.Nc]);a.set(1,[yc(this),tc(this),vc(this),wc(this),this.ta]);a.set(2,[this.Na,this.Za,this.j.Y]);a.set(3,jd(this));a.set(4,cd(this));return a.data()}; -h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ua=b.next().value;this.ga=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Pa=b.next().value;this.Rb=b.next().value;this.F=b.next().value;this.Ob=b.next().value;this.$a=b.next().value;this.Oa=b.next().value;this.Xa=b.next().value;this.Ya=b.next().value;this.Ka=b.next().value;this.g=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Lc=b.next().value;this.Nc=b.next().value;b=a[1];Ac(this,b[0]);uc(this,b[1]); -this.Pb=b[2];this.Qb=b[3];xc(this,b[4]);b=a[2];this.Na=b[0];Yc(this,b[1]);this.j.Y=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>16&65535,a.Qb=a.C&65535);a.J=b;a.Xa=(b&96)>>5;a.Ya=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.kb!=c&&(a.kb=c,hd(a))}} +function vc(a){a.J&57344||(a.Pb=a.C>>16&65535);a=a.Pb;a&65280&&(a=(a<<8|a>>8)&65535);return a}function wc(a){a.J&57344||(a.Qb=a.C&65535);return a.Qb}function xc(a,b){1170>a.sa&&(b&=-49);a.ta!=b&&(a.ta=b,a.cb=b&16?4194303:262143,hd(a))}function id(a,b,c,d){a.qc=b;F(a,b);Ac(a,0);a.v.reset();Fb(a);if(c){a.b[0]=d||0;for(b=1;5>=b;b++)a.b[b]=0;a.b[6]=1024;a.j.R?a.j.N||Hb(a):a.j.Y=!0}else a.D&&a.j.R?G(a)||a.A.j.reset||(a.D.g(),Lb(a.A,-1)):!1===c&&G(a);!a.j.N&&a.pa&&a.pa.stop()}h.Hd=function(){return 0}; +h.save=function(){var a=new E(this);a.set(0,[this.b,this.ua,this.ga,this.H,this.s,this.Pa,this.Rb,this.F,this.Ob,this.$a,this.Oa,this.Xa,this.Ya,this.Ka,this.g,this.C,this.Ea,this.Oc,this.Pc,this.qc]);a.set(1,[yc(this),tc(this),vc(this),wc(this),this.ta]);a.set(2,[this.Na,this.Za,this.j.Y]);a.set(3,jd(this));a.set(4,cd(this));return a.data()}; +h.restore=function(a){var b=ia(a[0]);this.b=b.next().value;this.ua=b.next().value;this.ga=b.next().value;this.H=b.next().value;this.s=b.next().value;this.Pa=b.next().value;this.Rb=b.next().value;this.F=b.next().value;this.Ob=b.next().value;this.$a=b.next().value;this.Oa=b.next().value;this.Xa=b.next().value;this.Ya=b.next().value;this.Ka=b.next().value;this.g=b.next().value;this.C=b.next().value;this.Ea=b.next().value;this.Oc=b.next().value;this.Pc=b.next().value;this.qc=b.next().value;b=a[1];Ac(this, +b[0]);uc(this,b[1]);this.Pb=b[2];this.Qb=b[3];xc(this,b[4]);b=a[2];this.Na=b[0];Yc(this,b[1]);this.j.Y=b[2];for(var b=a[3],c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>23)),a.a-=2);a.a-=3}function F(a,b){a.b[7]=b&65535}function qc(a,b,c,d){b={Ub:b,sb:c,message:d||0,name:lb[b],next:null};a.Ib.push(b);return b}function sc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.g|=1)}function oc(a,b){if(b){if(b!=a.I){var c=a.I;if(!c||c.sb<=b.sb)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.sb<=b.sb){b.next=d;c.next=b;break}c=d}while(c)}}a.g|=1}} function jd(a){var b=[];for(a=a.I;a;)b.push(a.Ub),a=a.next;return b}function nd(a){return a.g&64?(J(a,168,64,-6),!0):a.g&32?(J(a,4,32,-5),!0):a.g&16?(J(a,12,16,-7),!0):!1}function yc(a){return a.i=a.i&63728|ld(a)|(a.m&65535?0:4)|(a.l&32768?2:0)|kd(a)}function Ac(a,b){b&=a.zd;a.w=b<<12;a.m=~b&4;a.l=b<<14;a.u=b<<16;if((b^a.i)&a.wd)for(var c=a.ua.length;0<=--c;){var d=a.b[c];a.b[c]=a.ua[c];a.ua[c]=d}a.B=b>>14&3;c=a.i>>14&3;a.B!=c&&(a.ga[c]=a.b[6],a.b[6]=a.ga[a.B]);a.i=b;a.g&=-3;a.g|=a.I?2:1} h.fa=function(a){this.w=this.m=a;this.l=0};h.Sa=function(a,b){this.w=this.m=this.u=a;this.l=b||0};function od(a,b){a.w=a.m=a.u=b;a.l=a.w^a.u>>1}function pd(a,b,c,d){a.w=a.m=a.u=b;a.l=(c^d)&(d^b)} -function J(a,b,c,d){if(!a.pb){0>a.Ea?a.Ea=yc(a):a.B||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.F|=4,a.b[6]=b=4);if(-1!=d){a.C=b|4143316992;a.B=0;var e=a.W(b|a.Aa),f=a.W(b+2&65535|a.Aa);Ac(a,f&-12289|a.Ea>>2&12288);qd(a,a.Ea);qd(a,a.b[7]);F(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ea=-1;a.Lc=d;a.Nc=b;-1==d&&G(a);if(-4<=d)throw b;}}function rd(a){var b=sd(a),c=sd(a);a.i&49152&&(c=c&-225|a.i&63712);F(a,b);Ac(a,c);a.g&=-17} +function J(a,b,c,d){if(!a.pb){0>a.Ea?a.Ea=yc(a):a.B||(d=-4);-4==d&&(a.g&256&&(d=-1),a.g|=256,a.F|=4,a.b[6]=b=4);if(-1!=d){a.C=b|4143316992;a.B=0;var e=a.W(b|a.Aa),f=a.W(b+2&65535|a.Aa);Ac(a,f&-12289|a.Ea>>2&12288);qd(a,a.Ea);qd(a,a.b[7]);F(a,e)}a.a-=5;a.g&=~(c|19);a.g|=129;a.Ea=-1;a.Oc=d;a.Pc=b;-1==d&&G(a);if(-4<=d)throw b;}}function rd(a){var b=sd(a),c=sd(a);a.i&49152&&(c=c&-225|a.i&63712);F(a,b);Ac(a,c);a.g&=-17} function td(a,b){var c=b>>13&31;31>c&&(b=a.ta&32?a.Pa[c]+(b&8191)&4194303:b&-3932161);return b} -function Ob(a,b,c){var d,e,f;if(!(c&a.kb))return f=b&65535,57344<=f&&(f|=a.jc),f;d=b>>13;a.ta&a.He[a.B]||(d&=7);e=a.s[a.B][d];f=(a.H[a.B][d]<<6)+(b&8191)&a.cb;3932160<=f&&(f=td(a,f));if(a.pb)return f;f>=a.nd&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& +function Ob(a,b,c){var d,e,f;if(!(c&a.kb))return f=b&65535,57344<=f&&(f|=a.jc),f;d=b>>13;a.ta&a.He[a.B]||(d&=7);e=a.s[a.B][d];f=(a.H[a.B][d]<<6)+(b&8191)&a.cb;3932160<=f&&(f=td(a,f));if(a.pb)return f;f>=a.od&&f>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&& (g|=16384));a.s[a.B][d]=e;if(f!=(4194170&a.cb)||a.B)a.Xa=a.B,a.Ya=d;g&&(g&57344&&(0<=a.Ea&&(g|=128),a.J&57344||(g|=a.J&4096|a.Xa<<5|a.Ya<<1,uc(a,a.J&-61695|g&61694)),J(a,168,64,-2)),a.J&61440||!(f<(4191360&a.cb)||f>(4194239&a.cb))||(a.J|=4096,a.J&512&&(a.g|=64)));return f}function sd(a){var b=a.W(a.b[6]|a.Aa);a.b[6]=a.b[6]+2&65535;return b}function qd(a,b){var c=a.b[6]-2&65535;a.b[6]=c;a.C=a.C&65535|(a.C&-65536)<<8|16121856;a.g&256||a.hb(4,-2,c);a.Ab(c,b)} function ud(a,b,c,d){var e,f,g=d&8?0:a.Aa;switch(b){case 0:return J(a,4,0,-3),0;case 1:return 6==c&&a.hb(d,0,a.b[6]),a.a-=3,7==c?a.b[c]:a.b[c]|g;case 2:f=2;e=a.b[c];6==c&&a.hb(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.b[c];7!=c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.b[c]+f&65535;6==c&&a.hb(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.b[c]-2&65535;7!=c&&(e|=g);e=a.W(e)|g;a.a-=8;break;case 6:return e=a.W(md(a,2)),e=e+a.b[c]&65535,6==c&&a.hb(d,0, -e),a.a-=6,e|g;case 7:return e=a.W(md(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.Aa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.C=a.C&65535|(a.C&-65536)<<8|(f<<3&248|c)<<16;return e}h.Pe=function(a,b,c){!this.B&&0>=b&&c<=this.Oa&&(this.g|=32)};h.Qe=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.Oa&&(c<=this.Oa-32?J(this,4,0,-4):(this.F|=8,this.g|=32)))};h.Te=function(a){return this.gd(a)};h.Ve=function(a){return this.xc(a)};h.xg=function(a,b){this.Ac(a,b)};h.Ag=function(a,b){this.Cc(a,b)}; +e),a.a-=6,e|g;case 7:return e=a.W(md(a,2)),e=e+a.b[c]&65535,e=a.W(e|a.Aa),a.a-=10,e|g}a.b[c]=a.b[c]+f&65535;a.C=a.C&65535|(a.C&-65536)<<8|(f<<3&248|c)<<16;return e}h.Pe=function(a,b,c){!this.B&&0>=b&&c<=this.Oa&&(this.g|=32)};h.Qe=function(a,b,c){this.B||(65534<=c&&(c|=-65536),a&4&&c<=this.Oa&&(c<=this.Oa-32?J(this,4,0,-4):(this.F|=8,this.g|=32)))};h.Te=function(a){return this.yc(a)};h.Ve=function(a){return this.zc(a)};h.xg=function(a,b){this.Dc(a,b)};h.Ag=function(a,b){this.Ec(a,b)}; h.Ue=function(a,b,c){return ud(this,a,b,c)};h.Id=function(a,b,c){return Ob(this,ud(this,a,b,c),c)};h.og=function(a){return this.v.Xb(this.Ka=a)};h.Nd=function(a){return this.v.Xb(this.Ka=Ob(this,a,2))};h.Ih=function(a,b){this.v.Yb(this.Ka=a,b)};h.Qd=function(a,b){this.v.Yb(this.Ka=Ob(this,a,4),b)}; function vd(a,b,c){var d=a.f=b&7;(b=a.h=(b&56)>>3)?(d=ud(a,b,d,2),c&65536||61440!==(a.i&61440)&&(d&=65535),a.B=a.i>>12&3,c=a.W(d|c&a.Aa),a.B=a.i>>14&3):c=6!=d||(a.i>>2&12288)===(a.i&12288)?a.b[d]:a.ga[a.i>>12&3];return c}function wd(a,b,c,d){a.C=a.C&65535|1441792;var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=ud(a,b,e,4),c&65536||(e&=65535),a.B=a.i>>12&3,e=Ob(a,e|c&65536,4),a.B=a.i>>14&3,a.mc(e,d)):6!=e||(a.i>>2&12288)===(a.i&12288)?a.b[e]=d:a.ga[a.i>>12&3]=d} -function xd(a,b){b>>=6;var c=a.S=b&7;return(b=a.K=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c+a.wc]&a.sd}function yd(a,b){var c;b>>=6;var d=a.S=b&7;(b=a.K=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d+a.wc];return c}function zd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return ud(a,b,c,8)}function Ad(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c]&255}function Bd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d];return c} -function P(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.qc=a.ra(b,e,7),c=0>c?a.b[-c-1]&255:c,a.yc(e,d.call(a,c,a.kc(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function Q(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,6),a.mc(e,d.call(a,0>c?a.b[-c-1]:c,a.lc(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])} -function Cd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ra(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.yc(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function Dd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.mc(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))} -h.zc=function(a){this.j.complete=!0;var b=a?this.j.cd?0:1:-1;this.j.cd=!1;this.Ma=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.$a&224)>>5,e=this.I&&this.I.sb>d?this.I:null;e&&(c=e.Ub,d=e.sb);d>(this.i&224)>>5?(this.g&8&&(md(this,2),this.g&=-9),J(this,c,0,-10),d=!0):d=!1;d&&(e&&sc(this,e),a=!0);this.I||this.$a||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}if(this.g&112&&nd(this)){if(this.g& +function xd(a,b){b>>=6;var c=a.S=b&7;return(b=a.K=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c+a.xc]&a.sd}function yd(a,b){var c;b>>=6;var d=a.S=b&7;(b=a.K=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d+a.xc];return c}function zd(a,b){var c=a.f=b&7;b=a.h=(b&56)>>3;return ud(a,b,c,8)}function Ad(a,b){var c=a.f=b&7;return(b=a.h=(b&56)>>3)?a.kc(a.ra(b,c,3)):a.b[c]&255}function Bd(a,b){var c,d=a.f=b&7;(b=a.h=(b&56)>>3)?c=a.lc(a.ra(b,d,2)):c=a.b[d];return c} +function P(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.rc=a.ra(b,e,7),c=0>c?a.b[-c-1]&255:c,a.Bc(e,d.call(a,c,a.kc(e))),e&1&&a.a--):(b=a.b[e],c=0>c?a.b[-c-1]&255:c,a.b[e]=b&65280|d.call(a,c,b&255))}function Q(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,6),a.mc(e,d.call(a,0>c?a.b[-c-1]:c,a.lc(e)))):a.b[e]=d.call(a,0>c?a.b[-c-1]:c,a.b[e])} +function Cd(a,b,c,d,e){var f=a.f=b&7;(b=a.h=(b&56)>>3)?(d=a.ra(b,f,5),e.call(a,(c=0>c?a.b[-c-1]&255:c)<<8),a.Bc(d,c),d&1&&a.a--):(c?(c=0>c?a.b[-c-1]&255:c,a.b[f]=a.b[f]&~d|c<<24>>24&d):a.b[f]&=~d,e.call(a,c<<8))}function Dd(a,b,c,d){var e=a.f=b&7;(b=a.h=(b&56)>>3)?(e=a.ra(b,e,4),d.call(a,c=0>c?a.b[-c-1]:c),a.mc(e,c)):(a.b[e]=c=0>c?a.b[-c-1]:c,d.call(a,c))} +h.Ac=function(a){this.j.complete=!0;var b=a?this.j.ed?0:1:-1;this.j.ed=!1;this.Ma=this.a=a;this.g=this.g&-5|0;do{if(this.g){if(a=this.g&11)if(a=!1,this.g&2){var c=160,d=(this.$a&224)>>5,e=this.I&&this.I.sb>d?this.I:null;e&&(c=e.Ub,d=e.sb);d>(this.i&224)>>5?(this.g&8&&(md(this,2),this.g&=-9),J(this,c,0,-10),d=!0):d=!1;d&&(e&&sc(this,e),a=!0);this.I||this.$a||(this.g&=-3)}else this.g&1&&this.g++;if(a){if(this.g&4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}if(this.g&112&&nd(this)){if(this.g& 4&&this.D.b(this.b[7],b)){G(this);break}if(0>b)break}}this.g=this.g&15|this.i&16;a=this.C=this.b[7];e=this.W(a);this.b[7]=a+2&65535;this.vd(e)}while(0>1|b<<16;od(this,a);return a&65535}function Jd(a,b){a=b&128|b>>1|b<<8;od(this,a<<8);return a&255}function Kd(a,b){a=b&~a;this.fa(a);return a}function Ld(a,b){a=b&~a;this.fa(a<<8);return a}function Md(a,b){a|=b;this.fa(a);return a}function Nd(a,b){a|=b;this.fa(a<<8);return a} function Od(a,b){a=~b|65536;this.Sa(a);return a&65535}function Pd(a,b){a=~b|256;this.Sa(a<<8);return a&255}function Qd(a,b){this.w=this.m=a=b-a;this.l=b&(b^a);return a&65535}function Rd(a,b){a=b-a;var c=a<<8;b<<=8;this.w=this.m=c;this.l=b&(b^c);return a&255}function Sd(a,b){this.w=this.m=a=b+a;this.l=a&(b^a);return a&65535}function Td(a,b){a=b+a;var c=a<<8;this.w=this.m=c;this.l=c&(b<<8^c);return a&255}function Ud(a,b){a=-b;this.Sa(a,a&b&32768);return a&65535} @@ -169,13 +169,13 @@ function He(){this.i&49152?(this.F|=128,J(this,4,0,-8)):(this.pa&&1120==this.sa& var Ne=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Oe(a){var b=yd(this,a);this.ba=this.a;Dd(this,a,b,this.fa);this.a=this.ba-Ne[(this.K?8:0)+this.h]+(7!=this.f||this.h?0:2)}function Pe(a){var b=xd(this,a);Cd(this,a,b,65535,this.fa);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}var Qe=[7,13,13,17,14,18,17,21]; function Re(a){var b=Bd(this,a);a=a>>6&7;b=(b<<16>>16)*(this.b[a]<<16>>16);this.b[a]=b>>16&65535;this.b[a|1]=b&65535;b|=0;this.w=b>>16;this.m=this.w|b;this.l=0;this.u=-32768>b||32767>6;if(this.b[b]=this.b[b]-1&65535)F(this,this.b[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Ye(a){Q(this,a,yd(this,a),$d);this.a-=this.h?9+(this.S&&6<=this.f?1:0):(this.K?5:3)+(7==this.f?2:0)}function Ze(a){Q(this,a,0,be);this.a-=this.h?9:3+(7==this.f?2:0)}function $e(){J(this,28,0,-9)} -function af(){this.pa&&(this.pa.U=this.b[7],this.pa.setData(this.b[0],!0));this.g|=8;md(this,-2);this.a-=3}function bf(a){Q(this,a,this.b[(a>>6&7)+this.wc],ce);this.a-=this.h?9:3+(7==this.f?2:0)}function R(){J(this,8,0,-9)}function fd(a){cf[a>>12].call(this,a)}function df(a){ef[a>>6&3].call(this,a)}function ff(a){gf[a>>6&3].call(this,a)}function hf(a){jf[a>>6&3].call(this,a)}function kf(a){lf[a&15].call(this,a)}function mf(a){nf[a&15].call(this,a)}function of(a){pf[a>>6&3].call(this,a)} +function af(){this.pa&&(this.pa.U=this.b[7],this.pa.setData(this.b[0],!0));this.g|=8;md(this,-2);this.a-=3}function bf(a){Q(this,a,this.b[(a>>6&7)+this.xc],ce);this.a-=this.h?9:3+(7==this.f?2:0)}function R(){J(this,8,0,-9)}function fd(a){cf[a>>12].call(this,a)}function df(a){ef[a>>6&3].call(this,a)}function ff(a){gf[a>>6&3].call(this,a)}function hf(a){jf[a>>6&3].call(this,a)}function kf(a){lf[a&15].call(this,a)}function mf(a){nf[a&15].call(this,a)}function of(a){pf[a>>6&3].call(this,a)} function qf(a){rf[a>>6&3].call(this,a)}function sf(a){tf[a>>6&3].call(this,a)} var cf=[function(a){uf[a>>8&15].call(this,a)},Oe,De,me,ie,ke,de,R,function(a){vf[a>>8&15].call(this,a)},Pe,Ee,ne,je,le,Ye,R],uf=[function(a){wf[a>>4&15].call(this,a)},ze,we,oe,pe,ue,qe,se,Me,Me,df,ff,hf,R,R,R],ef=[function(a){Dd(this,a,0,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Od);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Sd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Qd);this.a-=this.h?9:3+(7==this.f?2:0)}],gf=[function(a){Q(this,a,0,Ud); this.a-=this.h?11:6},function(a){Q(this,a,kd(this)?1:0,Ed);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,kd(this)?1:0,$d);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Bd(this,a);this.Sa(a);this.a-=this.h?4:3+(7==this.f?2:0)}],jf=[function(a){Q(this,a,0,Yd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Wd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Id);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Gd);this.a-=this.h?9:3+(7==this.f?2:0)}],wf= [function(a){xf[a&15].call(this,a)},R,R,R,Ke,Ke,Ke,Ke,Ue,R,kf,mf,Ze,Ze,Ze,Ze],xf=[He,af,Ve,ye,Ie,Te,R,R,R,R,R,R,R,R,R,R],lf=[Se,function(){this.u=0;this.a-=5},function(){this.l=0;this.a-=5},Ce,function(){this.m=1;this.a-=5},Ce,Ce,Ce,function(){this.w=0;this.a-=5},Ce,Ce,Ce,Ce,Ce,Ce,Ce],nf=[Se,function(){this.u=65536;this.a-=5},function(){this.l=32768;this.a-=5},We,function(){this.m=0;this.a-=5},We,We,We,function(){this.w=32768;this.a-=5},We,We,We,We,We,We,We],vf=[xe,ve,re,te,Ae,Be,ge,he,Ge,$e,of,qf, sf,R,R,R],pf=[function(a){Cd(this,a,0,255,this.Sa);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Pd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Td);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,1,Rd);this.a-=this.h?9:3+(7==this.f?2:0)}],rf=[function(a){P(this,a,0,Vd);this.a-=this.h?11:6},function(a){P(this,a,kd(this)?1:0,Fd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,kd(this)?1:0,ae);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){a=Ad(this,a); -this.Sa(a<<8);this.a-=this.h?4:3+(7==this.f?2:0)}],tf=[function(a){P(this,a,0,Zd);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Jd);this.a-=this.h?9+(this.qc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)}];function gd(a){yf[a>>12].call(this,a)} +this.Sa(a<<8);this.a-=this.h?4:3+(7==this.f?2:0)}],tf=[function(a){P(this,a,0,Zd);this.a-=this.h?9+(this.rc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Xd);this.a-=this.h?9:3+(7==this.f?2:0)},function(a){P(this,a,0,Jd);this.a-=this.h?9+(this.rc&1):3+(7==this.f?2:0)},function(a){P(this,a,0,Hd);this.a-=this.h?9:3+(7==this.f?2:0)}];function gd(a){yf[a>>12].call(this,a)} var yf=[function(a){zf[a>>8&15].call(this,a)},Oe,De,me,ie,ke,de,function(a){Af[a>>8&15].call(this,a)},function(a){Bf[a>>8&15].call(this,a)},Pe,Ee,ne,je,le,Ye,R],zf=[function(a){Cf[a>>4&15].call(this,a)},ze,we,oe,pe,ue,qe,se,Me,Me,df,ff,hf,function(a){Df[a>>6&3].call(this,a)},R,R],Df=[function(a){a=this.b[7]+((a&63)<<1)&65535;var b=this.W(a|this.Aa);F(this,this.b[5]);this.b[6]=a+2&65535;this.b[5]=b;this.a-=8},function(a){a=vd(this,a,0);this.fa(a);qd(this,a);this.a-=11},function(a){var b=sd(this);this.ba= this.a;this.fa(b);wd(this,a,0,b);this.a=this.ba-Qe[this.h]},function(a){Dd(this,a,ld(this)?65535:0,this.fa);this.a-=this.h?9:3+(7==this.f?2:0)}],Cf=[function(a){Ef[a&15].call(this,a)},R,R,R,Ke,Ke,Ke,Ke,Ue,function(a){!(a&8)||1145>this.sa?J(this,8,0,-9):(this.i&49152||(this.i=this.i&-225|(a&7)<<5,this.g|=1,this.g&=-3),this.a-=5)},kf,mf,Ze,Ze,Ze,Ze],Ef=[He,af,function(){rd(this);this.g|=this.i&16;this.a-=13},ye,Ie,Te,Ve,function(){J(this,8,0,-9)},R,R,R,R,R,R,R,R],Af=[Re,Re,Fe,Fe,ee,ee,fe,fe,bf,bf,R, R,R,R,Xe,Xe],Bf=[xe,ve,re,te,Ae,Be,ge,he,Ge,$e,of,qf,sf,function(a){1145>this.sa?J(this,8,0,-9):Ff[a>>6&3].call(this,a)},R,R],Ff=[function(){J(this,8,0,-9)},function(a){a=vd(this,a,65536);this.fa(a);qd(this,a);this.a-=11},function(a){var b=sd(this);this.ba=this.a;this.fa(b);wd(this,a,65536,b);this.a=this.ba-Qe[this.h]},function(){J(this,8,0,-9)}]; @@ -191,7 +191,7 @@ function Kf(a,b,c,d,e,f){var g=!1,k=!1;if(null==c)for(var l=0;l=la.hd&&c<=la.Ke&&(b=c-(la.hd-la.Ud));b&&(a.preventDefault&&a.preventDefault(),d.nc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.Wd&&(b=la.Vd);d.nc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +h.ma=function(a,b,c){var d=this;switch(b){case Nf:return this.o[b]=this.h=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?la.ld:la.Cb:46==c?b=la.ld:a.ctrlKey&&c>=la.jd&&c<=la.Ke&&(b=c-(la.jd-la.Ud));b&&(a.preventDefault&&a.preventDefault(),d.nc(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==la.Wd&&(b=la.Vd);d.nc(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.nc(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1}; h.ja=function(a,b,c,d){this.A=a;this.v=b;this.c=c;this.D=d;var e=this;this.H=qc(this.c,this.B?-1:48,4,1048576);this.I=nc(this.c,function(){var a;a=-1;e.f.length&&(a=e.f.shift()&255,e.w&&97<=a&&122>a&&(a-=32),pc(e.c,e.I,1E3/Math.round(e.J/10)));0<=a&&(e.m=a,e.a&128?e.m|=49152:e.a|=128,e.a&64&&oc(c,e.H))});this.C=qc(this.c,this.B?-1:52,4,1048576);this.X=nc(this.c,function(){e.b|=128;e.b&64&&oc(c,e.C)});rb(b,this,Of,this.B?64832+8*(this.B-1)-65392:0);tb(b,this.reset.bind(this));B(this)}; h.Jd=function(a){if(!this.g){var b=Uc(this.A,"connection");if(b){var c=b.split("->");if(2==c.length){var d=wa(c[0]);if(d!=this.ib)return;c=wa(c[1]);if(this.g=Ya(c)){var e=this.g.exports;if(e){var f=e.connect;f&&f.call(this.g,this.u);if(this.s=e.receiveData){this.u=a;this.F=e.receiveStatus;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};h.la=function(a,b){if(!b)if(this.Jd(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; @@ -213,12 +213,12 @@ function fg(a){var b=a.o.listTapes;if(b&&b.options){a=a.i||a.g;for(var c=0;c>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.M);for(d=0;dc.indexOf("/api/v1/dump")&&(b=sa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ta(c,"/")&&(d="dir"),f=Ba()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.Yc?"":e)+"&format=json"));return!!za(f, +function pg(a,b,c,d,e){var f=c;if(a.b)return!0;a.xa=b;a.oa=c;a.dd=ra(c);a.b=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ka[d];if(e){a.M=e[0];a.T=e[1];a.P=e[2];a.Z=e[3]||512;c=a.Z>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.M);for(d=0;dc.indexOf("/api/v1/dump")&&(b=sa(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ta(c,"/")&&(d="dir"),f=Ba()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.$c?"":e)+"&format=json"));return!!za(f, null,!0,function(b,c,d){qg(a,b,c,d)})} -function qg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.R;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{Sa(a.controller.Ua,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+ +function qg(a,b,c,d){var e=null,f=0>d&&!!a.A&&!a.A.j.R;a.g=!1;if(d)a.controller.G('Unable to load disk "'+a.xa+'" (error '+d+": "+b+")",f);else{Sa(a.controller.Ua,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(k.length)if(1==k.length)r(k[0]);else{a.M=k.length;a.T=k[0].length;a.P=k[0][0].length;var l=k[0][0][0];a.Z=l&&l.length||512;for(d=c=0;d>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var q=l.data;if(void 0===q){var v=l.bytes;if(void 0!==v&&v.length){for(var y=m<<2,ma=v.length;ma>2,e=Array(d),f=0;f=this.a.length||l>=this.a[k].length||m>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+m+") out of range ("+ b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][m]){for(l=k.data.length;lb&&-2!=b&&this.controller.G("Unable to restore disk '"+this.xa+": "+c);return b}; h.toJSON=function(){var a;a=0;for(var b;b=sg(this,a++);)ug(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; -function ug(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var mg=0;function vg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=wg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Bc;this.b=Array(this.H);this.F=!Ga("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Ed,loadDisk:this.Zc,selectDrive:this.wg,wait:this.Cg}}n(vg,t); +function ug(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var mg=0;function vg(a,b,c,d,e,f){t.call(this,a,b,c);this.C=wg(this,b.autoMount);this.B=0;this.I=d;this.J=e;this.K=f;this.H=d.Cc;this.b=Array(this.H);this.F=!Ga("Mobi")&&window&&"FileReader"in window;this.l=[];this.qa=null;this.exports={bootDisk:this.Ed,loadDisk:this.ad,selectDrive:this.wg,wait:this.Cg}}n(vg,t); function wg(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){r(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=vg.prototype; -h.ma=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){xg(d)},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&yg(d,a)},!0;case "loadDisk":return this.o[b]=c,c.onclick=function(){d.Zc()},!0;case "bootDisk":return this.o[b]=c,c.onclick=function(){d.Ed()},!0;case "saveDisk":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a= -d.b[na(a.value,10)||0])if(a=a.O){var b;b="";for(var c=0,k;k=sg(a,c++);)for(var l=0,m=k.length;lg||9d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Eg(this,d),!0;if(b==Bg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Cg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ra(b);this.status("Attempting to load "+b+' as "'+ +h.ad=function(a,b,c){if(!a&&!b){var d=this.o.listDisks;d&&d.options&&(a=d.options[d.selectedIndex].text,b=d.value)}d=(d=this.o.listDrives)&&na(d.value,10);if(void 0===d||0>d||d>=this.b.length)return this.G("Unable to load the selected drive"),!1;if(!b)return Eg(this,d),!0;if(b==Bg)return this.G('Use "Choose File" and "Mount" to select and load a local disk.'),!1;if(b==Cg){b=window.prompt("Enter the URL of a remote disk image.","")||"";if(!b)return!1;a=ra(b);this.status("Attempting to load "+b+' as "'+ a+'"')}Ig(this,d,a,b,!1,c);return!0};h.Ed=function(){var a,b=this.o.listDrives,b=b&&na(b.value,10);if(null==b||0>b||b>=this.b.length||!(a=this.b[b]))return this.G("Unable to boot the selected drive"),!1;if(!a.O)return this.G("Load a disk into the drive first"),!1;id(this.c,0,!0,b);return(a=this.ub(a,a.Xe,a.Ye,a.Ze,a.Oe,0,2))?(this.G("Unable to read the boot sector ("+a+")"),!1):!0}; -function Ig(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Eg(a,b,!0),k.hc?a.G(a.type+" busy"):(k.hc=!0,e&&(k.Xc=!0,a.B++),k.qb=!!f,pg(new lg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g} -h.Gd=function(a,b,c,d,e){a.hc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.rb].oc||"---")),b=null);b?(a.O=b,a.xa=c,a.oa=d,this.Ld(a.rb),Jg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.rb].oc||"---"),a.Xc||e),this.A&&ad(this.A)):a.qb=!1;a.Xc&&(a.Xc=!1,--this.B||B(this));yg(this,a.rb);a.Jb&&(a.Jb(),a.Jb=null)}; +function Ig(a,b,c,d,e,f){var g=-1,k=a.b[b];k.oa.toLowerCase()!=d.toLowerCase()&&(g++,Eg(a,b,!0),k.hc?a.G(a.type+" busy"):(k.hc=!0,e&&(k.Zc=!0,a.B++),k.qb=!!f,pg(new lg(a,k,"preload"),c,d,f,a.Gd)&&g++));return g} +h.Gd=function(a,b,c,d,e){a.hc=!1;b&&(b.M>a.M||b.T>a.T)&&(this.G('Disk "'+c+'" too large for drive '+(this.b[a.rb].oc||"---")),b=null);b?(a.O=b,a.xa=c,a.oa=d,this.Ld(a.rb),Jg(this,c,d,b),this.G('Loaded disk "'+c+'" in drive '+(this.b[a.rb].oc||"---"),a.Zc||e),this.A&&ad(this.A)):a.qb=!1;a.Zc&&(a.Zc=!1,--this.B||B(this));yg(this,a.rb);a.Jb&&(a.Jb(),a.Jb=null)}; function zg(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e=a.M){m=T.Zb;break}p=a.seek(b,c,d+1);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}var v,y;if(0>(v=a.read(p,q++))||0>(y=a.read(p,q++))){m=T.$b;break}if(!k&&(Nb(this.v,td(this.c,f),v|y<<8),mc(this.v))){m=T.Eb;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; h.vc=function(a,b,c,d,e,f,g,k,l){var m=0;a=a.O;var p=null,q;a||(m=T.rd,e=0);for(;e;){var v=Pb(this.v,td(this.c,f));if(mc(this.v)){m=T.Eb;break}if(!p){if(b>=a.M){m=T.Zb;break}p=a.seek(b,c,d+1,!0);if(!p){m=T.Ad;break}q=0;++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b))}if(k){var y,ma;if(0>(y=a.read(p,q++))||0>(ma=a.read(p,q++))){m=T.$b;break}if(v!=(y|ma<<8)){m=T.Cd;break}}else if(!a.write(p,q++,v&255)||!a.write(p,q++,v>>8)){m=T.$b;break}q>=a.Z&&(p=null);f+=g;e--}return l?l(m,b,c,d,e,f):m}; -h.me=function(a,b,c,d,e,f){this.h=f&65535;this.a=this.a&~S.fb|f>>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Ng.Rc|d&Ng.Rc;this.f|=a;Og(this);return!0};function Og(a){a.a&=~S.Ja;a.f&&(a.f|=T.Yd,a.a|=S.Ja,a.f&T.Hc&&(a.a|=S.Hc))}h.Rf=function(){return this.s};h.ih=function(){};h.Sf=function(){return this.f};h.jh=function(){};h.Of=function(){return this.a&S.Fb}; -h.fh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Db){a=!0;var b,c,d=(this.g&Ng.Ta)>>Ng.V.Ta,e=this.b[d],f,g,k,l,m,p;this.a&=~(S.za|S.Sc);this.f&=~T.Ce;switch(c=this.a&S.ca){case Pg.Td:this.f=this.g=0;this.a=S.za;break;case Pg.he:case Pg.Va:b=this.ub;case Pg.Vc:case Pg.Hb:b||(b=this.vc);f=(this.g&Ng.Bb)>>Ng.V.Bb;g=(this.g&Ng.Kc)>>Ng.V.Kc;k=this.g&Ng.Rc;l=65536-this.i&65535;m=(this.a&S.fb)<<16-S.V.fb|this.h;p=this.a&S.de?0:2;if(f>=e.M){this.f|=T.Zb;break}if(k>=e.P){this.f|=T.$b;break}a=b.call(this, -e,f,g,k,l,m,p,c>=Pg.Vc,this.me.bind(this));break;case Pg.ec:f=(this.g&Ng.Bb)>>Ng.V.Bb;f>16-S.V.fb&S.fb;this.i=65536-e&65535;this.g=this.g&~Ng.Tc|d&Ng.Tc;this.f|=a;Og(this);return!0};function Og(a){a.a&=~S.Ja;a.f&&(a.f|=T.Yd,a.a|=S.Ja,a.f&T.Ic&&(a.a|=S.Ic))}h.Rf=function(){return this.s};h.ih=function(){};h.Sf=function(){return this.f};h.jh=function(){};h.Of=function(){return this.a&S.Fb}; +h.fh=function(a){this.a=this.a&~S.va|a&S.va;if(this.a&S.Db){a=!0;var b,c,d=(this.g&Ng.Ta)>>Ng.V.Ta,e=this.b[d],f,g,k,l,m,p;this.a&=~(S.za|S.Uc);this.f&=~T.Ce;switch(c=this.a&S.ca){case Pg.Td:this.f=this.g=0;this.a=S.za;break;case Pg.he:case Pg.Va:b=this.ub;case Pg.Xc:case Pg.Hb:b||(b=this.vc);f=(this.g&Ng.Bb)>>Ng.V.Bb;g=(this.g&Ng.Lc)>>Ng.V.Lc;k=this.g&Ng.Tc;l=65536-this.i&65535;m=(this.a&S.fb)<<16-S.V.fb|this.h;p=this.a&S.de?0:2;if(f>=e.M){this.f|=T.Zb;break}if(k>=e.P){this.f|=T.$b;break}a=b.call(this, +e,f,g,k,l,m,p,c>=Pg.Xc,this.me.bind(this));break;case Pg.ec:f=(this.g&Ng.Bb)>>Ng.V.Bb;f(p=a.read(k,m++))||0>(q=a.read(k,m++))){g=Sg.Ba;break}Nb(this.v,td(this.c,f),p|q<<8);if(mc(this.v)){g=Sg.Eb;break}f+=2;e--;if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Sg.Ba;break}}return l?l(g,b,c,d,e,f):g}; h.vc=function(a,b,c,d,e,f,g,k,l){g=0;a=a.O;k=null;var m;a||(g=Sg.Ba,e=0);for(;e;){var p=Pb(this.v,td(this.c,f));if(mc(this.v)){g=Sg.Eb;break}f+=2;e--;if(!k){k=a.seek(b,c,d+1,!0);if(!k){g=Sg.Ba;break}m=0}if(!a.write(k,m++,p&255)||!a.write(k,m++,p>>8)){g=Sg.Ba;break}if(m>=a.Z&&(k=null,++d>=a.P&&(d=0,++c>=a.T&&(c=0,++b>=a.M)))){g=Sg.Ba;break}}return l?l(g,b,c,d,e,f):g}; h.re=function(a,b,c,d,e,f){this.m=f&65535;this.a=this.a&~U.ya|f>>16-U.V.ya&U.ya;this.h=f>>16&Tg.Fa;this.g=this.f=b<>U.V.ya;if(!(this.a&U.za)){a=!0;var b,c=this.b[(this.a&U.Ta)>>U.V.Ta],d=c.O,e,f,g;this.a&=~U.ha;switch(this.a&U.ca){case Ug.Ge:this.i&Vg.md&&(this.a&=U.ha|U.ca|U.ya);this.i=c.status|this.g&V.dc|(d&&512==d.M?Vg.ae:0);break;case Ug.ec:(this.f&V.$d)==V.De&&(b=this.f&V.Gb,c=(this.f&V.Fe)<<2,this.g=this.f&V.Ee?this.g+b:this.g-b,this.f=this.g=this.g&V.Gb|c);break;case Ug.le:this.i=this.g;break;case Ug.ie:b=this.ub;case Ug.Je:b||(b=this.vc), +h.nh=function(a){this.a=this.a&~U.va|a&U.va;this.h=this.h&60|(a&U.ya)>>U.V.ya;if(!(this.a&U.za)){a=!0;var b,c=this.b[(this.a&U.Ta)>>U.V.Ta],d=c.O,e,f,g;this.a&=~U.ha;switch(this.a&U.ca){case Ug.Ge:this.i&Vg.nd&&(this.a&=U.ha|U.ca|U.ya);this.i=c.status|this.g&V.dc|(d&&512==d.M?Vg.ae:0);break;case Ug.ec:(this.f&V.$d)==V.De&&(b=this.f&V.Gb,c=(this.f&V.Fe)<<2,this.g=this.f&V.Ee?this.g+b:this.g-b,this.f=this.g=this.g&V.Gb|c);break;case Ug.le:this.i=this.g;break;case Ug.ie:b=this.ub;case Ug.Je:b||(b=this.vc), e=this.f>>V.V.Gb,f=this.f&V.dc?1:0,g=this.f&V.yd,!d||e>=d.M||g>=d.P?this.a=this.a|Sg.Ba|U.Ja:(a=65536-this.i&65535,d=(this.h&Tg.Fa)<<16|this.m,a=b.call(this,c,e,f,g,a,d,2,!1,this.re.bind(this)))}a&&(this.a=this.a|U.ha|U.za,this.a&U.eb&&oc(this.c,this.qa))}};h.Uf=function(){return this.m};h.lh=function(a){this.m=a&Wg.va};h.Xf=function(){return this.f};h.oh=function(a){this.f=a};h.Yf=function(){return this.i};h.ph=function(a){this.i=a};h.Vf=function(){return this.h}; -h.mh=function(a){this.h=a&Tg.Fa;this.a=this.a&~U.ya|(this.h&3)<=m.M){k=Y.fe;break}p=m.seek(b,c,d+1);if(!p){k=Y.Pc;break}q=0;++d>=m.P&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(p,q++))||0>(v=m.read(p,q++))){k=Y.Oc;break}Nb(this.v,td(this.c,f),a|v<<8);q>=m.Z&&(p=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; -function Zg(a){var b=0,c=a.a&X.Tc?1:0,d=a.b[c],d=d&&d.O,e=a.u&ah.Fa,f=a.s&bh.Fa;a.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;eg){b=Y.Oc;break}a.h[e++]=g}c.Re&&(a.f|=Z.Cb)}else b=Y.Pc;else b=c?Y.Jc:Y.Ic;$g(a,b)}h.$f=function(a,b){a=this.a;if(!b)switch(a&=X.Fb,this.g){case W.Ec:case W.EMPTY:this.ithis.i&&(this.a|=X.Ga)}return a}; -h.rh=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Db&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Db|X.Ga|X.DONE|X.Ja),(a=this.qa)&&sc(this.c,a),this.g){case W.Ec:case W.EMPTY:case W.Va:case W.Hb:case W.fc:this.i=0;break;case W.ke:a=this.b[this.a&X.Tc?1:0];this.f&=~Z.ha;a&&a.O&&(this.f|=Z.ha);this.m=this.f;$g(this);break;case W.je:this.m=this.w,$g(this)}else this.a&X.eb?this.a&X.DONE&&oc(this.c,this.qa):(a=this.qa)&&sc(this.c,a)}; +function $g(a,b){b&&(a.w=b,a.m=a.f,a.a|=X.Ja);a.g=W.gb;a.a|=X.DONE;a.a&X.eb&&oc(a.c,a.qa)}h.ub=function(a,b,c,d,e,f,g,k,l){k=0;var m=a.O,p=null,q;m||(k=a.rb?Y.Kc:Y.Jc,e=0);for(;e;){if(!p){if(b>=m.M){k=Y.fe;break}p=m.seek(b,c,d+1);if(!p){k=Y.Rc;break}q=0;++d>=m.P&&(d=0,++c>=m.T&&(c=0,++b))}var v;if(0>(a=m.read(p,q++))||0>(v=m.read(p,q++))){k=Y.Qc;break}Nb(this.v,td(this.c,f),a|v<<8);q>=m.Z&&(p=null);f+=g;e--}return l?l(k,b,c,d,e,f):k}; +function Zg(a){var b=0,c=a.a&X.Vc?1:0,d=a.b[c],d=d&&d.O,e=a.u&ah.Fa,f=a.s&bh.Fa;a.f&=~(Z.kd|Z.ud|Z.Cb|Z.ha);if(d)if(a.f|=Z.ha,c=d.seek(e,0,f,!0)){e=0;for(f=a.h.length;eg){b=Y.Qc;break}a.h[e++]=g}c.Re&&(a.f|=Z.Cb)}else b=Y.Rc;else b=c?Y.Kc:Y.Jc;$g(a,b)}h.$f=function(a,b){a=this.a;if(!b)switch(a&=X.Fb,this.g){case W.Fc:case W.EMPTY:this.ithis.i&&(this.a|=X.Ga)}return a}; +h.rh=function(a){this.a=this.a&~X.va|a&X.va;if(this.a&X.INIT)this.bb();else if(this.a&X.Db&&this.g==W.gb)switch(this.g=this.a&X.ca,this.a&=~(X.Db|X.Ga|X.DONE|X.Ja),(a=this.qa)&&sc(this.c,a),this.g){case W.Fc:case W.EMPTY:case W.Va:case W.Hb:case W.fc:this.i=0;break;case W.ke:a=this.b[this.a&X.Vc?1:0];this.f&=~Z.ha;a&&a.O&&(this.f|=Z.ha);this.m=this.f;$g(this);break;case W.je:this.m=this.w,$g(this)}else this.a&X.eb?this.a&X.DONE&&oc(this.c,this.qa):(a=this.qa)&&sc(this.c,a)}; h.ag=function(a,b){if(!b)switch(this.g){case W.EMPTY:this.a&X.Ga&&(this.a&=~X.Ga,this.m=this.h[this.i]&255,++this.i>=this.h.length&&$g(this))}return this.m}; -h.sh=function(a){switch(this.g){case W.Ec:this.a&X.Ga&&(this.a&=~X.Ga,this.h[this.i]=a&255,++this.i>=this.h.length&&$g(this));break;case W.Va:case W.Hb:case W.fc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)Zg(this);else{var b=this.g==W.fc,c=0,d=this.a&X.Tc?1:0,e=this.b[d],e=e&&e.O,f=this.u&ah.Fa,g=this.s&bh.Fa;this.f&=~(Z.jd|Z.ud|Z.Cb|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Re=!0),b=0,f=this.h.length;b=this.h.length&&$g(this));break;case W.Va:case W.Hb:case W.fc:if(this.a&X.Ga)switch(this.a&=~X.Ga,this.i++){case 0:this.s=a;break;case 1:if(this.u=a,this.g==W.Va)Zg(this);else{var b=this.g==W.fc,c=0,d=this.a&X.Vc?1:0,e=this.b[d],e=e&&e.O,f=this.u&ah.Fa,g=this.s&bh.Fa;this.f&=~(Z.kd|Z.ud|Z.Cb|Z.ha);if(e)if(this.f|=Z.ha,d=e.seek(f,0,g,!0))for(b&&(d.Re=!0),b=0,f=this.h.length;b\nLicense: GPL version 3 or later ");this.aa("Portions adapted from the PDP-11/70 Emulator by Paul Nankervis ");for(b=0;b=d||30<=(c.fd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.fd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;eb?a.U=a.c.b[7]:0=d||30<=(c.hd+=d))&&(e.textContent=c.j.N?c.Wa.toFixed(2)+"Mhz":"Stopped",c.hd=0)}if(a.f&&(a=a.f,b=b||0,a.l)){c=a.c.j.N;d=!!(a.c.g&8);if(0>=b||60<=(a.i+=b)){for(e=0;eb?a.U=a.c.b[7]:0 Date: Sat, 4 Mar 2017 21:07:56 -0800 Subject: [PATCH 18/32] New improved PDP-10 processor flag handling --- modules/pdp10/lib/cpuops.js | 34 ++-- modules/pdp10/lib/cpustate.js | 46 +++--- modules/pdp10/lib/debugger.js | 20 ++- modules/pdp10/lib/defines.js | 36 +++- versions/pdpjs/1.34.2/pdp10-dbg.js | 253 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 161 +++++++++--------- 6 files changed, 287 insertions(+), 263 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 3a95714b7..c6bab7e14 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -251,7 +251,7 @@ PDP10.opILDB = function(op, acc) * We can implement this as a simple combination of opIBP() and opLDB(), but taking care that we only call * opIBP() on phase 1. */ - if (this.regPS < 0) { + if (this.regBP < 0) { //noinspection JSUnresolvedFunction PDP10.opIBP.call(this, op, acc); } @@ -286,14 +286,14 @@ PDP10.opLDB = function(op, acc) * is with regEA containing the address of the bits to be loaded. */ var w = this.readWord(this.regEA); - if (this.regPS < 0) { - this.regPS = w; + if (this.regBP < 0) { + this.regBP = w; this.regRA = this.regEA | PDP10.OPCODE.I_BIT; this.advancePC(-1); return; } - var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; - var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; + var p = (this.regBP / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; + var s = (this.regBP >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; if (p + s <= 32) { /* * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a @@ -310,7 +310,7 @@ PDP10.opLDB = function(op, acc) w = Math.trunc(w / Math.pow(2, p)) % Math.pow(2, s); } this.writeWord(acc, w); - this.regPS = -1; + this.regBP = -1; }; /** @@ -341,7 +341,7 @@ PDP10.opIDPB = function(op, acc) * We can implement this as a simple combination of opIBP() and opDDB(), but taking care that we only call * opIBP() on phase 1. */ - if (this.regPS < 0) { + if (this.regBP < 0) { //noinspection JSUnresolvedFunction PDP10.opIBP.call(this, op, acc); } @@ -376,14 +376,14 @@ PDP10.opDPB = function(op, acc) * is with regEA containing the address of the bits to be stored. */ var w = this.readWord(this.regEA); - if (this.regPS < 0) { - this.regPS = w; + if (this.regBP < 0) { + this.regBP = w; this.regRA = this.regEA | PDP10.OPCODE.I_BIT; this.advancePC(-1); return; } - var p = (this.regPS / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; - var s = (this.regPS >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; + var p = (this.regBP / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; + var s = (this.regBP >> PDP10.OPCODE.S_SHIFT) & PDP10.OPCODE.S_MASK; /* * Regarding the SPECIAL CONSIDERATIONS above, even if the P ("shift") and/or S ("mask") values are * over-large, we "mask" the resulting byte value (b) to 36 bits, so that when we re-assemble the final @@ -392,7 +392,7 @@ PDP10.opDPB = function(op, acc) var b = ((this.readWord(acc) % Math.pow(2, s)) * Math.pow(2, p)) % PDP10.WORD_LIMIT; w = (w - (w % Math.pow(2, p + s))) + b + (w % Math.pow(2, p)); this.writeWord(this.regEA, w); - this.regPS = -1; + this.regBP = -1; }; /** @@ -1436,14 +1436,14 @@ PDP10.opASH = function(op, acc) * If all those bits in the original value (w) were 0s, then adding bitsShifted to it could NOT * produce a value > MAX_POS36. */ - if (w + bitsShifted > PDP10.MAX_POS36) this.fOverflow = true; + if (w + bitsShifted > PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; } else { /* * Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. * If all those bits in the original value (w) were 1s, subtracting bitsShifted from it could NOT * produce a value <= MAX_POS36. */ - if (w - bitsShifted <= PDP10.MAX_POS36) this.fOverflow = true; + if (w - bitsShifted <= PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; } } else { if (s <= -35) { @@ -1848,7 +1848,7 @@ PDP10.opPUSH = function(op, acc) p += 0o000001000001; this.writeWord(p & PDP10.HALF_MASK, this.readWord(this.regEA)); if (p >= PDP10.WORD_LIMIT) p -= PDP10.WORD_LIMIT; - if (!((p / PDP10.HALF_SHIFT)|0)) this.fPDOverflow = true; + if (!((p / PDP10.HALF_SHIFT)|0)) this.regPS |= PDP10.PSFLAG.PD_OVFL; } else { /* * This is the SIMH behavior, which appears to increment each half of AC independently. @@ -1858,7 +1858,7 @@ PDP10.opPUSH = function(op, acc) p = (p + 0o000001000000) - (p & PDP10.HALF_MASK) + addr; if (p >= PDP10.WORD_LIMIT) { p -= PDP10.WORD_LIMIT; - this.fPDOverflow = true; + this.regPS |= PDP10.PSFLAG.PD_OVFL; } } this.writeWord(acc, p); @@ -1888,7 +1888,7 @@ PDP10.opPOP = function(op, acc) if (this.regEA == acc) p = src; // this avoids re-reading the accumulator if the write just overwrote it p -= 0o000001000001; if (p < 0) p += PDP10.WORD_LIMIT; - if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.fPDOverflow = true; + if (((p / PDP10.HALF_SHIFT)|0) == PDP10.HALF_MASK) this.regPS |= PDP10.PSFLAG.PD_OVFL; this.writeWord(acc, p); }; diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index 01dd2f5d9..d99ec9f96 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -178,15 +178,14 @@ class CPUStatePDP10 extends CPUPDP10 { this.regPC = this.lastPC = this.addrReset; /* - * This next internal reg is used only with byte instructions, to record an active byte - * pointer state (regPS). + * This next internal reg is used only with byte instructions, to record an active byte pointer. */ - this.regPS = -1; + this.regBP = -1; /* * Assorted processor flags */ - this.fOverflow = this.fCarry0 = this.fCarry1 = this.fNoDivide = this.fPDOverflow = false; + this.regPS = 0; /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register @@ -291,13 +290,9 @@ class CPUStatePDP10 extends CPUPDP10 { this.regRA, this.regOP, this.regPC, + this.regBP, this.regPS, this.opFlags, - this.fOverflow, - this.fCarry0, - this.fCarry1, - this.fNoDivide, - this.fPDOverflow, this.lastPC, this.addrLast, this.addrReset @@ -327,13 +322,9 @@ class CPUStatePDP10 extends CPUPDP10 { this.regRA, this.regOP, this.regPC, + this.regBP, this.regPS, this.opFlags, - this.fOverflow, - this.fCarry0, - this.fCarry1, - this.fNoDivide, - this.fPDOverflow, this.lastPC, this.addrLast, this.addrReset @@ -349,6 +340,19 @@ class CPUStatePDP10 extends CPUPDP10 { return true; } + /** + * getPS() + * + * Gets the processor state flags in the format required by various program control operations. + * + * @this {CPUStatePDP10} + * @return {number} + */ + getPS() + { + return this.regPS & PDP10.HALF_MASK; + } + /** * readFlags() * @@ -360,8 +364,8 @@ class CPUStatePDP10 extends CPUPDP10 { readFlags() { var flags = 0; - if (this.fOverflow) flags |= PDP10.RFLAG.OVFL; - if (this.fPDOverflow) flags |= PDP10.RFLAG.PDOVFL; + if (this.regPS & PDP10.PSFLAG.OVFL) flags |= PDP10.RFLAG.OVFL; + if (this.regPS & PDP10.PSFLAG.PD_OVFL) flags |= PDP10.RFLAG.PD_OVFL; return flags; } @@ -375,8 +379,8 @@ class CPUStatePDP10 extends CPUPDP10 { */ writeFlags(w) { - if (w & PDP10.WFLAG.OVFL_CL) this.fOverflow = false; - if (w & PDP10.WFLAG.PDOVFL_CL) this.fPDOverflow = false; + if (w & PDP10.WFLAG.OVFL_CL) this.regPS &= ~PDP10.PSFLAG.OVFL; + if (w & PDP10.WFLAG.PD_OVFL_CL) this.regPS &= ~PDP10.PSFLAG.PD_OVFL; } /** @@ -507,7 +511,7 @@ class CPUStatePDP10 extends CPUPDP10 { if (src != PDP10.MIN_NEG36) { src = PDP10.TWO_POW36 - src; } else { - this.fOverflow = this.fCarry1 = true; + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); } } return src; @@ -525,7 +529,7 @@ class CPUStatePDP10 extends CPUPDP10 { negate(src) { if (!src) { - this.fCarry0 = this.fCarry1 = true; + this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1); } else { /* @@ -533,7 +537,7 @@ class CPUStatePDP10 extends CPUPDP10 { * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. */ if (src == PDP10.MIN_NEG36) { - this.fOverflow = this.fCarry1 = true; + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); } else { src = PDP10.TWO_POW36 - src; } diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index 29a26715f..c9dd8b25b 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -240,6 +240,7 @@ class DebuggerPDP10 extends Debugger { copyAddr(dbgAddr, dbgCopy) { dbgAddr.addr = dbgCopy.addr; + dbgAddr.fPhysical = dbgCopy.fPhysical; dbgAddr.fTemporary = dbgCopy.fTemporary; dbgAddr.nBase = dbgCopy.nBase; return dbgAddr; @@ -277,7 +278,7 @@ class DebuggerPDP10 extends Debugger { */ packAddr(dbgAddr) { - return [dbgAddr.addr, dbgAddr.fPhysical, dbgAddr.nBase, dbgAddr.fTemporary, dbgAddr.sCmd]; + return [dbgAddr.addr, dbgAddr.fPhysical, dbgAddr.fTemporary, dbgAddr.nBase, dbgAddr.sCmd]; } /** @@ -863,30 +864,31 @@ class DebuggerPDP10 extends Debugger { getRegValue(iReg) { var value; + var cpu = this.cpu; switch(iReg) { case DebuggerPDP10.REGS.PC: - value = this.cpu.getPC(); + value = cpu.getPC(); break; case DebuggerPDP10.REGS.RA: - value = this.cpu.regRA; + value = cpu.regRA; break; case DebuggerPDP10.REGS.EA: - value = this.cpu.regEA; + value = cpu.regEA; break; case DebuggerPDP10.REGS.C0: - value = this.cpu.fCarry0? 1 : 0; + value = (cpu.regPS & PDP10.PSFLAG.CARRY0)? 1 : 0; break; case DebuggerPDP10.REGS.C1: - value = this.cpu.fCarry1? 1 : 0; + value = (cpu.regPS & PDP10.PSFLAG.CARRY1)? 1 : 0; break; case DebuggerPDP10.REGS.OV: - value = this.cpu.fOverflow? 1 : 0; + value = (cpu.regPS & PDP10.PSFLAG.OVFL)? 1 : 0; break; case DebuggerPDP10.REGS.ND: - value = this.cpu.fNoDivide? 1 : 0; + value = (cpu.regPS & PDP10.PSFLAG.NO_DIVIDE)? 1 : 0; break; case DebuggerPDP10.REGS.PD: - value = this.cpu.fPDOverflow? 1 : 0; + value = (cpu.regPS & PDP10.PSFLAG.PD_OVFL)? 1 : 0; break; } return value; diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 794449a01..4c53e989e 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -190,7 +190,27 @@ var PDP10 = { IRQ_MASK: 0x0003, DEBUGGER: 0x0004, // set if the Debugger wants to perform checks WAIT: 0x0008, // WAIT operation in progress - PRESERVE: 0x000F, // OPFLAG bits to preserve prior to the next instruction + PRESERVE: 0x000F // OPFLAG bits to preserve prior to the next instruction + }, + + /* + * Flags returned by getPS() for various program control operations. + */ + PSFLAG: { + OVFL: 0o400000, // Overflow + CARRY0: 0o200000, // Carry 0 + CARRY1: 0o100000, // Carry 1 + FP_OVFL: 0o040000, // Floating-Point Overflow + BYTE_INT: 0o020000, // Byte Interrupt + USER_MODE: 0o010000, // Processor is in User Mode + USER_IO: 0o004000, // User I/O + FP_UNFL: 0o000100, // Floating-Point Underflow + NO_DIVIDE: 0o000040, // No Divide + /* + * Only the low 18 bits (above) are returned by getPS(); the following (bits 18 to 31) + * are defined for internal use only. + */ + PD_OVFL: 0o1000000 // Pushdown Overflow }, /* @@ -201,15 +221,15 @@ var PDP10 = { OVFL: 0o000010, // Overflow OVFL_IE: 0o000020, // Overflow Interrupt Enabled TRAP_OFF: 0o000040, // Trap Offset - FPOVFL: 0o000100, // Floating-Point Overflow - FPOVFL_IE: 0o000200, // Floating-Point Overflow Interrupt Enabled + FP_OVFL: 0o000100, // Floating-Point Overflow + FP_OVFL_IE: 0o000200, // Floating-Point Overflow Interrupt Enabled CLOCK: 0o001000, // Clock Flag CLOCK_IE: 0o002000, // Clock Interrupt Enabled NXM: 0o010000, // Non-Existent Memory PRM: 0o020000, // Memory Protection ADB: 0o040000, // Address Break UIO: 0o100000, // User In-Out - PDOVFL: 0o200000 // Pushdown Overflow (TODO: Verify this is correct; the May 1968 doc may have a typo) + PD_OVFL: 0o200000 // Pushdown Overflow (TODO: Verify this is correct; the May 1968 doc may have a typo) }, /* @@ -222,9 +242,9 @@ var PDP10 = { OVFL_CL: 0o000010, // Clear Overflow OVFL_IE: 0o000020, // Enable Overflow Interrupt OVFL_ID: 0o000040, // Disable Overflow Interrupt - FPOVFL_CL: 0o000100, // Clear Floating-Point Overflow - FPOVFL_IE: 0o000200, // Enable Floating-Point Overflow Interrupt - FPOVFL_ID: 0o000400, // Disable Floating-Point Overflow Interrupt + FP_OVFL_CL: 0o000100, // Clear Floating-Point Overflow + FP_OVFL_IE: 0o000200, // Enable Floating-Point Overflow Interrupt + FP_OVFL_ID: 0o000400, // Disable Floating-Point Overflow Interrupt CLOCK_CL: 0o001000, // Clear Clock Flag CLOCK_IE: 0o002000, // Enable Clock Interrupt CLOCK_ID: 0o004000, // Disable Clock Interrupt @@ -232,7 +252,7 @@ var PDP10 = { PRM_CL: 0o020000, // Clear Memory Protection ADB_CL: 0o040000, // Clear Address Break UIO_CL: 0o200000, // Clear All In-Out Devices - PDOVFL_CL: 0o400000 // Clear Pushdown Overflow + PD_OVFL_CL: 0o400000 // Clear Pushdown Overflow }, /* diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index d8b203ea9..8cfbfff96 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,202 +31,201 @@ var l,ga="function"==typeof Object.defineProperties?Object.defineProperty:functi function la(){ia();var a=ha.Symbol.iterator;a||(a=ha.Symbol.iterator=ha.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ga(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={cc:0,vb:1,ec:2,fc:3,gc:4,hc:5,ic:6,jc:7,hb:8,kc:9,wb:10,lc:11,mc:12,xb:13,nc:14,oc:15,pc:16,qc:17,rc:18,sc:19,tc:20,uc:21,vc:22,wc:23,xc:24,yc:25,zc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,gb:65,bc:66,dc:67,Ac:68,E:69,Bc:70,Cc:71,Dc:72,Ec:73,Fc:74,Gc:75,Hc:76,Ic:77,Jc:78,Kc:79,Lc:80,Q:81, -Mc:82,Nc:83,Oc:84,Pc:85,Qc:86,Rc:87,Sc:88,Tc:89,zb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Uc:97,Vc:98,Wc:99,d:100,e:101,Xc:102,Yc:103,Zc:104,$c:105,ad:106,k:107,bd:108,cd:109,n:110,dd:111,p:112,q:113,r:114,ed:115,t:116,gd:117,hd:118,jd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,yb:127}; +var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, +Ic:82,Jc:83,Kc:84,Lc:85,Mc:86,Nc:87,Oc:88,Pc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Qc:97,Rc:98,Sc:99,d:100,e:101,Tc:102,Uc:103,Vc:104,Wc:105,Xc:106,k:107,Yc:108,Zc:109,n:110,$c:111,p:112,q:113,r:114,ad:115,t:116,cd:117,dd:118,ed:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ub:127}; function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12"']/g,function(a){return Ga[a]})}function Ha(a,b){return(a+" ").slice(0,b)} function Ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ja(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 La(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Ma(a,b){var c,d={Y:null,T:null,pa:null,oa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.pa=f.load;d.oa=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ma=this.id:(this.Na=this.id.substr(0,a),this.Ma=this.id.substr(a+1));this.v={ready:!1,Fa:!1,$a:!1,U:!1,error:!1};this.Qa=null;this.v.error=!1;this.X=c||0;this.C=this.u=this.G=this.F=this.qa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} +function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.gb=b.comment;this.wb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Oa=null;this.v.error=!1;this.X=c||0;this.D=this.u=this.H=this.F=this.oa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Mb,a];this.C=this.u=this.G=this.F=null;this.exports={hold:this.Eb,toggle:this.Xb,reset:this.Tb, -set:this.Wb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; -l.ia=function(a,b,c,d){if(this.F&&this.F.ia(a,b,c,d)||this.u&&this.u.ia(a,b,c,d)||this.C&&this.C.ia(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.D[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ia.call(this,a,b,c,d)}};l.za=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;gc(this);hc(this)};l.ra=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ha=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; -l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Tb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.D)lc(a,c,null!=b?b:a.D[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Eb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Wb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Xb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} -function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Nb=function(a){a||this.u.v.K||(this.u.w=this.f%Qb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Ob=function(){};l.Ib=function(a){a||this.u.V()}; -l.Gb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),zc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.C,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} -function Fc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.la&&(a.la+=a.ka,c=!0);0<=a.ma&&a.ma<=id(a)&&(a.ka=a.ma=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.wa))}} -l.ia=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Wa*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.M);a.M=0;a.L=xb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;ca;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb, +set:this.Sb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} +l.Ab=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Tb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} +function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Qb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; +l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),zc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} +function Fc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.H(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.ua))}} +l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ta*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.M);a.M=0;a.L=xb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Ub=function(){if(this.v.K){this.Oa>=this.Ya&&kd(this,!0);this.na=0;this.va=xb();if(this.O){var a=this.va-this.O;a>this.Xa&&(this.L+=a,this.L>this.va&&(this.L=this.va))}try{do{var b=nd(this,this.v.Ea?1:this.ya);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.na+=b;this.M+=b;Cc(this,b);Ac(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.ya;++this.Za>=Kd&&(this.F&&M(this.F,void 0),this.Za=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.fb;this.O=xb();var c=this.Xa;this.na&&(c=Math.round(c*this.na/this.ya));var c=c-(this.O-this.va),d=this.O-this.L;d&&(this.aa=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.aac&&(this.L-=c),c=0;this.Oa+=this.na;this.O+=c;a(b,c)}}}; -function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Ta=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.L,id(a)));a.C||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.C||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; -function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.lb=b;this.Ka=+a.addrReset||0;this.Ab=Md.bind(this);this.b=O.bind(this);this.ta=null;this.jb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.lb);this.v.K&&this.V();this.f=this.H=this.Pa=0;this.w=this.ua=this.Ka;this.D=-1;this.J=this.La=this.ja=this.Va=this.W=!1;this.sa=this.w;this.A=0;this.g=this.Qb;this.j=this.ac;this.ta=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.sb=function(){return 0}; -l.save=function(){var a=new L(this);a.set(0,[this.f,this.H,this.Pa,this.w,this.D,this.A,this.J,this.La,this.ja,this.Va,this.W,this.ua,this.sa,this.Ka]);a.set(1,[]);a.set(2,[this.S,this.ea,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.H=b.next().value;this.Pa=b.next().value;this.w=b.next().value;this.D=b.next().value;this.A=b.next().value;this.J=b.next().value;this.La=b.next().value;this.ja=b.next().value;this.Va=b.next().value;this.W=b.next().value;this.ua=b.next().value;this.sa=b.next().value;this.Ka=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d= -0;dVb&&(a!=Wb?a=Xb-a:this.J=this.ja=!0);return a};function Pd(a,b){b?b==Wb?a.J=a.ja=!0:b=Xb-b:a.La=a.ja=!0;return b}function Nd(a){var b=[];for(a=a.ta;a;)b.push(a.Yb),a=a.next;return b} -l.Qb=function(a){var b=this.G;a=this.sa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.ac=function(a,b){var c=this.G;a=this.sa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.C?Qd(this.C)?1:this.v.Ta?-1:0:0,c=a?this.v.Ta?0:1:-1;this.v.Ta=!1;this.P=this.R=a;this.A=this.A&-5|(b?4:0);do{if(this.A){if(this.A&4){if(Rd(this.C,this.w,c)){this.V();break}++b||(this.A&=-5);c||c++}if(a=this.A&11)this.A&2?this.ta||(this.A&=-3):this.A&1&&this.A++,a=!1;if(a){if(this.A&4&&Rd(this.C,this.w,c)){this.V();break}if(0>c)break}}this.A&=15;this.H=this.H&4194304?this.g(this.f):this.Pa=this.g(this.ua=this.w);this.H&=8388607;this.f=this.H&262143;if(a= -this.H>>18&15)this.f=this.f+this.g(a)&Rb;this.H&4194304?a=-1:(this.w=(this.w+1)%Qb,a=this.Pa/$b|0);0<=a&&this.Ab(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.D=-1}} -function Vd(a,b){a=this.g(this.f);if(0>this.D)this.D=a,this.H=this.f|4194304,Od(this,-1);else{var c=this.D/ac&63,d=this.D>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.D=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} +l.Qb=function(){if(this.v.K){this.Ba>=this.Va&&kd(this,!0);this.la=0;this.ta=xb();if(this.O){var a=this.ta-this.O;a>this.Ua&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Wa>=Kd&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.ib;this.O=xb();var c=this.Ua;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; +function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Ra=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.D||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; +function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Md.bind(this);this.b=O.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.ob=function(){return 0}; +l.save=function(){var a=new L(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dVb&&(a!=Wb?a=Xb-a:this.w|=163840);return a};function Pd(a,b){b?b==Wb?a.w|=163840:b=Xb-b:a.w|=98304;return b}function Nd(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.D?Qd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= +this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Qb,a=this.Ma/$b|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} +function Vd(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&H)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&H)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Vb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ce(a,d,c)+c)} function he(a,b){var c=this.f*G,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&H)*G,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a,a>>3&127)} function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} -var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.D&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.D&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.G&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.G&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.J=!0):a-c<=Vb&&(this.J=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/ -Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/ -Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c= -this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.W=!0);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=E);(a/G|0)==H&&(this.W=!0); -this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, +a)%E+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)}, +function(a,b){a=!1;for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145; +0>a&&(a+=E);(a/G|0)==H&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f,S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f, -this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))}, -ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b), -F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f, -this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b, -U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},ae,ae,function(){this.j(this.f,F)},function(a,b){this.j(this.f,this.j(b,F))},be,de,ee,fe,ge,he,ie,je,be,de, -ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f, +S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))}, +function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))},ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b, +U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d, +$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f,this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))}, +function(a,b){this.j(b,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},ae,ae,function(){this.j(this.f, +F)},function(a,b){this.j(this.f,this.j(b,F))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.J=!1);a&131072&&(this.W=!1);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.J&&(a|=8); -this.W&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function xe(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.D=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.H=wa(this.A);if(this.A){a=this.A;var b=xa(this.H);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.Na,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ye(c)})}}p(xe,v); -xe.prototype.za=function(a,b,c,d){this.G=b;this.u=c;this.C=d;ye(this)};xe.prototype.ra=function(){this.T&&(this.C&&ze(this.C,this.id,this.D,this.w,this.T),delete this.T);return!0};xe.prototype.ha=function(){return!0}; -function ye(a){if(!Kb(a)){if(a.A){if(!a.b||!a.G)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.D;if(Kc(a.G,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145); +break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; +function xe(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.G=wa(this.A);if(this.A){a=this.A;var b=xa(this.G);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ye(c)})}}p(xe,v); +xe.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;ye(this)};xe.prototype.pa=function(){this.T&&(this.D&&ze(this.D,this.id,this.C,this.w,this.T),delete this.T);return!0};xe.prototype.ga=function(){return!0}; +function ye(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.gb&&c<=q.zb&&(b=c-(q.gb-q.vb));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.xb&&(b=q.wb);d.Ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.za=function(a,b,c,d){this.F=a;this.G=b;this.u=c;this.C=d;B(this)}; -l.ub=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ma)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.D=e.receiveData){this.w=a;this.status("Connected "+this.Na+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ra=function(a,b){if(!b)if(this.ub(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ha=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.xb&&(b=c-(q.bb-q.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.tb&&(b=q.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;B(this)}; +l.qb=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.C=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.qb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} function He(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} function V(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ne(a){Fe.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.H=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.C=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.D=this.ya=this.xa=this.fa=this.na=0;this.ea=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return hd(b,a)}):void 0===global[y]&&(global[y]=function(a){return hd(b, -a)})}p(Ne,Fe);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,rb:void 0===b?!1:b,ga:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.rb=c||!1;a.ga=!1;a.ca=d}function Se(a){return[a.B,a.rb,a.ca,a.ga,a.Sa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.ga=b[3];b[4]&&(c.mb=Ge(a,c.Sa=b[4]));return c}l=Ne.prototype; -l.za=function(a,b,c,d){this.G=b;this.F=a;this.u=c;this.ea=a.w;(a=cd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.G.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<>>d.H.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.ua==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Vf(a,b,c,d){var e=W(b.B),g=a.Aa(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Wf)if(f=Wf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=We(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Aa(e,1),f+=" "+We(k),null== -e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.wa)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.na=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.G;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.ga=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.ga||Pe(a);break}}return g} -function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Re(e.va,d);g+="="+N(e,e.Aa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.pb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({fd:b,B:c,Fb:d,T:e,nb:g})}function gg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Fb;if(e>=f&&e>23&&a.u.sa==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Vf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Wf)if(f=Wf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=We(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+We(k),null== +e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.fa||Pe(a);break}}return g} +function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Re(e.va,d);g+="="+N(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.mb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Bb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.ga=m.ga;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} +function Tf(a,b,c,d){if(b=Z(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Je(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c);if(!d||d.Bh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"$f&&(rd="B");if(Ng==ag[kf]+rd){jf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|jf<<6)*Yb;break}}if(0<= A)break}if(0<=A)break}if(0<=A)if(gf)for(var sd=gf.split(","),nb=0;nbJ||127J||15 -J||262143J||15J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==qf&&(pb=1E5,xd=["CALL"]);for(void 0!==pf&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.Aa,Cf=a.ib):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< +Rg);(!xd.length||0<=uf.indexOf(xd[0]))&&a.i(uf);qb.Ya&&(X+=qb.Ya,pb-=qb.Ya,T-=qb.Ya);X>=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+We(Bf.call(a,qc))+" to "+We(Bd));Cf.call(a,qc,Bd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Cd=Z(a,Ef);if(!Cd)break a;Ve(a,Cd,Ug);a.Da(a.b,Cd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= -!1);Dd||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.Aa(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.w);a.Aa(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&md(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ka=wb;break;case "start":a.u.xa=wb;break;case "stop":a.u.ma=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); -a.i("target speed: "+(a.u.ba.toFixed(2)+"Mhz")+" ("+a.u.ea+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.lb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} +a.i((null!==fa?fa?"messages on: ":"messages off: ":"message categories:\n\t")+(ub||"none"));Pe(a)}break;case "p":if("print"==f[0]){kg(a,b.substr(5));break}var Lf=f[0],Mf="p"==Lf?0:"pr"==Lf?1:-1;if("?"==f[1]||0>Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.A);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&md(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ia=wb;break;case "start":a.u.va=wb;break;case "stop":a.u.ka=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); +a.i("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} function hd(a,b,c){b=Ge(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} var ng={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},$f=20,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, 28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ff=1E3,Rf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bsg){if(tg(d,this.M)){this.D=new L(this,"1.34.2",Cg);tg(this.D)&&(Dg(this,d),a=Eg,Fg(this.D));this.D.set(zg,Ka());Gg(this.D);var e=this.b&&!this.L;if(a==Ag||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.A=0}; +l.Ga=function(a){void 0===a&&(a=this.b||(this.M?Ag:sg));if(!this.A){this.A++;var b=!1,c=!1;this.P=!1;var d=this.J||new L(this,"1.34.2");if(a==Bg)b=!0;else if(a>sg){if(tg(d,this.M)){this.C=new L(this,"1.34.2",Cg);tg(this.C)&&(Dg(this,d),a=Eg,Fg(this.C));this.C.set(zg,Ka());Gg(this.C);var e=this.b&&!this.L;if(a==Ag||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; function Dg(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} -function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",xg),h=Ka();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ha&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ha(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k=d||30<=(c.Ua+=d))&&(e.textContent=c.v.K?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.A&8);if(0>=b||60<=(a.L+=b)){e=a.u.w;if(a.I.PC){var g=a.C&&a.C.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.w:0=d||30<=(c.Sa+=d))&&(e.textContent=c.v.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Sa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255a?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Eb:0,Ya:1,Gb:2,Hb:3,Ib:4,Jb:5,Kb:6,Lb:7,Pa:8,Mb:9,Za:10,Nb:11,Ob:12,$a:13,Pb:14,Qb:15,Rb:16,Sb:17,Tb:18,Ub:19,Vb:20,Wb:21,Xb:22,Yb:23,Zb:24,$b:25,ac:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Oa:65,Db:66,Fb:67,bc:68,E:69,cc:70,dc:71,ec:72,fc:73,gc:74,hc:75,ic:76,jc:77,kc:78,lc:79,mc:80,Q:81, -nc:82,oc:83,pc:84,qc:85,rc:86,sc:87,tc:88,uc:89,bb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,vc:97,wc:98,xc:99,d:100,e:101,yc:102,zc:103,Ac:104,Bc:105,Cc:106,k:107,Dc:108,Ec:109,n:110,Fc:111,p:112,q:113,r:114,Gc:115,t:116,Hc:117,Ic:118,Jc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ab:127}; +var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Ab:0,Ta:1,Cb:2,Db:3,Eb:4,Fb:5,Gb:6,Hb:7,Ma:8,Ib:9,Ua:10,Jb:11,Kb:12,Va:13,Lb:14,Mb:15,Nb:16,Ob:17,Pb:18,Qb:19,Rb:20,Sb:21,Tb:22,Ub:23,Vb:24,Wb:25,Xb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,zb:66,Bb:67,Yb:68,E:69,Zb:70,$b:71,ac:72,bc:73,cc:74,dc:75,ec:76,fc:77,gc:78,hc:79,ic:80,Q:81, +jc:82,kc:83,lc:84,mc:85,nc:86,oc:87,pc:88,qc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,rc:97,sc:98,tc:99,d:100,e:101,uc:102,vc:103,wc:104,xc:105,yc:106,k:107,zc:108,Ac:109,n:110,Bc:111,p:112,q:113,r:114,Cc:115,t:116,Dc:117,Ec:118,Fc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; function ua(){function a(a){return(10>a?"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())} @@ -44,58 +44,57 @@ function pa(){return"http://"+(window?window.location.host:"www.pcjs.org")}funct function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Ba(a){if(!Ca){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ca=c}return Ca[a]}function Da(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function w(a){x.init.push(a)} function Ea(a){if(Fa)try{for(var b=0;ba?this.qa=this.id:(this.ra=this.id.substr(0,a),this.qa=this.id.substr(a+1));this.g={ready:!1,wa:!1,Ja:!1,C:!1,error:!1};this.ya=null;this.g.error=!1;this.v=this.h=this.o=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} +function y(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Oa=b.comment;this.Za=b;this.exports={};this.m=this.bindings={};a=this.id.indexOf(".");0>a?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.g={ready:!1,ua:!1,Ga:!1,D:!1,error:!1};this.wa=null;this.g.error=!1;this.v=this.h=this.s=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} function u(a){window&&window.alert(a)}function Na(a){var b=!1;window&&(b=window.confirm(a));return b}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.nb,a];this.v=this.h=this.o=this.u=null;this.exports={hold:this.gb,toggle:this.yb,reset:this.ub, -set:this.xb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):y.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.P&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; -k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.ub=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} -k.gb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; -k.xb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.o(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.mb=function(a){a||this.h.g.A||mb(this,this.i)};k.lb=function(a){a?(this.s=!0,jb(this,!0)):(this.s=!1,jb(this),nb(this,0))};k.nb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<a;a++)this.a["S"+a]=[0,0,!1,!1,this.jb,a];this.v=this.h=this.s=this.u=null;this.exports={hold:this.bb,toggle:this.ub,reset:this.qb, +set:this.tb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):y.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.h=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.P&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; +k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} +k.bb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; +k.tb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.s(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.ib=function(a){a||this.h.g.A||mb(this,this.i)};k.hb=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.jb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.Aa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Cb(a){for(var b=0,c=[],d=0;d>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} +function Cb(a){for(var b=0,c=[],d=0;d=a.ca&&(a.ca+=a.ka,c=!0);0<=a.la&&a.la<=Xb(a)&&(a.ka=a.la=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.sa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.C)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.P/a.X&&(b=1);a.da=b;b=a.Fa*a.da;if(a.X!=b){a.X=b;b=a.X.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.B);a.B=0;a.w=Ma();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} -k.vb=function(){if(this.g.A){this.ua>=this.Ha&&Zb(this,!0);this.fa=0;this.ja=Ma();if(this.I){var a=this.ja-this.I;a>this.Ga&&(this.w+=a,this.w>this.ja&&(this.w=this.ja))}try{do{for(var b,c=this.g.xa?1:this.ma,d=this.D.length-1;0<=d;d--){var e=this.D[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.fa+=b;this.B+=b;xb(this,b);vb(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.ma;++this.Ia>=cc&&(this.u&&R(this.u,void 0),this.Ia=0);break}}while(this.g.A)}catch(f){Q(this); -this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Ta;this.I=Ma();c=this.Ga;this.fa&&(c=Math.round(c*this.fa/this.ma));c-=this.I-this.ja;if(d=this.I-this.w)this.P=Math.round(this.B/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.w-=c),c=0;this.ua+=this.fa;this.I+=c;a(b,c)}}}; -function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ma=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.w,Xb(a));a.v||a.status("Started");setTimeout(a.Ta,0)}}k.Ba=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.B);a.B=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Xa=b;this.pa=+a.addrReset||0;this.cb=ec.bind(this);this.a=T.bind(this);this.ia=null;this.Qa=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&Q(this);this.b=this.s=this.va=0;this.j=this.Ea=this.pa;this.l=-1;this.G=this.Da=this.ha=this.Sa=this.W=!1;this.ga=this.j;this.i=0;this.c=this.rb;this.f=this.Cb;this.ia=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Va=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.b,this.s,this.va,this.j,this.l,this.i,this.G,this.Da,this.ha,this.Sa,this.W,this.Ea,this.ga,this.pa]);a.set(1,[]);a.set(2,[this.N,this.da,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.s=b.next().value;this.va=b.next().value;this.j=b.next().value;this.l=b.next().value;this.i=b.next().value;this.G=b.next().value;this.Da=b.next().value;this.ha=b.next().value;this.Sa=b.next().value;this.W=b.next().value;this.Ea=b.next().value;this.ga=b.next().value;this.pa=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d= -0;dN&&(a!=ab?a=bb-a:this.G=this.ha=!0);return a};function hc(a,b){b?b==ab?a.G=a.ha=!0:b=bb-b:a.Da=a.ha=!0;return b}function fc(a){var b=[];for(a=a.ia;a;)b.push(a.zb),a=a.next;return b}k.rb=function(a){var b=this.o;a=this.ga=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)}; -k.Cb=function(a,b){var c=this.o;a=this.ga=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.Ba=function(a){this.g.complete=!0;var b=a?this.g.Ma?0:1:-1;this.g.Ma=!1;this.K=this.L=a;this.i=this.i&-5|0;do{if(a=this.i)if(a=this.i&11)this.i&2?this.ia||(this.i&=-3):this.i&1&&this.i++,a=!1;if(a){if(this.i&4&&this.v.j(this.j,b)){Q(this);break}if(0>b)break}this.i&=15;this.s=this.s&4194304?this.c(this.b):this.va=this.c(this.Ea=this.j);this.s&=8388607;this.b=this.s&262143;if(a=this.s>>18&15)this.b=this.b+this.c(a)&Xa;this.s&4194304?a=-1:(this.j=(this.j+1)%Wa,a=this.va/cb|0);0<=a&&this.cb(a)}while(0< +function S(a,b,c,d,e){this.v=a;this.id=Jb+=2;this.aa=b;this.ya=c;this.size=d||0;this.type=e||Kb;this.u=e==Lb;this.c=this.s=this.Ia;this.f=this.m=this.Ka;this.b=this.h=0;Bb(this);this.Ha=this.ab=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Xb(a)&&(a.ha=a.ia=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.qa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.D)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ca*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.C);a.C=0;a.B=Ma();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} +k.rb=function(){if(this.g.A){this.sa>=this.Ea&&Zb(this,!0);this.ea=0;this.ga=Ma();if(this.I){var a=this.ga-this.I;a>this.Da&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.g.va?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Fa>=cc&&(this.u&&R(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){Q(this); +this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Pa;this.I=Ma();c=this.Da;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; +function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.za=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.C);a.C=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; +function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Xa=b;this.na=+a.addrReset||0;this.Ya=ec.bind(this);this.a=T.bind(this);this.fa=null;this.Na=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&Q(this);this.b=this.w=this.ta=0;this.o=this.Ba=this.na;this.l=-1;this.i=0;this.la=this.o;this.j=0;this.c=this.nb;this.f=this.yb;this.fa=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Ra=function(){return 0}; +k.save=function(){var a=new P(this);a.set(0,[this.b,this.w,this.ta,this.o,this.l,this.i,this.j,this.Ba,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ta=b.next().value;this.o=b.next().value;this.l=b.next().value;this.i=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dN&&(a!=ab?a=bb-a:this.i|=163840);return a};function hc(a,b){b?b==ab?a.i|=163840:b=bb-b:a.i|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){Q(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Wa,a=this.ta/cb|0);0<=a&&this.Ya(a)}while(0< this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%J);this.f(this.b,b)} -function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.s=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%J;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} +function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%J;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,K-this.c(b))}function rc(a,b){this.f(b,K)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&M)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&M)))} function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&M,a){case 256:d+=M;break;case 384:d+=c>N?M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&M)*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&M)*L;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&M)*L,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} function Ac(a,b){var c=this.c(this.b)&M,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&M;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=M,a){case 256:d+=M*L;break;case 384:d+=c>$a?M*L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/L|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} @@ -105,59 +104,59 @@ var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(b,a)},function(a,b){this.f(b,this.b*L)},function(a,b){a=this.c(b);a=(a/L|0)+a%L*L;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=this.b<<14>>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.G=!0):a-c<=N&&(this.G=!0)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+Math.trunc(c/ -Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%J+Math.trunc(d/ -Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c= -this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.W=!0);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);(a/L|0)==M&&(this.W=!0);this.f(b, -a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=this.b<<14>>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+ +Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)% +J+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a, +b){a=!1;for(var c=this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);(a/ +L|0)==M&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, -this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))}, -Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b), -K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b, -this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b, -Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc, -uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b, +this.f(b,Y(this.c(b),K-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))}, +function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b, +K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b), +K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b, +K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.G=!1);a&131072&&(this.W=!1);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.G&&(a|=8); -this.W&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Mc(a){y.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.s=ma(this.j);if(this.j){a=this.j;var b=na(this.s);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;t(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ka(c.ra,a,b),(a=va(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Nc(c)})}}n(Mc,y); -Mc.prototype.Z=function(a,b,c,d){this.o=b;this.h=c;this.v=d;Nc(this)};Mc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.i,this.O),delete this.O);return!0};Mc.prototype.R=function(){return!0}; -function Nc(a){if(!Ua(a)){if(a.j){if(!a.a||!a.o)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Db(a.o,b,a.i,Lb)){var c;for(c=0;c>>f.b;0>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.Oa&&c<=q.bb&&(b=c-(q.Oa-q.Ya));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.$a&&(b=q.Za);d.za(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.za(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.o=b;this.h=c;this.v=d;H(this)}; -k.Wa=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.qa)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.ra+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Wa(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.$a&&(b=c-(q.La-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.xa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.h=c;this.v=d;H(this)}; +k.Sa=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.oa)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;b\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Xc(d,this.D)){this.l=new P(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,ua());jd(this.l);var e=this.a&&!this.B;if(a==dd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(za(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.D;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.C=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(ld(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +k.ka=function(a){void 0===a&&(a=this.a||(this.C?dd:Wc));if(!this.j){this.j++;var b=!1,c=!1;this.K=!1;var d=this.w||new P(this,"1.34.2");if(a==ed)b=!0;else if(a>Wc){if(Xc(d,this.C)){this.l=new P(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,ua());jd(this.l);var e=this.a&&!this.B;if(a==dd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(za(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.C;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(ld(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; function gd(a,b){if(Na("There may be a problem with your "+I+" machine.\n\nTo help us diagnose it, click OK to send this "+I+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=I;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} -function md(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",ad),h=ua();g.set(cd,h);f.set(cd,h);f.set(nd,"1.34.2");f.set(od,window?window.location.href:null);f.set(pd,window?window.navigator.userAgent:"");a.h&&a.h.R&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.R(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.C=!1,!1===d&&(e=null)));for(var h=B(a.id),l=0;l=d||30<=(c.Ca+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.i&&(a=a.i,b=b||0,a.D)){c=a.h.g.A;d=!!(a.h.i&8);if(0>=b||60<=(a.B+=b)){e=a.h.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.j:0=d||30<=(c.Aa+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.i&&(a=a.i,b=b||0,a.C)){c=a.h.g.A;d=!!(a.h.j&8);if(0>=b||60<=(a.B+=b)){e=a.h.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.o:0 Date: Sun, 5 Mar 2017 10:04:18 -0800 Subject: [PATCH 19/32] Added "lsh" and "rot" commands to the Int36 command-line tool to mimic the PDP-10 opcodes and test their logic --- modules/pdp10/lib/cpuops.js | 10 +- modules/pdp10/lib/defines.js | 2 +- modules/shared/bin/int36 | 29 ++++ modules/shared/lib/int36.js | 242 ++++++++++++++++++++++++++++- versions/pdpjs/1.34.2/pdp10-dbg.js | 40 ++--- versions/pdpjs/1.34.2/pdp10.js | 30 ++-- 6 files changed, 308 insertions(+), 45 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index c6bab7e14..10caa5700 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1402,7 +1402,7 @@ PDP10.opASH = function(op, acc) /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ - var s = (this.regEA << 14) >> 24; + var s = ((this.regEA << 14) >> 14) % 256; if (s) { var w = this.readWord(acc), bitsShifted; /* @@ -1474,7 +1474,7 @@ PDP10.opROT = function(op, acc) /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 36 (+/-35). */ - var s = ((this.regEA << 14) >> 24) % 36; + var s = ((this.regEA << 14) >> 14) % 36; if (s) { var w = this.readWord(acc); /* @@ -1523,7 +1523,7 @@ PDP10.opLSH = function(op, acc) /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ - var s = (this.regEA << 14) >> 24; + var s = ((this.regEA << 14) >> 14) % 256; if (s) { var w = this.readWord(acc); if (s > 0) { @@ -1598,7 +1598,7 @@ PDP10.opROTC = function(op, acc) /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 72 (+/-71). */ - var s = ((this.regEA << 14) >> 24) % 72; + var s = ((this.regEA << 14) >> 14) % 72; if (s) { var wLeft = this.readWord(acc); var wRight = this.readWord((acc + 1) & 0o17); @@ -1638,7 +1638,7 @@ PDP10.opLSHC = function(op, acc) /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ - var s = (this.regEA << 14) >> 24; + var s = ((this.regEA << 14) >> 14) % 256; if (s) { var wLeft = this.readWord(acc); var wRight = this.readWord((acc + 1) & 0o17); diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 4c53e989e..245ffd062 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -84,7 +84,7 @@ var PDP10 = { MODEL_KA10: 1001, /* - * This constant is used to mark points in the code where the physical address being returned + * ADDR_INVALID is used to mark points in the code where the physical address being returned * is invalid and should not be used. * * In a 32-bit CPU, -1 (ie, 0xffffffff) could actually be a valid address, so consider changing diff --git a/modules/shared/bin/int36 b/modules/shared/bin/int36 index 739b76123..0e6daf42e 100644 --- a/modules/shared/bin/int36 +++ b/modules/shared/bin/int36 @@ -71,10 +71,21 @@ function test(sCmd, fREPL) if (sNum2 != null) console.log(sOp + " " + dumpInt36(i36Op)); switch(sOp) { + case "get": + break; + case "set": i36Reg = new Int36(i36Op); break; + case "ext": + i36Reg.extend(i36Op); + break; + + case "red": + i36Reg.reduce(i36Op); + break; + case "add": i36Reg.add(i36Op); break; @@ -91,6 +102,18 @@ function test(sCmd, fREPL) i36Reg.div(i36Op); break; + case "ash": + i36Reg.ash(i36Op); + break; + + case "lsh": + i36Reg.lsh(i36Op); + break; + + case "rot": + i36Reg.rot(i36Op); + break; + default: console.log("unrecognized command: " + sCmd); return false; @@ -151,6 +174,12 @@ test("set 0o577777777777 0o777777777777"); test("set 0o677777777777 0o777777777777"); test("set 0o777777777777 0o777777777777"); +test("set 0o112233445566"); +test("lsh 3"); +test("lsh -3"); +test("rot 6"); +test("rot -6"); + repl.start({ prompt: "int36> ", input: process.stdin, diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index 440aaf1c1..e80aeb6da 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -500,6 +500,8 @@ class Int36 { var fNeg = false, extended; var n1 = this.value, n2 = value; + this.error = Int36.ERROR.NONE; + if (n1 > Int36.MAXPOS) { n1 = Int36.BIT36 - n1; fNeg = !fNeg; @@ -573,6 +575,8 @@ class Int36 { */ divExtended(divisor) { + this.error = Int36.ERROR.NONE; + if (!divisor) { this.error |= Int36.ERROR.DIVZERO; return; @@ -649,6 +653,236 @@ class Int36 { } } + /** + * ash(i36) + * + * @this {Int36} + * @param {Int36} i36 (18-bit value representing the number of bits to arithmetically shift left (> 0) or right (< 0)) + */ + ash(i36) + { + this.ashNum(i36.value); + } + + /** + * ashNum(num) + * + * @this {Int36} + * @param {number} num (18-bit value representing the number of bits to arithmetically shift left (> 0) or right (< 0)) + */ + ashNum(num) + { + num = Int36.validate(num); + this.error = Int36.ERROR.NONE; + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). + */ + var s = ((num << 14) >> 14) % 256; + if (s) { + if (this.extended == null) { + /* + * Simulate opASH() + */ + var w = this.value, bitsShifted; + /* + * Convert the unsigned word (w) to a signed value (i), for convenience. + */ + var i = w > Int36.MAXPOS? -(Int36.BIT36 - w) : w; + if (s > 0) { + if (s >= 35) { + i = (i < 0? Int36.BIT35 : 0); + bitsShifted = Int36.MAXPOS; + } else { + i = (i * Math.pow(2, s)) % Int36.BIT35; + /* + * bitsShifted must be set to the mask of all magnitude bits shifted out of + * the original word. Using 8-bit signed words as an example, this table shows + * the bitsShifted values that would correspond to shifting 1-7 bits left: + * + * shifts bitsShifted value calculation + * ------ ----------- ------ ----------- + * 1 0b01000000 128-64 128-Math.pow(2, 7-1) + * 2 0b01100000 128-32 128-Math.pow(2, 7-2) + * 3 0b01110000 128-16 128-Math.pow(2, 7-3) + * ... + * 7 0b01111111 128-1 128-Math.pow(2, 7-7) + */ + bitsShifted = Int36.BIT35 - Math.pow(2, 35 - s); + } + if (w <= Int36.MAXPOS) { + /* + * Since w was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value (w) were 0s, then adding bitsShifted to it could NOT + * produce a value > MAX_POS36. + */ + if (w + bitsShifted > Int36.MAXPOS) this.error |= Int36.ERROR.OVERFLOW; + } else { + /* + * Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value (w) were 1s, subtracting bitsShifted from it could NOT + * produce a value <= MAX_POS36. + */ + if (w - bitsShifted <= Int36.MAXPOS) this.error |= Int36.ERROR.OVERFLOW; + } + } else { + if (s <= -35) { + i = (i < 0? -1 : 0); + } else { + i = Math.trunc(i / Math.pow(2, -s)); + } + } + w = (i < 0? i + Int36.BIT36 : i); + this.value = w; + } + else { + /* + * Simulate opASHC() + */ + console.log("ASHC unimplemented"); + } + } + } + + /** + * lsh(i36) + * + * @this {Int36} + * @param {Int36} i36 (18-bit value representing the number of bits to logically shift left (> 0) or right (< 0)) + */ + lsh(i36) + { + this.lshNum(i36.value); + } + + /** + * lshNum(num) + * + * @this {Int36} + * @param {number} num (18-bit value representing the number of bits to logically shift left (> 0) or right (< 0)) + */ + lshNum(num) + { + num = Int36.validate(num); + this.error = Int36.ERROR.NONE; + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). + */ + var s = ((num << 14) >> 14) % 256; + if (s) { + if (this.extended == null) { + var w = this.value; + if (s > 0) { + if (s >= 36) { + w = 0; + } else { + w = (w * Math.pow(2, s)) % Int36.BIT36; + } + } else { + if (s <= -36) { + w = 0; + } else { + w = Math.trunc(w / Math.pow(2, -s)); + } + } + this.value = w; + } else { + var wRight = this.value; + var wLeft = this.extended; + if (s > 0) { + if (s >= 36) { + wRight = 0; + if (s >= 72) { + wLeft = 0; + } else { + wLeft = (wRight * Math.pow(2, s - 36)) % Int36.BIT36; + } + } else { + wLeft = ((wLeft * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = (wRight * Math.pow(2, s)) % Int36.BIT36; + } + } else { + if (s <= -36) { + wLeft = 0; + if (s <= -72) { + wRight = 0; + } else { + wRight = Math.trunc(wLeft / Math.pow(2, -s - 36)); + } + } else { + wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wLeft * Math.pow(2, 36 + s)) % Int36.BIT36); + wLeft = Math.trunc(wLeft / Math.pow(2, -s)); + } + } + this.value = wRight; + this.extended = wLeft; + } + } + } + + /** + * rot(i36) + * + * @this {Int36} + * @param {Int36} i36 (18-bit value representing the number of bits to logically rotate left (> 0) or right (< 0)) + */ + rot(i36) + { + this.rotNum(i36.value); + } + + /** + * rotNum(num) + * + * @this {Int36} + * @param {number} num (18-bit value representing the number of bits to logically rotate left (> 0) or right (< 0)) + */ + rotNum(num) + { + var s; + num = Int36.validate(num); + this.error = Int36.ERROR.NONE; + + if (this.extended == null) { + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 36 (+/-35). + */ + s = ((num << 14) >> 14) % 36; + if (s) { + var w = this.value; + /* + * Note that a right rotation (s < 0) of s bits is equivalent to a left rotation (s > 0) of 36 + s bits. + */ + if (s < 0) s = 36 + s; + w = ((w * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(w / Math.pow(2, 36 - s)); + this.value = w; + } + } + else { + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value, modulo 72 (+/-71). + */ + s = ((num << 14) >> 14) % 72; + if (s) { + var wRight = this.value; + var wLeft = this.extended; + var wLeftOrig = wLeft; + /* + * Note that a right rotation (s < 0) of s bits is equivalent to a left rotation (s > 0) of 72 + s bits. + */ + if (s < 0) s = 72 + s; + if (s < 36) { + wLeft = ((wLeft * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = ((wRight * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wLeftOrig / Math.pow(2, 36 - s)); + } else { + wLeft = ((wRight * Math.pow(2, s - 36)) % Int36.BIT36) + Math.trunc(wLeft / Math.pow(2, 72 - s)); + wRight = ((wLeftOrig * Math.pow(2, s - 36)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 72 - s)); + } + this.value = wRight; + this.extended = wLeft; + } + } + } + /** * extend() * @@ -734,7 +968,6 @@ class Int36 { if (this.value) { this.value = Int36.BIT36 - this.value; } - this.error = Int36.ERROR.NONE; } /** @@ -865,14 +1098,15 @@ class Int36 { } /** - * validate(num) + * validate(num, bits) * * This ensures that any incoming (external) 36-bit values conform to our internal requirements. * * @param {number} num + * @param {number} [bits] (an alternative number of bits to restrict the value to) * @return {number} */ - static validate(num) + static validate(num, bits = 36) { /* * Although it's expected that most callers will supply unsigned 36-bit values, we're nice about @@ -882,7 +1116,7 @@ class Int36 { if (num < 0 && num >= Int36.MINNEG) { num += Int36.BIT36; } - var value = Math.trunc(Math.abs(num)) % Int36.BIT36; + var value = Math.trunc(Math.abs(num)) % Math.pow(2, bits); if (DEBUG && num !== value) { console.log("Int36.validate(" + num + " out of range, truncated to " + value + ")"); } diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 8cfbfff96..c970df38e 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -109,10 +109,10 @@ var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=this.f<<14>>24;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>24)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, -a)%E+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>24)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, -a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=this.f<<14>>24){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)}, -function(a,b){a=!1;for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, +a)%E+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f, +a)},function(a,b){a=!1;for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145; 0>a&&(a+=E);(a/G|0)==H&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, @@ -134,7 +134,7 @@ g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%ra;void 0===g&&(g=e.size);for(h=d;g--&&h>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.xb&&(b=c-(q.bb-q.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.tb&&(b=q.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); @@ -160,7 +160,7 @@ function Z(a,b,c){var d,e;c||(c=W());var g=c.B;if(void 0!==b){b=Ie(a,b);"%"==b.c function We(a){return va(a/Qb,6)+" "+va(a%Qb,6)}function Qe(a,b){a.D=a;a.X=a.lb=536870916;a.S=null;a.O=[];b=Ge(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in K){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"$f&&(rd="B");if(Ng==ag[kf]+rd){jf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|jf<<6)*Yb;break}}if(0<= -A)break}if(0<=A)break}if(0<=A)if(gf)for(var sd=gf.split(","),nb=0;nbJ||127J||15 +f[1],a.ba);if(r){var C=f[2];if(void 0==C)a.i("begin assemble at "+N(a,r.B)),a.P=!0,M(a.F);else{f.shift();f.shift();f.shift();var aa,ff=f.join(""),A=-1,nc,Ng=C.toUpperCase(),pd;for(pd in Wf){var Pa;nc=+pd;var gf=Wf[pd];switch(nc){case 32512:Pa=Xf;break;case 32256:Pa=Yf;break;case 29248:Pa=Zf;break;default:Pa=[""]}var hf,qd;for(qd in gf){for(var jf=gf[qd],Qa=0;Qa$f&&(rd="B");if(Ng==ag[jf]+rd){hf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|hf<<6)*Yb;break}}if(0<= +A)break}if(0<=A)break}if(0<=A)if(ff)for(var sd=ff.split(","),nb=0;nbJ||127J||15 J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==qf&&(pb=1E5,xd=["CALL"]);for(void 0!==pf&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;sf++;pb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,vf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var wf=Z(a,oa);wf&&(Aa=wf.B-Wa.B)}0>Aa&&(Aa=0);65536Af;Af++)yf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=vf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>zf?" "+yf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Ad=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< -f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+We(Bf.call(a,qc))+" to "+We(Bd));Cf.call(a,qc,Bd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Cd=Z(a,Ef);if(!Cd)break a;Ve(a,Cd,Ug);a.Da(a.b,Cd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= -!1);Dd||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ff=null,tb=sc.B,Gf=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.A);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&md(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +a.i("\tdh [p] [n] dump n instructions from history position p");Ua.length&&a.i("dump extension commands:\n\t"+Ua)}else if("state"==ca){var ud=mg(a.F,!0);"console"==oa?console.log(ud):(a.oa&&(a.oa.value=""),ud&&a.i(ud))}else if("symbols"==ca)for(var vd=0;vdda.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==pf&&(pb=1E5,xd=["CALL"]);for(void 0!==of&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;pb--}}rf||(a.i("no "+qf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,uf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var vf=Z(a,oa);vf&&(Aa=vf.B-Wa.B)}0>Aa&&(Aa=0);65536zf;zf++)xf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=uf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>yf?" "+xf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],Ad=f[1];"e"==Cf||"ew"==Cf?(Af=a.ya,Bf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< +f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+We(Af.call(a,qc))+" to "+We(Bd));Bf.call(a,qc,Bd,1)}}break;case "g":a:{var Df=f[1],Ug=b;if(void 0!==Df){var Cd=Z(a,Df);if(!Cd)break a;Ve(a,Cd,Ug);a.Da(a.b,Cd,!0)}Pf(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= +!1);Dd||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ef=null,tb=sc.B,Ff=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Lf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Mf=W(a.u.A);a.ya(Mf);a.N?(a.Da(a.b,Mf,!0),Pf(a)||(a.F&&md(a.F),a.N=0)):lg(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ia=wb;break;case "start":a.u.va=wb;break;case "stop":a.u.ka=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); a.i("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Of){a.i("debugger error: "+(Of.stack||Of.message)),d=!1}return d} function hd(a,b,c){b=Ge(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} var ng={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},$f=20,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ff=1E3,Rf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;b>24;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>24)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%J+ -Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>24)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)% -J+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=this.b<<14>>24){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a, -b){a=!1;for(var c=this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=J);(a/ -L|0)==M&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2, +a)%J+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%J+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b, +a)},function(a,b){a=!1;for(var c=this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=J);(a/L|0)==M&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b, -this.f(b,Y(this.c(b),K-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))}, -function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b, -K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b), -K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b,K)},function(a,b){this.f(this.b,this.f(b, -K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b, +Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, +Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc, +qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))}, +function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b, +K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.i&=-131073);a&131072&&(this.i&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a= -0;this.i&131072&&(a|=8);this.i&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.i&=-131073);a&131072&&(this.i&=-262145); +break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.i&131072&&(a|=8);this.i&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; function Mc(a){y.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=ma(this.j);if(this.j){a=this.j;var b=na(this.o);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;t(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ka(c.pa,a,b),(a=va(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Nc(c)})}}n(Mc,y); Mc.prototype.Z=function(a,b,c,d){this.s=b;this.h=c;this.v=d;Nc(this)};Mc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.i,this.O),delete this.O);return!0};Mc.prototype.R=function(){return!0}; function Nc(a){if(!Ua(a)){if(a.j){if(!a.a||!a.s)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.i,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.$a&&(b=c-(q.La-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.xa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); From 61e64bf3fccc11f6f4c72380fd6092594e65992b Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 5 Mar 2017 10:19:04 -0800 Subject: [PATCH 20/32] Sync'ed some of the constants used in the pdp10 and int36 modules --- modules/pdp10/lib/defines.js | 17 ++++----- modules/shared/lib/int36.js | 56 +++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10-dbg.js | 56 +++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 54 ++++++++++++++-------------- 4 files changed, 92 insertions(+), 91 deletions(-) diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 245ffd062..48897d67c 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -101,20 +101,21 @@ var PDP10 = { * automatic inlining will no longer occur. */ ADDR_INVALID: -1, - ADDR_LIMIT: Math.pow(2, 18), ADDR_MASK: Math.pow(2, 18) - 1, - WORD_INVALID: -1, - INT_LIMIT: Math.pow(2, 35), // signed word (magnitude) limit - INT_MASK: Math.pow(2, 35) - 1, // signed word (magnitude) mask - WORD_LIMIT: Math.pow(2, 36), // unsigned word limit - WORD_MASK: Math.pow(2, 36) - 1, // unsigned word mask - HALF_SHIFT: Math.pow(2, 18), // unsigned half-word shift - HALF_MASK: Math.pow(2, 18) - 1, // unsigned half-word mask + ADDR_LIMIT: Math.pow(2, 18), /* * 18-bit and 36-bit largest positive (and smallest negative) values; however, since we store all * values as unsigned quantities, these are the unsigned equivalents. */ + WORD_INVALID: -1, + INT_MASK: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777): signed word (magnitude) mask + INT_LIMIT: Math.pow(2, 35), // -34,359,738,368 (400000 000000): signed word (magnitude) limit + WORD_MASK: Math.pow(2, 36) - 1, // 68,719,476,735 (777777 777777): unsigned word mask + WORD_LIMIT: Math.pow(2, 36), // 68,719,476,735 (1 000000 000000): unsigned word limit + HALF_MASK: Math.pow(2, 18) - 1, // unsigned half-word mask + HALF_SHIFT: Math.pow(2, 18), // unsigned half-word shift + MAX_POS18: Math.pow(2, 17) - 1, // 131,071 (377777) MIN_NEG18: Math.pow(2, 17), // -131,072 (400000) MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index e80aeb6da..2b99e6d2c 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -123,7 +123,7 @@ * @unrestricted * * The 'value' property stores the 36-bit value as an unsigned integer. When the value should be - * interpreted as a signed quantity, subtract BIT36 whenever value > MAXPOS. + * interpreted as a signed quantity, subtract BIT36 whenever value > MAX_POS36. * * The 'extended' property stores an additional 36 bits of data from a multiplication, and can also * provide an additional 36 bits of data to a division. Internally, it should be null whenever the @@ -152,9 +152,9 @@ class Int36 { * * 0 <= i <= Math.pow(2, 36) - 1 * - * The lower bound is ZERO and the upper bound is Int36.MAXVAL. Whenever an Int36 value should be - * interpreted as a signed value, values above Int36.MAXPOS (ie, values with bit 35 set) should be - * converted to their signed counterpart by subtracting the value from Int36.BIT36 (aka MAXVAL + 1); + * The lower bound is ZERO and the upper bound is Int36.WORD_MASK. Whenever an Int36 value should be + * interpreted as a signed value, values above Int36.MAX_POS36 (ie, values with bit 35 set) should be + * converted to their signed counterpart by subtracting the value from Int36.BIT36 (aka WORD_MASK + 1); * the easiest way to do that is call isNeg() to check the sign bit and then call negate() as * appropriate. * @@ -322,12 +322,12 @@ class Int36 { /** * truncate(result, operand, fSub) * - * The range of valid results (0 - MAXVAL) is divided into two equal sub-ranges: 0 to MAXPOS, - * where the sign bit is zero (the bottom range), and MAXPOS+1 to MAXVAL (the top range), where + * The range of valid results (0 - WORD_MASK) is divided into two equal sub-ranges: 0 to MAX_POS36, + * where the sign bit is zero (the bottom range), and MAX_POS36+1 to WORD_MASK (the top range), where * the sign bit is one. During a single arithmetic operation, the result can "wrap around" from * the bottom range to the top, or from the top range to the bottom, but it's an overflow/underflow * error ONLY if the result "wraps across" the midpoint between the two ranges, producing an - * unnaturally small delta (<= MAXPOS). + * unnaturally small delta (<= MAX_POS36). * * This can be confirmed independently by examining the sign bits (BIT35) of the original value * (V), the operand (O), the result (R), as well as two intermediate calculations, VR = (V ^ R) @@ -404,9 +404,9 @@ class Int36 { var v = this.value / Int36.BIT35, r = result / Int36.BIT35, o = operand / Int36.BIT35; e = ((v ^ r) & (o ^ (fSub? v : r))) & 1; } - if ((result > Int36.MAXPOS) != (this.value > Int36.MAXPOS)) { + if ((result > Int36.MAX_POS36) != (this.value > Int36.MAX_POS36)) { var delta = result - this.value; - if (Math.abs(delta) <= Int36.MAXPOS) { + if (Math.abs(delta) <= Int36.MAX_POS36) { this.error |= (delta > 0 ? Int36.ERROR.OVERFLOW : Int36.ERROR.UNDERFLOW); if (DEBUG && (delta > 0) != !(e & v)) e = 0; } @@ -502,12 +502,12 @@ class Int36 { this.error = Int36.ERROR.NONE; - if (n1 > Int36.MAXPOS) { + if (n1 > Int36.MAX_POS36) { n1 = Int36.BIT36 - n1; fNeg = !fNeg; } - if (n2 > Int36.MAXPOS) { + if (n2 > Int36.MAX_POS36) { n2 = Int36.BIT36 - n2; fNeg = !fNeg; } @@ -584,7 +584,7 @@ class Int36 { var fNegQ = false, fNegR = false; - if (divisor > Int36.MAXPOS) { + if (divisor > Int36.MAX_POS36) { divisor = Int36.BIT36 - divisor; fNegQ = !fNegQ; } @@ -687,11 +687,11 @@ class Int36 { /* * Convert the unsigned word (w) to a signed value (i), for convenience. */ - var i = w > Int36.MAXPOS? -(Int36.BIT36 - w) : w; + var i = w > Int36.MAX_POS36? -(Int36.BIT36 - w) : w; if (s > 0) { if (s >= 35) { i = (i < 0? Int36.BIT35 : 0); - bitsShifted = Int36.MAXPOS; + bitsShifted = Int36.MAX_POS36; } else { i = (i * Math.pow(2, s)) % Int36.BIT35; /* @@ -709,20 +709,20 @@ class Int36 { */ bitsShifted = Int36.BIT35 - Math.pow(2, 35 - s); } - if (w <= Int36.MAXPOS) { + if (w <= Int36.MAX_POS36) { /* * Since w was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. * If all those bits in the original value (w) were 0s, then adding bitsShifted to it could NOT * produce a value > MAX_POS36. */ - if (w + bitsShifted > Int36.MAXPOS) this.error |= Int36.ERROR.OVERFLOW; + if (w + bitsShifted > Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; } else { /* * Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. * If all those bits in the original value (w) were 1s, subtracting bitsShifted from it could NOT * produce a value <= MAX_POS36. */ - if (w - bitsShifted <= Int36.MAXPOS) this.error |= Int36.ERROR.OVERFLOW; + if (w - bitsShifted <= Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; } } else { if (s <= -35) { @@ -891,7 +891,7 @@ class Int36 { extend() { if (this.extended == null) { - this.extended = (this.value > Int36.MAXPOS? Int36.MAXVAL : 0); + this.extended = (this.value > Int36.MAX_POS36? Int36.WORD_MASK : 0); } } @@ -917,7 +917,7 @@ class Int36 { */ reduce() { - if (this.extended == 0 && this.value <= Int36.MAXPOS || this.extended == Int36.MAXVAL && this.value > Int36.MAXPOS) { + if (this.extended == 0 && this.value <= Int36.MAX_POS36 || this.extended == Int36.WORD_MASK && this.value > Int36.MAX_POS36) { this.extended = null; } } @@ -929,18 +929,18 @@ class Int36 { */ isNeg() { - return (this.extended > Int36.MAXPOS || this.extended == null && this.value > Int36.MAXPOS); + return (this.extended > Int36.MAX_POS36 || this.extended == null && this.value > Int36.MAX_POS36); } /** * negate() * * negate() MUST automatically extend the value, because the two's complement of the most negative - * number (MINNEG) still has its sign bit set, so we must rely on the sign of the extended value to + * number (MIN_NEG36) still has its sign bit set, so we must rely on the sign of the extended value to * compensate. * * This is handled below by setting extended first, based on the opposite of the value's current sign; - * we could negate extended AFTER negating value, but then we'd need a special test for the MINNEG value. + * we could negate extended AFTER negating value, but then we'd need a special test for the MIN_NEG36 value. */ negate() { @@ -948,13 +948,13 @@ class Int36 { /* * Set extended to the OPPOSITE of the current value. */ - this.extended = (this.value > Int36.MAXPOS? 0 : Int36.MAXVAL); + this.extended = (this.value > Int36.MAX_POS36? 0 : Int36.WORD_MASK); } else if (this.value) { /* * Perform one's complement on the extended value. */ - this.extended = Int36.MAXVAL - this.extended; + this.extended = Int36.WORD_MASK - this.extended; } else { /* @@ -1113,7 +1113,7 @@ class Int36 { * converting any signed values to their unsigned (two's complement) counterpart, provided they are * within the acceptable range. Any values outside that range will be dealt with afterward. */ - if (num < 0 && num >= Int36.MINNEG) { + if (num < 0 && num >= -Int36.MIN_NEG36) { num += Int36.BIT36; } var value = Math.trunc(Math.abs(num)) % Math.pow(2, bits); @@ -1135,9 +1135,9 @@ Int36.BIT18 = Math.pow(2, 18); // 262,144 Int36.BIT35 = Math.pow(2, 35); // 34,359,738,368 (aka the sign bit) Int36.BIT36 = Math.pow(2, 36); // 68,719,476,736 -Int36.MAXPOS = Math.pow(2, 35) - 1; // 34,359,738,367 -Int36.MINNEG = -Math.pow(2, 35); // -34,359,738,368 +Int36.MAX_POS36 = Math.pow(2, 35) - 1; // 34,359,738,367 (377777 777777) +Int36.MIN_NEG36 = Math.pow(2, 35); // -34,359,738,368 (400000 000000) -Int36.MAXVAL = Math.pow(2, 36) - 1; // 68,719,476,735 +Int36.WORD_MASK = Math.pow(2, 36) - 1; // 68,719,476,735 if (NODE) module.exports = Int36; diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index c970df38e..66b412188 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,7 +31,7 @@ var l,ga="function"==typeof Object.defineProperties?Object.defineProperty:functi function la(){ia();var a=ha.Symbol.iterator;a||(a=ha.Symbol.iterator=ha.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ga(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ra=Math.pow(2,36),sa=-Math.pow(2,35),q={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, +var ra=Math.pow(2,36),sa=Math.pow(2,35),q={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, Ic:82,Jc:83,Kc:84,Lc:85,Mc:86,Nc:87,Oc:88,Pc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Qc:97,Rc:98,Sc:99,d:100,e:101,Tc:102,Uc:103,Vc:104,Wc:105,Xc:106,k:107,Yc:108,Zc:109,n:110,$c:111,p:112,q:113,r:114,ad:115,t:116,cd:117,dd:118,ed:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ub:127}; function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb, set:this.Sb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; @@ -68,10 +68,10 @@ l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d) function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} l.Ab=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Tb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} -function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Qb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; +function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Rb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),zc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} @@ -95,34 +95,34 @@ function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=! function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Md.bind(this);this.b=O.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.ob=function(){return 0}; l.save=function(){var a=new L(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dVb&&(a!=Wb?a=Xb-a:this.w|=163840);return a};function Pd(a,b){b?b==Wb?a.w|=163840:b=Xb-b:a.w|=98304;return b}function Nd(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +this.ra,this.ra=d)}a=a[4];for(b=0;bVb&&(a!=Wb?a=Xb-a:this.w|=163840);return a};function Pd(a,b){b?b==Wb?a.w|=163840:b=Xb-b:a.w|=98304;return b}function Nd(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; l.Ja=function(a){this.v.complete=!0;var b=this.D?Qd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Qb,a=this.Ma/$b|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} -function Vd(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,F-this.g(b))}function ae(a,b){this.j(b,F)} -function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&H)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&H)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&H,a){case 256:d+=H;break;case 384:d+=c>Vb?H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&H)*G,d=this.g(b);this.j(b,ce(a,d,c)+c)} -function he(a,b){var c=this.f*G,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&H)*G;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&H)*G,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&H,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&H;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=H,a){case 256:d+=H*G;break;case 384:d+=c>Ub?H*G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/G|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/G|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/G|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a,a>>3&127)} -function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&H;break;case 128:b=0;break;case 256:b=H*G;break;case 384:b=c>Ub?H*G:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=H;break;case 128:b=0;break;case 256:b=H;break;case 384:b=c>Vb?H:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} +this.J>>18&15)this.f=this.f+this.g(a)&Qb;this.J&4194304?a=-1:(this.A=(this.A+1)%Rb,a=this.Ma/$b|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%F);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} +function Vd(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%F;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,E-this.g(b))}function ae(a,b){this.j(b,E)} +function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&G)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&G)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&G,a){case 256:d+=G;break;case 384:d+=c>Vb?G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&G)*H,d=this.g(b);this.j(b,ce(a,d,c)+c)} +function he(a,b){var c=this.f*H,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&G)*H;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&G)*H,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&G,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&G;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} +function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=G,a){case 256:d+=G*H;break;case 384:d+=c>Ub?G*H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/H|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/H|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/H|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a,a>>3&127)} +function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&G;break;case 128:b=0;break;case 256:b=G*H;break;case 384:b=c>Ub?G*H:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=G;break;case 128:b=0;break;case 256:b=G;break;case 384:b=c>Vb?G:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.G&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.G&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(b,a)},function(a,b){this.j(b,this.f*G)},function(a,b){a=this.g(b);a=(a/G|0)+a%G*G;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/G|0)+a%G*G;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/H|0)+a%H*H;this.j(b,a)},function(a,b){this.j(b,this.f*H)},function(a,b){a=this.g(b);a=(a/H|0)+a%H*H;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/H|0)+a%H*H;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>Vb?-(E-a):a;0d?Sb:0,c=Tb):(d=d*Math.pow(2,c)%Sb,c=Sb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, -a)%E+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, -a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f, -a)},function(a,b){a=!1;for(var c=this.g(b),d=c/G|0,c=c&H;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&H,c=c+1&H,this.v.K||(this.j(b,d*G+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&H,this.g(this.f));a>=E&&(a-=E);a/G|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&H);this.j(this.f,c);this.f==b&&(a=c);a-=262145; -0>a&&(a+=E);(a/G|0)==H&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>Vb?-(F-a):a;0d?Tb:0,c=Sb):(d=d*Math.pow(2,c)%Tb,c=Tb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+F:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, +a)%F+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%F+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%F+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%F+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%F+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%F,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f, +a)},function(a,b){a=!1;for(var c=this.g(b),d=c/H|0,c=c&G;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&G,c=c+1&G,this.v.K||(this.j(b,d*H+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&G,this.g(this.f));a>=F&&(a-=F);a/H|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&G);this.j(this.f,c);this.f==b&&(a=c);a-=262145; +0>a&&(a+=F);(a/H|0)==G&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f, -S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),this.f))},function(a,b){this.j(this.f,S(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),F-this.f))},function(a,b){this.j(this.f,S(this.g(b),F-this.g(this.f)))}, -function(a,b){this.j(this.f,this.j(b,S(this.g(b),F-this.g(this.f))))},ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b, -U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,S(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,S(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(F-this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d, -$d,function(a,b){this.j(this.f,F-this.g(b))},function(a,b){this.j(this.f,this.j(b,F-this.g(b)))},function(a,b){this.j(b,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),this.f))},function(a,b){this.j(this.f,U(F-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),this.g(this.f))))},function(a,b){this.j(b,F-this.g(this.f))},function(a,b){this.j(b,F-this.f)},function(){this.j(this.f,F-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,F-this.g(this.f)))}, -function(a,b){this.j(b,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),F-this.f))},function(a,b){this.j(this.f,U(this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),F-this.g(this.f))))},function(a,b){this.j(b,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(b,U(F-this.g(b),F-this.f))},function(a,b){this.j(this.f,U(F-this.g(b),F-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(F-this.g(b),F-this.g(this.f))))},ae,ae,function(){this.j(this.f, -F)},function(a,b){this.j(this.f,this.j(b,F))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(E-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(E-this.g(b),this.f))},function(a,b){this.j(this.f,S(E-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(E-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),E-this.f))},function(a,b){this.j(this.f,S(this.g(b),E-this.g(this.f)))}, +function(a,b){this.j(this.f,this.j(b,S(this.g(b),E-this.g(this.f))))},ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b, +U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,S(E-this.g(b),E-this.f))},function(a,b){this.j(this.f,S(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(E-this.g(b),E-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d, +$d,function(a,b){this.j(this.f,E-this.g(b))},function(a,b){this.j(this.f,this.j(b,E-this.g(b)))},function(a,b){this.j(b,U(E-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(E-this.g(b),this.f))},function(a,b){this.j(this.f,U(E-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(E-this.g(b),this.g(this.f))))},function(a,b){this.j(b,E-this.g(this.f))},function(a,b){this.j(b,E-this.f)},function(){this.j(this.f,E-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,E-this.g(this.f)))}, +function(a,b){this.j(b,U(this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),E-this.f))},function(a,b){this.j(this.f,U(this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),E-this.g(this.f))))},function(a,b){this.j(b,U(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,U(E-this.g(b),E-this.f))},function(a,b){this.j(this.f,U(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(E-this.g(b),E-this.g(this.f))))},ae,ae,function(){this.j(this.f, +E)},function(a,b){this.j(this.f,this.j(b,E))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145); @@ -134,8 +134,8 @@ g.f;0>>a.f;0f&&f>=sa&&(f+=ra);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h>>a.f;0f&&f>=-sa&&(f+=ra);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.xb&&(b=c-(q.bb-q.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.tb&&(b=q.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;B(this)}; @@ -157,7 +157,7 @@ l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.ea=a.w;(a=cd(a,"messages" l.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.I[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",hd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.Ad&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dd&&(d+=b.length);0>d&&(d=0);for(var e=b.length;dd;d++){!d||d&3||(c+="\n") function ze(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=Ja(n,k,a.mb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Bb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} diff --git a/versions/pdpjs/1.34.2/pdp10.js b/versions/pdpjs/1.34.2/pdp10.js index 16b20fb64..0cc4d648a 100644 --- a/versions/pdpjs/1.34.2/pdp10.js +++ b/versions/pdpjs/1.34.2/pdp10.js @@ -31,7 +31,7 @@ var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function ea(){ba();var a=m.Symbol.iterator;a||(a=m.Symbol.iterator=m.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return ba?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=-Math.pow(2,35),q={Ab:0,Ta:1,Cb:2,Db:3,Eb:4,Fb:5,Gb:6,Hb:7,Ma:8,Ib:9,Ua:10,Jb:11,Kb:12,Va:13,Lb:14,Mb:15,Nb:16,Ob:17,Pb:18,Qb:19,Rb:20,Sb:21,Tb:22,Ub:23,Vb:24,Wb:25,Xb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,zb:66,Bb:67,Yb:68,E:69,Zb:70,$b:71,ac:72,bc:73,cc:74,dc:75,ec:76,fc:77,gc:78,hc:79,ic:80,Q:81, +var ia=Math.pow(2,36),ja=Math.pow(2,35),q={Ab:0,Ta:1,Cb:2,Db:3,Eb:4,Fb:5,Gb:6,Hb:7,Ma:8,Ib:9,Ua:10,Jb:11,Kb:12,Va:13,Lb:14,Mb:15,Nb:16,Ob:17,Pb:18,Qb:19,Rb:20,Sb:21,Tb:22,Ub:23,Vb:24,Wb:25,Xb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,zb:66,Bb:67,Yb:68,E:69,Zb:70,$b:71,ac:72,bc:73,cc:74,dc:75,ec:76,fc:77,gc:78,hc:79,ic:80,Q:81, jc:82,kc:83,lc:84,mc:85,nc:86,oc:87,pc:88,qc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,rc:97,sc:98,tc:99,d:100,e:101,uc:102,vc:103,wc:104,xc:105,yc:106,k:107,zc:108,Ac:109,n:110,Bc:111,p:112,q:113,r:114,Cc:115,t:116,Dc:117,Ec:118,Fc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; @@ -57,7 +57,7 @@ window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machin var La=window?window.PCjs.Machines:{},A=window?window.PCjs.Components:[],Qa=window?window.PCjs.Commands:{},Ra=["hold","sleep","wait"],Sa={alert:function(a){u(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ta={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.jb,a];this.v=this.h=this.s=this.u=null;this.exports={hold:this.bb,toggle:this.ub,reset:this.qb, set:this.tb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, @@ -66,9 +66,9 @@ k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(thi k.bb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; k.tb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.s(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.ib=function(a){a||this.h.g.A||mb(this,this.i)};k.hb=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.jb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} @@ -91,33 +91,33 @@ function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Xa=b;this.na=+a.addrReset||0;this.Ya=ec.bind(this);this.a=T.bind(this);this.fa=null;this.Na=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&Q(this);this.b=this.w=this.ta=0;this.o=this.Ba=this.na;this.l=-1;this.i=0;this.la=this.o;this.j=0;this.c=this.nb;this.f=this.yb;this.fa=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Ra=function(){return 0}; k.save=function(){var a=new P(this);a.set(0,[this.b,this.w,this.ta,this.o,this.l,this.i,this.j,this.Ba,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ta=b.next().value;this.o=b.next().value;this.l=b.next().value;this.i=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dN&&(a!=ab?a=bb-a:this.i|=163840);return a};function hc(a,b){b?b==ab?a.i|=163840:b=bb-b:a.i|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){Q(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Wa,a=this.ta/cb|0);0<=a&&this.Ya(a)}while(0< -this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%J);this.f(this.b,b)} -function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%J;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} -function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,K-this.c(b))}function rc(a,b){this.f(b,K)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&M)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&M)))} -function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&M,a){case 256:d+=M;break;case 384:d+=c>N?M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&M)*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*L,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&M)*L;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&M)*L,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function Ac(a,b){var c=this.c(this.b)&M,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&M;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=M,a){case 256:d+=M*L;break;case 384:d+=c>$a?M*L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/L|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} -function Gc(a,b){b=this.c(b)/L|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/L|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&M;break;case 128:b=0;break;case 256:b=M*L;break;case 384:b=c>$a?M*L:0}return b} -function V(a,b,c){switch(a&384){case 0:b&=M;break;case 128:b=0;break;case 256:b=M;break;case 384:b=c>N?M:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Kc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Lc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} +this.fa,this.fa=d)}a=a[4];for(b=0;bN&&(a!=ab?a=bb-a:this.i|=163840);return a};function hc(a,b){b?b==ab?a.i|=163840:b=bb-b:a.i|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; +k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){Q(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Wa;this.w&4194304?a=-1:(this.o=(this.o+1)%Xa,a=this.ta/cb|0);0<=a&&this.Ya(a)}while(0< +this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%K);this.f(this.b,b)} +function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%K;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} +function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,J-this.c(b))}function rc(a,b){this.f(b,J)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&L)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&L)))} +function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&L,a){case 256:d+=L;break;case 384:d+=c>N?L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&L)*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&L)*M;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&L)*M,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function Ac(a,b){var c=this.c(this.b)&L,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&L;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=L,a){case 256:d+=L*M;break;case 384:d+=c>$a?L*M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/M|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} +function Gc(a,b){b=this.c(b)/M|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/M|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&L;break;case 128:b=0;break;case 256:b=L*M;break;case 384:b=c>$a?L*M:0}return b} +function V(a,b,c){switch(a&384){case 0:b&=L;break;case 128:b=0;break;case 256:b=L;break;case 384:b=c>N?L:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Kc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Lc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(b,a)},function(a,b){this.f(b,this.b*L)},function(a,b){a=this.c(b);a=(a/L|0)+a%L*L;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/L|0)+a%L*L;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(b,a)},function(a,b){this.f(b,this.b*M)},function(a,b){a=this.c(b);a=(a/M|0)+a%M*M;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>N?-(J-a):a;0d?Ya:0,c=Za):(d=d*Math.pow(2,c)%Ya,c=Ya-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+J:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2, -a)%J+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%J+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%J+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%J+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, -a-36)%J+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%J,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b, -a)},function(a,b){a=!1;for(var c=this.c(b),d=c/L|0,c=c&M;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&M,c=c+1&M,this.g.A||(this.f(b,d*L+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&M,this.c(this.b));a>=J&&(a-=J);a/L|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&M);this.f(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=J);(a/L|0)==M&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>N?-(K-a):a;0d?Za:0,c=Ya):(d=d*Math.pow(2,c)%Za,c=Za-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+K:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2, +a)%K+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, +a-36)%K+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b, +a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&L;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&L,c=c+1&L,this.g.A||(this.f(b,d*M+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&L,this.c(this.b));a>=K&&(a-=K);a/M|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&L);this.f(this.b,c);this.b==b&&(a=c);a-=262145; +0>a&&(a+=K);(a/M|0)==L&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b, -Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(this.c(b),K-this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y(this.c(b),K-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, -Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Y(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Y(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(K-this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc, -qc,function(a,b){this.f(this.b,K-this.c(b))},function(a,b){this.f(this.b,this.f(b,K-this.c(b)))},function(a,b){this.f(b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),this.c(this.b))))},function(a,b){this.f(b,K-this.c(this.b))},function(a,b){this.f(b,K-this.b)},function(){this.f(this.b,K-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,K-this.c(this.b)))}, -function(a,b){this.f(b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),K-this.c(this.b))))},function(a,b){this.f(b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(b,Z(K-this.c(b),K-this.b))},function(a,b){this.f(this.b,Z(K-this.c(b),K-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(K-this.c(b),K-this.c(this.b))))},rc,rc,function(){this.f(this.b, -K)},function(a,b){this.f(this.b,this.f(b,K))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(J-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(J-this.c(b),this.b))},function(a,b){this.f(this.b,Y(J-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(J-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),J-this.b))},function(a,b){this.f(this.b,Y(this.c(b),J-this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y(this.c(b),J-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, +Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Y(J-this.c(b),J-this.b))},function(a,b){this.f(this.b,Y(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(J-this.c(b),J-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc, +qc,function(a,b){this.f(this.b,J-this.c(b))},function(a,b){this.f(this.b,this.f(b,J-this.c(b)))},function(a,b){this.f(b,Z(J-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(J-this.c(b),this.b))},function(a,b){this.f(this.b,Z(J-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(J-this.c(b),this.c(this.b))))},function(a,b){this.f(b,J-this.c(this.b))},function(a,b){this.f(b,J-this.b)},function(){this.f(this.b,J-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,J-this.c(this.b)))}, +function(a,b){this.f(b,Z(this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),J-this.b))},function(a,b){this.f(this.b,Z(this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),J-this.c(this.b))))},function(a,b){this.f(b,Z(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Z(J-this.c(b),J-this.b))},function(a,b){this.f(this.b,Z(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(J-this.c(b),J-this.c(this.b))))},rc,rc,function(){this.f(this.b, +J)},function(a,b){this.f(this.b,this.f(b,J))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.i&=-131073);a&131072&&(this.i&=-262145); @@ -129,8 +129,8 @@ d=d.i;g=0;for(e>>>=f.b;0>>a.b;0g&&g>=ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.$a&&(b=c-(q.La-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.xa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.h=c;this.v=d;H(this)}; From 286a122b05ed96566e5e9e4299a18c23992e8cd2 Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 5 Mar 2017 14:14:14 -0800 Subject: [PATCH 21/32] Implemented (but have not yet tested) ASHC opcode for PDP-10 --- modules/pdp10/lib/cpuops.js | 152 +++++++++++- modules/pdp10/lib/defines.js | 9 +- modules/shared/lib/int36.js | 223 +++++++++++++---- versions/pdpjs/1.34.2/pdp10-dbg.js | 373 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 241 +++++++++---------- 5 files changed, 625 insertions(+), 373 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 10caa5700..fae65d6f0 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1404,7 +1404,7 @@ PDP10.opASH = function(op, acc) */ var s = ((this.regEA << 14) >> 14) % 256; if (s) { - var w = this.readWord(acc), bitsShifted; + var w = this.readWord(acc), bits; /* * Convert the unsigned word (w) to a signed value (i), for convenience. */ @@ -1412,15 +1412,15 @@ PDP10.opASH = function(op, acc) if (s > 0) { if (s >= 35) { i = (i < 0? PDP10.INT_LIMIT : 0); - bitsShifted = PDP10.INT_MASK; + bits = PDP10.INT_MASK; } else { i = (i * Math.pow(2, s)) % PDP10.INT_LIMIT; /* - * bitsShifted must be set to the mask of all magnitude bits shifted out of + * bits must be set to the mask of all magnitude bits shifted out of * the original word. Using 8-bit signed words as an example, this table shows - * the bitsShifted values that would correspond to shifting 1-7 bits left: + * the bits values that would correspond to shifting 1-7 bits left: * - * shifts bitsShifted value calculation + * shifts bits value calculation * ------ ----------- ------ ----------- * 1 0b01000000 128-64 128-Math.pow(2, 7-1) * 2 0b01100000 128-32 128-Math.pow(2, 7-2) @@ -1428,22 +1428,22 @@ PDP10.opASH = function(op, acc) * ... * 7 0b01111111 128-1 128-Math.pow(2, 7-7) */ - bitsShifted = PDP10.INT_LIMIT - Math.pow(2, 35-s); + bits = PDP10.INT_LIMIT - Math.pow(2, 35 - s); } if (w <= PDP10.MAX_POS36) { /* * Since w was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. - * If all those bits in the original value (w) were 0s, then adding bitsShifted to it could NOT + * If all those bits in the original value (w) were 0s, then adding bits to it could NOT * produce a value > MAX_POS36. */ - if (w + bitsShifted > PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + if (w + bits > PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; } else { /* * Since w was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. - * If all those bits in the original value (w) were 1s, subtracting bitsShifted from it could NOT + * If all those bits in the original value (w) were 1s, subtracting bits from it could NOT * produce a value <= MAX_POS36. */ - if (w - bitsShifted <= PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + if (w - bits <= PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; } } else { if (s <= -35) { @@ -1576,7 +1576,133 @@ PDP10.opJFFO = function(op, acc) */ PDP10.opASHC = function(op, acc) { - this.opUndefined(op); + /* + * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). + */ + var s = ((this.regEA << 14) >> 14) % 256; + if (s) { + var bits; + var wLeft = this.readWord(acc); + var wRight = this.readWord((acc + 1) & 0o17); + if (s > 0) { + /* + * Handle all the left shift cases below, which don't need to worry about sign-extension + * but DO need to worry about overflow. + */ + var wLeftOrig = wLeft; + if (s >= 36) { + /* + * Since all wLeft bits are being shifted out, any positive value other than zero OR any negative value + * other than WORD_MASK indicates an overflow. + */ + if (wLeft > 0 && wLeft < PDP10.INT_LIMIT || wLeft > PDP10.INT_MASK && wLeft < PDP10.WORD_MASK) { + this.regPS |= PDP10.PSFLAG.OVFL; + } + if (s >= 71) { + /* + * Since all wRight bits are being shifted out, any positive value other than zero OR any negative value + * other than WORD_MASK indicates an overflow. + */ + if (wRight > 0 && wRight < PDP10.INT_LIMIT || wRight > PDP10.INT_MASK && wRight < PDP10.WORD_MASK) { + this.regPS |= PDP10.PSFLAG.OVFL; + } + wLeft = 0; + } else { + /* + * Left shift 36-70 bits. + */ + wLeft = (wRight * Math.pow(2, s - 35)) % PDP10.INT_LIMIT; + bits = PDP10.INT_LIMIT - Math.pow(2, 70 - s); + if (wLeftOrig <= PDP10.MAX_POS36) { + /* + * Since wLeft was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value were 0s, then adding bits to it could NOT produce + * a value > MAX_POS36. + */ + if (wRight + bits > PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + } else { + /* + * Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value were 1s, subtracting bits from it could NOT produce + * a value <= MAX_POS36. + */ + if (wRight - bits <= PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + } + } + wRight = 0; + if (wLeftOrig > PDP10.INT_MASK) { + wLeft += PDP10.INT_LIMIT; + wRight += PDP10.INT_LIMIT; + } + } else { + /* + * Left shift 1-35 bits. + */ + wLeft = ((wLeft * Math.pow(2, s)) % PDP10.INT_LIMIT) + Math.trunc((wRight % PDP10.INT_LIMIT) / Math.pow(2, 35 - s)); + wRight = (wRight * Math.pow(2, s)) % PDP10.INT_LIMIT; + /* + * Determine overflow and update the sign bits. + */ + bits = PDP10.INT_LIMIT - Math.pow(2, 35 - s); + if (wLeftOrig <= PDP10.MAX_POS36) { + /* + * Since wLeft was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value were 0s, then adding bits to it could NOT produce + * a value > MAX_POS36. + */ + if (wLeftOrig + bits > PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + } else { + /* + * Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value were 1s, subtracting bits from it could NOT produce + * a value <= MAX_POS36. + */ + if (wLeftOrig - bits <= PDP10.MAX_POS36) this.regPS |= PDP10.PSFLAG.OVFL; + /* + * Last but not least, update the sign bits of wLeft and wRight to indicate negative values. + */ + wLeft += PDP10.INT_LIMIT; + wRight += PDP10.INT_LIMIT; + } + } + } else { + /* + * Handle all the right shift cases below, which don't need to worry about overflow but DO + * need to worry about sign-extension. + */ + if (s <= -36) { + if (s <= -72) { + wRight = (wLeft > PDP10.INT_MASK? PDP10.WORD_MASK : 0); + } else { + wRight = Math.trunc((wLeft % PDP10.INT_LIMIT) / Math.pow(2, -s - 35)); + } + if (wLeft <= PDP10.INT_MASK) { + wLeft = 0; + } else { + wLeft = PDP10.WORD_MASK; + wRight += PDP10.INT_LIMIT; + } + } else { + /* + * For this right shift of 1-35 bits, determine the value of bits shifted in from the left. + */ + bits = (wLeft > PDP10.INT_MASK? PDP10.WORD_LIMIT - Math.pow(2, 36 - s) : 0); + /* + * The bits that we add to wRight from wLeft must be shifted right one additional bit, because + * they must "skip over" the sign bit of wRight. This means we must zero the sign bit of wRight, + * which can be done by performing a "mod" with INT_LIMIT. + */ + wRight = Math.trunc((wRight % PDP10.INT_LIMIT) / Math.pow(2, -s)) + (((wLeft % PDP10.INT_LIMIT) * Math.pow(2, 35 + s)) % PDP10.INT_LIMIT); + wLeft = Math.trunc(wLeft / Math.pow(2, -s)) + bits; + /* + * Last but not least, we must set the sign of wRight to the sign of wLeft. + */ + if (wLeft > PDP10.INT_MASK) wRight += PDP10.INT_LIMIT; + } + } + this.writeWord(acc, wLeft); + this.writeWord((acc + 1) & 0o17, wRight); + } }; /** @@ -1644,24 +1770,24 @@ PDP10.opLSHC = function(op, acc) var wRight = this.readWord((acc + 1) & 0o17); if (s > 0) { if (s >= 36) { - wRight = 0; if (s >= 72) { wLeft = 0; } else { wLeft = (wRight * Math.pow(2, s - 36)) % PDP10.WORD_LIMIT; } + wRight = 0; } else { wLeft = ((wLeft * Math.pow(2, s)) % PDP10.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); wRight = (wRight * Math.pow(2, s)) % PDP10.WORD_LIMIT; } } else { if (s <= -36) { - wLeft = 0; if (s <= -72) { wRight = 0; } else { wRight = Math.trunc(wLeft / Math.pow(2, -s - 36)); } + wLeft = 0; } else { wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wLeft * Math.pow(2, 36 + s)) % PDP10.WORD_LIMIT); wLeft = Math.trunc(wLeft / Math.pow(2, -s)); diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 48897d67c..c579a3750 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -109,17 +109,18 @@ var PDP10 = { * values as unsigned quantities, these are the unsigned equivalents. */ WORD_INVALID: -1, + HALF_MASK: Math.pow(2, 18) - 1, // 262,143 (000000 777777): unsigned half-word mask + HALF_SHIFT: Math.pow(2, 18), // 262,144 (000001 000000): unsigned half-word shift INT_MASK: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777): signed word (magnitude) mask - INT_LIMIT: Math.pow(2, 35), // -34,359,738,368 (400000 000000): signed word (magnitude) limit + INT_LIMIT: Math.pow(2, 35), // 34,359,738,368 (400000 000000): signed word (magnitude) limit WORD_MASK: Math.pow(2, 36) - 1, // 68,719,476,735 (777777 777777): unsigned word mask - WORD_LIMIT: Math.pow(2, 36), // 68,719,476,735 (1 000000 000000): unsigned word limit - HALF_MASK: Math.pow(2, 18) - 1, // unsigned half-word mask - HALF_SHIFT: Math.pow(2, 18), // unsigned half-word shift + WORD_LIMIT: Math.pow(2, 36), // 68,719,476,736 (1 000000 000000): unsigned word limit MAX_POS18: Math.pow(2, 17) - 1, // 131,071 (377777) MIN_NEG18: Math.pow(2, 17), // -131,072 (400000) MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) + TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) TWO_POW32: Math.pow(2, 32), diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index 2b99e6d2c..ab4c4237a 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -154,7 +154,7 @@ class Int36 { * * The lower bound is ZERO and the upper bound is Int36.WORD_MASK. Whenever an Int36 value should be * interpreted as a signed value, values above Int36.MAX_POS36 (ie, values with bit 35 set) should be - * converted to their signed counterpart by subtracting the value from Int36.BIT36 (aka WORD_MASK + 1); + * converted to their signed counterpart by subtracting the value from Int36.WORD_LIMIT (aka WORD_MASK + 1); * the easiest way to do that is call isNeg() to check the sign bit and then call negate() as * appropriate. * @@ -314,7 +314,7 @@ class Int36 { * because after 52 bits, JavaScript will start dropping least-significant bits. Until * then, you're better off sticking with octal (see above). */ - value = extended * Int36.BIT36 + value; + value = extended * Int36.WORD_LIMIT + value; } return value.toString(radix); } @@ -380,10 +380,10 @@ class Int36 { this.error = Int36.ERROR.NONE; if (result < 0) { - result += Int36.BIT36; + result += Int36.WORD_LIMIT; } - result %= Int36.BIT36; + result %= Int36.WORD_LIMIT; /* * We don't actually need to know what the operand was to determine overflow or underflow @@ -401,7 +401,7 @@ class Int36 { */ var e = 0; if (DEBUG) { - var v = this.value / Int36.BIT35, r = result / Int36.BIT35, o = operand / Int36.BIT35; + var v = this.value / Int36.INT_LIMIT, r = result / Int36.INT_LIMIT, o = operand / Int36.INT_LIMIT; e = ((v ^ r) & (o ^ (fSub? v : r))) & 1; } if ((result > Int36.MAX_POS36) != (this.value > Int36.MAX_POS36)) { @@ -503,31 +503,31 @@ class Int36 { this.error = Int36.ERROR.NONE; if (n1 > Int36.MAX_POS36) { - n1 = Int36.BIT36 - n1; + n1 = Int36.WORD_LIMIT - n1; fNeg = !fNeg; } if (n2 > Int36.MAX_POS36) { - n2 = Int36.BIT36 - n2; + n2 = Int36.WORD_LIMIT - n2; fNeg = !fNeg; } - if (n1 < Int36.BIT18 && n2 < Int36.BIT18) { + if (n1 < Int36.HALF_SHIFT && n2 < Int36.HALF_SHIFT) { value = n1 * n2; extended = 0; } else { - var n1d1 = (n1 % Int36.BIT18); - var n1d2 = Math.trunc(n1 / Int36.BIT18); - var n2d1 = (n2 % Int36.BIT18); - var n2d2 = Math.trunc(n2 / Int36.BIT18); + var n1d1 = (n1 % Int36.HALF_SHIFT); + var n1d2 = Math.trunc(n1 / Int36.HALF_SHIFT); + var n2d1 = (n2 % Int36.HALF_SHIFT); + var n2d2 = Math.trunc(n2 / Int36.HALF_SHIFT); var m1d1 = n1d1 * n2d1; - var m1d2 = (n1d2 * n2d1) + Math.trunc(m1d1 / Int36.BIT18); - extended = Math.trunc(m1d2 / Int36.BIT18); - m1d2 = (m1d2 % Int36.BIT18) + (n1d1 * n2d2); - value = (m1d2 * Int36.BIT18) + (m1d1 % Int36.BIT18); - extended += Math.trunc(m1d2 / Int36.BIT18) + (n1d2 * n2d2); + var m1d2 = (n1d2 * n2d1) + Math.trunc(m1d1 / Int36.HALF_SHIFT); + extended = Math.trunc(m1d2 / Int36.HALF_SHIFT); + m1d2 = (m1d2 % Int36.HALF_SHIFT) + (n1d1 * n2d2); + value = (m1d2 * Int36.HALF_SHIFT) + (m1d1 % Int36.HALF_SHIFT); + extended += Math.trunc(m1d2 / Int36.HALF_SHIFT) + (n1d2 * n2d2); } this.value = this.truncate(value); @@ -585,7 +585,7 @@ class Int36 { var fNegQ = false, fNegR = false; if (divisor > Int36.MAX_POS36) { - divisor = Int36.BIT36 - divisor; + divisor = Int36.WORD_LIMIT - divisor; fNegQ = !fNegQ; } @@ -649,7 +649,7 @@ class Int36 { this.reduce(); if (fNegR && this.remainder) { - this.remainder = Int36.BIT36 - this.remainder; + this.remainder = Int36.WORD_LIMIT - this.remainder; } } @@ -687,13 +687,13 @@ class Int36 { /* * Convert the unsigned word (w) to a signed value (i), for convenience. */ - var i = w > Int36.MAX_POS36? -(Int36.BIT36 - w) : w; + var i = w > Int36.MAX_POS36? -(Int36.WORD_LIMIT - w) : w; if (s > 0) { if (s >= 35) { - i = (i < 0? Int36.BIT35 : 0); + i = (i < 0? Int36.INT_LIMIT : 0); bitsShifted = Int36.MAX_POS36; } else { - i = (i * Math.pow(2, s)) % Int36.BIT35; + i = (i * Math.pow(2, s)) % Int36.INT_LIMIT; /* * bitsShifted must be set to the mask of all magnitude bits shifted out of * the original word. Using 8-bit signed words as an example, this table shows @@ -707,7 +707,7 @@ class Int36 { * ... * 7 0b01111111 128-1 128-Math.pow(2, 7-7) */ - bitsShifted = Int36.BIT35 - Math.pow(2, 35 - s); + bitsShifted = Int36.INT_LIMIT - Math.pow(2, 35 - s); } if (w <= Int36.MAX_POS36) { /* @@ -731,14 +731,134 @@ class Int36 { i = Math.trunc(i / Math.pow(2, -s)); } } - w = (i < 0? i + Int36.BIT36 : i); + w = (i < 0? i + Int36.WORD_LIMIT : i); this.value = w; } else { /* * Simulate opASHC() */ - console.log("ASHC unimplemented"); + var bits; + var wRight = this.value; + var wLeft = this.extended; + if (s > 0) { + /* + * Handle all the left shift cases below, which don't need to worry about sign-extension + * but DO need to worry about overflow. + */ + var wLeftOrig = wLeft; + if (s >= 36) { + /* + * Since all wLeft bits are being shifted out, any positive value other than zero OR any negative value + * other than WORD_MASK indicates an overflow. + */ + if (wLeft > 0 && wLeft < Int36.INT_LIMIT || wLeft > Int36.INT_MASK && wLeft < Int36.WORD_MASK) { + this.error |= Int36.ERROR.OVERFLOW; + } + if (s >= 71) { + /* + * Since all wRight bits are being shifted out, any positive value other than zero OR any negative value + * other than WORD_MASK indicates an overflow. + */ + if (wRight > 0 && wRight < Int36.INT_LIMIT || wRight > Int36.INT_MASK && wRight < Int36.WORD_MASK) { + this.error |= Int36.ERROR.OVERFLOW; + } + wLeft = 0; + } else { + /* + * Left shift 36-70 bits. + */ + wLeft = (wRight * Math.pow(2, s - 35)) % Int36.INT_LIMIT; + bits = Int36.INT_LIMIT - Math.pow(2, 70 - s); + if (wLeftOrig <= Int36.MAX_POS36) { + /* + * Since wLeft was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value were 0s, then adding bits to it could NOT produce + * a value > MAX_POS36. + */ + if (wRight + bits > Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; + } else { + /* + * Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value were 1s, subtracting bits from it could NOT produce + * a value <= MAX_POS36. + */ + if (wRight - bits <= Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; + } + } + wRight = 0; + if (wLeftOrig > Int36.INT_MASK) { + wLeft += Int36.INT_LIMIT; + wRight += Int36.INT_LIMIT; + } + } else { + /* + * Left shift 1-35 bits. + */ + wLeft = ((wLeft * Math.pow(2, s)) % Int36.INT_LIMIT) + Math.trunc((wRight % Int36.INT_LIMIT) / Math.pow(2, 35 - s)); + wRight = (wRight * Math.pow(2, s)) % Int36.INT_LIMIT; + /* + * Determine overflow and update the sign bits. + */ + bits = Int36.INT_LIMIT - Math.pow(2, 35 - s); + if (wLeftOrig <= Int36.MAX_POS36) { + /* + * Since wLeft was positive, overflow occurs ONLY if any of the bits we shifted out were 1s. + * If all those bits in the original value were 0s, then adding bits to it could NOT produce + * a value > MAX_POS36. + */ + if (wLeftOrig + bits > Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; + } else { + /* + * Since wLeft was negative, overflow occurs ONLY if any of the bits we shifted out were 0s. + * If all those bits in the original value were 1s, subtracting bits from it could NOT produce + * a value <= MAX_POS36. + */ + if (wLeftOrig - bits <= Int36.MAX_POS36) this.error |= Int36.ERROR.OVERFLOW; + /* + * Last but not least, update the sign bits of wLeft and wRight to indicate negative values. + */ + wLeft += Int36.INT_LIMIT; + wRight += Int36.INT_LIMIT; + } + } + } else { + /* + * Handle all the right shift cases below, which don't need to worry about overflow but DO + * need to worry about sign-extension. + */ + if (s <= -36) { + if (s <= -72) { + wRight = (wLeft > Int36.INT_MASK? Int36.WORD_MASK : 0); + } else { + wRight = Math.trunc((wLeft % Int36.INT_LIMIT) / Math.pow(2, -s - 35)); + } + if (wLeft <= Int36.INT_MASK) { + wLeft = 0; + } else { + wLeft = Int36.WORD_MASK; + wRight += Int36.INT_LIMIT; + } + } else { + /* + * For this right shift of 1-35 bits, determine the value of bits shifted in from the left. + */ + bits = (wLeft > Int36.INT_MASK? Int36.WORD_LIMIT - Math.pow(2, 36 - s) : 0); + /* + * The bits that we add to wRight from wLeft must be shifted right one additional bit, because + * they must "skip over" the sign bit of wRight. This means we must zero the sign bit of wRight, + * which can be done by performing a "mod" with INT_LIMIT. + */ + wRight = Math.trunc((wRight % Int36.INT_LIMIT) / Math.pow(2, -s)) + (((wLeft % Int36.INT_LIMIT) * Math.pow(2, 35 + s)) % Int36.INT_LIMIT); + wLeft = Math.trunc(wLeft / Math.pow(2, -s)) + bits; + /* + * Last but not least, we must set the sign of wRight to the sign of wLeft. + */ + if (wLeft > Int36.INT_MASK) wRight += Int36.INT_LIMIT; + } + } + this.value = wRight; + this.extended = wLeft; } } } @@ -775,7 +895,7 @@ class Int36 { if (s >= 36) { w = 0; } else { - w = (w * Math.pow(2, s)) % Int36.BIT36; + w = (w * Math.pow(2, s)) % Int36.WORD_LIMIT; } } else { if (s <= -36) { @@ -794,11 +914,11 @@ class Int36 { if (s >= 72) { wLeft = 0; } else { - wLeft = (wRight * Math.pow(2, s - 36)) % Int36.BIT36; + wLeft = (wRight * Math.pow(2, s - 36)) % Int36.WORD_LIMIT; } } else { - wLeft = ((wLeft * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 36 - s)); - wRight = (wRight * Math.pow(2, s)) % Int36.BIT36; + wLeft = ((wLeft * Math.pow(2, s)) % Int36.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = (wRight * Math.pow(2, s)) % Int36.WORD_LIMIT; } } else { if (s <= -36) { @@ -809,7 +929,7 @@ class Int36 { wRight = Math.trunc(wLeft / Math.pow(2, -s - 36)); } } else { - wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wLeft * Math.pow(2, 36 + s)) % Int36.BIT36); + wRight = Math.trunc(wRight / Math.pow(2, -s)) + ((wLeft * Math.pow(2, 36 + s)) % Int36.WORD_LIMIT); wLeft = Math.trunc(wLeft / Math.pow(2, -s)); } } @@ -853,7 +973,7 @@ class Int36 { * Note that a right rotation (s < 0) of s bits is equivalent to a left rotation (s > 0) of 36 + s bits. */ if (s < 0) s = 36 + s; - w = ((w * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(w / Math.pow(2, 36 - s)); + w = ((w * Math.pow(2, s)) % Int36.WORD_LIMIT) + Math.trunc(w / Math.pow(2, 36 - s)); this.value = w; } } @@ -871,11 +991,11 @@ class Int36 { */ if (s < 0) s = 72 + s; if (s < 36) { - wLeft = ((wLeft * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 36 - s)); - wRight = ((wRight * Math.pow(2, s)) % Int36.BIT36) + Math.trunc(wLeftOrig / Math.pow(2, 36 - s)); + wLeft = ((wLeft * Math.pow(2, s)) % Int36.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 36 - s)); + wRight = ((wRight * Math.pow(2, s)) % Int36.WORD_LIMIT) + Math.trunc(wLeftOrig / Math.pow(2, 36 - s)); } else { - wLeft = ((wRight * Math.pow(2, s - 36)) % Int36.BIT36) + Math.trunc(wLeft / Math.pow(2, 72 - s)); - wRight = ((wLeftOrig * Math.pow(2, s - 36)) % Int36.BIT36) + Math.trunc(wRight / Math.pow(2, 72 - s)); + wLeft = ((wRight * Math.pow(2, s - 36)) % Int36.WORD_LIMIT) + Math.trunc(wLeft / Math.pow(2, 72 - s)); + wRight = ((wLeftOrig * Math.pow(2, s - 36)) % Int36.WORD_LIMIT) + Math.trunc(wRight / Math.pow(2, 72 - s)); } this.value = wRight; this.extended = wLeft; @@ -960,13 +1080,13 @@ class Int36 { /* * Perform two's complement on the extended value. */ - if (this.extended) this.extended = Int36.BIT36 - this.extended; + if (this.extended) this.extended = Int36.WORD_LIMIT - this.extended; } /* * Perform two's complement on the value. */ if (this.value) { - this.value = Int36.BIT36 - this.value; + this.value = Int36.WORD_LIMIT - this.value; } } @@ -1017,8 +1137,8 @@ class Int36 { { dDst[0] += dSrc[0]; dDst[1] += dSrc[1]; - if (dDst[0] >= Int36.BIT36) { - dDst[0] %= Int36.BIT36; + if (dDst[0] >= Int36.WORD_LIMIT) { + dDst[0] %= Int36.WORD_LIMIT; dDst[1]++; } } @@ -1049,7 +1169,7 @@ class Int36 { static shrD(dDst) { if (dDst[1] % 2) { - dDst[0] += Int36.BIT36; + dDst[0] += Int36.WORD_LIMIT; } dDst[0] = Math.trunc(dDst[0] / 2); dDst[1] = Math.trunc(dDst[1] / 2); @@ -1068,7 +1188,7 @@ class Int36 { dDst[0] -= dSrc[0]; dDst[1] -= dSrc[1]; if (dDst[0] < 0) { - dDst[0] += Int36.BIT36; + dDst[0] += Int36.WORD_LIMIT; dDst[1]--; } } @@ -1093,7 +1213,7 @@ class Int36 { */ static octal(value) { - if (value < 0) value += Int36.BIT36; + if (value < 0) value += Int36.WORD_LIMIT; return ("00000000000" + value.toString(8)).slice(-12); } @@ -1114,7 +1234,7 @@ class Int36 { * within the acceptable range. Any values outside that range will be dealt with afterward. */ if (num < 0 && num >= -Int36.MIN_NEG36) { - num += Int36.BIT36; + num += Int36.WORD_LIMIT; } var value = Math.trunc(Math.abs(num)) % Math.pow(2, bits); if (DEBUG && num !== value) { @@ -1131,13 +1251,16 @@ Int36.ERROR = { DIVZERO: 0x4 }; -Int36.BIT18 = Math.pow(2, 18); // 262,144 -Int36.BIT35 = Math.pow(2, 35); // 34,359,738,368 (aka the sign bit) -Int36.BIT36 = Math.pow(2, 36); // 68,719,476,736 +Int36.HALF_MASK = Math.pow(2, 18) - 1; // 262,143 (000000 777777): unsigned half-word mask +Int36.HALF_SHIFT = Math.pow(2, 18); // 262,144 (000001 000000): unsigned half-word shift +Int36.INT_MASK = Math.pow(2, 35) - 1; // 34,359,738,367 (377777 777777): signed word (magnitude) mask +Int36.INT_LIMIT = Math.pow(2, 35); // 34,359,738,368 (400000 000000): signed word (magnitude) limit +Int36.WORD_MASK = Math.pow(2, 36) - 1; // 68,719,476,735 +Int36.WORD_LIMIT = Math.pow(2, 36); // 68,719,476,736 (1 000000 000000): unsigned word limit -Int36.MAX_POS36 = Math.pow(2, 35) - 1; // 34,359,738,367 (377777 777777) -Int36.MIN_NEG36 = Math.pow(2, 35); // -34,359,738,368 (400000 000000) - -Int36.WORD_MASK = Math.pow(2, 36) - 1; // 68,719,476,735 +Int36.MAX_POS18 = Math.pow(2, 17) - 1; // 131,071 (377777) +Int36.MIN_NEG18 = Math.pow(2, 17); // -131,072 (400000) +Int36.MAX_POS36 = Math.pow(2, 35) - 1; // 34,359,738,367 (377777 777777) +Int36.MIN_NEG36 = Math.pow(2, 35); // -34,359,738,368 (400000 000000) if (NODE) module.exports = Int36; diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 66b412188..e44c685e3 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,211 +27,212 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,ga="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ha="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ia(){ia=function(){};ha.Symbol||(ha.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++} -function la(){ia();var a=ha.Symbol.iterator;a||(a=ha.Symbol.iterator=ha.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ga(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ra=Math.pow(2,36),sa=Math.pow(2,35),q={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, +var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ia(){ia=function(){};ba.Symbol||(ba.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++} +function la(){ia();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); +var pa=Math.pow(2,36),qa=Math.pow(2,35),ta={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, Ic:82,Jc:83,Kc:84,Lc:85,Mc:86,Nc:87,Oc:88,Pc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Qc:97,Rc:98,Sc:99,d:100,e:101,Tc:102,Uc:103,Vc:104,Wc:105,Xc:106,k:107,Yc:108,Zc:109,n:110,$c:111,p:112,q:113,r:114,ad:115,t:116,cd:117,dd:118,ed:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ub:127}; -function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b,c){b?12"']/g,function(a){return Ga[a]})}function Ha(a,b){return(a+" ").slice(0,b)} -function Ia(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ja(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 La(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} +function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Ma(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(u(d.Y[0]),d=null):(u("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Oa=null;this.v.error=!1;this.X=c||0;this.D=this.u=this.H=this.F=this.oa=null;w.push(this)}function mb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function xb(){return Date.now()||+new Date} -function u(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;bb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Oa=null;this.v.error=!1;this.X=c||0;this.D=this.u=this.H=this.F=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb, -set:this.Sb};B(this)}p(bc,v);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; -l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):v.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; -l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Ab=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return kc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Tb=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=uc&&(a.P=b==vc,a.R=b==wc),!0):!1} -function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Rb,this.b[xc]&&this.b[xc][1]&&yc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; -l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[xc]&&this.b[xc][1])yc(this.u);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),zc(a,0,null),Mb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Lc(Mc,e,g)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+va(b)),!0):Lc(Oc,b,c)} -function Fc(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.H(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.i(id(a)+" cycles: checksum="+t(a.ua))}} -l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=zb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ta*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&md(a.F)}Bc(a,a.M);a.M=0;a.L=xb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Jd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Qb=function(){if(this.v.K){this.Ba>=this.Va&&kd(this,!0);this.la=0;this.ta=xb();if(this.O){var a=this.ta-this.O;a>this.Ua&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=Jd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Wa>=Kd&&(this.F&&M(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(xb(),id(this));Ib(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.ib;this.O=xb();var c=this.Ua;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; -function yc(a,b){if(!Jb(a))if(a.v.K)a.i(a.toString()+" busy");else{jd(a);a.v.K=!0;a.v.Ra=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&md(a.F,!0),a.F.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){Jd(this);Bc(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(xb(),id(this));b=!0;this.D||this.status("Stopped")}this.v.complete=a;return b};var ld=30,Kd=15,bd=["power","reset"]; -function Ld(a){var b=+a.model||1001;ad.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Md.bind(this);this.b=O.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Ld,ad);l=Ld.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;dd(this);this.v.error=!1;ad.prototype.reset.call(this)};l.ob=function(){return 0}; -l.save=function(){var a=new L(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Nd(this));a.set(4,od(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dVb&&(a!=Wb?a=Xb-a:this.w|=163840);return a};function Pd(a,b){b?b==Wb?a.w|=163840:b=Xb-b:a.w|=98304;return b}function Nd(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.D?Qd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Qb;this.J&4194304?a=-1:(this.A=(this.A+1)%Rb,a=this.Ma/$b|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%F);this.j(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} -function Vd(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Od(this,-1);else{var c=this.G/ac&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%F;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Wd(a,b){this.j(b,this.g(this.f))}function Xd(a,b){this.j(b,this.f)}function Yd(a,b){this.j(this.f,this.g(b))}function Zd(a,b){this.j(b,0)}function $d(a,b){this.j(b,E-this.g(b))}function ae(a,b){this.j(b,E)} -function be(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,ce(a,d,c)+(c-(c&G)))}function de(a,b){var c=this.g(b);this.j(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,ce(a,c,b)+(b-(b&G)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&G,a){case 256:d+=G;break;case 384:d+=c>Vb?G:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function ge(a,b){var c=(this.g(this.f)&G)*H,d=this.g(b);this.j(b,ce(a,d,c)+c)} -function he(a,b){var c=this.f*H,d=this.g(b);this.j(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&G)*H;var c=this.g(this.f);this.j(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&G)*H,c=ce(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function ke(a,b){var c=this.g(this.f)&G,d=this.g(b);this.j(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.j(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&G;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=G,a){case 256:d+=G*H;break;case 384:d+=c>Ub?G*H:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function pe(a,b){var c=this.g(this.f)/H|0,d=this.g(b);this.j(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.j(b,le(a,c,0))}function re(a,b){b=this.g(b)/H|0;var c=this.g(this.f);this.j(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/H|0,c=le(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function R(a){te[a&7].call(this,a,a>>3&127)} -function ue(){}function O(a){this.i("undefined opcode: "+va(a));Od(this,-1);this.V()}function le(a,b,c){switch(a&384){case 0:b-=b&G;break;case 128:b=0;break;case 256:b=G*H;break;case 384:b=c>Ub?G*H:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=G;break;case 128:b=0;break;case 256:b=G;break;case 384:b=c>Vb?G:0}return b}function S(a,b){return((a/I|0)&(b/I|0))*I+((a&b)>>>0)}function ve(a,b){return((a/I|0)^(b/I|0))*I+((a^b)>>>0)}function we(a,b){return(~((a/I|0)^(b/I|0))&15)*I+(~(a^b)>>>0)} -function U(a,b){return(a/I|0|b/I|0)*I+((a|b)>>>0)} -var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,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(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.G&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.G&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var x="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),A=Math.pow(2,18)-1,B=Math.pow(2,18),Tb=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Ub=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Vb=Math.pow(2,35),Wb=Math.pow(2,36),J=Math.pow(2,32),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),x="pdp10",Qb="PDPjs",L={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576, +timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; +function ac(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.w=this.A=0;this.N=this.O=-1;this.P=this.R=this.G=!1;this.S=bc;this.C={};this.b={START:[1,1,!0,!1,this.Jb],STEP:[1,1,!1,!1,this.Kb],ENABLE:[1,1,!1,!1,this.Eb],CONT:[1,1,!0,!1,this.Cb],DEP:[0,0,!0,!1,this.Db],EXAM:[1,1,!0,!1,this.Fb],LOAD:[1,1,!0,!1,this.Hb],TEST:[0,0,!0,!1,this.Gb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb, +set:this.Sb};z(this)}p(ac,u);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;fc(this);gc(this)};l.pa=function(a,b){if(!b)if(this.W&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; +l.restore=function(a){if(a=a[0])ic(this,this.f=a[0]),cc(this,this.A=a[1]),jc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])} +l.Ab=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Tb=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} +function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Sb,this.b[wc]&&this.b[wc][1]&&xc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; +l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[wc]&&this.b[wc][1])xc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),yc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+wa(b)),!0):Kc(Nc,b,c)} +function Ec(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.H(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.i(hd(a)+" cycles: checksum="+q(a.ua))}} +l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ta*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&ld(a.F)}Ac(a,a.M);a.M=0;a.L=qb();a.O=0;jd(a);return d}function md(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Qb=function(){if(this.v.K){this.Ba>=this.Va&&jd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Ua&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=md(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;Bc(this,b);zc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Wa>=pd&&(this.F&&N(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(qb(),hd(this));Jb(this, +e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.ib;this.O=qb();var c=this.Ua;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; +function xc(a,b){if(!Kb(a))if(a.v.K)a.i(a.toString()+" busy");else{id(a);a.v.K=!0;a.v.Ra=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&ld(a.F,!0),a.F.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){od(this);Ac(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(qb(),hd(this));b=!0;this.D||this.status("Stopped")}this.v.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; +function Kd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Ld.bind(this);this.b=P.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Kd,$c);l=Kd.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;cd(this);this.v.error=!1;$c.prototype.reset.call(this)};l.ob=function(){return 0}; +l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Md(this));a.set(4,nd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];id(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dI&&(a!=Vb?a=Wb-a:this.w|=163840);return a};function Od(a,b){b?b==Vb?a.w|=163840:b=Wb-b:a.w|=98304;return b}function Md(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; +l.Ja=function(a){this.v.complete=!0;var b=this.D?Pd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Qd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Qd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= +this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Ma/Zb|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Sd(){var a=0,b=this.g(this.f),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.j(this.f,b)}function Td(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} +function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Vd(a,b){this.j(b,this.g(this.f))}function Wd(a,b){this.j(b,this.f)}function Xd(a,b){this.j(this.f,this.g(b))}function Yd(a,b){this.j(b,0)}function Zd(a,b){this.j(b,G-this.g(b))}function $d(a,b){this.j(b,G)} +function ae(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,be(a,d,c)+(c-(c&A)))}function ce(a,b){var c=this.g(b);this.j(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,be(a,c,b)+(b-(b&A)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function fe(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.j(b,be(a,d,c)+c)} +function ge(a,b){var c=this.f*B,d=this.g(b);this.j(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.j(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&A)*B,c=be(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function je(a,b){var c=this.g(this.f)&A,d=this.g(b);this.j(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.j(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&A;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)} +function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function oe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.j(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.j(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/B|0,c=ke(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function S(a){se[a&7].call(this,a,a>>3&127)} +function te(){}function P(a){this.i("undefined opcode: "+wa(a));Nd(this,-1);this.V()}function ke(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function be(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function ue(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ve(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)} +function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} +var Rd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,function(a,b){0>this.G&&Sd.call(this);Td.call(this,0,b)},Td,function(a,b){0>this.G&&Sd.call(this);Ud.call(this,0,b)},Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/H|0)+a%H*H;this.j(b,a)},function(a,b){this.j(b,this.f*H)},function(a,b){a=this.g(b);a=(a/H|0)+a%H*H;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/H|0)+a%H*H;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Pd(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Xb-this.f:0)},function(a,b){this.j(this.f,Pd(this, -this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>Vb?-(F-a):a;0d?Tb:0,c=Sb):(d=d*Math.pow(2,c)%Tb,c=Tb-Math.pow(2,35-c)),a<=Vb?a+c>Vb&&(this.w|=131072):a-c<=Vb&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+F:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2, -a)%F+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%F+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%F+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%F+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, -a-36)%F+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%F,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},O,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f, -a)},function(a,b){a=!1;for(var c=this.g(b),d=c/H|0,c=c&G;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&G,c=c+1&G,this.v.K||(this.j(b,d*H+c),a||Od(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.j(a&G,this.g(this.f));a>=F&&(a-=F);a/H|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&G);this.j(this.f,c);this.f==b&&(a=c);a-=262145; -0>a&&(a+=F);(a/H|0)==G&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Wd,Xd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(b,a)},function(a,b){this.j(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Od(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Wb-this.f:0)},function(a,b){this.j(this.f,Od(this, +this.g(b)))},function(a,b){a=Od(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.w|=131072):a-c<=I&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% +H+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.w|=131072):e-c<=I&&(this.w|=131072); +e=0;g>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),g<=I?g+c>I&&(this.w|=131072):(g-c<=I&&(this.w|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36-a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.j(b,d);this.j(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+ +1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, +-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/B|0,c=c&A;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.v.K||(this.j(b,d*B+c),a||Nd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a, +b){a=this.g(b);a+=262145;this.j(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.j(this.f,0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,S(this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),this.f))},function(a,b){this.j(this.f, -S(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(E-this.g(b),this.g(this.f)))},function(a,b){this.j(b,S(E-this.g(b),this.f))},function(a,b){this.j(this.f,S(E-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(E-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.j(b,S(this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,S(this.g(b),E-this.f))},function(a,b){this.j(this.f,S(this.g(b),E-this.g(this.f)))}, -function(a,b){this.j(this.f,this.j(b,S(this.g(b),E-this.g(this.f))))},ue,ue,Yd,Yd,function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},function(a,b){this.j(b,U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b, -U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,S(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,S(E-this.g(b),E-this.f))},function(a,b){this.j(this.f,S(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,S(E-this.g(b),E-this.g(this.f))))},function(a,b){this.j(b,we(this.g(b),this.g(this.f)))},function(a,b){this.j(b,we(this.g(b),this.f))},function(a,b){this.j(this.f,we(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,we(this.g(b),this.g(this.f))))},$d, -$d,function(a,b){this.j(this.f,E-this.g(b))},function(a,b){this.j(this.f,this.j(b,E-this.g(b)))},function(a,b){this.j(b,U(E-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(E-this.g(b),this.f))},function(a,b){this.j(this.f,U(E-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(E-this.g(b),this.g(this.f))))},function(a,b){this.j(b,E-this.g(this.f))},function(a,b){this.j(b,E-this.f)},function(){this.j(this.f,E-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,E-this.g(this.f)))}, -function(a,b){this.j(b,U(this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),E-this.f))},function(a,b){this.j(this.f,U(this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),E-this.g(this.f))))},function(a,b){this.j(b,U(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(b,U(E-this.g(b),E-this.f))},function(a,b){this.j(this.f,U(E-this.g(b),E-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(E-this.g(b),E-this.g(this.f))))},ae,ae,function(){this.j(this.f, -E)},function(a,b){this.j(this.f,this.j(b,E))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Yd,function(){this.j(this.f, +0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,T(this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),this.f))},function(a,b){this.j(this.f,T(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),this.f))},function(a,b){this.j(this.f,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),this.g(this.f))))}, +Vd,Wd,te,Vd,function(a,b){this.j(b,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),G-this.f))},function(a,b){this.j(this.f,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),G-this.g(this.f))))},te,te,Xd,Xd,function(a,b){this.j(b,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ue(this.g(b),this.f))},function(a,b){this.j(this.f,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ue(this.g(b),this.g(this.f))))},function(a,b){this.j(b, +U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),G-this.f))},function(a,b){this.j(this.f,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a, +b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.j(this.f,G-this.g(b))},function(a,b){this.j(this.f,this.j(b,G-this.g(b)))},function(a,b){this.j(b,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),this.f))},function(a,b){this.j(this.f,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),this.g(this.f))))},function(a, +b){this.j(b,G-this.g(this.f))},function(a,b){this.j(b,G-this.f)},function(){this.j(this.f,G-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.f))},function(a,b){this.j(this.f,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),G-this.f))}, +function(a,b){this.j(this.f,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),G-this.g(this.f))))},$d,$d,function(){this.j(this.f,G)},function(a,b){this.j(this.f,this.j(b,G))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145); -break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function xe(a){v.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.G=wa(this.A);if(this.A){a=this.A;var b=xa(this.G);"json"!=b&&"hex"!=b&&(a=Ea()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;La(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(mb(c.La,a,b),(a=Ma(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);ye(c)})}}p(xe,v); -xe.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;ye(this)};xe.prototype.pa=function(){this.T&&(this.D&&ze(this.D,this.id,this.C,this.w,this.T),delete this.T);return!0};xe.prototype.ga=function(){return!0}; -function ye(a){if(!Kb(a)){if(a.A){if(!a.b||!a.H)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Ib(a,"ROM size ("+t(a.b.length,8,!0)+") does not match specified size ("+t(a.w,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.w,Sc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=-sa&&(f+=ra);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h=q.bb&&c<=q.xb&&(b=c-(q.bb-q.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.tb&&(b=q.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;B(this)}; -l.qb=function(a){if(!this.b){var b=cd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ia(c[0]);if(d!=this.Ka)return;c=Ia(c[1]);if(this.b=Ab(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.C=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.qb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ia(b.substring(c,g))),c=g+1}}return a} -function He(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],se=[function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; +function we(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.G=xa(this.A);if(this.A){a=this.A;var b=ya(this.G);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);xe(c)})}}p(we,u); +we.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;xe(this)};we.prototype.pa=function(){this.T&&(this.D&&ye(this.D,this.id,this.C,this.w,this.T),delete this.T);return!0};we.prototype.ga=function(){return!0}; +function xe(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.w,8,!0)+")");else{var b;b=a.C;if(Jc(a.H,b,a.w,Rc)){var c;for(c=0;c>>g.f;0>>= +g.f;0>>a.f;0f&&f>=-qa&&(f+=pa);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h=ta.bb&&c<=ta.xb&&(b=c-(ta.bb-ta.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.tb&&(b=ta.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;z(this)}; +l.qb=function(a){if(!this.b){var b=bd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.C=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.qb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ja(b.substring(c,g))),c=g+1}}return a} +function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function V(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,aa--;f=r+f;d>>=8}d=t(c,0,!0)+" "+c+". "+va(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} -function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ne(a){Fe.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.G=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.D=this;this.qa={};this.X=this.lb=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return hd(b,a)}):void 0===global[y]&&(global[y]=function(a){return hd(b, -a)})}p(Ne,Fe);function Y(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Na:void 0===b?!1:b,fa:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.Na=c||!1;a.fa=!1;a.ca=d}function Se(a){return[a.B,a.Na,a.fa,a.ca,a.Qa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.jb=Ge(a,c.Qa=b[4]));return c}l=Ne.prototype; -l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.ea=a.w;(a=cd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Nc[c],n&&d.i(t(n.id,8)+" %"+t(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} +function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Ne(a){Ee.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.G=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.D=this;this.qa={};this.X=this.lb=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, +a)})}p(Ne,Ee);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Na:void 0===b?!1:b,fa:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.Na=c||!1;a.fa=!1;a.ca=d}function Se(a){return[a.B,a.Na,a.fa,a.ca,a.Qa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.jb=Fe(a,c.Qa=b[4]));return c}l=Ne.prototype; +l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.ea=a.w;(a=bd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Mc[c],n&&d.i(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=Od(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Vf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Yb|0,r;for(r in Wf)if(f=Wf[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ha(k,8);f?(k=28700==h?k+N(a,g/Zb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=We(g);g=k;f="";h=N(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+We(k),null== -e.B)break;while(e.B!=b.B)}h+=Ha(f,16)+g;c&&(h=Ha(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+id(a.u).toString()+" cs="+t(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.i("invalid address: "+N(this,b.B)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f>>d.f],b==a.J));h.fa||Pe(a);break}}return g} -function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=va(d,2);Re(e.va,d);g+="="+N(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],r=Ja(n,k,a.mb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=g.Bb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} -function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+N(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"$f&&(rd="B");if(Ng==ag[jf]+rd){hf=29248!=nc?Qa:(Qa&3)<<1|(Qa&12)<<2;A=(qd|hf<<6)*Yb;break}}if(0<= -A)break}if(0<=A)break}if(0<=A)if(ff)for(var sd=ff.split(","),nb=0;nbJ||127J||15 -J||262143J||15da.length&&(a.i("note: only "+da.length+" available"),T=da.length);X-=T;0>X&&(null==da[da.length-1].B?(T=X+T,X=0):X+=da.length);var xd=[];"call"==pf&&(pb=1E5,xd=["CALL"]);for(void 0!==of&&a.i(T+" instructions earlier:");0=da.length&&(X=0);a.sa=T;rf++;pb--}}rf||(a.i("no "+qf+"history available"),a.sa=void 0)}else{var Wa=Z(a,ca,a.ja);if(Wa){var Aa=0,uf="ds"==Ta;if(oa){if("l"==oa.charAt(0))oa=oa.substr(1)||Qg,Aa=Je(a,oa);else{var vf=Z(a,oa);vf&&(Aa=vf.B-Wa.B)}0>Aa&&(Aa=0);65536zf;zf++)xf+=String.fromCharCode((pc%64|0)+32),pc/=64}Ba&&(Ba+="\n");Ba=uf?Ba+(Ca+","):Ba+(ca+": "+Ca+(0>yf?" "+xf:""))}Ba&&a.i(Ba);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Af,Bf,Cf=f[0],Ad=f[1];"e"==Cf||"ew"==Cf?(Af=a.ya,Bf=a.eb):Ad=null;if(null==Ad)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var qc=Z(a,Ad,a.ja);if(qc)for(var rc=2;rc< -f.length;rc++){var Bd=V(a,f[rc]);if(void 0===Bd){a.i("unknown value: "+f[rc]);break}a.i("changing "+N(a,qc.B)+" from "+We(Af.call(a,qc))+" to "+We(Bd));Bf.call(a,qc,Bd,1)}}break;case "g":a:{var Df=f[1],Ug=b;if(void 0!==Df){var Cd=Z(a,Df);if(!Cd)break a;Ve(a,Cd,Ug);a.Da(a.b,Cd,!0)}Pf(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Lb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Dd;var rb=b.substr(2),rb=Ia(rb);V(a,rb)?(c||a.i("true: "+rb),Dd=!0):(c||a.i("false: "+rb),Dd= -!1);Dd||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ed=0,Fd=W(),sb=W();for(a.i("stack trace for "+N(a,sb.B));10>Ed;){for(var Da=null,Wg=256;65536>sb.B>>>0;){Fd.B=a.ya(sb,2);if(null==sb.B||!Wg--)break;if(!(Fd.B&1)){for(var Xg=a,sc=Fd,Ef=null,tb=sc.B,Ff=tb,Gd=1;6>=Gd&&tb;Gd++){if(2Lf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Mf=W(a.u.A);a.ya(Mf);a.N?(a.Da(a.b,Mf,!0),Pf(a)||(a.F&&md(a.F),a.N=0)):lg(a,Lf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var vb=+f[2];if(8==vb||10==vb||16==vb)a.ca=vb;else{a.i("invalid base: "+vb);break}}a.i("default base: "+a.ca);break;case "cs":var wb;void 0!==f[3]&&(wb=+f[3]);switch(f[2]){case "int":a.u.ia=wb;break;case "start":a.u.va=wb;break;case "stop":a.u.ka=wb;break;default:a.i("unknown cs option");break a}void 0!==wb&&ed(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(jd(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); +l.message=function(a,b){b&&(a+=" @"+O(this,W(this.u.sa).B));if(!this.S||a!=this.S)if(this.S=a,this.X&1073741824)this.O.push(a);else{var c;if(this.X&-2147483648&&this.u&&(c=this.u.v.K)||Mb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.i(a);this.u&&(a=this.u,od(a),a.ea=0,a.F&&N(a.F,void 0))}}; +function Pe(a){var b;if(!Pd(a))a.f&&a.f.length&&a.i("instruction history buffer freed"),a.R=0,a.f=[];else if(!a.f||!a.f.length){a.f=Array(ff);for(b=0;b>23&&a.u.sa==b&&(b=Nd(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function Vf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Xb|0,t;for(t in Wf)if(f=Wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ia(k,8);f?(k=28700==h?k+O(a,g/Yb&127,-1):k+O(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=O(a,g&262143,-1),(g=g>>18&15)&&(k+="("+O(a,g,-1)+")")):k+=We(g);g=k;f="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+We(k),null== +e.B)break;while(e.B!=b.B)}h+=Ia(f,16)+g;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+hd(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.i("invalid address: "+O(this,b.B)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=X(c);for(var f=1;f>>d.f],b==a.J));h.fa||Pe(a);break}}return g} +function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=wa(d,2);Re(e.va,d);g+="="+O(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],t=Ka(n,k,a.mb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=g.Bb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} +function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0n||"z"$f&&(sd="B");if(Ng==ag[kf]+sd){jf=29248!=pc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(rd|jf<<6)*Xb;break}}if(0<= +C)break}if(0<=C)break}if(0<=C)if(gf)for(var td=gf.split(","),pb=0;pbK||127K||15 +K||262143K||15fa.length&&(a.i("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var yd=[];"call"==qf&&(rb=1E5,yd=["CALL"]);for(void 0!==pf&&a.i(V+" instructions earlier:");0=fa.length&&(Z=0);a.sa=V;sf++;rb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,vf="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Qg,Ca=Je(a,ra);else{var wf=Y(a,ra);wf&&(Ca=wf.B-Ya.B)}0>Ca&&(Ca=0);65536Af;Af++)yf+=String.fromCharCode((rc%64|0)+32),rc/=64}Da&&(Da+="\n");Da=vf?Da+(Ea+","):Da+(ea+": "+Ea+(0>zf?" "+yf:""))}Da&&a.i(Da);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Bd=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Bd=null;if(null==Bd)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var sc=Y(a,Bd,a.ja);if(sc)for(var tc=2;tc< +f.length;tc++){var Cd=He(a,f[tc]);if(void 0===Cd){a.i("unknown value: "+f[tc]);break}a.i("changing "+O(a,sc.B)+" from "+We(Bf.call(a,sc))+" to "+We(Cd));Cf.call(a,sc,Cd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Dd=Y(a,Ef);if(!Dd)break a;Ve(a,Dd,Ug);a.Da(a.b,Dd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Mb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Ed;var tb=b.substr(2),tb=Ja(tb);He(a,tb)?(c||a.i("true: "+tb),Ed=!0):(c||a.i("false: "+tb),Ed= +!1);Ed||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Fd=0,Gd=W(),ub=W();for(a.i("stack trace for "+O(a,ub.B));10>Fd;){for(var Fa=null,Wg=256;65536>ub.B>>>0;){Gd.B=a.ya(ub,2);if(null==ub.B||!Wg--)break;if(!(Gd.B&1)){for(var Xg=a,uc=Gd,Ff=null,vb=uc.B,Gf=vb,Hd=1;6>=Hd&&vb;Hd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.A);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&ld(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); +break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var xb=+f[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.i("invalid base: "+xb);break}}a.i("default base: "+a.ca);break;case "cs":var yb;void 0!==f[3]&&(yb=+f[3]);switch(f[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.i("unknown cs option");break a}void 0!==yb&&dd(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); a.i("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Pb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Hd="commands:",Id;for(Id in ng)Hd+="\n"+Ha(Id,9)+ng[Id];Qd(a)||(Hd+="\nnote: history disabled if no exec breakpoints");a.i(Hd);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Of){a.i("debugger error: "+(Of.stack||Of.message)),d=!1}return d} -function hd(a,b,c){b=Ge(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} +b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Qb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Id="commands:",Jd;for(Jd in ng)Id+="\n"+Ia(Jd,9)+ng[Jd];Pd(a)||(Id+="\nnote: history disabled if no exec breakpoints");a.i(Id);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} +function gd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} var ng={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},$f=20,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,9216:53,9472:52, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Nf=1E3,Rf=">> ";eb(function(){for(var a=z(document,y,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bsg){if(tg(d,this.M)){this.C=new L(this,"1.34.2",Cg);tg(this.C)&&(Dg(this,d),a=Eg,Fg(this.C));this.C.set(zg,Ka());Gg(this.C);var e=this.b&&!this.L;if(a==Ag||yb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Ya(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=zb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),M(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; -function Dg(a,b){if(yb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;La("http://www.pcjs.org/api/v1/report",d,!0)}} -function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new L(a,"1.34.2"),f=new L(a,"1.34.2",xg),h=Ka();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=zb(a.id),k=0;k> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bsg){if(tg(d,this.M)){this.C=new M(this,"1.34.2",Cg);tg(this.C)&&(Dg(this,d),a=Eg,Fg(this.C));this.C.set(zg,La());Gg(this.C);var e=this.b&&!this.L;if(a==Ag||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Za(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=Ab(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; +function Dg(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} +function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new M(a,"1.34.2"),f=new M(a,"1.34.2",xg),h=La();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k=d||30<=(c.Sa+=d))&&(e.textContent=c.v.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Sa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?va(e,void 0):t(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0=d||30<=(c.Sa+=d))&&(e.textContent=c.v.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Sa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");La(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +function dh(a,b,c,d,e,g,f){g("Loading "+a+"...");Ma(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):eh(k,a,b,c,d,e,g,f)})} +function eh(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(nb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],f);fh(a,b,c)}})}else c(a,null)} -function gh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&z(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Fa(a))}function f(a){g("Error: "+a);m&&(--ch||ib(!0));m=!1}var h,k,m=!0;ch++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));r.appendChild(C)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?dh(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ch|| -ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,g,n):eh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(aa){f(aa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); var ia=Math.pow(2,36),ja=Math.pow(2,35),q={Ab:0,Ta:1,Cb:2,Db:3,Eb:4,Fb:5,Gb:6,Hb:7,Ma:8,Ib:9,Ua:10,Jb:11,Kb:12,Va:13,Lb:14,Mb:15,Nb:16,Ob:17,Pb:18,Qb:19,Rb:20,Sb:21,Tb:22,Ub:23,Vb:24,Wb:25,Xb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,zb:66,Bb:67,Yb:68,E:69,Zb:70,$b:71,ac:72,bc:73,cc:74,dc:75,ec:76,fc:77,gc:78,hc:79,ic:80,Q:81, jc:82,kc:83,lc:84,mc:85,nc:86,oc:87,pc:88,qc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,rc:97,sc:98,tc:99,d:100,e:101,uc:102,vc:103,wc:104,xc:105,yc:106,k:107,zc:108,Ac:109,n:110,Bc:111,p:112,q:113,r:114,Cc:115,t:116,Dc:117,Ec:118,Fc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; -function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; -function ua(){function a(a){return(10>a?"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 t(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function va(){function a(a){return(10>a?"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 r(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function va(a,b){var c,d={H:null,O:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(u(d.H[0]),d=null):(u("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){u("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.g={ready:!1,ua:!1,Ga:!1,D:!1,error:!1};this.wa=null;this.g.error=!1;this.v=this.h=this.s=this.u=this.ba=null;A.push(this)}function Ka(a,b,c){La[a]&&b&&(La[a][b]=c)}function Ma(){return Date.now()||+new Date} -function u(a){window&&window.alert(a)}function Na(a){var b=!1;window&&(b=window.confirm(a));return b}function B(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;bb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(t(d.H[0]),d=null):(t("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){t("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.g={ready:!1,ua:!1,Ga:!1,D:!1,error:!1};this.wa=null;this.g.error=!1;this.v=this.i=this.s=this.u=this.ba=null;y.push(this)}function La(a,b,c){Ma[a]&&b&&(Ma[a][b]=c)}function Na(){return Date.now()||+new Date} +function t(a){window&&window.alert(a)}function Oa(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.jb,a];this.v=this.h=this.s=this.u=null;this.exports={hold:this.bb,toggle:this.ub,reset:this.qb, -set:this.tb};H(this)}n(eb,y);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.h&&this.h.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):y.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.h=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.P&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.b,this.j,this.i]);return a.data()}; -k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} -k.bb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; +var E="pdp10",H="PDPjs",Xa=Math.pow(2,18)-1,Ya=Math.pow(2,18),I=Math.pow(2,18)-1,J=Math.pow(2,18),K=Math.pow(2,35)-1,L=Math.pow(2,35),M=Math.pow(2,36)-1,N=Math.pow(2,36),Za=Math.pow(2,17)-1,O=Math.pow(2,35)-1,$a=Math.pow(2,35),ab=Math.pow(2,36),P=Math.pow(2,32),bb=Math.pow(2,23),cb=Math.pow(2,30),E="pdp10",H="PDPjs"; +function db(a,b){x.call(this,"Panel",a);this.B=this.C=0;this.P=b;this.b=this.w=this.h=this.j=0;this.G=this.I=-1;this.K=this.L=this.o=!1;this.N=eb;this.l={};this.a={START:[1,1,!0,!1,this.kb],STEP:[1,1,!1,!1,this.lb],ENABLE:[1,1,!1,!1,this.fb],CONT:[1,1,!0,!1,this.cb],DEP:[0,0,!0,!1,this.eb],EXAM:[1,1,!0,!1,this.gb],LOAD:[1,1,!0,!1,this.ib],TEST:[0,0,!0,!1,this.hb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.jb,a];this.v=this.i=this.s=this.u=null;this.exports={hold:this.bb,toggle:this.ub,reset:this.qb, +set:this.tb};G(this)}n(db,x);k=db.prototype;k.reset=function(a){this.stop();a&&fb(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){gb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){hb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){gb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hb(a,b)}}(this,b),!0):x.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;ib(this);jb(this)};k.V=function(a,b){if(!b)if(this.P&&kb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new Q(this);a.set(0,[this.b,this.j,this.h]);return a.data()}; +k.restore=function(a){if(a=a[0])lb(this,this.b=a[0]),fb(this,this.j=a[1]),mb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}jb(this);return!0};function nb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.l)nb(a,c,null!=b?b:a.l[c])}function ob(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.a)ob(a,b,a.a[b][1])} +k.bb=function(a,b,c){if(gb(this,b)){if(c){var d=this;setTimeout(function(){hb(d,b);a&&a()},+c);return!1}hb(this,b)}return!0}; k.tb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.s(b&16383,b);a.j--;a=b}else a=this.h.c(this.b);gb(this,this.j=a)}};k.ib=function(a){a||this.h.g.A||mb(this,this.i)};k.hb=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.jb=function(a,b){this.i=a?this.i|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.i&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new S(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.i)>>>a.b];a.j++;d.m(c,b&16383,b);a.j--} -function Cb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Xb(a)&&(a.ha=a.ia=-1,Wb(a),Q(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+r(a.qa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.D)a=!0;else{var b=null,c,h=B(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ca*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.C);a.C=0;a.B=Ma();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} -k.rb=function(){if(this.g.A){this.sa>=this.Ea&&Zb(this,!0);this.ea=0;this.ga=Ma();if(this.I){var a=this.ga-this.I;a>this.Da&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.g.va?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Fa>=cc&&(this.u&&R(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){Q(this); -this.u&&this.u.stop(Ma(),Xb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Pa;this.I=Ma();c=this.Da;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; -function ub(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Yb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.za=function(){return 0};function Q(a){var b=!1;if(a.g.A){bc(a);wb(a,a.C);a.C=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Ma(),Xb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Xa=b;this.na=+a.addrReset||0;this.Ya=ec.bind(this);this.a=T.bind(this);this.fa=null;this.Na=[];this.g.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&Q(this);this.b=this.w=this.ta=0;this.o=this.Ba=this.na;this.l=-1;this.i=0;this.la=this.o;this.j=0;this.c=this.nb;this.f=this.yb;this.fa=null;Vb(this);this.g.error=!1;Sb.prototype.reset.call(this)};k.Ra=function(){return 0}; -k.save=function(){var a=new P(this);a.set(0,[this.b,this.w,this.ta,this.o,this.l,this.i,this.j,this.Ba,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.g.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ta=b.next().value;this.o=b.next().value;this.l=b.next().value;this.i=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dN&&(a!=ab?a=bb-a:this.i|=163840);return a};function hc(a,b){b?b==ab?a.i|=163840:b=bb-b:a.i|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.i)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.i)>>>c.b].f(b,a&16383,a);return b}; -k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){Q(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Wa;this.w&4194304?a=-1:(this.o=(this.o+1)%Xa,a=this.ta/cb|0);0<=a&&this.Ya(a)}while(0< -this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};w(function(){for(var a=G(document,F,"cpu"),b=0;b>4].call(this,a,a&15)}function U(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%K);this.f(this.b,b)} -function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%K;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} -function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,J-this.c(b))}function rc(a,b){this.f(b,J)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,V(a,d,c)+(c-(c&L)))}function tc(a,b){var c=this.c(b);this.f(b,V(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,V(a,c,b)+(b-(b&L)))} -function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&L,a){case 256:d+=L;break;case 384:d+=c>N?L:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&L)*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function xc(a,b){var c=this.b*M,d=this.c(b);this.f(b,V(a,d,c)+c)}function yc(a,b){b=(this.c(b)&L)*M;var c=this.c(this.b);this.f(this.b,V(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&L)*M,c=V(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function Ac(a,b){var c=this.c(this.b)&L,d=this.c(b);this.f(b,W(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,W(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&L;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=L,a){case 256:d+=L*M;break;case 384:d+=c>$a?L*M:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/M|0,d=this.c(b);this.f(b,W(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,W(a,c,0))} -function Gc(a,b){b=this.c(b)/M|0;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/M|0,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function T(a){this.M("undefined opcode: "+la(a));gc(this);Q(this)}function W(a,b,c){switch(a&384){case 0:b-=b&L;break;case 128:b=0;break;case 256:b=L*M;break;case 384:b=c>$a?L*M:0}return b} -function V(a,b,c){switch(a&384){case 0:b&=L;break;case 128:b=0;break;case 256:b=L;break;case 384:b=c>N?L:0}return b}function Y(a,b){return((a/O|0)&(b/O|0))*O+((a&b)>>>0)}function Kc(a,b){return((a/O|0)^(b/O|0))*O+((a^b)>>>0)}function Lc(a,b){return(~((a/O|0)^(b/O|0))&15)*O+(~(a^b)>>>0)}function Z(a,b){return(a/O|0|b/O|0)*O+((a|b)>>>0)} -var ic=[U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return mb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,ob(this,a,c[1]),!0):!1};k.ub=function(a){return gb(this,a)?(hb(this,a),!0):!1};function gb(a,b){var c=a.a[b];return c?(ob(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=pb&&(a.K=b==qb,a.L=b==rb),!0):!1}function hb(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(ob(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} +k.kb=function(a){a||this.i.g.A||(this.i.o=this.b%Ya,this.a[sb]&&this.a[sb][1]&&tb(this.i))};k.lb=function(){};k.fb=function(a){a||R(this.i)};k.cb=function(a){if(!a&&!this.i.g.A)if(this.a[sb]&&this.a[sb][1])tb(this.i);else{a=this.v;var b;if(b=a)a.g.ua&&(a.g.Ga=!0),b=!a.g.ua;if(b)Wa(a,!0),a.b(0,null),Wa(a,!1);else try{var c=this.i.za(1);0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);fb(this,this.j=a)}};k.ib=function(a){a||this.i.g.A||lb(this,this.h)};k.hb=function(a){a?(this.o=!0,ib(this,!0)):(this.o=!1,ib(this),mb(this,0))};k.jb=function(a,b){this.h=a?this.h|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.h&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Db(Eb,e,f)}e=new T(a,e,p,16384,d);Ab(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Fb[d]+" at "+la(b)),!0):Db(Gb,b,c)}function yb(a,b,c){var d=a.a[(b&a.h)>>>a.b];a.j++;d.h(c,b&16383,b);a.j--} +function Bb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Wb(a)&&(a.ha=a.ia=-1,Vb(a),R(a),c=!0);c&&a.M(Wb(a)+" cycles: checksum="+ma(a.qa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ca*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}vb(a,a.C);a.C=0;a.B=Na();a.I=0;Yb(a)}function $b(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ac(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} +k.rb=function(){if(this.g.A){this.sa>=this.Ea&&Yb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Da&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.g.va?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=ac(this,!0);this.ea+=b;this.C+=b;wb(this,b);ub(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Fa>=bc&&(this.u&&S(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){R(this); +this.u&&this.u.stop(Na(),Wb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Pa;this.I=Na();c=this.Da;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Xb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; +function tb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Xb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Wb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.za=function(){return 0};function R(a){var b=!1;if(a.g.A){ac(a);vb(a,a.C);a.C=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Wb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Zb=30,bc=15,Sb=["power","reset"]; +function cc(a){var b=+a.model||1001;Rb.call(this,a,1E6);this.Xa=b;this.na=+a.addrReset||0;this.Ya=dc.bind(this);this.a=U.bind(this);this.fa=null;this.Na=[];this.g.complete=!1}n(cc,Rb);k=cc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&R(this);this.b=this.w=this.ta=0;this.o=this.Ba=this.na;this.l=-1;this.h=0;this.la=this.o;this.j=0;this.c=this.nb;this.f=this.yb;this.fa=null;Ub(this);this.g.error=!1;Rb.prototype.reset.call(this)};k.Ra=function(){return 0}; +k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ta,this.o,this.l,this.h,this.j,this.Ba,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.g.J]);a.set(3,ec(this));a.set(4,$b(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ta=b.next().value;this.o=b.next().value;this.l=b.next().value;this.h=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Xb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dO&&(a!=$a?a=ab-a:this.h|=163840);return a};function gc(a,b){b?b==$a?a.h|=163840:b=ab-b:a.h|=98304;return b}function ec(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.h)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.h)>>>c.b].f(b,a&16383,a);return b}; +k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){R(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Ya,a=this.ta/bb|0);0<=a&&this.Ya(a)}while(0< +this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function ic(){var a=0,b=this.c(this.b),c=b/cb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*cb+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} +function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,fc(this);else{var c=this.l/cb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,fc(this);else{var c=this.l/cb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function lc(a,b){this.f(b,this.c(this.b))} +function mc(a,b){this.f(b,this.b)}function nc(a,b){this.f(this.b,this.c(b))}function oc(a,b){this.f(b,0)}function pc(a,b){this.f(b,M-this.c(b))}function qc(a,b){this.f(b,M)}function rc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function sc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function tc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} +function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function vc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function wc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function yc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} +function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));fc(this);R(this)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b} +function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)}function Kc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Lc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} +var hc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,function(a,b){0>this.l&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.l&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(b,a)},function(a,b){this.f(b,this.b*M)},function(a,b){a=this.c(b);a=(a/M|0)+a%M*M;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/M|0)+a%M*M;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?bb-this.b:0)},function(a,b){this.f(this.b,hc(this, -this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>N?-(K-a):a;0d?Za:0,c=Ya):(d=d*Math.pow(2,c)%Za,c=Za-Math.pow(2,35-c)),a<=N?a+c>N&&(this.i|=131072):a-c<=N&&(this.i|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+K:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2, -a)%K+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%K+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%K+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%K+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2, -a-36)%K+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(c=0,d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36))):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%K,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},T,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b, -a)},function(a,b){a=!1;for(var c=this.c(b),d=c/M|0,c=c&L;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&L,c=c+1&L,this.g.A||(this.f(b,d*M+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},T,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&L,this.c(this.b));a>=K&&(a-=K);a/M|0||(this.i|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&L);this.f(this.b,c);this.b==b&&(a=c);a-=262145; -0>a&&(a+=K);(a/M|0)==L&&(this.i|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,mc,nc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,gc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b,gc(this, +this.c(b)))},function(a,b){a=gc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.h|=131072):a-c<=O&&(this.h|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% +N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.h|=131072):e-c<=O&&(this.h|=131072); +e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.h|=131072):(f-c<=O&&(this.h|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36-a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15), +e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, +-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.g.A||(this.f(b,d*J+c),a||fc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a, +b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.h|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.h|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b, -Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(J-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(J-this.c(b),this.b))},function(a,b){this.f(this.b,Y(J-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(J-this.c(b),this.c(this.b))))},mc,nc,Jc,mc,function(a,b){this.f(b,Y(this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),J-this.b))},function(a,b){this.f(this.b,Y(this.c(b),J-this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y(this.c(b),J-this.c(this.b))))},Jc,Jc,oc,oc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, -Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Y(J-this.c(b),J-this.b))},function(a,b){this.f(this.b,Y(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(J-this.c(b),J-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},qc, -qc,function(a,b){this.f(this.b,J-this.c(b))},function(a,b){this.f(this.b,this.f(b,J-this.c(b)))},function(a,b){this.f(b,Z(J-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(J-this.c(b),this.b))},function(a,b){this.f(this.b,Z(J-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(J-this.c(b),this.c(this.b))))},function(a,b){this.f(b,J-this.c(this.b))},function(a,b){this.f(b,J-this.b)},function(){this.f(this.b,J-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,J-this.c(this.b)))}, -function(a,b){this.f(b,Z(this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),J-this.b))},function(a,b){this.f(this.b,Z(this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),J-this.c(this.b))))},function(a,b){this.f(b,Z(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(b,Z(J-this.c(b),J-this.b))},function(a,b){this.f(this.b,Z(J-this.c(b),J-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(J-this.c(b),J-this.c(this.b))))},rc,rc,function(){this.f(this.b, -J)},function(a,b){this.f(this.b,this.f(b,J))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b, +0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(M-this.c(b),this.b))},function(a,b){this.f(this.b,Y(M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(M-this.c(b),this.c(this.b))))}, +lc,mc,Jc,lc,function(a,b){this.f(b,Y(this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),M-this.b))},function(a,b){this.f(this.b,Y(this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),M-this.c(this.b))))},Jc,Jc,nc,nc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b, +Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y(M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a, +b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},pc,pc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z(M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(M-this.c(b),this.b))},function(a,b){this.f(this.b,Z(M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(M-this.c(b),this.c(this.b))))},function(a, +b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),M-this.b))},function(a,b){this.f(this.b,Z(this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Z(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z(M-this.c(b),M-this.b))}, +function(a,b){this.f(this.b,Z(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(M-this.c(b),M-this.c(this.b))))},qc,qc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.i&=-131073);a&131072&&(this.i&=-262145); -break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.i&131072&&(a|=8);this.i&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Mc(a){y.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.i=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=ma(this.j);if(this.j){a=this.j;var b=na(this.o);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;t(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Ka(c.pa,a,b),(a=va(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Nc(c)})}}n(Mc,y); -Mc.prototype.Z=function(a,b,c,d){this.s=b;this.h=c;this.v=d;Nc(this)};Mc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.i,this.O),delete this.O);return!0};Mc.prototype.R=function(){return!0}; -function Nc(a){if(!Ua(a)){if(a.j){if(!a.a||!a.s)return;a.i||(a.i=a.a.length);if(a.a.length!=a.i){var b="ROM size ("+r(a.a.length,8,!0)+") does not match specified size ("+r(a.i,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.i,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.$a&&(b=c-(q.La-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.xa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.h=c;this.v=d;H(this)}; -k.Sa=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.oa)return;c=ta(c[1]);if(this.a=Oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.i);if(this.l=e.receiveData){this.i=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.i),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Xc(d,this.C)){this.l=new P(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,ua());jd(this.l);var e=this.a&&!this.B;if(a==dd||Na("Click OK to restore the previous "+I+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(za(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.C;delete this.w}e=B(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.h&&(ld(this,this.h,b,c,a),R(this,-2),this.h.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function gd(a,b){if(Na("There may be a problem with your "+I+" machine.\n\nTo help us diagnose it, click OK to send this "+I+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=I;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;t("http://www.pcjs.org/api/v1/report",d,!0)}} -function md(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new P(a,"1.34.2"),g=new P(a,"1.34.2",ad),h=ua();g.set(cd,h);f.set(cd,h);f.set(nd,"1.34.2");f.set(od,window?window.location.href:null);f.set(pd,window?window.navigator.userAgent:"");a.h&&a.h.R&&(c&&(b&&(a.h.g.J=a.h.g.A),Q(a.h)),d=a.h.R(b,c),"object"===typeof d&&f.set(a.h.id,d),c&&(a.h.g.D=!1,!1===d&&(e=null)));for(var h=B(a.id),l=0;l=d||30<=(c.Aa+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.i&&(a=a.i,b=b||0,a.C)){c=a.h.g.A;d=!!(a.h.j&8);if(0>=b||60<=(a.B+=b)){e=a.h.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):r(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.h.o:0");if(2==c.length){var d=ua(c[0]);if(d!=this.oa)return;c=ua(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.h);if(this.l=e.receiveData){this.h=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.h),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Xc(d,this.C)){this.l=new Q(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,va());jd(this.l);var e=this.a&&!this.B;if(a==dd||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(ld(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function gd(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function md(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",ad),h=va();g.set(cd,h);f.set(cd,h);f.set(nd,"1.34.2");f.set(od,window?window.location.href:null);f.set(pd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.g.J=a.i.g.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.g.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Aa+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.h&&(a=a.h,b=b||0,a.C)){c=a.i.g.A;d=!!(a.i.j&8);if(0>=b||60<=(a.B+=b)){e=a.i.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.o:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(z){g=null,a=z.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");t(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +function vd(a,b,c,d,e,f,g){f("Loading "+a+"...");r(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):wd(l,a,b,c,d,e,f,g)})} +function wd(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(La(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);xd(a,b,c)}})}else c(a,null)} -function yd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&G(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=qa(a))}function g(a){f("Error: "+a);p&&(--ud||Ga(!0));p=!1}var h,l,p=!0;ud++;La[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var z=document.head||document.getElementsByTagName("head")[0],ra=document.createElement("style");ra.type="text/css";ra.styleSheet?ra.styleSheet.cssText=v:ra.appendChild(document.createTextNode(v));z.appendChild(ra)}d|| -(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?vd(d,null,a,null,!1,f,function(a,e){e?(Ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--ud||Ga(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ud|| -Ga(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?vd(c,b,a,e,!0,f,v):wd(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(zd){g(zd.message)}return p}window.embedPDP10=function(a,b,c,d){Ga(!1);return yd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ga(!1);return yd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return C(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Qa[a]){for(var c=!0,d=Qa,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v Date: Sun, 5 Mar 2017 14:15:24 -0800 Subject: [PATCH 22/32] Whitespace --- modules/pdp10/lib/defines.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index c579a3750..c083bf3ec 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -116,10 +116,10 @@ var PDP10 = { WORD_MASK: Math.pow(2, 36) - 1, // 68,719,476,735 (777777 777777): unsigned word mask WORD_LIMIT: Math.pow(2, 36), // 68,719,476,736 (1 000000 000000): unsigned word limit - MAX_POS18: Math.pow(2, 17) - 1, // 131,071 (377777) - MIN_NEG18: Math.pow(2, 17), // -131,072 (400000) - MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) - MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) + MAX_POS18: Math.pow(2, 17) - 1, // 131,071 (377777) + MIN_NEG18: Math.pow(2, 17), // -131,072 (400000) + MAX_POS36: Math.pow(2, 35) - 1, // 34,359,738,367 (377777 777777) + MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) TWO_POW32: Math.pow(2, 32), From 6b68525f2405fcdfaf8a094a4a54d0e5c0509c95 Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 5 Mar 2017 16:19:25 -0800 Subject: [PATCH 23/32] Fixed minor ASHC bug --- modules/pdp10/lib/cpuops.js | 2 +- modules/shared/bin/int36 | 3 +++ modules/shared/lib/int36.js | 16 +++++++++++----- versions/pdpjs/1.34.2/pdp10-dbg.js | 2 +- versions/pdpjs/1.34.2/pdp10.js | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index fae65d6f0..75f914003 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1686,7 +1686,7 @@ PDP10.opASHC = function(op, acc) /* * For this right shift of 1-35 bits, determine the value of bits shifted in from the left. */ - bits = (wLeft > PDP10.INT_MASK? PDP10.WORD_LIMIT - Math.pow(2, 36 - s) : 0); + bits = (wLeft > PDP10.INT_MASK? PDP10.WORD_LIMIT - Math.pow(2, 36 + s) : 0); /* * The bits that we add to wRight from wLeft must be shifted right one additional bit, because * they must "skip over" the sign bit of wRight. This means we must zero the sign bit of wRight, diff --git a/modules/shared/bin/int36 b/modules/shared/bin/int36 index 0e6daf42e..3e0670e93 100644 --- a/modules/shared/bin/int36 +++ b/modules/shared/bin/int36 @@ -179,6 +179,9 @@ test("lsh 3"); test("lsh -3"); test("rot 6"); test("rot -6"); +test("set 0o112233445566 0o123456123456"); +test("rot 18"); +test("ash -3"); repl.start({ prompt: "int36> ", diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index ab4c4237a..77f44ee49 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -289,7 +289,7 @@ class Int36 { if (radix == 8) { var s = Int36.octal(value); if (extended) { - s = Int36.octal(extended) + ',' + s; + s = Int36.octal(extended) + ' ' + s; } if (this.remainder) { s += ':' + Int36.octal(this.remainder); @@ -843,7 +843,7 @@ class Int36 { /* * For this right shift of 1-35 bits, determine the value of bits shifted in from the left. */ - bits = (wLeft > Int36.INT_MASK? Int36.WORD_LIMIT - Math.pow(2, 36 - s) : 0); + bits = (wLeft > Int36.INT_MASK? Int36.WORD_LIMIT - Math.pow(2, 36 + s) : 0); /* * The bits that we add to wRight from wLeft must be shifted right one additional bit, because * they must "skip over" the sign bit of wRight. This means we must zero the sign bit of wRight, @@ -1213,8 +1213,14 @@ class Int36 { */ static octal(value) { - if (value < 0) value += Int36.WORD_LIMIT; - return ("00000000000" + value.toString(8)).slice(-12); + if (value < 0) { + value += Int36.WORD_LIMIT; + } + var s = value.toString(8); + if (value >= 0 && !Math.trunc(value / Int36.WORD_LIMIT)) { + s = "0o" + ("000000000000" + s).slice(-12); + } + return s; } /** @@ -1238,7 +1244,7 @@ class Int36 { } var value = Math.trunc(Math.abs(num)) % Math.pow(2, bits); if (DEBUG && num !== value) { - console.log("Int36.validate(" + num + " out of range, truncated to " + value + ")"); + console.log("Int36.validate(" + Int36.octal(num) + " out of range, truncated to " + Int36.octal(value) + ")"); } return value; } diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index e44c685e3..05a6b88db 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -111,7 +111,7 @@ function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a) this.g(b)))},function(a,b){a=Od(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.w|=131072):a-c<=I&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% H+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.w|=131072):e-c<=I&&(this.w|=131072); -e=0;g>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),g<=I?g+c>I&&(this.w|=131072):(g-c<=I&&(this.w|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36-a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.j(b,d);this.j(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+ +e=0;g>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),g<=I?g+c>I&&(this.w|=131072):(g-c<=I&&(this.w|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.j(b,d);this.j(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+ 1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, -a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/B|0,c=c&A;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.v.K||(this.j(b,d*B+c),a||Nd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a, b){a=this.g(b);a+=262145;this.j(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, diff --git a/versions/pdpjs/1.34.2/pdp10.js b/versions/pdpjs/1.34.2/pdp10.js index 17fda825e..801494578 100644 --- a/versions/pdpjs/1.34.2/pdp10.js +++ b/versions/pdpjs/1.34.2/pdp10.js @@ -106,7 +106,7 @@ function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a) this.c(b)))},function(a,b){a=gc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.h|=131072):a-c<=O&&(this.h|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.h|=131072):e-c<=O&&(this.h|=131072); -e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.h|=131072):(f-c<=O&&(this.h|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36-a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15), +e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.h|=131072):(f-c<=O&&(this.h|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15), e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, -a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.g.A||(this.f(b,d*J+c),a||fc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a, b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.h|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.h|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, From 3d4795bbe4e9d60bef2f4b45937f50da7422060b Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 6 Mar 2017 15:48:31 -0800 Subject: [PATCH 24/32] Updated the Int36 class with support for both signed 71-bit values (my original double-length format) and 70-bit values consisting of two signed 35-bit values (DEC's double-length format) --- modules/shared/lib/int36.js | 143 +++++++++++++++++++++++++++++++----- 1 file changed, 123 insertions(+), 20 deletions(-) diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index 77f44ee49..740b5d682 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -118,6 +118,7 @@ * @class Int36 * @property {number} value * @property {number|null} extended + * @property {number} magnitude * @property {number|null} remainder * @property {number} error * @unrestricted @@ -129,6 +130,10 @@ * provide an additional 36 bits of data to a division. Internally, it should be null whenever the * value is not extended. * + * The 'magnitude' property is normally 35 for non-extended values and 71 for extended values; + * it is set to 70 whenever 'value' and 'extended' are both converted to 35-bit values with matching + * signs; see setMagnitude(). + * * The 'remainder' property stores the remainder from the last division. You should assume it will * be set to null by any other operation. * @@ -203,16 +208,24 @@ class Int36 { if (obj instanceof Int36) { this.value = obj.value; this.extended = obj.extended; + this.magnitude = obj.magnitude; this.remainder = obj.remainder; } else { this.value = Int36.validate(obj || 0); this.extended = null; + this.magnitude = 35; /* * NOTE: Surprisingly, isNaN(null) is false, whereas isNaN(undefined) is true. Go figure. */ if (extended != null && !isNaN(extended)) { this.extended = Int36.validate(extended); + /* + * Since I'm not requiring there to be any relationship between these independently set values + * (ie, that their sign bits match), we have to treat this Int36 as a signed 71-bit value until + * further notice. + */ + this.magnitude = 71; } this.remainder = null; } @@ -231,7 +244,7 @@ class Int36 { var s = "", fNeg = false; var i36Div = new Int36(10000000000); var i36Rem = new Int36(); - var i36Tmp = new Int36(this.value, this.extended); + var i36Tmp = new Int36(this); if (!fUnsigned && i36Tmp.isNeg()) { i36Tmp.negate(); @@ -376,6 +389,7 @@ class Int36 { } this.extended = null; + this.magnitude = 35; this.remainder = null; this.error = Int36.ERROR.NONE; @@ -492,6 +506,9 @@ class Int36 { * number (base 2^18). Each individual multiplication of these 18-bit "digits" will produce * a result within 2^36, well within JavaScript integer accuracy. * + * TODO: Review what should happen when the multiplicand is extended; currently, we simply ignore + * the extended portion. + * * @this {Int36} * @param {number} value */ @@ -532,8 +549,11 @@ class Int36 { this.value = this.truncate(value); this.extended = this.truncate(extended); + this.magnitude = 71; if (fNeg) this.negate(); + + this.setMagnitude(70); } /** @@ -596,6 +616,8 @@ class Int36 { this.extend(); + this.setMagnitude(71); + /* * Initialize the four double-length 72-bit values we need for the division process. * @@ -636,9 +658,7 @@ class Int36 { /* * Since divisors are limited to 36-bit values, something's wrong if we have an extended remainder. */ - if (DEBUG && dRem[1]) { - console.log("divExtended() assertion failure"); - } + this.assert(!dRem[1], "extended remainder"); this.value = dRes[0]; this.extended = dRes[1]; @@ -1007,6 +1027,8 @@ class Int36 { * extend() * * Sets extended to match the sign of value (if not already set). + * + * @this {Int36} */ extend() { @@ -1024,27 +1046,31 @@ class Int36 { * * Multiplication produces a double length product, and the programmer must remember that discarding * the low order part ['extended'] of a double length negative leaves the high order part ['value'] in - * correct twos complement form only if the low order part ['extended'] is null. + * correct twos complement form only if the low order part ['extended'] is null [zero]. * - * is not entirely applicable to us. For one thing, when value is MINNEG and extended is ZERO, we interpret - * that extended value as 34,359,738,368; we cannot simply eliminate the extended portion, otherwise value - * would be interpreted as -34,359,738,368. + * is not applicable when we're using 71-bit magnitude values; for example, when value is MIN_NEG36 and + * extended is ZERO, we interpret that extended value as 34,359,738,368; we cannot simply eliminate the + * extended portion, otherwise value would be interpreted as -34,359,738,368. * * DEC can say that because each of the words in a PDP-10 double-length product contains its own sign bit, * resulting in only 70 bits of magnitude. However, we don't store our extended (double-length) results that - * way, so be aware of these mismatches in both terminology and format when converting an Int36 to/from PDP-10 - * registers/memory. + * way, unless setMagnitude(70) has been called, so be aware of these mismatches in both terminology and + * format when converting an Int36 to/from PDP-10 registers/memory. + * + * @this {Int36} */ reduce() { if (this.extended == 0 && this.value <= Int36.MAX_POS36 || this.extended == Int36.WORD_MASK && this.value > Int36.MAX_POS36) { this.extended = null; + this.magnitude = 35; } } /** * isNeg() * + * @this {Int36} * @return {boolean} */ isNeg() @@ -1061,6 +1087,12 @@ class Int36 { * * This is handled below by setting extended first, based on the opposite of the value's current sign; * we could negate extended AFTER negating value, but then we'd need a special test for the MIN_NEG36 value. + * + * A side-effect of this call is that the magnitude is forced to 71, on the presumption that we're about + * to perform an arithmetic operation that is more easily performed on a unified 71-bit value than two + * independently signed 35-bit values. + * + * @this {Int36} */ negate() { @@ -1068,19 +1100,24 @@ class Int36 { /* * Set extended to the OPPOSITE of the current value. */ + this.assert(this.magnitude == 35); this.extended = (this.value > Int36.MAX_POS36? 0 : Int36.WORD_MASK); - } - else if (this.value) { - /* - * Perform one's complement on the extended value. - */ - this.extended = Int36.WORD_MASK - this.extended; + this.magnitude = 71; } else { - /* - * Perform two's complement on the extended value. - */ - if (this.extended) this.extended = Int36.WORD_LIMIT - this.extended; + this.setMagnitude(71); + if (this.value) { + /* + * Perform one's complement on the extended value. + */ + this.extended = Int36.WORD_MASK - this.extended; + } + else { + /* + * Perform two's complement on the extended value. + */ + if (this.extended) this.extended = Int36.WORD_LIMIT - this.extended; + } } /* * Perform two's complement on the value. @@ -1090,6 +1127,51 @@ class Int36 { } } + /** + * setMagnitude(n) + * + * NOTE: This handles only two specific magnitude conversions: 71 to 70, and 70 to 71. Conversions to/from 35-bit + * values are generally handled inline. + * + * @this {Int36} + * @param {number} n + */ + setMagnitude(n) + { + if (this.extended != null) { + + var sign = this.extended - (this.extended % Int36.INT_LIMIT); + + if (this.magnitude == 70 && n == 71) { + /* + * Let's assert that the sign bits of both halves match. + */ + this.assert(Math.trunc(this.value / Int36.INT_LIMIT) == Math.trunc(this.extended / Int36.INT_LIMIT), "sign mismatch"); + /* + * Compute value without the sign bit and add the low bit of extended in its place. + */ + this.value = (this.value % Int36.INT_LIMIT) + ((this.extended * Int36.INT_LIMIT) % Int36.WORD_LIMIT); + this.extended = sign + Math.trunc(this.extended / 2); + this.magnitude = 71; + } + else if (this.magnitude == 71 && n == 70) { + /* + * Reducing the magnitude requires shifting extended left one bit so that we can move + * the high bit of value into the low bit of extended, and then set the sign bit of value + * to match the sign bit of extended. + */ + this.extended = ((this.extended * 2) % Int36.WORD_LIMIT) + Math.trunc(this.value / Int36.INT_LIMIT); + this.value = sign + (this.value % Int36.INT_LIMIT); + var signNew = this.extended - (this.extended % Int36.INT_LIMIT); + if (sign != signNew) { + this.extended = sign + (this.extended - signNew); + this.error |= Int36.ERROR.OVERFLOW; + } + this.magnitude = 70; + } + } + } + /** * readBits(off, len) * @@ -1125,6 +1207,27 @@ class Int36 { this.value = w; } + /** + * assert(fCondition, sMessage) + * + * @param {boolean} fCondition + * @param {string} [sMessage] + */ + assert(fCondition, sMessage) + { + if (DEBUG) { + if (!fCondition) { + try { + throw(new Error(sMessage || "assertion failure")); + } + catch(err) { + console.log(err.message); + if (err.stack) console.log(err.stack); + } + } + } + } + /** * addD(dDst, dSrc) * From 04ae721eb6c5575af994f3abc1bd94f10f64a1dd Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 6 Mar 2017 16:42:29 -0800 Subject: [PATCH 25/32] Updated the extended logical operations (LSHC and ROTC) to treat the result as a 71-bit result, and ASHC to treat it as a 70-bit result --- modules/shared/lib/int36.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index 740b5d682..ee2f414ef 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -694,6 +694,7 @@ class Int36 { { num = Int36.validate(num); this.error = Int36.ERROR.NONE; + /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ @@ -757,6 +758,10 @@ class Int36 { else { /* * Simulate opASHC() + * + * TODO: Note that we force the result to be treated as a 70-bit result (we set magnitude to 70 at the end); + * however, what should happen if the incoming value wasn't a proper 70-bit value (ie, if the signs of value + * and extended didn't match)? */ var bits; var wRight = this.value; @@ -879,6 +884,7 @@ class Int36 { } this.value = wRight; this.extended = wLeft; + this.magnitude = 70; } } } @@ -955,6 +961,11 @@ class Int36 { } this.value = wRight; this.extended = wLeft; + /* + * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should always be + * treated as an unsigned 72-bit value? + */ + this.magnitude = 71; } } } @@ -1019,6 +1030,11 @@ class Int36 { } this.value = wRight; this.extended = wLeft; + /* + * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should always be + * treated as an unsigned 72-bit value? + */ + this.magnitude = 71; } } } From 1b4129d7ad05e7e89f2e6ce7d8bd50b74f706c98 Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 6 Mar 2017 17:18:41 -0800 Subject: [PATCH 26/32] Added some ASHC tests --- modules/shared/bin/int36 | 10 +++++++ modules/shared/lib/int36.js | 52 +++++++++++++++++++++++-------------- 2 files changed, 43 insertions(+), 19 deletions(-) diff --git a/modules/shared/bin/int36 b/modules/shared/bin/int36 index 3e0670e93..0a42736f4 100644 --- a/modules/shared/bin/int36 +++ b/modules/shared/bin/int36 @@ -183,6 +183,16 @@ test("set 0o112233445566 0o123456123456"); test("rot 18"); test("ash -3"); +test("set 0o377777777777 0o377777777777"); +test("ash 0"); // this is a no-op, but it's useful for setting the magnitude to 70-bit +for (let i = 0; i <= 70; i++) { + test("ash -1"); +} +test("set 0 1"); +for (let i = 0; i <= 70; i++) { + test("ash 1"); +} + repl.start({ prompt: "int36> ", input: process.stdin, diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index ee2f414ef..790685c59 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -301,10 +301,10 @@ class Int36 { if (radix == 8) { var s = Int36.octal(value); - if (extended) { + if (extended != null) { s = Int36.octal(extended) + ' ' + s; } - if (this.remainder) { + if (this.remainder != null) { s += ':' + Int36.octal(this.remainder); } if (DEBUG && this.error) { @@ -699,8 +699,9 @@ class Int36 { * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ var s = ((num << 14) >> 14) % 256; - if (s) { - if (this.extended == null) { + + if (this.extended == null) { + if (s) { /* * Simulate opASH() */ @@ -755,7 +756,9 @@ class Int36 { w = (i < 0? i + Int36.WORD_LIMIT : i); this.value = w; } - else { + } + else { + if (s) { /* * Simulate opASHC() * @@ -884,8 +887,11 @@ class Int36 { } this.value = wRight; this.extended = wLeft; - this.magnitude = 70; } + /* + * We allow ashNum(0) as a way of marking an extended Int36 as a 70-bit value. + */ + this.magnitude = 70; } } @@ -910,12 +916,14 @@ class Int36 { { num = Int36.validate(num); this.error = Int36.ERROR.NONE; + /* * Convert the unsigned 18-bit value in regEA to a signed 8-bit value (+/-255). */ var s = ((num << 14) >> 14) % 256; - if (s) { - if (this.extended == null) { + + if (this.extended == null) { + if (s) { var w = this.value; if (s > 0) { if (s >= 36) { @@ -931,7 +939,9 @@ class Int36 { } } this.value = w; - } else { + } + } else { + if (s) { var wRight = this.value; var wLeft = this.extended; if (s > 0) { @@ -961,12 +971,14 @@ class Int36 { } this.value = wRight; this.extended = wLeft; - /* - * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should always be - * treated as an unsigned 72-bit value? - */ - this.magnitude = 71; } + /* + * We allow lshNum(0) as a way of marking an extended Int36 as a 71-bit value. + * + * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should be treated as an + * unsigned 72-bit value? + */ + this.magnitude = 71; } } @@ -1030,12 +1042,14 @@ class Int36 { } this.value = wRight; this.extended = wLeft; - /* - * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should always be - * treated as an unsigned 72-bit value? - */ - this.magnitude = 71; } + /* + * We allow rotNum(0) as a way of marking an extended Int36 as a 71-bit value. + * + * TODO: Perhaps we should support magnitude 72 as way of indicating that the value should be treated as an + * unsigned 72-bit value? + */ + this.magnitude = 71; } } From 38a598d21eb140ab45425543031e652e0dec29ac Mon Sep 17 00:00:00 2001 From: Jeff Date: Mon, 6 Mar 2017 23:36:48 -0800 Subject: [PATCH 27/32] Added PDP-10 ADD operations --- modules/pdp10/lib/cpuops.js | 348 ++++++++++++++++++++-------------- modules/pdp10/lib/debugger.js | 58 +++++- modules/pdp10/lib/defines.js | 1 + modules/shared/lib/int36.js | 2 +- 4 files changed, 259 insertions(+), 150 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 75f914003..372ddd829 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -2079,7 +2079,17 @@ PDP10.opJRA = function(op, acc) }; /** - * opADD(0o270000) + * opADD(0o270000): Add + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Add the operand specified by M to AC and place the result in the specified destination. If the sum is >= 2^35 + * set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the sum less 2^35. + * If the sum is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but a magnitude in negative form equal + * to the sum plus 2^35. Set both carry flags if both summands are negative, or their signs differ and their magnitudes + * are equal or the positive one is the greater in magnitude. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op @@ -2087,11 +2097,21 @@ PDP10.opJRA = function(op, acc) */ PDP10.opADD = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doADD.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** - * opADDI(0o271000) + * opADDI(0o271000): Add Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Add the operand specified by M to AC and place the result in the specified destination. If the sum is >= 2^35 + * set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the sum less 2^35. + * If the sum is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but a magnitude in negative form equal + * to the sum plus 2^35. Set both carry flags if both summands are negative, or their signs differ and their magnitudes + * are equal or the positive one is the greater in magnitude. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -2099,11 +2119,21 @@ PDP10.opADD = function(op, acc) */ PDP10.opADDI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doADD.call(this, this.readWord(acc), this.regEA)); }; /** - * opADDM(0o272000) + * opADDM(0o272000): Add to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Add the operand specified by M to AC and place the result in the specified destination. If the sum is >= 2^35 + * set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the sum less 2^35. + * If the sum is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but a magnitude in negative form equal + * to the sum plus 2^35. Set both carry flags if both summands are negative, or their signs differ and their magnitudes + * are equal or the positive one is the greater in magnitude. + * + * NOTE: This is a "Memory" mode instruction: the source is [E] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op @@ -2111,11 +2141,21 @@ PDP10.opADDI = function(op, acc) */ PDP10.opADDM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doADD.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** - * opADDB(0o273000) + * opADDB(0o273000): Add to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Add the operand specified by M to AC and place the result in the specified destination. If the sum is >= 2^35 + * set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the sum less 2^35. + * If the sum is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but a magnitude in negative form equal + * to the sum plus 2^35. Set both carry flags if both summands are negative, or their signs differ and their magnitudes + * are equal or the positive one is the greater in magnitude. + * + * NOTE: This is a "Both" mode instruction: the source is [E] and the destination is [E] and [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -2123,7 +2163,7 @@ PDP10.opADDM = function(op, acc) */ PDP10.opADDB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doADD.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3004,7 +3044,7 @@ PDP10.opSETZB = function(op, acc) */ PDP10.opAND = function(op, acc) { - this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3020,7 +3060,7 @@ PDP10.opAND = function(op, acc) */ PDP10.opANDI = function(op, acc) { - this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), this.regEA)); }; /** @@ -3036,7 +3076,7 @@ PDP10.opANDI = function(op, acc) */ PDP10.opANDM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doAND.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3053,7 +3093,7 @@ PDP10.opANDM = function(op, acc) */ PDP10.opANDB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3070,7 +3110,7 @@ PDP10.opANDB = function(op, acc) */ PDP10.opANDCA = function(op, acc) { - this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3087,7 +3127,7 @@ PDP10.opANDCA = function(op, acc) */ PDP10.opANDCAI = function(op, acc) { - this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), this.regEA)); }; /** @@ -3104,7 +3144,7 @@ PDP10.opANDCAI = function(op, acc) */ PDP10.opANDCAM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3121,7 +3161,7 @@ PDP10.opANDCAM = function(op, acc) */ PDP10.opANDCAB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3138,7 +3178,7 @@ PDP10.opANDCAB = function(op, acc) */ PDP10.opANDCM = function(op, acc) { - this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3155,7 +3195,7 @@ PDP10.opANDCM = function(op, acc) */ PDP10.opANDCMI = function(op, acc) { - this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.regEA)); + this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** @@ -3172,7 +3212,7 @@ PDP10.opANDCMI = function(op, acc) */ PDP10.opANDCMM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doAND.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3189,7 +3229,7 @@ PDP10.opANDCMM = function(op, acc) */ PDP10.opANDCMB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** @@ -3206,7 +3246,7 @@ PDP10.opANDCMB = function(op, acc) */ PDP10.opXOR = function(op, acc) { - this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doEOR.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3223,7 +3263,7 @@ PDP10.opXOR = function(op, acc) */ PDP10.opXORI = function(op, acc) { - this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doEOR.call(this, this.readWord(acc), this.regEA)); }; /** @@ -3240,7 +3280,7 @@ PDP10.opXORI = function(op, acc) */ PDP10.opXORM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doEOR.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3257,7 +3297,7 @@ PDP10.opXORM = function(op, acc) */ PDP10.opXORB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEOR(this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEOR.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3274,7 +3314,7 @@ PDP10.opXORB = function(op, acc) */ PDP10.opIOR = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3291,7 +3331,7 @@ PDP10.opIOR = function(op, acc) */ PDP10.opIORI = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), this.regEA)); }; /** @@ -3308,7 +3348,7 @@ PDP10.opIORI = function(op, acc) */ PDP10.opIORM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doIOR.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3325,7 +3365,7 @@ PDP10.opIORM = function(op, acc) */ PDP10.opIORB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3342,7 +3382,7 @@ PDP10.opIORB = function(op, acc) */ PDP10.opANDCB = function(op, acc) { - this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3359,7 +3399,7 @@ PDP10.opANDCB = function(op, acc) */ PDP10.opANDCBI = function(op, acc) { - this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); + this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** @@ -3376,7 +3416,7 @@ PDP10.opANDCBI = function(op, acc) */ PDP10.opANDCBM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3393,7 +3433,7 @@ PDP10.opANDCBM = function(op, acc) */ PDP10.opANDCBB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doAND.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** @@ -3410,7 +3450,7 @@ PDP10.opANDCBB = function(op, acc) */ PDP10.opEQV = function(op, acc) { - this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doEQV.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3427,7 +3467,7 @@ PDP10.opEQV = function(op, acc) */ PDP10.opEQVI = function(op, acc) { - this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doEQV.call(this, this.readWord(acc), this.regEA)); }; /** @@ -3444,7 +3484,7 @@ PDP10.opEQVI = function(op, acc) */ PDP10.opEQVM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doEQV.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3461,7 +3501,7 @@ PDP10.opEQVM = function(op, acc) */ PDP10.opEQVB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEQV(this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doEQV.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3527,7 +3567,7 @@ PDP10.opSETCAB = function(op, acc) */ PDP10.opORCA = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3544,7 +3584,7 @@ PDP10.opORCA = function(op, acc) */ PDP10.opORCAI = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.regEA)); + this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), this.regEA)); }; /** @@ -3561,7 +3601,7 @@ PDP10.opORCAI = function(op, acc) */ PDP10.opORCAM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA))); }; /** @@ -3578,7 +3618,7 @@ PDP10.opORCAM = function(op, acc) */ PDP10.opORCAB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -3663,7 +3703,7 @@ PDP10.opSETCMB = function(op, acc) */ PDP10.opORCM = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3680,7 +3720,7 @@ PDP10.opORCM = function(op, acc) */ PDP10.opORCMI = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.regEA)); + this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** @@ -3697,7 +3737,7 @@ PDP10.opORCMI = function(op, acc) */ PDP10.opORCMM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doIOR.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3714,7 +3754,7 @@ PDP10.opORCMM = function(op, acc) */ PDP10.opORCMB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR.call(this, this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** @@ -3731,7 +3771,7 @@ PDP10.opORCMB = function(op, acc) */ PDP10.opORCB = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3748,7 +3788,7 @@ PDP10.opORCB = function(op, acc) */ PDP10.opORCBI = function(op, acc) { - this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); + this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.regEA)); }; /** @@ -3765,7 +3805,7 @@ PDP10.opORCBI = function(op, acc) */ PDP10.opORCBM = function(op, acc) { - this.writeWord(this.regEA, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); + this.writeWord(this.regEA, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA))); }; /** @@ -3782,7 +3822,7 @@ PDP10.opORCBM = function(op, acc) */ PDP10.opORCBB = function(op, acc) { - this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR(PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doIOR.call(this, PDP10.WORD_MASK - this.readWord(acc), PDP10.WORD_MASK - this.readWord(this.regEA)))); }; /** @@ -5119,6 +5159,126 @@ PDP10.opUndefined = function(op, acc) this.stopCPU(); }; +/** + * doADD(dst, src) + * + * Used by callers to perform the addition (ADD) of two signed 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst + src) + */ +PDP10.doADD = function(dst, src) +{ + var res = (dst + src) % PDP10.WORD_LIMIT; + var dst01 = Math.trunc(dst / PDP10.TWO_POW34); + var src01 = Math.trunc(src / PDP10.TWO_POW34); + var res01 = Math.trunc(res / PDP10.TWO_POW34); + var bitsCarry = (dst01 ^ ((dst01 ^ src01) & (src01 ^ res01))); + var fCarry0 = bitsCarry & 0b10; + var fCarry1 = bitsCarry & 0b01; + var fOverflow = ((dst01 ^ res01) & (src01 ^ res01)) & 0b10; + this.regPS |= (fCarry0? PDP10.PSFLAG.CARRY0 : 0) | (fCarry1? PDP10.PSFLAG.CARRY1 : 0) | (fOverflow? PDP10.PSFLAG.OVFL : 0); + return res; +}; + +/** + * doAND(dst, src) + * + * Used by callers to perform the logical "and" (AND) of two 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst & src) + */ +PDP10.doAND = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must AND the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 AND 0 is 0, + * no special masking for the higher bits is required. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0); +}; + +/** + * doEOR(dst, src) + * + * Used by callers to perform the logical "exclusive-or" (XOR) of two 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst ^ src) + */ +PDP10.doEOR = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must XOR the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 XOR 0 is 0, + * no special masking for the higher bits is required. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst ^ src) >>> 0); +}; + +/** + * doEQV(dst, src) + * + * Used by callers to perform the logical "equivalence" (EQV) of two 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (~(dst ^ src)) + */ +PDP10.doEQV = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must EQV the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 EQV 0 is 1, + * we must mask the higher 4 bits with 0o17. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((~(((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) & 0o17) * PDP10.TWO_POW32) + (~(dst ^ src) >>> 0); +}; + +/** + * doIOR(dst, src) + * + * Used by callers to perform the logical "inclusive-or" (OR) of two 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst | src) + */ +PDP10.doIOR = function(dst, src) +{ + /* + * Since dst and src are 36-bit values, we must OR the low 32 bits separately from the higher bits, + * and then combine them with addition. Since all bits above 36 will be zero, and since 0 OR 0 is 0, + * no special masking for the higher bits is required. + * + * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a + * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is + * positive. + */ + return ((((dst / PDP10.TWO_POW32)|0) | ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst | src) >>> 0); +}; + /** * getHL(op, dst, src) * @@ -5229,98 +5389,6 @@ PDP10.setHR = function(op, dst, src) return dst; }; -/** - * doAND(dst, src) - * - * Used by callers to perform the logical "and" (AND) of two 36-bit operands. - * - * @param {number} dst (36-bit value) - * @param {number} src (36-bit value) - * @return {number} (dst & src) - */ -PDP10.doAND = function(dst, src) -{ - /* - * Since dst and src are 36-bit values, we must AND the low 32 bits separately from the higher bits, - * and then combine them with addition. Since all bits above 36 will be zero, and since 0 AND 0 is 0, - * no special masking for the higher bits is required. - * - * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a - * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is - * positive. - */ - return ((((dst / PDP10.TWO_POW32)|0) & ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst & src) >>> 0); -}; - -/** - * doEOR(dst, src) - * - * Used by callers to perform the logical "exclusive-or" (XOR) of two 36-bit operands. - * - * @param {number} dst (36-bit value) - * @param {number} src (36-bit value) - * @return {number} (dst ^ src) - */ -PDP10.doEOR = function(dst, src) -{ - /* - * Since dst and src are 36-bit values, we must XOR the low 32 bits separately from the higher bits, - * and then combine them with addition. Since all bits above 36 will be zero, and since 0 XOR 0 is 0, - * no special masking for the higher bits is required. - * - * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a - * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is - * positive. - */ - return ((((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst ^ src) >>> 0); -}; - -/** - * doEQV(dst, src) - * - * Used by callers to perform the logical "equivalence" (EQV) of two 36-bit operands. - * - * @param {number} dst (36-bit value) - * @param {number} src (36-bit value) - * @return {number} (~(dst ^ src)) - */ -PDP10.doEQV = function(dst, src) -{ - /* - * Since dst and src are 36-bit values, we must EQV the low 32 bits separately from the higher bits, - * and then combine them with addition. Since all bits above 36 will be zero, and since 0 EQV 0 is 1, - * we must mask the higher 4 bits with 0o17. - * - * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a - * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is - * positive. - */ - return ((~(((dst / PDP10.TWO_POW32)|0) ^ ((src / PDP10.TWO_POW32)|0)) & 0o17) * PDP10.TWO_POW32) + (~(dst ^ src) >>> 0); -}; - -/** - * doIOR(dst, src) - * - * Used by callers to perform the logical "inclusive-or" (OR) of two 36-bit operands. - * - * @param {number} dst (36-bit value) - * @param {number} src (36-bit value) - * @return {number} (dst | src) - */ -PDP10.doIOR = function(dst, src) -{ - /* - * Since dst and src are 36-bit values, we must OR the low 32 bits separately from the higher bits, - * and then combine them with addition. Since all bits above 36 will be zero, and since 0 OR 0 is 0, - * no special masking for the higher bits is required. - * - * WARNING: When using JavaScript's 32-bit operators with values that could set bit 31 and produce a - * negative value, it's critical to perform a final right-shift of 0, ensuring that the final result is - * positive. - */ - return ((((dst / PDP10.TWO_POW32)|0) | ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst | src) >>> 0); -}; - /* * If we want the basic half-word operations to handle all the sub-operations; ie: * diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index c9dd8b25b..dfb67ad26 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -894,6 +894,48 @@ class DebuggerPDP10 extends Debugger { return value; } + /** + * setRegValue(iReg, value) + * + * @this {DebuggerPDP10} + * @param {number} iReg + * @param {number} value + */ + setRegValue(iReg, value) + { + var flag = 0; + var cpu = this.cpu; + + switch(iReg) { + case DebuggerPDP10.REGS.PC: + cpu.setPC(value); + this.setAddr(this.dbgAddrCode, cpu.getPC()); + break; + case DebuggerPDP10.REGS.C0: + flag = PDP10.PSFLAG.CARRY0; + break; + case DebuggerPDP10.REGS.C1: + flag = PDP10.PSFLAG.CARRY1; + break; + case DebuggerPDP10.REGS.OV: + flag = PDP10.PSFLAG.OVFL; + break; + case DebuggerPDP10.REGS.ND: + flag = PDP10.PSFLAG.NO_DIVIDE; + break; + case DebuggerPDP10.REGS.PD: + flag = PDP10.PSFLAG.PD_OVFL; + break; + } + if (flag) { + if (value) { + cpu.regPS |= flag; + } else { + cpu.regPS &= ~flag; + } + } + } + /** * replaceRegs(s) * @@ -3068,19 +3110,17 @@ class DebuggerPDP10 extends Debugger { return; } - var w = this.parseExpression(sValue); - if (w === undefined) return; + var value = this.parseExpression(sValue); + if (value === undefined) return; - var sRegMatch = sReg.toUpperCase(); - switch (sRegMatch) { - case "PC": - cpu.setPC(w); - this.setAddr(this.dbgAddrCode, cpu.getPC()); - break; - default: + var iReg = this.getRegIndex(sReg); + if (iReg < 0) { this.println("unknown register: " + sReg); return; } + + this.setRegValue(iReg, value); + this.cmp.updateDisplays(); this.println("updated registers:"); } diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index c083bf3ec..a689134b8 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -122,6 +122,7 @@ var PDP10 = { MIN_NEG36: Math.pow(2, 35), // -34,359,738,368 (400000 000000) TWO_POW36: Math.pow(2, 36), // the two's complement of a 36-bit value is (value? TWO_POW36 - value : 0) + TWO_POW34: Math.pow(2, 34), TWO_POW32: Math.pow(2, 32), /* diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index 790685c59..ace715e25 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -421,7 +421,7 @@ class Int36 { if ((result > Int36.MAX_POS36) != (this.value > Int36.MAX_POS36)) { var delta = result - this.value; if (Math.abs(delta) <= Int36.MAX_POS36) { - this.error |= (delta > 0 ? Int36.ERROR.OVERFLOW : Int36.ERROR.UNDERFLOW); + this.error |= (delta > 0? Int36.ERROR.OVERFLOW : Int36.ERROR.UNDERFLOW); if (DEBUG && (delta > 0) != !(e & v)) e = 0; } } From 0e1844842316e7db6f4e24840cae017aece3d530 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 7 Mar 2017 10:21:17 -0800 Subject: [PATCH 28/32] Added PDP-10 SUB and MUL operations --- modules/pdp10/lib/cpuops.js | 246 +++++++++++++++++-- modules/pdp10/lib/cpustate.js | 15 +- versions/pdpjs/1.34.2/pdp10-dbg.js | 377 +++++++++++++++-------------- versions/pdpjs/1.34.2/pdp10.js | 229 +++++++++--------- 4 files changed, 532 insertions(+), 335 deletions(-) diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 372ddd829..4aa5a2196 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -1214,7 +1214,15 @@ PDP10.opIMULB = function(op, acc) }; /** - * opMUL(0o224000) + * opMUL(0o224000): Multiply + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-28: + * + * Multiply AC by the operand specified by M, and place the high order word of the double length result + * in the specified destination. If M specifies AC as a destination, place the low order word in accumulator + * A+1. If both operands are -2^35 set Overflow; the double length result stored is -2^70. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A],[A+1] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op @@ -1222,11 +1230,20 @@ PDP10.opIMULB = function(op, acc) */ PDP10.opMUL = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doMUL.call(this, this.readWord(acc), this.readWord(this.regEA))); + this.writeWord((acc + 1) & 0o17, this.regExt); }; /** - * opMULI(0o225000) + * opMULI(0o225000): Multiply Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-28: + * + * Multiply AC by the operand specified by M, and place the high order word of the double length result + * in the specified destination. If M specifies AC as a destination, place the low order word in accumulator + * A+1. If both operands are -2^35 set Overflow; the double length result stored is -2^70. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A],[A+1]. * * @this {CPUStatePDP10} * @param {number} op @@ -1234,11 +1251,20 @@ PDP10.opMUL = function(op, acc) */ PDP10.opMULI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doMUL.call(this, this.readWord(acc), this.regEA)); + this.writeWord((acc + 1) & 0o17, this.regExt); }; /** - * opMULM(0o226000) + * opMULM(0o226000): Multiply to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-28: + * + * Multiply AC by the operand specified by M, and place the high order word of the double length result + * in the specified destination. If M specifies AC as a destination, place the low order word in accumulator + * A+1. If both operands are -2^35 set Overflow; the double length result stored is -2^70. + * + * NOTE: This is a "Memory" mode instruction: the source is [E] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op @@ -1246,11 +1272,19 @@ PDP10.opMULI = function(op, acc) */ PDP10.opMULM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doMUL.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** - * opMULB(0o227000) + * opMULB(0o227000): Multiply to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-28: + * + * Multiply AC by the operand specified by M, and place the high order word of the double length result + * in the specified destination. If M specifies AC as a destination, place the low order word in accumulator + * A+1. If both operands are -2^35 set Overflow; the double length result stored is -2^70. + * + * NOTE: This is a "Both" mode instruction: the source is [E] and the destination is [E] and [A],[A+1]. * * @this {CPUStatePDP10} * @param {number} op @@ -1258,7 +1292,8 @@ PDP10.opMULM = function(op, acc) */ PDP10.opMULB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doMUL.call(this, this.readWord(acc), this.readWord(this.regEA)))); + this.writeWord((acc + 1) & 0o17, this.regExt); }; /** @@ -2167,7 +2202,17 @@ PDP10.opADDB = function(op, acc) }; /** - * opSUB(0o274000) + * opSUB(0o274000): Subtract + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Subtract the operand specified by M from AC and place the result in the specified destination. If the difference + * is >= 2^35 set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the + * difference less 2^35. If the difference is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but + * a magnitude in negative form equal to the difference plus 2^35. Set both carry flags if the signs of the operands are + * the same and AC is the greater or the two are equal, or the signs of the operands differ and AC is negative. + * + * NOTE: This is a "Basic" mode instruction: the source is [E] and the destination is [A] (opposite of "Memory"). * * @this {CPUStatePDP10} * @param {number} op @@ -2175,11 +2220,21 @@ PDP10.opADDB = function(op, acc) */ PDP10.opSUB = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doSUB.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** - * opSUBI(0o275000) + * opSUBI(0o275000): Subtract Immediate + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Subtract the operand specified by M from AC and place the result in the specified destination. If the difference + * is >= 2^35 set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the + * difference less 2^35. If the difference is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but + * a magnitude in negative form equal to the difference plus 2^35. Set both carry flags if the signs of the operands are + * the same and AC is the greater or the two are equal, or the signs of the operands differ and AC is negative. + * + * NOTE: This is an "Immediate" mode instruction: the source is the word 0,E and the destination is [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -2187,11 +2242,21 @@ PDP10.opSUB = function(op, acc) */ PDP10.opSUBI = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, PDP10.doSUB.call(this, this.readWord(acc), this.regEA)); }; /** - * opSUBM(0o276000) + * opSUBM(0o276000): Subtract to Memory + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Subtract the operand specified by M from AC and place the result in the specified destination. If the difference + * is >= 2^35 set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the + * difference less 2^35. If the difference is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but + * a magnitude in negative form equal to the difference plus 2^35. Set both carry flags if the signs of the operands are + * the same and AC is the greater or the two are equal, or the signs of the operands differ and AC is negative. + * + * NOTE: This is a "Memory" mode instruction: the source is [E] and the destination is [E] (opposite of "Basic"). * * @this {CPUStatePDP10} * @param {number} op @@ -2199,11 +2264,21 @@ PDP10.opSUBI = function(op, acc) */ PDP10.opSUBM = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, PDP10.doSUB.call(this, this.readWord(acc), this.readWord(this.regEA))); }; /** - * opSUBB(0o277000) + * opSUBB(0o277000): Subtract to Both + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-27: + * + * Subtract the operand specified by M from AC and place the result in the specified destination. If the difference + * is >= 2^35 set Overflow and Carry 1; the result stored has a minus sign but a magnitude in positive form equal to the + * difference less 2^35. If the difference is < -2^35 set Overflow and Carry 0; the result stored has a plus sign but + * a magnitude in negative form equal to the difference plus 2^35. Set both carry flags if the signs of the operands are + * the same and AC is the greater or the two are equal, or the signs of the operands differ and AC is negative. + * + * NOTE: This is a "Both" mode instruction: the source is [E] and the destination is [E] and [A]. * * @this {CPUStatePDP10} * @param {number} op @@ -2211,7 +2286,7 @@ PDP10.opSUBM = function(op, acc) */ PDP10.opSUBB = function(op, acc) { - this.opUndefined(op); + this.writeWord(this.regEA, this.writeWord(acc, PDP10.doSUB.call(this, this.readWord(acc), this.readWord(this.regEA)))); }; /** @@ -5171,15 +5246,12 @@ PDP10.opUndefined = function(op, acc) */ PDP10.doADD = function(dst, src) { + /* + * Since, in our happy little world, 36-bit values are always unsigned, the + * only possible out-of-bounds value is a result >= WORD_LIMIT, which the mod cures. + */ var res = (dst + src) % PDP10.WORD_LIMIT; - var dst01 = Math.trunc(dst / PDP10.TWO_POW34); - var src01 = Math.trunc(src / PDP10.TWO_POW34); - var res01 = Math.trunc(res / PDP10.TWO_POW34); - var bitsCarry = (dst01 ^ ((dst01 ^ src01) & (src01 ^ res01))); - var fCarry0 = bitsCarry & 0b10; - var fCarry1 = bitsCarry & 0b01; - var fOverflow = ((dst01 ^ res01) & (src01 ^ res01)) & 0b10; - this.regPS |= (fCarry0? PDP10.PSFLAG.CARRY0 : 0) | (fCarry1? PDP10.PSFLAG.CARRY1 : 0) | (fOverflow? PDP10.PSFLAG.OVFL : 0); + PDP10.setAddFlags.call(this, dst, src, res); return res; }; @@ -5279,6 +5351,132 @@ PDP10.doIOR = function(dst, src) return ((((dst / PDP10.TWO_POW32)|0) | ((src / PDP10.TWO_POW32)|0)) * PDP10.TWO_POW32) + ((dst | src) >>> 0); }; +/** + * doMUL(dst, src) + * + * Used by callers to perform the multiplication (MUL) of two signed 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst * src) (the low 36 bits of the result; the high 36 bits are stored in regExt) + */ +PDP10.doMUL = function(dst, src) +{ + var n1 = dst, n2 = src; + var fNeg = false, res, ext; + + /* + * If either input is in the negative range, record the sign and make it positive; + * we'll negate the result afterward if necessary. + */ + if (n1 > PDP10.MAX_POS36) { + n1 = PDP10.WORD_LIMIT - n1; + fNeg = !fNeg; + } + + if (n2 > PDP10.MAX_POS36) { + n2 = PDP10.WORD_LIMIT - n2; + fNeg = !fNeg; + } + + if (n1 < PDP10.HALF_SHIFT && n2 < PDP10.HALF_SHIFT) { + res = n1 * n2; + ext = 0; + } + else { + var n1d1 = (n1 % PDP10.HALF_SHIFT); + var n1d2 = Math.trunc(n1 / PDP10.HALF_SHIFT); + var n2d1 = (n2 % PDP10.HALF_SHIFT); + var n2d2 = Math.trunc(n2 / PDP10.HALF_SHIFT); + var m1d1 = n1d1 * n2d1; + var m1d2 = (n1d2 * n2d1) + Math.trunc(m1d1 / PDP10.HALF_SHIFT); + ext = Math.trunc(m1d2 / PDP10.HALF_SHIFT); + m1d2 = (m1d2 % PDP10.HALF_SHIFT) + (n1d1 * n2d2); + res = (m1d2 * PDP10.HALF_SHIFT) + (m1d1 % PDP10.HALF_SHIFT); + ext += Math.trunc(m1d2 / PDP10.HALF_SHIFT) + (n1d2 * n2d2); + } + + this.assert(res == res % PDP10.WORD_LIMIT); + this.assert(ext == ext % PDP10.WORD_LIMIT); + + if (fNeg) { + if (res) { + ext = PDP10.WORD_MASK - ext; + res = PDP10.WORD_LIMIT - res; + } + else { + if (ext) ext = PDP10.WORD_LIMIT - ext; + } + } + + /* + * We just produced a signed 72-bit result, whereas the PDP-10 stores 72-bit arithmetic values as two + * signed 36-bit results with matching signs. Since that's effectively only 70 bits of magnitude (with + * two sign bits), we lose one bit of magnitude. + * + * The conversion requires shifting ext left one bit so that we can move the high bit of res into the + * low bit of ext, and then set the sign bit of res to match the sign bit of ext. + */ + var sign = ext - (ext % PDP10.INT_LIMIT); + ext = ((ext * 2) % PDP10.WORD_LIMIT) + Math.trunc(res / PDP10.INT_LIMIT); + res = sign + (res % PDP10.INT_LIMIT); + var signNew = ext - (ext % PDP10.INT_LIMIT); + if (sign != signNew) { + ext = sign + (ext - signNew); + this.regPS |= PDP10.PSFLAG.OVFL; + } + + this.regExt = ext; + return res; +}; + +/** + * doSUB(dst, src) + * + * Used by callers to perform the subtraction (SUB) of two signed 36-bit operands. + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @return {number} (dst - src) + */ +PDP10.doSUB = function(dst, src) +{ + /* + * Since, in our happy little world, 36-bit values are always unsigned, the + * only possible out-of-bounds value is a result < 0, which adding WORD_LIMIT cures. + */ + var res = (dst - src); + if (res < 0) res += PDP10.WORD_LIMIT; + /* + * We can leverage setAddFlags() by treating the subtraction as addition; + * since res = dst - src, it is also true that dst = res + src. + */ + PDP10.setAddFlags.call(this, res, src, dst); + return res; +}; + +/** + * setAddFlags(dst, src, res) + * + * @this {CPUStatePDP10} + * @param {number} dst (36-bit value) + * @param {number} src (36-bit value) + * @param {number} res (36-bit value) + */ +PDP10.setAddFlags = function(dst, src, res) +{ + var dst01 = Math.trunc(dst / PDP10.TWO_POW34); + var src01 = Math.trunc(src / PDP10.TWO_POW34); + var res01 = Math.trunc(res / PDP10.TWO_POW34); + var bitsCarry = (dst01 ^ ((dst01 ^ src01) & (src01 ^ res01))); + var fCarry0 = bitsCarry & 0b10; + var fCarry1 = bitsCarry & 0b01; + var fOverflow = ((dst01 ^ res01) & (src01 ^ res01)) & 0b10; + this.regPS |= (fCarry0? PDP10.PSFLAG.CARRY0 : 0) | (fCarry1? PDP10.PSFLAG.CARRY1 : 0) | (fOverflow? PDP10.PSFLAG.OVFL : 0); +}; + /** * getHL(op, dst, src) * diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index d99ec9f96..c246b5516 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -163,7 +163,7 @@ class CPUStatePDP10 extends CPUPDP10 { if (this.flags.running) this.stopCPU(); this.initCPU(); this.resetCycles(); - this.clearError(); // clear any fatal error/exception that setError() may have flagged + this.clearError(); // clear any fatal error/exception that setError() may have flagged super.reset(); } @@ -176,16 +176,9 @@ class CPUStatePDP10 extends CPUPDP10 { { this.regEA = this.regRA = this.regOP = 0; this.regPC = this.lastPC = this.addrReset; - - /* - * This next internal reg is used only with byte instructions, to record an active byte pointer. - */ - this.regBP = -1; - - /* - * Assorted processor flags - */ - this.regPS = 0; + this.regBP = -1; // active byte pointer (-1 if none) + this.regPS = 0; // assorted processor flags (see PSFLAG bit definitions) + this.regExt = 0; // internal "extension" register used for 72-bit calculations (eg, MUL) /* * This is queried and displayed by the Panel when it's not displaying its own ADDRESS register diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 05a6b88db..2a73d10f1 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -31,208 +31,211 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi function la(){ia();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var pa=Math.pow(2,36),qa=Math.pow(2,35),ta={Zb:0,rb:1,ac:2,bc:3,cc:4,dc:5,ec:6,fc:7,cb:8,gc:9,sb:10,hc:11,ic:12,tb:13,jc:14,kc:15,lc:16,mc:17,nc:18,oc:19,pc:20,qc:21,rc:22,sc:23,tc:24,uc:25,vc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,bb:65,Yb:66,$b:67,wc:68,E:69,xc:70,yc:71,zc:72,Ac:73,Bc:74,Cc:75,Dc:76,Ec:77,Fc:78,Gc:79,Hc:80,Q:81, -Ic:82,Jc:83,Kc:84,Lc:85,Mc:86,Nc:87,Oc:88,Pc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Qc:97,Rc:98,Sc:99,d:100,e:101,Tc:102,Uc:103,Vc:104,Wc:105,Xc:106,k:107,Yc:108,Zc:109,n:110,$c:111,p:112,q:113,r:114,ad:115,t:116,cd:117,dd:118,ed:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ub:127}; -function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12":62,"?":63,"@":64,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, +Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127}; +function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} -function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, -g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} -function Na(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=f.load;d.ma=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,f=0;for(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())} +function Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} +function Na(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=g.load;d.ma=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ca=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.v={ready:!1,Fa:!1,Xa:!1,U:!1,error:!1};this.Oa=null;this.v.error=!1;this.X=c||0;this.D=this.u=this.H=this.F=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date} +function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ib=b.comment;this.yb=b;this.exports={};this.I=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.u=this.H=this.G=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date} function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Ib,a];this.D=this.u=this.H=this.F=null;this.exports={hold:this.Ab,toggle:this.Tb,reset:this.Pb, -set:this.Sb};z(this)}p(ac,u);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.A=0)}; -l.ha=function(a,b,c,d){if(this.F&&this.F.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;fc(this);gc(this)};l.pa=function(a,b){if(!b)if(this.W&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.w]);return a.data()}; -l.restore=function(a){if(a=a[0])ic(this,this.f=a[0]),cc(this,this.A=a[1]),jc(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])} -l.Ab=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return jc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.Tb=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1} -function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Jb=function(a){a||this.u.v.K||(this.u.A=this.f%Sb,this.b[wc]&&this.b[wc][1]&&xc(this.u))};l.Kb=function(){};l.Eb=function(a){a||this.u.V()}; -l.Cb=function(a){if(!a&&!this.u.v.K)if(this.b[wc]&&this.b[wc][1])xc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),yc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.w&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.B+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+wa(b)),!0):Kc(Nc,b,c)} -function Ec(a,b){var c=a.b[(b&a.w)>>>a.f];a.A++;b=c.H(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.w)>>>a.f];a.A++;d.F(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.i(hd(a)+" cycles: checksum="+q(a.ua))}} -l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.F)if(a=d.F,a.v.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ta*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.i("target speed: "+b)}c&&a.F&&ld(a.F)}Ac(a,a.M);a.M=0;a.L=qb();a.O=0;jd(a);return d}function md(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Qb=function(){if(this.v.K){this.Ba>=this.Va&&jd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Ua&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=md(this,this.v.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;Bc(this,b);zc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Wa>=pd&&(this.F&&N(this.F,void 0),this.Wa=0);break}}while(this.v.K)}catch(e){this.V();this.F&&this.F.stop(qb(),hd(this));Jb(this, -e.stack||e.message);return}if(this.v.K){a=setTimeout;b=this.ib;this.O=qb();var c=this.Ua;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; -function xc(a,b){if(!Kb(a))if(a.v.K)a.i(a.toString()+" busy");else{id(a);a.v.K=!0;a.v.Ra=!0;var c=a.I.run;c&&(c.textContent="Halt");a.F&&(b&&ld(a.F,!0),a.F.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.ib,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.v.K){od(this);Ac(this,this.M);this.M=0;this.v.K=!1;if(b=this.I.run)b.textContent="Run";this.F&&this.F.stop(qb(),hd(this));b=!0;this.D||this.status("Stopped")}this.v.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; -function Kd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.hb=b;this.Aa=+a.addrReset||0;this.vb=Ld.bind(this);this.b=P.bind(this);this.ra=null;this.fb=[];this.v.complete=!1}p(Kd,$c);l=Kd.prototype;l.reset=function(){this.status("Model "+this.hb);this.v.K&&this.V();this.f=this.J=this.Ma=0;this.A=this.sa=this.Aa;this.G=-1;this.w=0;this.qa=this.A;this.C=0;this.g=this.Mb;this.j=this.Xb;this.ra=null;cd(this);this.v.error=!1;$c.prototype.reset.call(this)};l.ob=function(){return 0}; -l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Ma,this.A,this.G,this.w,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.v.Z]);a.set(3,Md(this));a.set(4,nd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Ma=b.next().value;this.A=b.next().value;this.G=b.next().value;this.w=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];id(this,b[1]);this.v.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dI&&(a!=Vb?a=Wb-a:this.w|=163840);return a};function Od(a,b){b?b==Vb?a.w|=163840:b=Wb-b:a.w|=98304;return b}function Md(a){var b=[];for(a=a.ra;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.w)>>>b.f].g(a&16383,a)};l.Xb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.w)>>>c.f].j(b,a&16383,a);return b}; -l.Ja=function(a){this.v.complete=!0;var b=this.D?Pd(this.D)?1:this.v.Ra?-1:0:0,c=a?this.v.Ra?0:1:-1;this.v.Ra=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Qd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Qd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Ma=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Ma/Zb|0);0<=a&&this.vb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Sd(){var a=0,b=this.g(this.f),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.j(this.f,b)}function Td(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.j(b,a);this.G=-1}} -function Ud(a,b){a=this.g(this.f);if(0>this.G)this.G=a,this.J=this.f|4194304,Nd(this,-1);else{var c=this.G/$b&63,d=this.G>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.j(this.f,a);this.G=-1}}function Vd(a,b){this.j(b,this.g(this.f))}function Wd(a,b){this.j(b,this.f)}function Xd(a,b){this.j(this.f,this.g(b))}function Yd(a,b){this.j(b,0)}function Zd(a,b){this.j(b,G-this.g(b))}function $d(a,b){this.j(b,G)} -function ae(a,b){var c=this.g(this.f),d=this.g(b);this.j(b,be(a,d,c)+(c-(c&A)))}function ce(a,b){var c=this.g(b);this.j(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.j(this.f,be(a,c,b)+(b-(b&A)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function fe(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.j(b,be(a,d,c)+c)} -function ge(a,b){var c=this.f*B,d=this.g(b);this.j(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.j(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&A)*B,c=be(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function je(a,b){var c=this.g(this.f)&A,d=this.g(b);this.j(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.j(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&A;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)} -function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.j(this.f,c);b&&this.j(b,c)}function oe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.j(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.j(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.j(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/B|0,c=ke(a,c,d)+d;this.j(this.f,c);b&&this.j(b,c)}function S(a){se[a&7].call(this,a,a>>3&127)} -function te(){}function P(a){this.i("undefined opcode: "+wa(a));Nd(this,-1);this.V()}function ke(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function be(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function ue(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ve(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)} -function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -var Rd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Sd,function(a,b){0>this.G&&Sd.call(this);Td.call(this,0,b)},Td,function(a,b){0>this.G&&Sd.call(this);Ud.call(this,0,b)},Ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +var x="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),A=Math.pow(2,18)-1,B=Math.pow(2,18),Tb=Math.pow(2,35)-1,F=Math.pow(2,35),G=Math.pow(2,36)-1,H=Math.pow(2,36),Ub=Math.pow(2,17)-1,I=Math.pow(2,35)-1,Vb=Math.pow(2,35),Wb=Math.pow(2,36),Xb=Math.pow(2,34),J=Math.pow(2,32),Yb=Math.pow(2,21),Zb=Math.pow(2,26),$b=Math.pow(2,23),ac=Math.pow(2,30),x="pdp10",Qb="PDPjs",K={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384, +write:32768,serial:1048576,timer:2097152,speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; +function bc(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.v=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=cc;this.C={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.u=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, +set:this.Tb};z(this)}p(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.v]);return a.data()}; +l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} +l.Bb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Ub=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} +function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.u.w.K||(this.u.A=this.f%Sb,this.b[qc]&&this.b[qc][1]&&rc(this.u))};l.Lb=function(){};l.Fb=function(a){a||this.u.V()}; +l.Db=function(a){if(!a&&!this.u.w.K)if(this.b[qc]&&this.b[qc][1])rc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),zc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.v&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Lc(Mc,e,f)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+wa(b)),!0):Lc(Oc,b,c)} +function Fc(a,b){var c=a.b[(b&a.v)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.v)>>>a.f];a.A++;d.v(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.j(id(a)+" cycles: checksum="+q(a.ua))}} +l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&md(a.G)}Bc(a,a.M);a.M=0;a.L=qb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&kd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=pd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=qd&&(this.G&&N(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),id(this));Jb(this, +e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; +function rc(a,b){if(!Kb(a))if(a.w.K)a.j(a.toString()+" busy");else{jd(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&md(a.G,!0),a.G.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){pd(this);Bc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),id(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var ld=30,qd=15,bd=["power","reset"]; +function rd(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=sd.bind(this);this.b=P.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(rd,ad);l=rd.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.v=0;this.qa=this.A;this.C=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;dd(this);this.w.error=!1;ad.prototype.reset.call(this)};l.qb=function(){return 0}; +l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.v,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,td(this));a.set(4,od(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.v=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dI&&(a!=Vb?a=Wb-a:this.v|=163840);return a};function Pd(a,b){b?b==Vb?a.v|=163840:b=Wb-b:a.v|=98304;return b}function td(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.v)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.v)>>>c.f].i(b,a&16383,a);return b}; +l.Ja=function(a){this.w.complete=!0;var b=this.D?Qd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= +this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Na/$b|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} +function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} +function Vd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Wd(a,b){this.i(b,this.g(this.f))}function Xd(a,b){this.i(b,this.f)}function Yd(a,b){this.i(this.f,this.g(b))}function Zd(a,b){this.i(b,0)}function $d(a,b){this.i(b,G-this.g(b))}function ae(a,b){this.i(b,G)} +function be(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ce(a,d,c)+(c-(c&A)))}function de(a,b){var c=this.g(b);this.i(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ce(a,c,b)+(b-(b&A)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ge(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.i(b,ce(a,d,c)+c)} +function he(a,b){var c=this.f*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.i(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&A)*B,c=ce(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function ke(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.i(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)} +function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function pe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.i(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.i(b,le(a,c,0))}function re(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/B|0,c=le(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){te[a&7].call(this,a,a>>3&127)} +function ue(){}function P(a){this.j("undefined opcode: "+wa(a));ud(this,-1);this.V()}function ve(a,b){var c=(a+b)%H;we.call(this,a,b,c);return c}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function xe(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ye(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} +function ze(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);we.call(this,c,b,a);return c} +function we(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.v=this.v|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function le(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} +var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.F&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.F&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Vd,Wd,Xd,function(a,b){b&&this.j(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(b,a)},function(a,b){this.j(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.j(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,Od(this,this.g(this.f)))},function(a,b){this.j(b,this.f?Wb-this.f:0)},function(a,b){this.j(this.f,Od(this, -this.g(b)))},function(a,b){a=Od(this,this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a,b){this.j(b,this.abs(this.g(this.f)))},function(a,b){this.j(b,this.f)},function(a,b){this.j(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.j(this.f,a);b&&this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.w|=131072):a-c<=I&&(this.w|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.j(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% -H+Math.trunc(c/Math.pow(2,36-a));this.j(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.j(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.w|=131072):e-c<=I&&(this.w|=131072); -e=0;g>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),g<=I?g+c>I&&(this.w|=131072):(g-c<=I&&(this.w|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.j(b,d);this.j(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+ -1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a)));this.j(b,c);this.j(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, --a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.j(b,c);this.j(b+1&15,d)}},P,function(a,b){a=this.g(b);this.j(b,this.g(this.f));this.j(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/B|0,c=c&A;!a;)this.j(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.v.K||(this.j(b,d*B+c),a||Nd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a, -b){a=this.g(b);a+=262145;this.j(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.w|=262144);this.j(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.j(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.w|=262144);this.j(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(b,a)},function(a,b){this.i(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Pd(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Wb-this.f:0)},function(a,b){this.i(this.f,Pd(this, +this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,this.abs(this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)},function(a,b){this.i(b,ze.call(this, +this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb): +(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.v|=131072):a-c<=I&&(this.v|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>> +14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.v|=131072):e-c<=I&&(this.v|=131072);e=0;f>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.v|=131072):(f-c<=I&&(this.v|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2, +-a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a))); +this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},P,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b), +d=c/B|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*B+c),a||ud(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.v|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.v|=262144); +this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b), +this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Yd,function(){this.j(this.f, -0)},function(a,b){this.j(this.f,this.j(b,0))},function(a,b){this.j(b,T(this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),this.f))},function(a,b){this.j(this.f,T(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),this.f))},function(a,b){this.j(this.f,T(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),this.g(this.f))))}, -Vd,Wd,te,Vd,function(a,b){this.j(b,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(this.g(b),G-this.f))},function(a,b){this.j(this.f,T(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(this.g(b),G-this.g(this.f))))},te,te,Xd,Xd,function(a,b){this.j(b,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(b,ue(this.g(b),this.f))},function(a,b){this.j(this.f,ue(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ue(this.g(b),this.g(this.f))))},function(a,b){this.j(b, -U(this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),this.f))},function(a,b){this.j(this.f,U(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),this.g(this.f))))},function(a,b){this.j(b,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,T(G-this.g(b),G-this.f))},function(a,b){this.j(this.f,T(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,T(G-this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,ve(this.g(b),this.g(this.f)))},function(a, -b){this.j(b,ve(this.g(b),this.f))},function(a,b){this.j(this.f,ve(this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,ve(this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.j(this.f,G-this.g(b))},function(a,b){this.j(this.f,this.j(b,G-this.g(b)))},function(a,b){this.j(b,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),this.f))},function(a,b){this.j(this.f,U(G-this.g(b),this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),this.g(this.f))))},function(a, -b){this.j(b,G-this.g(this.f))},function(a,b){this.j(b,G-this.f)},function(){this.j(this.f,G-this.g(this.f))},function(a,b){this.j(this.f,this.j(b,G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(this.g(b),G-this.f))},function(a,b){this.j(this.f,U(this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(this.g(b),G-this.g(this.f))))},function(a,b){this.j(b,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(b,U(G-this.g(b),G-this.f))}, -function(a,b){this.j(this.f,U(G-this.g(b),G-this.g(this.f)))},function(a,b){this.j(this.f,this.j(b,U(G-this.g(b),G-this.g(this.f))))},$d,$d,function(){this.j(this.f,G)},function(a,b){this.j(this.f,this.j(b,G))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b), +this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.i(b,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),G-this.g(this.f))))}, +ue,ue,Yd,Yd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b, +U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))}, +function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a, +b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b), +G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},ae,ae,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],se=[function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.w&=-131073);a&131072&&(this.w&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.w&131072&&(a|=8);this.w&262144&&(a|=65536);this.j(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function we(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.w=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.G=xa(this.A);if(this.A){a=this.A;var b=ya(this.G);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,g){g?(c.da("Unable to load ROM resource (error "+g+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);xe(c)})}}p(we,u); -we.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;xe(this)};we.prototype.pa=function(){this.T&&(this.D&&ye(this.D,this.id,this.C,this.w,this.T),delete this.T);return!0};we.prototype.ga=function(){return!0}; -function xe(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.w||(a.w=a.b.length);if(a.b.length!=a.w)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.w,8,!0)+")");else{var b;b=a.C;if(Jc(a.H,b,a.w,Rc)){var c;for(c=0;c>>g.f;0>>= -g.f;0>>a.f;0f&&f>=-qa&&(f+=pa);f=Math.trunc(Math.abs(f))%Math.pow(2,36);void 0===g&&(g=e.size);for(h=d;g--&&h=ta.bb&&c<=ta.xb&&(b=c-(ta.bb-ta.rb));b&&(a.preventDefault&&a.preventDefault(),d.Pa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.tb&&(b=ta.sb);d.Pa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Pa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.F=a;this.H=b;this.u=c;this.D=d;z(this)}; -l.qb=function(a){if(!this.b){var b=bd(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.w);if(this.C=e.receiveData){this.w=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.qb(this.w),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Pa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.w.length&&(a.A=0);if(0>a.A||b!=a.w[a.A])a.w.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.w[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ja(b.substring(c,g))),c=g+1}}return a} -function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; -case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} -function He(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e} -function Me(a,b){if(b)return Le(a,b,a.W[b]);var c=0;for(b in a.W)Le(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Ke={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Ne(a){Ee.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.G=[];this.b=this.M=this.J=[];Oe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Pe(this);this.D=this;this.qa={};this.X=this.lb=0;this.S=null;this.O=[];Qe(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, -a)})}p(Ne,Ee);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Na:void 0===b?!1:b,fa:!1,ca:c}}function Re(a,b,c,d){a.B=b;a.Na=c||!1;a.fa=!1;a.ca=d}function Se(a){return[a.B,a.Na,a.fa,a.ca,a.Qa]}function Te(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.jb=Fe(a,c.Qa=b[4]));return c}l=Ne.prototype; -l.xa=function(a,b,c,d){this.H=b;this.F=a;this.u=c;this.ea=a.w;(a=bd(a,"messages"))&&Qe(this,a);Ue(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.i("..."):(c=n.type,m=Mc[c],n&&d.i(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=Nd(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(Re(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function Vf(a,b,c,d){var e=W(b.B),g=a.ya(b,1),f,h,k,m=0,n=g/Xb|0,t;for(t in Wf)if(f=Wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=Xf;m=n&3;break;case 32256:k=Yf;m=n&7;break;case 29248:k=Zf,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>$f&&(k="B");k=ag[f||0]+k;k=Ia(k,8);f?(k=28700==h?k+O(a,g/Yb&127,-1):k+O(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=O(a,g&262143,-1),(g=g>>18&15)&&(k+="("+O(a,g,-1)+")")):k+=We(g);g=k;f="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),f+=" "+We(k),null== -e.B)break;while(e.B!=b.B)}h+=Ia(f,16)+g;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.v.Ea?h+("cycles="+hd(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Oe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||bg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.i("invalid address: "+O(this,b.B)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(cg(this,a,a.length-1,"set"),Pe(this)));return d};function bg(a,b,c,d,e){var g=!1;c=X(c);for(var f=1;f>>d.f],b==a.J));h.fa||Pe(a);break}}return g} -function dg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=wa(d,2);Re(e.va,d);g+="="+O(e,e.ya(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=af?1:d==Ze?23:18)+" "),b+=e;c+="\n"+b}return c}l.mb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],t=Ka(n,k,a.mb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({bd:b,B:c,Bb:d,T:e,kb:g})}function gg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=g.Bb;if(e>=f&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.i(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.B=m.B;h.Na=m.Na;h.fa=m.fa;h.ca=m.ca;a.i(Vf(a,b,f,g));e-=b.B-k;c++}}} -function eg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(Rf+b):(a.P&&(a.i("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0n||"z"$f&&(sd="B");if(Ng==ag[kf]+sd){jf=29248!=pc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(rd|jf<<6)*Xb;break}}if(0<= -C)break}if(0<=C)break}if(0<=C)if(gf)for(var td=gf.split(","),pb=0;pbK||127K||15 -K||262143K||15fa.length&&(a.i("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var yd=[];"call"==qf&&(rb=1E5,yd=["CALL"]);for(void 0!==pf&&a.i(V+" instructions earlier:");0=fa.length&&(Z=0);a.sa=V;sf++;rb--}}sf||(a.i("no "+rf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,vf="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Qg,Ca=Je(a,ra);else{var wf=Y(a,ra);wf&&(Ca=wf.B-Ya.B)}0>Ca&&(Ca=0);65536Af;Af++)yf+=String.fromCharCode((rc%64|0)+32),rc/=64}Da&&(Da+="\n");Da=vf?Da+(Ea+","):Da+(ea+": "+Ea+(0>zf?" "+yf:""))}Da&&a.i(Da);a.ca=Sg}}}}break;case "e":if("else"==f[0])break;var Bf,Cf,Df=f[0],Bd=f[1];"e"==Df||"ew"==Df?(Bf=a.ya,Cf=a.eb):Bd=null;if(null==Bd)a.i("edit memory commands:"),a.i("\tew [a] [...] edit words at address a");else{var sc=Y(a,Bd,a.ja);if(sc)for(var tc=2;tc< -f.length;tc++){var Cd=He(a,f[tc]);if(void 0===Cd){a.i("unknown value: "+f[tc]);break}a.i("changing "+O(a,sc.B)+" from "+We(Bf.call(a,sc))+" to "+We(Cd));Cf.call(a,sc,Cd,1)}}break;case "g":a:{var Ef=f[1],Ug=b;if(void 0!==Ef){var Dd=Y(a,Ef);if(!Dd)break a;Ve(a,Dd,Ug);a.Da(a.b,Dd,!0)}Of(a,!0,c)}break;case "h":a.v.K?(c||a.i("halting"),a.V()):Mb(a,!0)||c||a.i("already halted");break;case "i":if("if"==f[0]){var Ed;var tb=b.substr(2),tb=Ja(tb);He(a,tb)?(c||a.i("true: "+tb),Ed=!0):(c||a.i("false: "+tb),Ed= -!1);Ed||(d=!1);break}g=!0;break;case "k":var Vg=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Fd=0,Gd=W(),ub=W();for(a.i("stack trace for "+O(a,ub.B));10>Fd;){for(var Fa=null,Wg=256;65536>ub.B>>>0;){Gd.B=a.ya(ub,2);if(null==ub.B||!Wg--)break;if(!(Gd.B&1)){for(var Xg=a,uc=Gd,Ff=null,vb=uc.B,Gf=vb,Hd=1;6>=Hd&&vb;Hd++){if(2Mf)a.i("step commands:"),a.i("\tp\tstep over instruction"),a.i("\tpr\tstep over instruction with register update");else if(a.N)a.i("step in progress");else{var Nf=W(a.u.A);a.ya(Nf);a.N?(a.Da(a.b,Nf,!0),Of(a)||(a.F&&ld(a.F),a.N=0)):lg(a,Mf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset(); -break}Sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var xb=+f[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.i("invalid base: "+xb);break}}a.i("default base: "+a.ca);break;case "cs":var yb;void 0!==f[3]&&(yb=+f[3]);switch(f[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.i("unknown cs option");break a}void 0!==yb&&dd(a.u);a.i("checksums "+(a.u.v.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.u,+f[2])||a.i("warning: using 1x multiplier, previous target not reached")); -a.i("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(f[1]){a.i("unknown option: "+f[1]);break}case "?":a.i("debugger options:"),a.i("\tbase #\t\tset default base to #"),a.i("\tcs int #\tset checksum cycle interval to #"),a.i("\tcs start #\tset checksum cycle start count to #"),a.i("\tcs stop #\tset checksum cycle stop count to #"),a.i("\tsp #\t\tset speed multiplier to #")}break;case "t":lg(a,f[0],f[1]);break;case "u":Tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){ig(a, -b.substr(3))||(d=!1);break}if("ver"==f[0]){a.i((Qb||"PDP10")+" version 1.34.2 ("+a.u.hb+",RELEASE)");a.i(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){kg(a,b.substr(1));break}var Id="commands:",Jd;for(Jd in ng)Id+="\n"+Ia(Jd,9)+ng[Jd];Pd(a)||(Id+="\nnote: history disabled if no exec breakpoints");a.i(Id);break;default:g=!0}g&&(a.i("unknown command: "+b),d=!1)}}catch(Pf){a.i("debugger error: "+(Pf.stack||Pf.message)),d=!1}return d} -function gd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!eg(a,b[+d]))return!1;return!0} -var ng={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},$f=20,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -Ye=0,Ze=1,$e=2,af=3,bf=4,cf=5,df=6,ef=7,Xe="PC RA EA C0 C1 OV ND PD".split(" "),og={},Wf=(og[28672]={0:101},og[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},og[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:$f,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},og[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},og[29248]={24576:79,24640:80,25088:81,25152:82},og[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},og),Xf=["","I","M","S"],Yf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ff=1E3,Rf=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bsg){if(tg(d,this.M)){this.C=new M(this,"1.34.2",Cg);tg(this.C)&&(Dg(this,d),a=Eg,Fg(this.C));this.C.set(zg,La());Gg(this.C);var e=this.b&&!this.L;if(a==Ag||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=yg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?tg(d,f):("error"==g&&"no machine state"!= -f?(this.da("Error: "+f),"unable to verify user"==f&&(Za(Hg,""),this.f=null)):this.i(g+": "+f),Fg(d),tg(d)?(c=yg(d),e=!0):c=!1))}e&&wg(this,c?d:null)}else a==Eg&&d.clear()}else wg(this);delete this.M;delete this.J}e=Ab(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.v.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ig(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; -function Dg(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function mg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new M(a,"1.34.2"),f=new M(a,"1.34.2",xg),h=La();f.set(zg,h);g.set(zg,h);g.set(Jg,"1.34.2");g.set(Kg,window?window.location.href:null);g.set(Lg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.v.Z=a.u.v.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&g.set(a.u.id,d),c&&(a.u.v.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k>>f.f;0>>= +f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ta.eb&&c<=ta.xb&&(b=c-(ta.eb-ta.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.ub&&(b=ta.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;z(this)}; +l.rb=function(a){if(!this.b){var b=cd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.v);if(this.C=e.receiveData){this.v=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.v.length&&(a.A=0);if(0>a.A||b!=a.v[a.A])a.v.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.v[a.A+1];a=[];if(b){b=b.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(Ja(b.substring(c,f))),c=f+1}}return a} +function Le(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 Me(a,b,c){var d;if(b){b=Ne(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} +function Re(a,b){if(b)return Qe(a,b,a.W[b]);var c=0;for(b in a.W)Qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Se(a){Je.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ue(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ve(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return hd(b,a)}):void 0===global[x]&&(global[x]=function(a){return hd(b, +a)})}p(Se,Je);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function Xe(a){return[a.B,a.Oa,a.fa,a.ca,a.Ra]}function Ye(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Ke(a,c.Ra=b[4]));return c}l=Se.prototype; +l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.ea=a.v;(a=cd(a,"messages"))&&Ve(this,a);Ze(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Nc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=ud(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(We(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function $f(a,b,c,d){var e=W(b.B),f=a.ya(b,1),g,h,k,m=0,n=f/Yb|0,t;for(t in ag)if(g=ag[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=bg;m=n&3;break;case 32256:k=cg;m=n&7;break;case 29248:k=dg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>eg&&(k="B");k=fg[g||0]+k;k=Ia(k,8);g?(k=28700==h?k+O(a,f/Zb&127,-1):k+O(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=O(a,f&262143,-1),(f=f>>18&15)&&(k+="("+O(a,f,-1)+")")):k+=af(f);f=k;g="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),g+=" "+af(k),null== +e.B)break;while(e.B!=b.B)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.w.Ea?h+("cycles="+id(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.j("invalid address: "+O(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(hg(this,a,a.length-1,"set"),Ue(this)));return d};function gg(a,b,c,d,e){var f=!1;c=X(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ue(a);break}}return f} +function ig(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);We(e.va,d);f+="="+O(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,B:c,Cb:d,T:e,mb:f})}function lg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.u;switch(b){case cf:h.A= +g%Sb;We(a.L,h.A);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.v=g?h.v|f:h.v&~f);N(a.G);a.j("updated registers:")}}a.j(kg(a,e));c&&(We(a.L,d.A),qf(a,O(a,a.L.B)))}}function pg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.B=m.B;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j($f(a,b,g,f));e-=b.B-k;c++}}} +function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.P&&(a.j("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0n||"z"eg&&(xd="B");if(Sg==fg[uf]+xd){tf=29248!=sc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(wd|tf<<6)*Yb;break}}if(0<= +C)break}if(0<=C)break}if(0<=C)if(rf)for(var yd=rf.split(","),pb=0;pbL||127L||15 +L||262143L||15fa.length&&(a.j("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var Dd=[];"call"==Af&&(rb=1E5,Dd=["CALL"]);for(void 0!==zf&&a.j(V+" instructions earlier:");0=fa.length&&(Z=0);a.sa=V;Cf++;rb--}}Cf||(a.j("no "+Bf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,Ff="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Vg,Ca=Oe(a,ra);else{var Gf=Y(a,ra);Gf&&(Ca=Gf.B-Ya.B)}0>Ca&&(Ca=0);65536Kf;Kf++)If+=String.fromCharCode((uc%64|0)+32),uc/=64}Da&&(Da+="\n");Da=Ff?Da+(Ea+","):Da+(ea+": "+Ea+(0>Jf?" "+If:""))}Da&&a.j(Da);a.ca=Xg}}}}break;case "e":if("else"==g[0])break;var Lf,Mf,Nf=g[0],Gd=g[1];"e"==Nf||"ew"==Nf?(Lf=a.ya,Mf=a.gb):Gd=null;if(null==Gd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var vc=Y(a,Gd,a.ja);if(vc)for(var wc=2;wc< +g.length;wc++){var Hd=Me(a,g[wc]);if(void 0===Hd){a.j("unknown value: "+g[wc]);break}a.j("changing "+O(a,vc.B)+" from "+af(Lf.call(a,vc))+" to "+af(Hd));Mf.call(a,vc,Hd,1)}}break;case "g":a:{var Of=g[1],Zg=b;if(void 0!==Of){var Id=Y(a,Of);if(!Id)break a;$e(a,Id,Zg);a.Da(a.b,Id,!0)}mf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Jd;var tb=b.substr(2),tb=Ja(tb);Me(a,tb)?(c||a.j("true: "+tb),Jd=!0):(c||a.j("false: "+tb),Jd= +!1);Jd||(d=!1);break}f=!0;break;case "k":var $g=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Kd=0,Ld=W(),ub=W();for(a.j("stack trace for "+O(a,ub.B));10>Kd;){for(var Fa=null,ah=256;65536>ub.B>>>0;){Ld.B=a.ya(ub,2);if(null==ub.B||!ah--)break;if(!(Ld.B&1)){for(var bh=a,xc=Ld,Pf=null,vb=xc.B,Qf=vb,Md=1;6>=Md&&vb;Md++){if(2Wf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");else{var Xf=W(a.u.A);a.ya(Xf);a.N?(a.Da(a.b,Xf,!0),mf(a)||(a.G&&md(a.G),a.N=0)):qg(a,Wf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset(); +break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var xb=+g[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.j("invalid base: "+xb);break}}a.j("default base: "+a.ca);break;case "cs":var yb;void 0!==g[3]&&(yb=+g[3]);switch(g[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.j("unknown cs option");break a}void 0!==yb&&ed(a.u);a.j("checksums "+(a.u.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(jd(a.u,+g[2])||a.j("warning: using 1x multiplier, previous target not reached")); +a.j("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ng(a, +b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pg(a,b.substr(1));break}var Nd="commands:",Od;for(Od in sg)Nd+="\n"+Ia(Od,9)+sg[Od];Qd(a)||(Nd+="\nnote: history disabled if no exec breakpoints");a.j(Nd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d} +function hd(a,b,c){b=Ke(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0} +var sg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},eg=20,fg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), +cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),tg={},ag=(tg[28672]={0:101},tg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},tg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:eg,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},tg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},tg[29248]={24576:79,24640:80,25088:81,25152:82},tg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},tg),bg=["","I","M","S"],cg=" L E LE A GE N G".split(" "),dg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lf=1E3,of=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bxg){if(yg(d,this.M)){this.C=new M(this,"1.34.2",Hg);yg(this.C)&&(Ig(this,d),a=Jg,Kg(this.C));this.C.set(Eg,La());Lg(this.C);var e=this.b&&!this.L;if(a==Fg||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Dg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Za(Mg,""),this.f=null)):this.j(f+": "+g),Kg(d),yg(d)?(c=Dg(d),e=!0):c=!1))}e&&Bg(this,c?d:null)}else a==Jg&&d.clear()}else Bg(this);delete this.M;delete this.J}e=Ab(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ng(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Ig(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; +function Ig(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} +function rg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Cg),h=La();g.set(Eg,h);f.set(Eg,h);f.set(Og,"1.34.2");f.set(Pg,window?window.location.href:null);f.set(Qg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.w.Z=a.u.w.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.w.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k=d||30<=(c.Sa+=d))&&(e.textContent=c.v.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Sa=0)}if(a.w&&(a=a.w,b=b||0,a.M)){c=a.u.v.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],f);fh(a,b,c)}})}else c(a,null)} -function gh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function f(a){g("Error: "+a);m&&(--ch||jb(!0));m=!1}var h,k,m=!0;ch++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?dh(d,null,a,null,!1,g,function(a,e){e?(nb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--ch||jb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ch|| -jb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?dh(c,b,a,e,!0,g,n):eh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(ca){f(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return gh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return gh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.v&&(a=a.v,b=b||0,a.M)){c=a.u.w.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);kh(a,b,c)}})}else c(a,null)} +function lh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);m&&(--hh||jb(!0));m=!1}var h,k,m=!0;hh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ih(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--hh||jb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--hh|| +jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ih(c,b,a,e,!0,f,n):jh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return lh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return lh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=Math.pow(2,35),q={Ab:0,Ta:1,Cb:2,Db:3,Eb:4,Fb:5,Gb:6,Hb:7,Ma:8,Ib:9,Ua:10,Jb:11,Kb:12,Va:13,Lb:14,Mb:15,Nb:16,Ob:17,Pb:18,Qb:19,Rb:20,Sb:21,Tb:22,Ub:23,Vb:24,Wb:25,Xb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,La:65,zb:66,Bb:67,Yb:68,E:69,Zb:70,$b:71,ac:72,bc:73,cc:74,dc:75,ec:76,fc:77,gc:78,hc:79,ic:80,Q:81, -jc:82,kc:83,lc:84,mc:85,nc:86,oc:87,pc:88,qc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,rc:97,sc:98,tc:99,d:100,e:101,uc:102,vc:103,wc:104,xc:105,yc:106,k:107,zc:108,Ac:109,n:110,Bc:111,p:112,q:113,r:114,Cc:115,t:116,Dc:117,Ec:118,Fc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Wa:127}; +var ia=Math.pow(2,36),ja=Math.pow(2,35),q={Bb:0,Ua:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Na:8,Jb:9,Va:10,Kb:11,Lb:12,Wa:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ma:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, +kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Xa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; function va(){function a(a){return(10>a?"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())} @@ -42,130 +42,133 @@ function wa(a,b){var c,d={H:null,O:null,T:null,S:null};if("["==b.charAt(0)||"{"= e[c]&255,d.H[f++]=e[c]>>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(t(d.H[0]),d=null):(t("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){t("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.g={ready:!1,ua:!1,Ga:!1,D:!1,error:!1};this.wa=null;this.g.error=!1;this.v=this.i=this.s=this.u=this.ba=null;y.push(this)}function La(a,b,c){Ma[a]&&b&&(Ma[a][b]=c)}function Na(){return Date.now()||+new Date} +function Ca(a){if(!Da){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Da=c}return Da[a]}function Ea(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){v.init.push(a)} +function Fa(a){if(Ga)try{for(var b=0;ba?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.h={ready:!1,va:!1,Ha:!1,D:!1,error:!1};this.xa=null;this.h.error=!1;this.v=this.i=this.s=this.u=this.ba=null;y.push(this)}function La(a,b,c){Ma[a]&&b&&(Ma[a][b]=c)}function Na(){return Date.now()||+new Date} function t(a){window&&window.alert(a)}function Oa(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.jb,a];this.v=this.i=this.s=this.u=null;this.exports={hold:this.bb,toggle:this.ub,reset:this.qb, -set:this.tb};G(this)}n(db,x);k=db.prototype;k.reset=function(a){this.stop();a&&fb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){gb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){hb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){gb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){hb(a,b)}}(this,b),!0):x.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;ib(this);jb(this)};k.V=function(a,b){if(!b)if(this.P&&kb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new Q(this);a.set(0,[this.b,this.j,this.h]);return a.data()}; -k.restore=function(a){if(a=a[0])lb(this,this.b=a[0]),fb(this,this.j=a[1]),mb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}jb(this);return!0};function nb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ib(a,b){for(var c in a.l)nb(a,c,null!=b?b:a.l[c])}function ob(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function jb(a){for(var b in a.a)ob(a,b,a.a[b][1])} -k.bb=function(a,b,c){if(gb(this,b)){if(c){var d=this;setTimeout(function(){hb(d,b);a&&a()},+c);return!1}hb(this,b)}return!0}; -k.tb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);fb(this,this.j=a)}};k.ib=function(a){a||this.i.g.A||lb(this,this.h)};k.hb=function(a){a?(this.o=!0,ib(this,!0)):(this.o=!1,ib(this),mb(this,0))};k.jb=function(a,b){this.h=a?this.h|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.h&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Db(Eb,e,f)}e=new T(a,e,p,16384,d);Ab(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Fb[d]+" at "+la(b)),!0):Db(Gb,b,c)}function yb(a,b,c){var d=a.a[(b&a.h)>>>a.b];a.j++;d.h(c,b&16383,b);a.j--} -function Bb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Wb(a)&&(a.ha=a.ia=-1,Vb(a),R(a),c=!0);c&&a.M(Wb(a)+" cycles: checksum="+ma(a.qa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.g.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ca*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}vb(a,a.C);a.C=0;a.B=Na();a.I=0;Yb(a)}function $b(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ac(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} -k.rb=function(){if(this.g.A){this.sa>=this.Ea&&Yb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Da&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.g.va?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=ac(this,!0);this.ea+=b;this.C+=b;wb(this,b);ub(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Fa>=bc&&(this.u&&S(this.u,void 0),this.Fa=0);break}}while(this.g.A)}catch(f){R(this); -this.u&&this.u.stop(Na(),Wb(this));a=f.stack||f.message;this.g.error=!0;this.F(a);return}if(this.g.A){a=setTimeout;b=this.Pa;this.I=Na();c=this.Da;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Xb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; -function tb(a){var b;a.g.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.g.A)a.M(a.toString()+" busy");else{Xb(a);a.g.A=!0;a.g.Ja=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Wb(a));a.v||a.status("Started");setTimeout(a.Pa,0)}}k.za=function(){return 0};function R(a){var b=!1;if(a.g.A){ac(a);vb(a,a.C);a.C=0;a.g.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Wb(a));b=!0;a.v||a.status("Stopped")}a.g.complete=void 0;return b}var Zb=30,bc=15,Sb=["power","reset"]; -function cc(a){var b=+a.model||1001;Rb.call(this,a,1E6);this.Xa=b;this.na=+a.addrReset||0;this.Ya=dc.bind(this);this.a=U.bind(this);this.fa=null;this.Na=[];this.g.complete=!1}n(cc,Rb);k=cc.prototype;k.reset=function(){this.status("Model "+this.Xa);this.g.A&&R(this);this.b=this.w=this.ta=0;this.o=this.Ba=this.na;this.l=-1;this.h=0;this.la=this.o;this.j=0;this.c=this.nb;this.f=this.yb;this.fa=null;Ub(this);this.g.error=!1;Rb.prototype.reset.call(this)};k.Ra=function(){return 0}; -k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ta,this.o,this.l,this.h,this.j,this.Ba,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.g.J]);a.set(3,ec(this));a.set(4,$b(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ta=b.next().value;this.o=b.next().value;this.l=b.next().value;this.h=b.next().value;this.j=b.next().value;this.Ba=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Xb(this,b[1]);this.g.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dO&&(a!=$a?a=ab-a:this.h|=163840);return a};function gc(a,b){b?b==$a?a.h|=163840:b=ab-b:a.h|=98304;return b}function ec(a){var b=[];for(a=a.fa;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.h)>>>b.b].c(a&16383,a)};k.yb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.h)>>>c.b].f(b,a&16383,a);return b}; -k.za=function(a){this.g.complete=!0;var b=a?this.g.Ja?0:1:-1;this.g.Ja=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){R(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ta=this.c(this.Ba=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Ya,a=this.ta/bb|0);0<=a&&this.Ya(a)}while(0< -this.L);return this.g.complete?this.K-this.L:!1===this.g.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function ic(){var a=0,b=this.c(this.b),c=b/cb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*cb+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} -function jc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,fc(this);else{var c=this.l/cb&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,fc(this);else{var c=this.l/cb&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function lc(a,b){this.f(b,this.c(this.b))} -function mc(a,b){this.f(b,this.b)}function nc(a,b){this.f(this.b,this.c(b))}function oc(a,b){this.f(b,0)}function pc(a,b){this.f(b,M-this.c(b))}function qc(a,b){this.f(b,M)}function rc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function sc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function tc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} -function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function vc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function wc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function yc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} -function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));fc(this);R(this)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b} -function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)}function Kc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Lc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} -var hc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,function(a,b){0>this.l&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.l&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +var E="pdp10",H="PDPjs",Xa=Math.pow(2,18)-1,Ya=Math.pow(2,18),I=Math.pow(2,18)-1,J=Math.pow(2,18),K=Math.pow(2,35)-1,L=Math.pow(2,35),M=Math.pow(2,36)-1,N=Math.pow(2,36),Za=Math.pow(2,17)-1,O=Math.pow(2,35)-1,$a=Math.pow(2,35),ab=Math.pow(2,36),bb=Math.pow(2,34),P=Math.pow(2,32),cb=Math.pow(2,23),db=Math.pow(2,30),E="pdp10",H="PDPjs"; +function eb(a,b){w.call(this,"Panel",a);this.B=this.C=0;this.P=b;this.b=this.w=this.g=this.j=0;this.G=this.I=-1;this.K=this.L=this.o=!1;this.N=fb;this.l={};this.a={START:[1,1,!0,!1,this.lb],STEP:[1,1,!1,!1,this.mb],ENABLE:[1,1,!1,!1,this.gb],CONT:[1,1,!0,!1,this.eb],DEP:[0,0,!0,!1,this.fb],EXAM:[1,1,!0,!1,this.hb],LOAD:[1,1,!0,!1,this.jb],TEST:[0,0,!0,!1,this.ib]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.kb,a];this.v=this.i=this.s=this.u=null;this.exports={hold:this.cb,toggle:this.vb,reset:this.rb, +set:this.ub};G(this)}n(eb,w);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):w.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.P&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new Q(this);a.set(0,[this.b,this.j,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.rb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} +k.cb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; +k.ub=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);gb(this,this.j=a)}};k.jb=function(a){a||this.i.h.A||mb(this,this.g)};k.ib=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.za+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.za){p=h.size-(e-l);p>f&&(p=f);h.za=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new T(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} +function Cb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Xb(a)&&(a.ha=a.ia=-1,Wb(a),R(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+ma(a.qa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Da*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.C);a.C=0;a.B=Na();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} +k.sb=function(){if(this.h.A){this.sa>=this.Fa&&Zb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Ea&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.h.wa?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Aa(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Ga>=cc&&(this.u&&S(this.u,void 0),this.Ga=0);break}}while(this.h.A)}catch(f){R(this); +this.u&&this.u.stop(Na(),Xb(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Qa;this.I=Na();c=this.Ea;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; +function ub(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Yb(a);a.h.A=!0;a.h.Ka=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.Aa=function(){return 0};function R(a){var b=!1;if(a.h.A){bc(a);wb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Xb(a));b=!0;a.v||a.status("Stopped")}a.h.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; +function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.o=this.Ca=this.na;this.l=-1;this.ta=this.g=0;this.la=this.o;this.j=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.o,this.l,this.g,this.j,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ua=b.next().value;this.o=b.next().value;this.l=b.next().value;this.g=b.next().value;this.j=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dO&&(a!=$a?a=ab-a:this.g|=163840);return a};function hc(a,b){b?b==$a?a.g|=163840:b=ab-b:a.g|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.wb),a=a.next;return b}k.ob=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.g)>>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; +k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){R(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< +this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} +function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} +function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,M-this.c(b))}function rc(a,b){this.f(b,M)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function tc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} +function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function yc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function Ac(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Cc(a,b){var c=this.c(b);this.f(b,Bc(a,c,this.b)+this.b)}function Dc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ec(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Fc(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Gc(a,b){var c=this.c(b);this.f(b,Bc(a,c,0))} +function Hc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ic(a,b){var c=this.c(this.b),d=c/J|0,c=Bc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Jc[a&7].call(this,a,a>>3&127)}function Kc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)}function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)} +function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)}function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Bc(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} +var ic=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,mc,nc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,gc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b,gc(this, -this.c(b)))},function(a,b){a=gc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.h|=131072):a-c<=O&&(this.h|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)% -N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.h|=131072):e-c<=O&&(this.h|=131072); -e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.h|=131072):(f-c<=O&&(this.h|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15), -e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2, --a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.g.A||(this.f(b,d*J+c),a||fc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a, -b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.h|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.h|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b,hc(this, +this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)},function(a,b){this.f(b,Pc.call(this, +this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K): +(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>> +14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2, +-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b, +c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/ +J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);this.f(b, +a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.b))}, +function(a,b){this.f(this.b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Qc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b, -0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),this.b))},function(a,b){this.f(this.b,Y(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y(M-this.c(b),this.b))},function(a,b){this.f(this.b,Y(M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(M-this.c(b),this.c(this.b))))}, -lc,mc,Jc,lc,function(a,b){this.f(b,Y(this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y(this.c(b),M-this.b))},function(a,b){this.f(this.b,Y(this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(this.c(b),M-this.c(this.b))))},Jc,Jc,nc,nc,function(a,b){this.f(b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Kc(this.c(b),this.b))},function(a,b){this.f(this.b,Kc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Kc(this.c(b),this.c(this.b))))},function(a,b){this.f(b, -Z(this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),this.b))},function(a,b){this.f(this.b,Z(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y(M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y(M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Lc(this.c(b),this.c(this.b)))},function(a, -b){this.f(b,Lc(this.c(b),this.b))},function(a,b){this.f(this.b,Lc(this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc(this.c(b),this.c(this.b))))},pc,pc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z(M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z(M-this.c(b),this.b))},function(a,b){this.f(this.b,Z(M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(M-this.c(b),this.c(this.b))))},function(a, -b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z(this.c(b),M-this.b))},function(a,b){this.f(this.b,Z(this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Z(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z(M-this.c(b),M-this.b))}, -function(a,b){this.f(this.b,Z(M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z(M-this.c(b),M-this.c(this.b))))},qc,qc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a, +b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},mc,nc,Kc,mc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Kc,Kc,oc,oc,function(a, +b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b), +this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, +this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b, +M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b, +Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},rc,rc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.h&=-131073);a&131072&&(this.h&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.h&131072&&(a|=8);this.h&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Mc(a){x.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.h=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Nc(c)})}}n(Mc,x); -Mc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Nc(this)};Mc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.h,this.O),delete this.O);return!0};Mc.prototype.R=function(){return!0}; -function Nc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.h||(a.h=a.a.length);if(a.a.length!=a.h){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.h,8,!0)+")";a.g.error=!0;a.F(b)}else{b=a.l;if(Cb(a.s,b,a.h,Kb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.La&&c<=q.$a&&(b=c-(q.La-q.Ta));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Va&&(b=q.Ua);d.xa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;G(this)}; -k.Sa=function(a){if(!this.a){var b=Tb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.oa)return;c=ua(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.h);if(this.l=e.receiveData){this.h=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Sa(this.h),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bWc){if(Xc(d,this.C)){this.l=new Q(this,"1.34.2",fd);Xc(this.l)&&(gd(this,d),a=hd,id(this.l));this.l.set(cd,va());jd(this.l);var e=this.a&&!this.B;if(a==dd||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=bd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Xc(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(kd,""),this.b=null)):this.M(f+": "+g),id(d),Xc(d)?(c=bd(d),e=!0):c=!1))}e&&$c(this,c?d:null)}else a==hd&&d.clear()}else $c(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.g.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(ld(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(gd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function gd(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function md(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",ad),h=va();g.set(cd,h);f.set(cd,h);f.set(nd,"1.34.2");f.set(od,window?window.location.href:null);f.set(pd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.g.J=a.i.g.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.g.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;G(this)}; +k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.oa)return;c=ua(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bad){if(bd(d,this.C)){this.l=new Q(this,"1.34.2",kd);bd(this.l)&&(ld(this,d),a=md,nd(this.l));this.l.set(hd,va());od(this.l);var e=this.a&&!this.B;if(a==id||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=gd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(pd,""),this.b=null)):this.M(f+": "+g),nd(d),bd(d)?(c=gd(d),e=!0):c=!1))}e&&ed(this,c?d:null)}else a==md&&d.clear()}else ed(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(qd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(ld(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function ld(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function rd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",fd),h=va();g.set(hd,h);f.set(hd,h);f.set(sd,"1.34.2");f.set(td,window?window.location.href:null);f.set(ud,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Aa+=d))&&(e.textContent=c.g.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.h&&(a=a.h,b=b||0,a.C)){c=a.i.g.A;d=!!(a.i.j&8);if(0>=b||60<=(a.B+=b)){e=a.i.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.o:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,v=/( [a-z]+=)(['"])(.*?)\2/g;p=v.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);xd(a,b,c)}})}else c(a,null)} -function yd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--ud||Ha(!0));p=!1}var h,l,p=!0;ud++;Ma[b]={};try{if(h=document.getElementById(b)){var v;if("object"==typeof resources&&(v=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ta=document.createElement("style");ta.type="text/css";ta.styleSheet?ta.styleSheet.cssText=v:ta.appendChild(document.createTextNode(v));A.appendChild(ta)}d|| -(v=a,"pdp"==a.substr(0,3)&&(v="pdpjs"),d="/versions/"+v+"/1.34.2/components.xsl");v=function(e,l){l?vd(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--ud||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--ud|| -Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?vd(c,b,a,e,!0,f,v):wd(c,null,b,a,e,!1,f,v)}else g("missing machine element: "+b)}catch(zd){g(zd.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return yd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return yd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ra[a]){for(var c=!0,d=Ra,e=a,f=b.length,g=[],h=[],l="",p=null,v=0;v=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.j&8);if(0>=b||60<=(a.B+=b)){e=a.i.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.o:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Cd(a,b,c)}})}else c(a,null)} +function Dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--zd||Ha(!0));p=!1}var h,l,p=!0;zd++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ta=document.createElement("style");ta.type="text/css";ta.styleSheet?ta.styleSheet.cssText=x:ta.appendChild(document.createTextNode(x));A.appendChild(ta)}d|| +(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Ad(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--zd||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--zd|| +Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ad(c,b,a,e,!0,f,x):Bd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Ed){g(Ed.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ra[a]){for(var c=!0,d=Ra,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x Date: Tue, 7 Mar 2017 13:44:43 -0800 Subject: [PATCH 29/32] Added PDP-10 JSP and JFCL operations (which seem to be the simplest means of getting and setting the processor flags) --- apps/pdp10/tests/optest-v01.json | 4 + apps/pdp10/tests/optest-v01.simh | 6 + modules/pdp10/lib/cpuops.js | 114 ++++++++- modules/pdp10/lib/cpustate.js | 54 +--- modules/pdp10/lib/debugger.js | 82 +++++-- modules/pdp10/lib/defines.js | 5 + versions/pdpjs/1.34.2/pdp10-dbg.js | 380 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 161 ++++++------ 8 files changed, 456 insertions(+), 350 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index d9fa6facd..a485b0ab5 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -43,5 +43,9 @@ // 0o515040170600, // 000117: HRLZI 1,170600 0o135100000001, // 000120: LDB 2,1 + 0o270000000000, // 000121: ADD 0,0 + 0o265040000123, // 000122: JSP 1,.+1 + 0o270000000000, // 000123: ADD 0,0 + 0o265040000125, // 000124: JSP 1,.+1 ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index 81205ed36..a5700bc71 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -13,6 +13,12 @@ dep 113 251000000017 dep 114 577040000002 dep 115 261240000011 dep 116 262240000005 +dep 117 515040170600 +dep 120 135100000001 +dep 121 270000000000 +dep 122 265040000123 +dep 123 270000000000 +dep 124 265040000125 ex -m 100-116 dep pc 100 step 11 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 4aa5a2196..a20646350 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -972,7 +972,7 @@ PDP10.opMOVSS = function(op, acc) */ PDP10.opMOVN = function(op, acc) { - this.writeWord(acc, this.negate(this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doNEG.call(this, this.readWord(this.regEA))); }; /** @@ -1000,7 +1000,7 @@ PDP10.opMOVN = function(op, acc) PDP10.opMOVNI = function(op, acc) { /* - * We perform an in-line twos complement of regEA, since negate() updates the flags, and the documentation + * We perform an in-line twos complement of regEA, since doNEG() updates the flags, and the documentation * above claims that this operation must "set no flags." It's certainly true that regEA, being an 18-bit value, * could never be -2^35, but it COULD be zero -- and apparently this instruction treats zero differently from MOVN. * @@ -1031,7 +1031,7 @@ PDP10.opMOVNI = function(op, acc) */ PDP10.opMOVNM = function(op, acc) { - this.writeWord(this.regEA, this.negate(this.readWord(acc))); + this.writeWord(this.regEA, PDP10.doNEG.call(this, this.readWord(acc))); }; /** @@ -1056,7 +1056,7 @@ PDP10.opMOVNM = function(op, acc) */ PDP10.opMOVNS = function(op, acc) { - var dst = this.negate(this.readWord(this.regEA)); + var dst = PDP10.doNEG.call(this, this.readWord(this.regEA)); this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); }; @@ -1083,7 +1083,7 @@ PDP10.opMOVNS = function(op, acc) */ PDP10.opMOVM = function(op, acc) { - this.writeWord(acc, this.abs(this.readWord(this.regEA))); + this.writeWord(acc, PDP10.doABS.call(this, this.readWord(this.regEA))); }; /** @@ -1110,6 +1110,9 @@ PDP10.opMOVM = function(op, acc) */ PDP10.opMOVMI = function(op, acc) { + /* + * Since the src is an 18-bit immediate value, there's no need to call doABS(). + */ this.writeWord(acc, this.regEA); }; @@ -1135,7 +1138,7 @@ PDP10.opMOVMI = function(op, acc) */ PDP10.opMOVMM = function(op, acc) { - this.writeWord(this.regEA, this.abs(this.readWord(acc))); + this.writeWord(this.regEA, PDP10.doABS.call(this, this.readWord(acc))); }; /** @@ -1160,7 +1163,7 @@ PDP10.opMOVMM = function(op, acc) */ PDP10.opMOVMS = function(op, acc) { - var dst = this.abs(this.readWord(this.regEA)); + var dst = PDP10.doABS.call(this, this.readWord(this.regEA)); this.writeWord(this.regEA, dst); if (acc) this.writeWord(acc, dst); }; @@ -1936,7 +1939,31 @@ PDP10.opJRST = function(op, acc) }; /** - * opJFCL(0o255000) + * opJFCL(0o255000): Jump on Flag and Clear + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-57: + * + * If any flag specified by F [acc] is set, clear it and take the next instruction from location E, + * continuing sequential operation from there. + * + * To select one or a combination of these flags (which are among those described above) the programmer can specify + * the equivalent of an AC address that places 1s in the appropriate bits, but MACRO recognizes mnemonics for some of + * the 13-bit instruction codes (bits 0-12). + * + * JFCL JFCL 0, No-op 25500 + * JOV JFCL 10, Jump on Overflow 25540 + * JCRY0 JFCL 4, Jump on Carry 0 25520 + * JCRY1 JFCL 2, Jump on Carry 1 25510 + * JCRY JFCL 6, Jump on Carry 0 or 1 25530 + * JFOV JFCL 1, Jump on Floating Overflow 25504 + * + * SIDEBAR: This instruction can be used simply to clear the selected flags by having the jump address point to the + * next consecutive location, as in: + * + * JFCL 17,.+1 + * + * which clears all four flags without disrupting the normal program sequence. A JFCL that selects no flag is the fastest + * no-op as it neither fetches nor stores an operand, and bits 18-35 of the instruction word can be used to store information. * * @this {CPUStatePDP10} * @param {number} op @@ -1944,7 +1971,14 @@ PDP10.opJRST = function(op, acc) */ PDP10.opJFCL = function(op, acc) { - this.opUndefined(op); + /* + * The acc (F) bits from the opcode align perfectly with the top 4 bits of regPS; all we have to do is shift acc left 14. + */ + var bitsPS = acc << 14; + if (this.regPS & bitsPS) { + this.regPS &= ~bitsPS; + this.setPC(this.regEA); + } }; /** @@ -2078,7 +2112,15 @@ PDP10.opJSR = function(op, acc) }; /** - * opJSP(0o265000) + * opJSP(0o265000): Jump and Save PC + * + * Place the current contents of the flags (as described above) in AC left and the contents of PC in AC right + * (at this time PC contains an address one greater than the location of the JSP instruction). Take the next + * instruction from location E and continue sequential operation from there. The flags are unaffected except + * Byte Interrupt, which is cleared. + * + * If this instruction is executed as a result of a priority interrupt or in un-relocated 41 or 61 while the + * processor is in user mode, bit 5 of the PC word stored is 1 and the processor leaves user mode. * * @this {CPUStatePDP10} * @param {number} op @@ -2086,7 +2128,8 @@ PDP10.opJSR = function(op, acc) */ PDP10.opJSP = function(op, acc) { - this.opUndefined(op); + this.writeWord(acc, this.getPS() + this.getPC()); + this.setPC(this.regEA); }; /** @@ -5234,6 +5277,27 @@ PDP10.opUndefined = function(op, acc) this.stopCPU(); }; +/** + * doABS(src) + * + * Used by the MOVM* (Move Magnitude) instructions. + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (absolute value of src) + */ +PDP10.doABS = function(src) +{ + if (src > PDP10.MAX_POS36) { + if (src != PDP10.MIN_NEG36) { + src = PDP10.TWO_POW36 - src; + } else { + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); + } + } + return src; +}; + /** * doADD(dst, src) * @@ -5431,6 +5495,34 @@ PDP10.doMUL = function(dst, src) return res; }; +/** + * doNEG(src) + * + * Used by the MOVN* (Move Negative) instructions. + * + * @this {CPUStatePDP10} + * @param {number} src (36-bit) + * @return {number} (src negated, but as an unsigned 36-bit result) + */ +PDP10.doNEG = function(src) +{ + if (!src) { + this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1); + } + else { + /* + * In the non-zero case, it's always safe to subtract src from TWO_POW36, but since we have to check for + * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. + */ + if (src == PDP10.MIN_NEG36) { + this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); + } else { + src = PDP10.TWO_POW36 - src; + } + } + return src; +}; + /** * doSUB(dst, src) * diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index c246b5516..ac9398248 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -336,14 +336,15 @@ class CPUStatePDP10 extends CPUPDP10 { /** * getPS() * - * Gets the processor state flags in the format required by various program control operations. + * Gets the processor state flags in the format required by various program control operations (eg, JSP), + * pre-masked and pre-shifted for convenient loading into the left half of an accumulator. * * @this {CPUStatePDP10} * @return {number} */ getPS() { - return this.regPS & PDP10.HALF_MASK; + return (this.regPS & PDP10.HALF_MASK) * PDP10.HALF_SHIFT; } /** @@ -489,55 +490,6 @@ class CPUStatePDP10 extends CPUPDP10 { this.regPC = addr % PDP10.ADDR_LIMIT; } - /** - * abs(src) - * - * Used by the MOVM* (Move Magnitude) instructions. - * - * @this {CPUStatePDP10} - * @param {number} src (36-bit) - * @return {number} (absolute value of src) - */ - abs(src) - { - if (src > PDP10.MAX_POS36) { - if (src != PDP10.MIN_NEG36) { - src = PDP10.TWO_POW36 - src; - } else { - this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); - } - } - return src; - } - - /** - * negate(src) - * - * Used by the MOVN* (Move Negative) instructions. - * - * @this {CPUStatePDP10} - * @param {number} src (36-bit) - * @return {number} (src negated, but as an unsigned 36-bit result) - */ - negate(src) - { - if (!src) { - this.regPS |= (PDP10.PSFLAG.CARRY0 | PDP10.PSFLAG.CARRY1); - } - else { - /* - * In the non-zero case, it's always safe to subtract src from TWO_POW36, but since we have to check for - * the MIN_NEG36 case anyway, and since subtraction in that case doesn't alter src, we skip the subtraction. - */ - if (src == PDP10.MIN_NEG36) { - this.regPS |= (PDP10.PSFLAG.OVFL | PDP10.PSFLAG.CARRY1); - } else { - src = PDP10.TWO_POW36 - src; - } - } - return src; - } - /** * addIRQ(vector, priority, message) * diff --git a/modules/pdp10/lib/debugger.js b/modules/pdp10/lib/debugger.js index dfb67ad26..149e887aa 100644 --- a/modules/pdp10/lib/debugger.js +++ b/modules/pdp10/lib/debugger.js @@ -1497,16 +1497,25 @@ class DebuggerPDP10 extends Debugger { if (!fOperands) { if (!opNum) sOperation = ""; } else { - sOperation = Str.pad(sOperation, 8); if (!opNum) { - sOperation += this.toStrWord(opCode); + sOperation = Str.pad(sOperation, 8) + this.toStrWord(opCode); } else { + var n, sOperand; if (opMask == PDP10.OPCODE.OPIO) { - sOperation += this.toStrBase((opCode / PDP10.OPCODE.IO_SCALE) & PDP10.OPCODE.IO_MASK, -1); + n = (opCode / PDP10.OPCODE.IO_SCALE) & PDP10.OPCODE.IO_MASK; + sOperand = this.toStrBase(n, -1); } else { - sOperation += this.toStrBase((opCode >> PDP10.OPCODE.A_SHIFT) & PDP10.OPCODE.A_MASK, -1); + n = (opCode >> PDP10.OPCODE.A_SHIFT) & PDP10.OPCODE.A_MASK; + sOperand = this.toStrBase(n, -1); + if (opNum == DebuggerPDP10.OPS.JFCL) { + var opAlt = DebuggerPDP10.JFCL[n]; + if (opAlt) { + sOperation = DebuggerPDP10.OPNAMES[opAlt]; + sOperand = ""; + } + } } - sOperation += ','; + sOperation = Str.pad(sOperation, 8) + (sOperand? sOperand + ',' : ""); if (opCode & PDP10.OPCODE.I_BIT) sOperation += '@'; sOperation += this.toStrBase(opCode & PDP10.OPCODE.Y_MASK, -1); var i = (opCode >> PDP10.OPCODE.X_SHIFT) & PDP10.OPCODE.X_MASK; @@ -1558,7 +1567,7 @@ class DebuggerPDP10 extends Debugger { } /** - * parseInstruction(sOpCode, sOperands, addr) + * parseInstruction(sOpCode, sOperands, dbgAddr) * * @this {DebuggerPDP10} * @param {string} sOpCode @@ -1568,9 +1577,21 @@ class DebuggerPDP10 extends Debugger { */ parseInstruction(sOpCode, sOperands, dbgAddr) { - var opCode = -1, opMask; + var opCode = -1, opMask, opNum; var sMnemonic = sOpCode.toUpperCase(); + /* + * Perform any alternate mnemonic substitutions first + */ + for (var n in DebuggerPDP10.JFCL) { + opNum = DebuggerPDP10.JFCL[n]; + if (sMnemonic == DebuggerPDP10.OPNAMES[opNum]) { + sMnemonic = DebuggerPDP10.OPNAMES[DebuggerPDP10.OPS.JFCL]; + sOperands = this.toStrBase(+n) + ',' + sOperands; + break; + } + } + for (var mask in DebuggerPDP10.OPTABLE) { var aModes; @@ -1595,7 +1616,7 @@ class DebuggerPDP10 extends Debugger { var opMode = 0; for (var op in opMasks) { - var opNum = opMasks[op]; + opNum = opMasks[op]; for (var iMode = 0; iMode < aModes.length; iMode++) { var sMode = aModes[iMode]; @@ -1638,7 +1659,15 @@ class DebuggerPDP10 extends Debugger { opCode = -1; break; } - var operand = this.parseExpression(match[2]); + sOperand = match[2]; + if (i) { + /* + * If this is NOT the first operand, then replace all periods NOT preceded + * by a digit with the current address. + */ + sOperand = sOperand.replace(/(^|[^0-9])\./g, "$1" + this.toStrAddr(dbgAddr)); + } + var operand = this.parseExpression(sOperand); if (operand == undefined) { opCode = -1; break; @@ -1646,7 +1675,7 @@ class DebuggerPDP10 extends Debugger { if (!i && aOperands.length > 1) { if (opMask == PDP10.OPCODE.OPIO) { if (operand < 0 || operand > PDP10.OPCODE.IO_MASK) { - this.println("device code out of range: " + match[2]); + this.println("device code out of range: " + sOperand); opCode = -1; break; } @@ -1654,7 +1683,7 @@ class DebuggerPDP10 extends Debugger { } else { if (operand < 0 || operand > PDP10.OPCODE.A_MASK) { - this.println("accumulator address out of range: " + match[2]); + this.println("accumulator address out of range: " + sOperand); opCode = -1; break; } @@ -1663,19 +1692,20 @@ class DebuggerPDP10 extends Debugger { continue; } if (operand < 0 || operand > PDP10.OPCODE.Y_MASK) { - this.println("memory address out of range: " + match[2]); + this.println("memory address out of range: " + sOperand); opCode = -1; break; } opCode += operand; - if (match[3]) { - operand = this.parseExpression(match[3]); + sOperand = match[3]; + if (sOperand) { + operand = this.parseExpression(sOperand); if (operand == undefined) { opCode = -1; break; } if (operand < 0 || operand > PDP10.OPCODE.X_MASK) { - this.println("memory index out of range: " + match[3]); + this.println("memory index out of range: " + sOperand); opCode = -1; break; } @@ -2141,7 +2171,7 @@ class DebuggerPDP10 extends Debugger { * For now, fMisc defaults to true, providing a full register dump by default. * * @this {DebuggerPDP10} - * @param {boolean} [fMisc] (true to include misc registers) + * @param {boolean|undefined} [fMisc] (true to include misc registers) * @return {string} */ getRegDump(fMisc = true) @@ -3821,7 +3851,8 @@ if (DEBUGGER) { JSA: 89, JRA: 90, PUSHJ: 91, POPJ: 92, BLKI: 93, DATAI: 94, BLKO: 95, DATAO: 96, CONO: 97, CONI: 98, CONSZ: 99, CONSO: 100, - UUO: 101 + UUO: 101, JOV: 102, JCRY0: 103, JCRY1: 104, + JCRY: 105, JFOV: 106 }; /* @@ -3854,7 +3885,8 @@ if (DEBUGGER) { "JSA", "JRA", "PUSHJ", "POPJ", "BLKI", "DATAI", "BLKO", "DATAO", "CONO", "CONI", "CONSZ", "CONSO", - "UUO" + "UUO", "JOV", "JCRY0", "JCRY1", + "JCRY", "JFOV" ]; DebuggerPDP10.REGS = { @@ -3998,6 +4030,20 @@ if (DEBUGGER) { DebuggerPDP10.OPCOMPS = ["", "L", "E", "LE", "A", "GE", "N", "G"]; DebuggerPDP10.OPTESTS = ["N", "NE", "NA", "NN", "Z", "ZE", "ZA", "ZN", "C", "CE", "CA", "CN", "O", "OE", "OA", "ON"]; + /* + * Apparently, DEC's MACRO program permits "JFCL xxx" (with a single argument) as an alternate for "JFCL 0,xxx" + * (which in turn is long-hand for "No-op", since JFCL with 0 does nothing). If we allowed JFCL to be both a + * primary and a alternate mnemonic, that would complicate our simplistic parseInstruction() logic, so we don't. + */ + DebuggerPDP10.JFCL = { + // 0o00: DebuggerPDP10.OPS.JFCL, + 0o10: DebuggerPDP10.OPS.JOV, + 0o04: DebuggerPDP10.OPS.JCRY0, + 0o02: DebuggerPDP10.OPS.JCRY1, + 0o06: DebuggerPDP10.OPS.JCRY, + 0o01: DebuggerPDP10.OPS.JFOV + }; + DebuggerPDP10.HISTORY_LIMIT = DEBUG? 100000 : 1000; DebuggerPDP10.PROMPT = ">> "; diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index a689134b8..c8fea8487 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -198,6 +198,11 @@ var PDP10 = { /* * Flags returned by getPS() for various program control operations. + * + * NOTE: I see SIMH setting PS bits like 0o000200 and 0o000400, which are not documented for the KA10. + * The SIMH docs only refer to the KS10 ("KS10 CPU with 1MW of memory"), so I'm guessing it doesn't have + * a KA10 emulation option. The `pdp10` SIMH binary does have some SET CPU options, but unlike the `pdp11` + * binary, the only options you can set relate to the operating system to be run -- which seems very hacky. */ PSFLAG: { OVFL: 0o400000, // Overflow diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 2a73d10f1..5a8e79319 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -27,215 +27,215 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ia(){ia=function(){};ba.Symbol||(ba.Symbol=ja)}var ka=0;function ja(a){return"jscomp_symbol_"+(a||"")+ka++} -function la(){ia();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var pa=Math.pow(2,36),qa=Math.pow(2,35),ta={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, +var pa=Math.pow(2,36),qa=Math.pow(2,35),ra={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127}; -function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} +function xa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,f=0;for(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())} function Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} function Na(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=g.load;d.ma=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ca=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.u=this.H=this.G=this.oa=null;v.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function qb(){return Date.now()||+new Date} -function r(a){window&&window.alert(a)}function zb(a){var b=!1;window&&(b=window.confirm(a));return b}function Ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.oa=null;v.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function rb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.u=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, -set:this.Tb};z(this)}p(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.A=0)}; -l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.u&&this.u.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.C[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;gc(this);hc(this)};l.pa=function(a,b){if(!b)if(this.W&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.v]);return a.data()}; -l.restore=function(a){if(a=a[0])jc(this,this.f=a[0]),dc(this,this.A=a[1]),kc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])} -l.Bb=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.Ub=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1} -function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.u.w.K||(this.u.A=this.f%Sb,this.b[qc]&&this.b[qc][1]&&rc(this.u))};l.Lb=function(){};l.Fb=function(a){a||this.u.V()}; -l.Db=function(a){if(!a&&!this.u.w.K)if(this.b[qc]&&this.b[qc][1])rc(this.u);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),zc(a,0,null),Nb(a,!1);else try{var b=this.u.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.v&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Ha+=h.B-e,h.B=e,!0;if(e>=h.B+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Lc(Mc,e,f)}e=new Hc(a,e,m,16384,d);Ic(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Nc[d]+" at "+wa(b)),!0):Lc(Oc,b,c)} -function Fc(a,b){var c=a.b[(b&a.v)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Ec(a,b,c){var d=a.b[(b&a.v)>>>a.f];a.A++;d.v(c,b&16383,b);a.A--}function Jc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=id(a)&&(a.ia=a.ka=-1,ed(a),a.V(),c=!0);c&&a.j(id(a)+" cycles: checksum="+q(a.ua))}} -l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=Ab(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&md(a.G)}Bc(a,a.M);a.M=0;a.L=qb();a.O=0;kd(a);return d}function nd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function od(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function pd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&kd(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=nd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=pd(this,!0);this.la+=b;this.M+=b;Cc(this,b);Ac(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=qd&&(this.G&&N(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),id(this));Jb(this, -e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,jd(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; -function rc(a,b){if(!Kb(a))if(a.w.K)a.j(a.toString()+" busy");else{jd(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&md(a.G,!0),a.G.start(a.L,id(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){pd(this);Bc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),id(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var ld=30,qd=15,bd=["power","reset"]; -function rd(a){var b=+a.model||1001;ad.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=sd.bind(this);this.b=P.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(rd,ad);l=rd.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.v=0;this.qa=this.A;this.C=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;dd(this);this.w.error=!1;ad.prototype.reset.call(this)};l.qb=function(){return 0}; -l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.v,this.C,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,td(this));a.set(4,od(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();ia();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.v=b.next().value;this.C=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];jd(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dI&&(a!=Vb?a=Wb-a:this.v|=163840);return a};function Pd(a,b){b?b==Vb?a.v|=163840:b=Wb-b:a.v|=98304;return b}function td(a){var b=[];for(a=a.ra;a;)b.push(a.Vb),a=a.next;return b}l.Nb=function(a){var b=this.H;a=this.qa=a;return b.b[(a&b.v)>>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.v)>>>c.f].i(b,a&16383,a);return b}; -l.Ja=function(a){this.w.complete=!0;var b=this.D?Qd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Rd(this.D,this.A,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ra||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Rd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.C&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Rb;this.J&4194304?a=-1:(this.A=(this.A+1)%Sb,a=this.Na/$b|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function Q(a){this.b(a)} -function Td(){var a=0,b=this.g(this.f),c=b/ac&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ac+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Ud(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} -function Vd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,ud(this,-1);else{var c=this.F/ac&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Wd(a,b){this.i(b,this.g(this.f))}function Xd(a,b){this.i(b,this.f)}function Yd(a,b){this.i(this.f,this.g(b))}function Zd(a,b){this.i(b,0)}function $d(a,b){this.i(b,G-this.g(b))}function ae(a,b){this.i(b,G)} -function be(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ce(a,d,c)+(c-(c&A)))}function de(a,b){var c=this.g(b);this.i(b,ce(a,c,0))}function ee(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ce(a,c,b)+(b-(b&A)))}function fe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ge(a,b){var c=(this.g(this.f)&A)*B,d=this.g(b);this.i(b,ce(a,d,c)+c)} -function he(a,b){var c=this.f*B,d=this.g(b);this.i(b,ce(a,d,c)+c)}function ie(a,b){b=(this.g(b)&A)*B;var c=this.g(this.f);this.i(this.f,ce(a,c,b)+b)}function je(a,b){var c=this.g(this.f),d=(c&A)*B,c=ce(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function ke(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,le(a,d,c)+c)}function me(a,b){var c=this.g(b);this.i(b,le(a,c,this.f)+this.f)}function ne(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)} -function oe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*B;break;case 384:d+=c>Ub?A*B:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function pe(a,b){var c=this.g(this.f)/B|0,d=this.g(b);this.i(b,le(a,d,c)+c)}function qe(a,b){var c=this.g(b);this.i(b,le(a,c,0))}function re(a,b){b=this.g(b)/B|0;var c=this.g(this.f);this.i(this.f,le(a,c,b)+b)}function se(a,b){var c=this.g(this.f),d=c/B|0,c=le(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){te[a&7].call(this,a,a>>3&127)} -function ue(){}function P(a){this.j("undefined opcode: "+wa(a));ud(this,-1);this.V()}function ve(a,b){var c=(a+b)%H;we.call(this,a,b,c);return c}function T(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function xe(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function ye(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function U(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -function ze(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);we.call(this,c,b,a);return c} -function we(a,b,c){a=Math.trunc(a/Xb);b=Math.trunc(b/Xb);c=Math.trunc(c/Xb);var d=a^(a^b)&(b^c);this.v=this.v|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function le(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*B;break;case 384:b=c>Ub?A*B:0}return b}function ce(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} -var Sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Td,function(a,b){0>this.F&&Td.call(this);Ud.call(this,0,b)},Ud,function(a,b){0>this.F&&Td.call(this);Vd.call(this,0,b)},Vd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function cc(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.J=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=dc;this.B={};this.b={START:[1,1,!0,!1,this.Kb],STEP:[1,1,!1,!1,this.Lb],ENABLE:[1,1,!1,!1,this.Fb],CONT:[1,1,!0,!1,this.Db],DEP:[0,0,!0,!1,this.Eb],EXAM:[1,1,!0,!1,this.Gb],LOAD:[1,1,!0,!1,this.Ib],TEST:[0,0,!0,!1,this.Hb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, +set:this.Tb};z(this)}p(cc,u);l=cc.prototype;l.reset=function(a){this.stop();a&&ec(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;hc(this);ic(this)};l.pa=function(a,b){if(!b)if(this.W&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])kc(this,this.f=a[0]),ec(this,this.A=a[1]),lc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.B)mc(a,c,null!=b?b:a.B[c])}function nc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])} +l.Bb=function(a,b,c){if(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return lc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};l.Ub=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.P=b==pc,a.R=b==qc),!0):!1} +function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.v.w.K||(this.v.A=this.f%Tb,this.b[rc]&&this.b[rc][1]&&sc(this.v))};l.Lb=function(){};l.Fb=function(a){a||this.v.V()}; +l.Db=function(a){if(!a&&!this.v.w.K)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+wa(b)),!0):Nc(Qc,b,c)} +function Hc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Gc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Lc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=kd(a)&&(a.ia=a.ka=-1,gd(a),a.V(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.ua))}} +l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}Dc(a,a.M);a.M=0;a.L=qb();a.O=0;md(a);return d}function pd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&md(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=pd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.la+=b;this.M+=b;Ec(this,b);uc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=sd&&(this.G&&O(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),kd(this));Kb(this, +e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,ld(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; +function sc(a,b){if(!Lb(a))if(a.w.K)a.j(a.toString()+" busy");else{ld(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.L,kd(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){rd(this);Dc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var nd=30,sd=15,dd=["power","reset"]; +function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=ud.bind(this);this.b=Q.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.u=0;this.qa=this.A;this.B=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;fd(this);this.w.error=!1;cd.prototype.reset.call(this)};l.qb=function(){return 0}; +l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.u,this.B,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,vd(this));a.set(4,qd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];ld(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b}; +l.Ja=function(a){this.w.complete=!0;var b=this.D?xd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ra||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= +this.J>>18&15)this.f=this.f+this.g(a)&Sb;this.J&4194304?a=-1:(this.A=(this.A+1)%Tb,a=this.Na/ac|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function R(a){this.b(a)} +function Ad(){var a=0,b=this.g(this.f),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Bd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} +function Xd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Yd(a,b){this.i(b,this.g(this.f))}function Zd(a,b){this.i(b,this.f)}function $d(a,b){this.i(this.f,this.g(b))}function ae(a,b){this.i(b,0)}function be(a,b){this.i(b,G-this.g(b))}function ce(a,b){this.i(b,G)} +function de(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ee(a,d,c)+(c-(c&A)))}function fe(a,b){var c=this.g(b);this.i(b,ee(a,c,0))}function ge(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ee(a,c,b)+(b-(b&A)))}function he(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ie(a,b){var c=(this.g(this.f)&A)*E,d=this.g(b);this.i(b,ee(a,d,c)+c)} +function je(a,b){var c=this.f*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}function ke(a,b){b=(this.g(b)&A)*E;var c=this.g(this.f);this.i(this.f,ee(a,c,b)+b)}function le(a,b){var c=this.g(this.f),d=(c&A)*E,c=ee(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function me(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,ne(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.i(b,ne(a,c,this.f)+this.f)}function pe(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)} +function qe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*E;break;case 384:d+=c>Vb?A*E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function re(a,b){var c=this.g(this.f)/E|0,d=this.g(b);this.i(b,ne(a,d,c)+c)}function se(a,b){var c=this.g(b);this.i(b,ne(a,c,0))}function te(a,b){b=this.g(b)/E|0;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}function ue(a,b){var c=this.g(this.f),d=c/E|0,c=ne(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){ve[a&7].call(this,a,a>>3&127)} +function we(){}function Q(a){this.j("undefined opcode: "+wa(a));wd(this,-1);this.V()}function xe(a){a>I&&(a!=Wb?a=Xb-a:this.u|=163840);return a}function ye(a,b){var c=(a+b)%H;ze.call(this,a,b,c);return c}function U(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function Ae(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Be(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} +function Ce(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Yb);b=Math.trunc(b/Yb);c=Math.trunc(c/Yb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*E;break;case 384:b=c>Vb?A*E:0}return b}function ee(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} +var zd=[R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,function(a,b){0>this.F&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.F&&Ad.call(this);Xd.call(this,0,b)},Xd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Wd,Xd,Yd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(b,a)},function(a,b){this.i(b,this.f*B)},function(a,b){a=this.g(b);a=(a/B|0)+a%B*B;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/B|0)+a%B*B;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Pd(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Wb-this.f:0)},function(a,b){this.i(this.f,Pd(this, -this.g(b)))},function(a,b){a=Pd(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,this.abs(this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,this.abs(this.g(b)))},function(a,b){a=this.abs(this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)},function(a,b){this.i(b,ze.call(this, -this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a>I?-(H-a):a;0d?F:0,c=Tb): -(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.v|=131072):a-c<=I&&(this.v|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)},function(a,b){if(a=(this.f<<14>> -14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Tb&&dTb&&eI&&(this.v|=131072):e-c<=I&&(this.v|=131072);e=0;f>Tb&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.v|=131072):(f-c<=I&&(this.v|=131072),d+=F,e+=F)}else-36>=a?(e=-72>=a?d>Tb?G:0:Math.trunc(d%F/Math.pow(2, --a-35)),d<=Tb?d=0:(d=G,e+=F)):(c=d>Tb?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Tb&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%H+Math.trunc(d/Math.pow(2,72-a))); -this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},P,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b), -d=c/B|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*B+c),a||ud(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/B|0||(this.v|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/B|0)==A&&(this.v|=262144); -this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b), -this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Zd,$d,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(b,a)},function(a,b){this.i(b,this.f*E)},function(a,b){a=this.g(b);a=(a/E|0)+a%E*E;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,De.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Xb-this.f:0)},function(a,b){this.i(this.f, +De.call(this,this.g(b)))},function(a,b){a=De.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,xe.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,xe.call(this,this.g(b)))},function(a,b){a=xe.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,Ce.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)}, +function(a,b){this.i(b,Ce.call(this,this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,Ce.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ce.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a> +I?-(H-a):a;0d?F:0,c=Ub):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.u|=131072):a-c<=I&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)}, +function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Ub&&dUb&&eI&&(this.u|=131072):e-c<=I&&(this.u|=131072);e=0;f>Ub&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.u|=131072):(f-c<=I&&(this.u|=131072),d+=F,e+=F)}else-36>=a?(e=-72>= +a?d>Ub?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Ub?d=0:(d=G,e+=F)):(c=d>Ub?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Ub&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a- +36)%H+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},Q,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f, +a)},function(a,b){a=!1;for(var c=this.g(b),d=c/E|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*E+c),a||wd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%Tb)},function(a){this.b(a)},Q,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/E|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A); +this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/E|0)==A&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&A)*E+this.A);this.A=this.f%Tb},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b), +this.g(this.f))))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ee.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Zd,Zd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b), -this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),this.g(this.f))))},Wd,Xd,ue,Wd,function(a,b){this.i(b,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,this.g(b),G-this.g(this.f))))}, -ue,ue,Yd,Yd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b, -U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,T.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,T.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,T.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))}, -function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},$d,$d,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a, -b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b), -G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},ae,ae,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,be,de,ee,fe,ge,he,ie,je,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,ke,me,ne,oe,pe,qe,re,se,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},ae,ae,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a, +b){this.i(this.f,this.i(b,U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},Yd,Zd,we,Yd,function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f, +U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},we,we,$d,$d,function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b), +this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a, +b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},be,be,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f, +this.i(b,V.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),G-this.g(this.f))))}, +function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,G-this.g(b),G-this.g(this.f))))},ce,ce,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue, +me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S, -S,S,S,S,S,S,S,S,S],te=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.v&=-131073);a&131072&&(this.v&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.v&131072&&(a|=8);this.v&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function Be(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.C=+a.addr;this.v=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(nb(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ce(c)})}}p(Be,u); -Be.prototype.xa=function(a,b,c,d){this.H=b;this.u=c;this.D=d;Ce(this)};Be.prototype.pa=function(){this.T&&(this.D&&De(this.D,this.id,this.C,this.v,this.T),delete this.T);return!0};Be.prototype.ga=function(){return!0}; -function Ce(a){if(!Lb(a)){if(a.A){if(!a.b||!a.H)return;a.v||(a.v=a.b.length);if(a.b.length!=a.v)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.v,8,!0)+")");else{var b;b=a.C;if(Kc(a.H,b,a.v,Sc)){var c;for(c=0;c>>f.f;0>>= -f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ta.eb&&c<=ta.xb&&(b=c-(ta.eb-ta.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.ub&&(b=ta.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.u=c;this.D=d;z(this)}; -l.rb=function(a){if(!this.b){var b=cd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Bb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.v);if(this.C=e.receiveData){this.v=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.v),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.v.length&&(a.A=0);if(0>a.A||b!=a.v[a.A])a.v.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.v[a.A+1];a=[];if(b){b=b.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(Ja(b.substring(c,f))),c=f+1}}return a} -function Le(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; +S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],ve=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; +function Fe(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(ob(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ge(c)})}}p(Fe,u); +Fe.prototype.xa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ge(this)};Fe.prototype.pa=function(){this.T&&(this.D&&He(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Fe.prototype.ga=function(){return!0}; +function Ge(a){if(!Mb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Kb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c>>f.f;0>>= +f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ra.eb&&c<=ra.xb&&(b=c-(ra.eb-ra.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.ub&&(b=ra.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; +l.rb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Cb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.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(Ja(b.substring(c,f))),c=f+1}}return a} +function Pe(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 Me(a,b,c){var d;if(b){b=Ne(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,ca--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function Re(a,b){if(b)return Qe(a,b,a.W[b]);var c=0;for(b in a.W)Qe(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Pe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function Se(a){Je.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Te(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ue(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ve(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.C=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return hd(b,a)}):void 0===global[x]&&(global[x]=function(a){return hd(b, -a)})}p(Se,Je);function X(a){a=a&&a.B;null==a&&(a=-1);return a}function W(a,b,c){return{B:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function We(a,b,c,d){a.B=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function Xe(a){return[a.B,a.Oa,a.fa,a.ca,a.Ra]}function Ye(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Ke(a,c.Ra=b[4]));return c}l=Se.prototype; -l.xa=function(a,b,c,d){this.H=b;this.G=a;this.u=c;this.ea=a.v;(a=cd(a,"messages"))&&Ve(this,a);Ze(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=X(Y(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Nc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.u.sa==b&&(b=ud(a.u,1)));if(0d&&(d=a.u.g(b)),0<=d&&(We(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function $f(a,b,c,d){var e=W(b.B),f=a.ya(b,1),g,h,k,m=0,n=f/Yb|0,t;for(t in ag)if(g=ag[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=bg;m=n&3;break;case 32256:k=cg;m=n&7;break;case 29248:k=dg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>eg&&(k="B");k=fg[g||0]+k;k=Ia(k,8);g?(k=28700==h?k+O(a,f/Zb&127,-1):k+O(a,f>>23&15,-1),k+=",",f&4194304&&(k+="@"),k+=O(a,f&262143,-1),(f=f>>18&15)&&(k+="("+O(a,f,-1)+")")):k+=af(f);f=k;g="";h=O(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.ya(e,1),g+=" "+af(k),null== -e.B)break;while(e.B!=b.B)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.u.w.Ea?h+("cycles="+id(a.u).toString()+" cs="+q(a.u.ua)):h+(null!=d?"="+d.toString():""));return h}function Te(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=X(b);if(-1===e)this.j("invalid address: "+O(this,b.B)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(hg(this,a,a.length-1,"set"),Ue(this)));return d};function gg(a,b,c,d,e){var f=!1;c=X(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ue(a);break}}return f} -function ig(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);We(e.va,d);f+="="+O(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,B:c,Cb:d,T:e,mb:f})}function lg(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.u;switch(b){case cf:h.A= -g%Sb;We(a.L,h.A);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.v=g?h.v|f:h.v&~f);N(a.G);a.j("updated registers:")}}a.j(kg(a,e));c&&(We(a.L,d.A),qf(a,O(a,a.L.B)))}}function pg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.B=m.B;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j($f(a,b,g,f));e-=b.B-k;c++}}} -function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.P&&(a.j("ended assemble at "+O(a,a.ba.B)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Lb(a)&&0n||"z"eg&&(xd="B");if(Sg==fg[uf]+xd){tf=29248!=sc?Sa:(Sa&3)<<1|(Sa&12)<<2;C=(wd|tf<<6)*Yb;break}}if(0<= -C)break}if(0<=C)break}if(0<=C)if(rf)for(var yd=rf.split(","),pb=0;pbL||127L||15 -L||262143L||15fa.length&&(a.j("note: only "+fa.length+" available"),V=fa.length);Z-=V;0>Z&&(null==fa[fa.length-1].B?(V=Z+V,Z=0):Z+=fa.length);var Dd=[];"call"==Af&&(rb=1E5,Dd=["CALL"]);for(void 0!==zf&&a.j(V+" instructions earlier:");0=fa.length&&(Z=0);a.sa=V;Cf++;rb--}}Cf||(a.j("no "+Bf+"history available"),a.sa=void 0)}else{var Ya=Y(a,ea,a.ja);if(Ya){var Ca=0,Ff="ds"==Va;if(ra){if("l"==ra.charAt(0))ra=ra.substr(1)||Vg,Ca=Oe(a,ra);else{var Gf=Y(a,ra);Gf&&(Ca=Gf.B-Ya.B)}0>Ca&&(Ca=0);65536Kf;Kf++)If+=String.fromCharCode((uc%64|0)+32),uc/=64}Da&&(Da+="\n");Da=Ff?Da+(Ea+","):Da+(ea+": "+Ea+(0>Jf?" "+If:""))}Da&&a.j(Da);a.ca=Xg}}}}break;case "e":if("else"==g[0])break;var Lf,Mf,Nf=g[0],Gd=g[1];"e"==Nf||"ew"==Nf?(Lf=a.ya,Mf=a.gb):Gd=null;if(null==Gd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var vc=Y(a,Gd,a.ja);if(vc)for(var wc=2;wc< -g.length;wc++){var Hd=Me(a,g[wc]);if(void 0===Hd){a.j("unknown value: "+g[wc]);break}a.j("changing "+O(a,vc.B)+" from "+af(Lf.call(a,vc))+" to "+af(Hd));Mf.call(a,vc,Hd,1)}}break;case "g":a:{var Of=g[1],Zg=b;if(void 0!==Of){var Id=Y(a,Of);if(!Id)break a;$e(a,Id,Zg);a.Da(a.b,Id,!0)}mf(a,!0,c)}break;case "h":a.w.K?(c||a.j("halting"),a.V()):Mb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Jd;var tb=b.substr(2),tb=Ja(tb);Me(a,tb)?(c||a.j("true: "+tb),Jd=!0):(c||a.j("false: "+tb),Jd= -!1);Jd||(d=!1);break}f=!0;break;case "k":var $g=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Kd=0,Ld=W(),ub=W();for(a.j("stack trace for "+O(a,ub.B));10>Kd;){for(var Fa=null,ah=256;65536>ub.B>>>0;){Ld.B=a.ya(ub,2);if(null==ub.B||!ah--)break;if(!(Ld.B&1)){for(var bh=a,xc=Ld,Pf=null,vb=xc.B,Qf=vb,Md=1;6>=Md&&vb;Md++){if(2Wf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress");else{var Xf=W(a.u.A);a.ya(Xf);a.N?(a.Da(a.b,Xf,!0),mf(a)||(a.G&&md(a.G),a.N=0)):qg(a,Wf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset(); -break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var xb=+g[2];if(8==xb||10==xb||16==xb)a.ca=xb;else{a.j("invalid base: "+xb);break}}a.j("default base: "+a.ca);break;case "cs":var yb;void 0!==g[3]&&(yb=+g[3]);switch(g[2]){case "int":a.u.ia=yb;break;case "start":a.u.va=yb;break;case "stop":a.u.ka=yb;break;default:a.j("unknown cs option");break a}void 0!==yb&&ed(a.u);a.j("checksums "+(a.u.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(jd(a.u,+g[2])||a.j("warning: using 1x multiplier, previous target not reached")); -a.j("target speed: "+(a.u.aa.toFixed(2)+"Mhz")+" ("+a.u.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ng(a, -b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Qb||"PDP10")+" version 1.34.2 ("+a.u.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){pg(a,b.substr(1));break}var Nd="commands:",Od;for(Od in sg)Nd+="\n"+Ia(Od,9)+sg[Od];Qd(a)||(Nd+="\nnote: history disabled if no exec breakpoints");a.j(Nd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d} -function hd(a,b,c){b=Ke(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0} -var sg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},eg=20,fg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO".split(" "), -cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),tg={},ag=(tg[28672]={0:101},tg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},tg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:eg,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},tg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},tg[29248]={24576:79,24640:80,25088:81,25152:82},tg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},tg),bg=["","I","M","S"],cg=" L E LE A GE N G".split(" "),dg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lf=1E3,of=">> ";fb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bxg){if(yg(d,this.M)){this.C=new M(this,"1.34.2",Hg);yg(this.C)&&(Ig(this,d),a=Jg,Kg(this.C));this.C.set(Eg,La());Lg(this.C);var e=this.b&&!this.L;if(a==Fg||zb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=Dg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?yg(d,g):("error"==f&&"no machine state"!= -g?(this.da("Error: "+g),"unable to verify user"==g&&(Za(Mg,""),this.f=null)):this.j(f+": "+g),Kg(d),yg(d)?(c=Dg(d),e=!0):c=!1))}e&&Bg(this,c?d:null)}else a==Jg&&d.clear()}else Bg(this);delete this.M;delete this.J}e=Ab(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.u&&(Ng(this,this.u,b,c,a),N(this,-2),this.u.Z());this.P&&(Ig(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.A=0}; -function Ig(a,b){if(zb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function rg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Cg),h=La();g.set(Eg,h);f.set(Eg,h);f.set(Og,"1.34.2");f.set(Pg,window?window.location.href:null);f.set(Qg,window?window.navigator.userAgent:"");a.u&&a.u.ga&&(c&&(b&&(a.u.w.Z=a.u.w.K),a.u.V()),d=a.u.ga(b,c),"object"===typeof d&&f.set(a.u.id,d),c&&(a.u.w.U=!1,!1===d&&(e=null)));for(var h=Ab(a.id),k=0;k=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.v&&(a=a.v,b=b||0,a.M)){c=a.u.w.K;d=!!(a.u.C&8);if(0>=b||60<=(a.L+=b)){e=a.u.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.u.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);kh(a,b,c)}})}else c(a,null)} -function lh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);m&&(--hh||jb(!0));m=!1}var h,k,m=!0;hh++;ob[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=n:D.appendChild(document.createTextNode(n));t.appendChild(D)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?ih(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--hh||jb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--hh|| -jb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?ih(c,b,a,e,!0,f,n):jh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(ca){g(ca.message)}return m}window.embedPDP10=function(a,b,c,d){jb(!1);return lh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){jb(!1);return lh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Cb(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Fb[a]){for(var c=!0,d=Fb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} +function Ve(a,b){if(b)return Ue(a,b,a.W[b]);var c=0;for(b in a.W)Ue(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function We(a){Ne.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return jd(b,a)}):void 0===global[x]&&(global[x]=function(a){return jd(b, +a)})}p(We,Ne);function Y(a){a=a&&a.C;null==a&&(a=-1);return a}function W(a,b,c){return{C:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function $e(a,b,c,d){a.C=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function af(a){return[a.C,a.Oa,a.fa,a.ca,a.Ra]}function bf(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Oe(a,c.Ra=b[4]));return c}l=We.prototype; +l.xa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=ed(a,"messages"))&&Ze(this,a);cf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(df(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.sa==b&&(b=wd(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&($e(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function xf(a,b,c,d){var e=W(b.C),f=a.ya(b,1),g,h,k,m=0,n=f/Zb|0,t;for(t in dg)if(g=dg[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=fg;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=hg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>ig&&(k="B");k=jg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=P(a,m,-1);else if(m=f>>23&15,h=P(a,m,-1),g==kg&&(g=lg[m]))k=jg[g],h="";k=Ia(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=P(a,f&262143,-1);(f=f>>18&15)&&(k+="("+P(a,f,-1)+")")}else k=Ia(k,8)+ff(f);f=k;g="";h=Z(a, +e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.ya(e,1),g+=" "+ff(k),null==e.C)break;while(e.C!=b.C)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.ua)):h+(null!=d?"="+d.toString():""));return h}function Xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||mg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(ng(this,a,a.length-1,"set"),Ye(this)));return d};function mg(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ye(a);break}}return f} +function og(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);$e(e.va,d);f+="="+P(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=lf?1:d==jf?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,C:c,Cb:d,T:e,mb:f})}function rg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case hf:h.A= +g%Tb;$e(a.L,h.A);break;case lf:f=65536;break;case mf:f=32768;break;case nf:f=131072;break;case of:f=32;break;case pf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);O(a.G);a.j("updated registers:")}}a.j(qg(a,e));c&&($e(a.L,d.A),vf(a,Z(a,a.L)))}}function vg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j(xf(a,b,g,f));e-=b.C-k;c++}}} +function pg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(tf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Mb(a)&&0n||"z"ig&&(Fd="B");if(Cd== +jg[sb]+Fd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Ed|Af<<6)*Zb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Gd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ba-=X;0>ba&&(null==ha[ha.length-1].C?(X=ba+X,ba=0):ba+=ha.length);var Ld=[];"call"==Gf&&(ub=1E5,Ld=["CALL"]);for(void 0!==Ff&& +a.j(X+" instructions earlier:");0=ha.length&&(ba=0);a.sa=X;If++;ub--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=df(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||$g,Da=Se(a,ta);else{var Mf=df(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=bh}}}}break;case "e":if("else"==g[0])break;var Rf,Sf,Tf=g[0],Od=g[1];"e"==Tf||"ew"==Tf?(Rf=a.ya,Sf=a.gb):Od=null;if(null== +Od)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=df(a,Od,a.ja);if(zc)for(var Ac=2;AcSd;){for(var Ga=null,fh=256;65536>xb.C>>>0;){Td.C=a.ya(xb,2);if(null==xb.C||!fh--)break;if(!(Td.C&1)){for(var gh=a,Bc=Td,Vf=null,yb=Bc.C,Wf=yb, +Ud=1;6>=Ud&&yb;Ud++){if(2bg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); +else{var cg=W(a.v.A);a.ya(cg);a.N?(a.Da(a.b,cg,!0),rf(a)||(a.G&&od(a.G),a.N=0)):wg(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}uf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ab=+g[2];if(8==Ab||10==Ab||16==Ab)a.ca=Ab;else{a.j("invalid base: "+Ab);break}}a.j("default base: "+a.ca);break;case "cs":var Bb;void 0!==g[3]&&(Bb=+g[3]);switch(g[2]){case "int":a.v.ia=Bb;break;case "start":a.v.va=Bb;break;case "stop":a.v.ka=Bb;break;default:a.j("unknown cs option");break a}void 0!== +Bb&&gd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), +a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":wg(a,g[0],g[1]);break;case "u":vf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){tg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Rb||"PDP10")+" version 1.34.2 ("+a.v.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){vg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in yg)Vd+="\n"+Ia(Wd,9)+yg[Wd];xd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.j(Vd);break;default:f=!0}f&&(a.j("unknown command: "+ +b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function jd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!pg(a,b[+d]))return!1;return!0} +var yg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},ig=20,kg=85,jg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), +hf=0,jf=1,kf=2,lf=3,mf=4,nf=5,of=6,pf=7,gf="PC RA EA C0 C1 OV ND PD".split(" "),zg={},dg=(zg[28672]={0:101},zg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:kg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},zg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:ig,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},zg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},zg[29248]={24576:79,24640:80,25088:81,25152:82},zg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},zg),fg=["","I","M","S"],gg=" L E LE A GE N G".split(" "),hg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lg={8:102,4:103,2:104,6:105,1:106},qf=1E3,tf=">> ";gb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bDg){if(Eg(d,this.M)){this.B=new M(this,"1.34.2",Ng);Eg(this.B)&&(Og(this,d),a=Pg,Qg(this.B));this.B.set(Kg,La());Rg(this.B);var e=this.b&&!this.L;if(a==Lg||rb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Jg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Eg(d,g):("error"==f&&"no machine state"!= +g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Sg,""),this.f=null)):this.j(f+": "+g),Qg(d),Eg(d)?(c=Jg(d),e=!0):c=!1))}e&&Hg(this,c?d:null)}else a==Pg&&d.clear()}else Hg(this);delete this.M;delete this.J}e=tb(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.v&&(Tg(this,this.v,b,c,a),O(this,-2),this.v.Z());this.P&&(Og(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; +function Og(a,b){if(rb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} +function xg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Ig),h=La();g.set(Kg,h);f.set(Kg,h);f.set(Ug,"1.34.2");f.set(Vg,window?window.location.href:null);f.set(Wg,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ph(a,b,c)}})}else c(a,null)} +function qh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);m&&(--mh||kb(!0));m=!1}var h,k,m=!0;mh++;pb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?nh(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--mh||kb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--mh|| +kb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?nh(c,b,a,e,!0,f,n):oh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){kb(!1);return qh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){kb(!1);return qh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Db(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Gb[a]){for(var c=!0,d=Gb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n":62,"?":63,"@":64,Ma:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Xa:127}; function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ua(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; +function oa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function pa(){var a=qa();return-1!==a.indexOf("pcjs.org",a.length-8)}function ra(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; function va(){function a(a){return(10>a?"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 r(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} @@ -66,9 +66,9 @@ k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(thi k.cb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; k.ub=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);gb(this,this.j=a)}};k.jb=function(a){a||this.i.h.A||mb(this,this.g)};k.ib=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.za+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.za){p=h.size-(e-l);p>f&&(p=f);h.za=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new T(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} @@ -88,87 +88,88 @@ function vb(a,b){for(var c=a.G.length-1;0<=c;c--){var d=a.G[c];0>d[0]||(d[0]-=b, k.sb=function(){if(this.h.A){this.sa>=this.Fa&&Zb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Ea&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.h.wa?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Aa(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Ga>=cc&&(this.u&&S(this.u,void 0),this.Ga=0);break}}while(this.h.A)}catch(f){R(this); this.u&&this.u.stop(Na(),Xb(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Qa;this.I=Na();c=this.Ea;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; function ub(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Yb(a);a.h.A=!0;a.h.Ka=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.Aa=function(){return 0};function R(a){var b=!1;if(a.h.A){bc(a);wb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Xb(a));b=!0;a.v||a.status("Stopped")}a.h.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.o=this.Ca=this.na;this.l=-1;this.ta=this.g=0;this.la=this.o;this.j=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.o,this.l,this.g,this.j,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ua=b.next().value;this.o=b.next().value;this.l=b.next().value;this.g=b.next().value;this.j=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;dO&&(a!=$a?a=ab-a:this.g|=163840);return a};function hc(a,b){b?b==$a?a.g|=163840:b=ab-b:a.g|=98304;return b}function fc(a){var b=[];for(a=a.fa;a;)b.push(a.wb),a=a.next;return b}k.ob=function(a){var b=this.s;a=this.la=a;return b.a[(a&b.g)>>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; -k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.j=this.j&-5|0;do{if(a=this.j)if(a=this.j&11)this.j&2?this.fa||(this.j&=-3):this.j&1&&this.j++,a=!1;if(a){if(this.j&4&&this.v.j(this.o,b)){R(this);break}if(0>b)break}this.j&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.o);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.o=(this.o+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< -this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function jc(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} -function kc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.l=-1}}function lc(a,b){a=this.c(this.b);if(0>this.l)this.l=a,this.w=this.b|4194304,gc(this);else{var c=this.l/db&63,d=this.l>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.l=-1}}function mc(a,b){this.f(b,this.c(this.b))} -function nc(a,b){this.f(b,this.b)}function oc(a,b){this.f(this.b,this.c(b))}function pc(a,b){this.f(b,0)}function qc(a,b){this.f(b,M-this.c(b))}function rc(a,b){this.f(b,M)}function sc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function tc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function uc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} -function vc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function wc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function yc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function zc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function Ac(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Cc(a,b){var c=this.c(b);this.f(b,Bc(a,c,this.b)+this.b)}function Dc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ec(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Fc(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Bc(a,d,c)+c)}function Gc(a,b){var c=this.c(b);this.f(b,Bc(a,c,0))} -function Hc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Bc(a,c,b)+b)}function Ic(a,b){var c=this.c(this.b),d=c/J|0,c=Bc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Jc[a&7].call(this,a,a>>3&127)}function Kc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)}function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)} -function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)}function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Bc(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} -var ic=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},jc,function(a,b){0>this.l&&jc.call(this);kc.call(this,0,b)},kc,function(a,b){0>this.l&&jc.call(this);lc.call(this,0,b)},lc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.j=this.Ca=this.na;this.o=-1;this.ta=this.g=0;this.la=this.j;this.l=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; +k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.j,this.o,this.g,this.l,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ua=b.next().value;this.j=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; +k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.fa||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.v.j(this.j,b)){R(this);break}if(0>b)break}this.l&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.j);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.j=(this.j+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< +this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function ic(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} +function jc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.o=-1}}function kc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function lc(a,b){this.f(b,this.c(this.b))} +function mc(a,b){this.f(b,this.b)}function nc(a,b){this.f(this.b,this.c(b))}function oc(a,b){this.f(b,0)}function pc(a,b){this.f(b,M-this.c(b))}function qc(a,b){this.f(b,M)}function rc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function sc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function tc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} +function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function vc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function wc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function yc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} +function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Kc(a){a>O&&(a!=$a?a=ab-a:this.g|=163840);return a}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)} +function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} +function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} +var hc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,function(a,b){0>this.o&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.o&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},mc,nc,oc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,hc(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b,hc(this, -this.c(b)))},function(a,b){a=hc(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,this.abs(this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,this.abs(this.c(b)))},function(a,b){a=this.abs(this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)},function(a,b){this.f(b,Pc.call(this, -this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a>O?-(N-a):a;0d?L:0,c=K): -(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)},function(a,b){if(a=(this.b<<14>> -14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d>K?M:0:Math.trunc(d%L/Math.pow(2, --a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/Math.pow(2,72-a)));this.f(b, -c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/ -J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);this.f(b, -a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Qc.call(this,this.c(b),this.b))}, -function(a,b){this.f(this.b,Qc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Qc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,mc,nc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Qc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b, +Qc.call(this,this.c(b)))},function(a,b){a=Qc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Kc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Kc.call(this,this.c(b)))},function(a,b){a=Kc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)}, +function(a,b){this.f(b,Pc.call(this,this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a> +O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)}, +function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d> +K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/ +Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a= +!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.b%Ya)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b== +b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,(this.g&I)*J+this.j);this.j=this.b%Ya},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a, +b){this.f(b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Rc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Rc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},pc,pc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a, -b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},mc,nc,Kc,mc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Kc,Kc,oc,oc,function(a, -b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b), -this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b, -this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},qc,qc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b, -M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b, -Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},rc,rc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Ac,Cc,Dc,Ec,Fc,Gc,Hc,Ic,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, +Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},lc,mc,Jc,lc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Jc,Jc,nc,nc,function(a,b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b, +Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b), +this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},pc,pc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M- +this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b, +Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},qc,qc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc, +zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Jc=[function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Rc(a){w.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Sc(c)})}}n(Rc,w); -Rc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Sc(this)};Rc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Rc.prototype.R=function(){return!0}; -function Sc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.g,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X, +X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; +function Sc(a){w.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Tc(c)})}}n(Sc,w); +Sc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Tc(this)};Sc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Sc.prototype.R=function(){return!0}; +function Tc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.g,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;G(this)}; -k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.oa)return;c=ua(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bad){if(bd(d,this.C)){this.l=new Q(this,"1.34.2",kd);bd(this.l)&&(ld(this,d),a=md,nd(this.l));this.l.set(hd,va());od(this.l);var e=this.a&&!this.B;if(a==id||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=gd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bd(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(pd,""),this.b=null)):this.M(f+": "+g),nd(d),bd(d)?(c=gd(d),e=!0):c=!1))}e&&ed(this,c?d:null)}else a==md&&d.clear()}else ed(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(qd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(ld(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function ld(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function rd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",fd),h=va();g.set(hd,h);f.set(hd,h);f.set(sd,"1.34.2");f.set(td,window?window.location.href:null);f.set(ud,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l");if(2==c.length){var d=ta(c[0]);if(d!=this.oa)return;c=ta(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bbd){if(cd(d,this.C)){this.l=new Q(this,"1.34.2",ld);cd(this.l)&&(md(this,d),a=nd,od(this.l));this.l.set(id,va());pd(this.l);var e=this.a&&!this.B;if(a==jd||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=hd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?cd(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(qd,""),this.b=null)):this.M(f+": "+g),od(d),cd(d)?(c=hd(d),e=!0):c=!1))}e&&fd(this,c?d:null)}else a==nd&&d.clear()}else fd(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(rd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(md(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function md(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function sd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",gd),h=va();g.set(id,h);f.set(id,h);f.set(td,"1.34.2");f.set(ud,window?window.location.href:null);f.set(vd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.j&8);if(0>=b||60<=(a.B+=b)){e=a.i.o;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.o:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Cd(a,b,c)}})}else c(a,null)} -function Dd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--zd||Ha(!0));p=!1}var h,l,p=!0;zd++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ta=document.createElement("style");ta.type="text/css";ta.styleSheet?ta.styleSheet.cssText=x:ta.appendChild(document.createTextNode(x));A.appendChild(ta)}d|| -(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Ad(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--zd||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--zd|| -Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ad(c,b,a,e,!0,f,x):Bd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Ed){g(Ed.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Dd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Dd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; +function S(a,b){if(a.i){var c=a.i,d=b||0,e=c.m.speed;e&&(0>=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.l&8);if(0>=b||60<=(a.B+=b)){e=a.i.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Dd(a,b,c)}})}else c(a,null)} +function Ed(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--Ad||Ha(!0));p=!1}var h,l,p=!0;Ad++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ua=document.createElement("style");ua.type="text/css";ua.styleSheet?ua.styleSheet.cssText=x:ua.appendChild(document.createTextNode(x));A.appendChild(ua)}d|| +(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Bd(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Ad||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ad|| +Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Bd(c,b,a,e,!0,f,x):Cd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Fd){g(Fd.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Ed("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Ed("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ra[a]){for(var c=!0,d=Ra,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x Date: Tue, 7 Mar 2017 14:09:24 -0800 Subject: [PATCH 30/32] Well, apparently the PDP-10 MUL instruction really DOES store the high-order word first, and it only stores the low-order word if the destination is an accumulator (weird) --- apps/pdp10/tests/optest-v01.json | 2 + apps/pdp10/tests/optest-v01.simh | 44 +++++++------- modules/pdp10/lib/cpuops.js | 94 +++++++++++++++++++++++++++++- modules/shared/lib/int36.js | 20 ------- versions/pdpjs/1.34.2/pdp10-dbg.js | 2 +- versions/pdpjs/1.34.2/pdp10.js | 2 +- 6 files changed, 118 insertions(+), 46 deletions(-) diff --git a/apps/pdp10/tests/optest-v01.json b/apps/pdp10/tests/optest-v01.json index a485b0ab5..c4f307219 100644 --- a/apps/pdp10/tests/optest-v01.json +++ b/apps/pdp10/tests/optest-v01.json @@ -47,5 +47,7 @@ 0o265040000123, // 000122: JSP 1,.+1 0o270000000000, // 000123: ADD 0,0 0o265040000125, // 000124: JSP 1,.+1 + 0o255740000126, // 000125: JFCL 17,126 + 0o224100000002, // 000126: MUL 2,2 ] } diff --git a/apps/pdp10/tests/optest-v01.simh b/apps/pdp10/tests/optest-v01.simh index a5700bc71..f6adb463b 100644 --- a/apps/pdp10/tests/optest-v01.simh +++ b/apps/pdp10/tests/optest-v01.simh @@ -1,24 +1,26 @@ -dep 100 505040111111 -dep 101 541040444444 -dep 102 544100000001 -dep 103 504100000001 -dep 104 570140000001 -dep 105 530200000002 -dep 106 544240000003 -dep 107 504300000004 -dep 110 573000000005 -dep 111 533000000006 -dep 112 541000000010 -dep 113 251000000017 -dep 114 577040000002 -dep 115 261240000011 -dep 116 262240000005 -dep 117 515040170600 -dep 120 135100000001 -dep 121 270000000000 -dep 122 265040000123 -dep 123 270000000000 -dep 124 265040000125 +dep 100 HRLI 1,111111 +dep 101 HRRI 1,444444 +dep 102 HLR 2,1 +dep 103 HRL 2,1 +dep 104 HRRE 3,1 +dep 105 HLLE 4,2 +dep 106 HLR 5,3 +dep 107 HRL 6,4 +dep 110 HRRES 0,5 +dep 111 HLLES 0,6 +dep 112 HRRI 0,10 +dep 113 BLT 0,17 +dep 114 HLRES 1,2 +dep 115 PUSH 5,11 +dep 116 POP 5,5 +dep 117 HRLZI 1,170600 +dep 120 LDB 2,1 +dep 121 ADD 0,0 +dep 122 JSP 1,123 +dep 123 ADD 0,0 +dep 124 JSP 1,125 +dep 125 JFCL 17,126 +dep 126 MUL 2,2 ex -m 100-116 dep pc 100 step 11 diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index a20646350..1499599c4 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -33,6 +33,92 @@ if (NODE) { var PDP10 = require("./defines"); } +/* + From the "PDP-10 System Reference Manual", May 1968, p. 1-4: + + 1.1 NUMBER SYSTEM + + The program can interpret a data word as a 36-digit, unsigned binary number, or the left and right + halves of a word can be taken as separate 18-bit numbers. The PDP-10 repertoire includes instructions + that effectively add or subtract one from both halves of a word, so the right half can be used for + address modification when the word is addressed as an index register, while the left half is used to + keep a control count. + + The standard arithmetic instructions in the PDP-10 use twos complement, fixed point conventions to do + binary arithmetic. In a word used as a number, bit 0 (the leftmost bit) represents the sign, 0 for positive, + 1 for negative. In a positive number the remaining 35 bits are the magnitude in ordinary binary notation. + The negative of a number is obtained by taking its twos complement. If x is an n-digit binary number, its + twos complement is 2^n - x, and its ones complement is (2^n - 1) - x, or equivalently (2^n - x) - 1. + + Subtracting a number from 2^n - 1 (ie, from all 1s) is equivalent to performing the logical complement, + ie changing all 0s to 1s and all 1s to 0s. Therefore, to form the twos complement one takes the logical + complement (usually referred to merely as the complement) of the entire word including the sign, and adds + 1 to the result. In a negative number the sign bit is 1, and the remaining bits are the twos complement + of the magnitude. + + Zero is represented by a word containing all 0s. Complementing this number produces all 1s, and adding + 1 to that produces all 0s again. Hence there is only one zero representation and its sign is positive. + Since the numbers are symmetrical in magnitude about a single zero representation, all even numbers both + positive and negative end in 0, all odd numbers in 1 (a number all 1s represents -1). But since there are + the same number of positive and negative numbers and zero is positive, there is one more negative number + than there are nonzero positive numbers. This is the most negative number and it cannot be produced by + negating any positive number (its octal representation is 400000 000000 and its magnitude is one greater + than the largest positive number). + + If ones complements were used for negatives one could read a negative number by attaching significance + to the as instead of the 1s. In twos complement notation each negative number is one greater than the + complement of the positive number of the same magnitude, so one can read a negative number by attaching + significance to the rightmost 1 and attaching significance to the 0s at the left of it (the negative number + of largest magnitude has a 1 in only the sign position). In a negative integer, 1s may be discarded at the + left, just as leading 0s may be dropped in a positive integer. In a negative fraction, 0s may be discarded + at the right. So long as only 0s are discarded, the number remains in twos complement form because it + still has a 1 that possesses significance; but if a portion including the rightmost 1 is discarded, the + remaining part of the fraction is now a ones complement. + + The computer does not keep track of a binary point - the programmer must adopt a point convention and shift + the magnitude of the result to conform to the convention used. Two common conventions are to regard a number + as an integer (binary point at the right) or as a proper fraction (binary point at the left); in these two + cases the range of numbers represented by a single word is -2^35 to 2^35 - 1, or -1 to 1 - 2^35. Since + multiplication and division make use of double length numbers, there are special instructions for performing + these operations with integral operands. + + SIDEBAR: Multiplication produces a double length product, and the programmer must remember that discarding + the low order part of a double length negative leaves the high order part in correct twos complement form + only if the low order part is null. + + ... + + 2.5 FIXED POINT ARITHMETIC + + For fixed point arithmetic the PDP-10 has instructions for arithmetic shifting (which is essentially + multiplication by a power of 2) as well as for performing addition, subtraction, multiplication and division + of numbers in fixed point format [§ 1.1]. In such numbers the position of the binary point is arbitrary + (the programmer may adopt any point convention). The add and subtract instructions involve only single length + numbers, whereas multiply supplies a double length product, and divide uses a double length dividend. The high + and low order words respectively of a double length fixed point number are in accumulators A and A+1 (mod 20), + where the magnitude is the 70-bit string in bits 1-35 of the two words and the signs of the two are identical. + There are also integer multiply and divide instructions that involve only single length numbers and are + especially suited for handling smaller integers, particularly those of eighteen bits or less such as addresses + (of course they can be used for small fractions as well provided the programmer keeps track of the binary point). + For convenience in the following, all operands are assumed to be integers (binary point at the right). + + The processor has four flags, Overflow, Carry 0, Carry 1 and No Divide, that indicate when the magnitude of a + number is or would be larger than can be accommodated. Carry 0 and Carry 1 actually detect carries out of bits + 0 and 1 in certain instructions that employ fixed point arithmetic operations: the add and subtract instructions + treated here, the move instructions that produce the negative or magnitude of the word moved [§ 2.2], and the + arithmetic test instructions that increment or decrement the test word [§ 2.7]. In these instructions an + incorrect result is indicated - and the Overflow flag set - if the carries are different, ie if there is a carry + into the sign but not out of it, or vice versa. The Overflow flag is also set by No Divide being set, which + means the processor has failed to perform a division because the magnitude of the dividend is greater than or + equal to that of the divisor, or in integer divide, simply that the divisor is zero. In other overflow cases + only Overflow itself is set: these include too large a product in multiplication, and loss of significant bits + in left arithmetic shifting. + + SIDEBAR: Overflow is determined directly from the carries, not from the carry flags, as their states may reflect + events in previous instructions. + + */ + /** * opKA10(op) * @@ -5315,6 +5401,7 @@ PDP10.doADD = function(dst, src) * only possible out-of-bounds value is a result >= WORD_LIMIT, which the mod cures. */ var res = (dst + src) % PDP10.WORD_LIMIT; + //noinspection JSUnresolvedFunction PDP10.setAddFlags.call(this, dst, src, res); return res; }; @@ -5423,7 +5510,7 @@ PDP10.doIOR = function(dst, src) * @this {CPUStatePDP10} * @param {number} dst (36-bit value) * @param {number} src (36-bit value) - * @return {number} (dst * src) (the low 36 bits of the result; the high 36 bits are stored in regExt) + * @return {number} (dst * src) (the high 36 bits of the result; the low 36 bits are stored in regExt) */ PDP10.doMUL = function(dst, src) { @@ -5491,8 +5578,8 @@ PDP10.doMUL = function(dst, src) this.regPS |= PDP10.PSFLAG.OVFL; } - this.regExt = ext; - return res; + this.regExt = res; + return ext; }; /** @@ -5545,6 +5632,7 @@ PDP10.doSUB = function(dst, src) * We can leverage setAddFlags() by treating the subtraction as addition; * since res = dst - src, it is also true that dst = res + src. */ + //noinspection JSUnresolvedFunction PDP10.setAddFlags.call(this, res, src, dst); return res; }; diff --git a/modules/shared/lib/int36.js b/modules/shared/lib/int36.js index ace715e25..d3d625f76 100644 --- a/modules/shared/lib/int36.js +++ b/modules/shared/lib/int36.js @@ -60,7 +60,6 @@ negating any positive number (its octal representation is 400000 000000 and its magnitude is one greater than the largest positive number). - If ones complements were used for negatives one could read a negative number by attaching significance to the as instead of the 1s. In twos complement notation each negative number is one greater than the complement of the positive number of the same magnitude, so one can read a negative number by attaching @@ -138,10 +137,6 @@ * be set to null by any other operation. * * The 'error' property records any error(s) from the last operation. - * - * NOTE: What we call extended Int36 values DEC refers to as "double length numbers", and they refer - * to the 'extended' portion as the "low order part" and the 'value' portion as the "high order part", - * presumably because they number the left-most significant bit 0. */ class Int36 { /** @@ -1072,21 +1067,6 @@ class Int36 { * * Unsets extended if it's superfluous; opposite of extend(). * - * It's worth noting DEC's SIDEBAR comment (from above): - * - * Multiplication produces a double length product, and the programmer must remember that discarding - * the low order part ['extended'] of a double length negative leaves the high order part ['value'] in - * correct twos complement form only if the low order part ['extended'] is null [zero]. - * - * is not applicable when we're using 71-bit magnitude values; for example, when value is MIN_NEG36 and - * extended is ZERO, we interpret that extended value as 34,359,738,368; we cannot simply eliminate the - * extended portion, otherwise value would be interpreted as -34,359,738,368. - * - * DEC can say that because each of the words in a PDP-10 double-length product contains its own sign bit, - * resulting in only 70 bits of magnitude. However, we don't store our extended (double-length) results that - * way, unless setMagnitude(70) has been called, so be aware of these mismatches in both terminology and - * format when converting an Int36 to/from PDP-10 registers/memory. - * * @this {Int36} */ reduce() diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 5a8e79319..1561c91ef 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -104,7 +104,7 @@ function de(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ee(a,d,c)+(c-(c&A)))} function je(a,b){var c=this.f*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}function ke(a,b){b=(this.g(b)&A)*E;var c=this.g(this.f);this.i(this.f,ee(a,c,b)+b)}function le(a,b){var c=this.g(this.f),d=(c&A)*E,c=ee(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function me(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,ne(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.i(b,ne(a,c,this.f)+this.f)}function pe(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)} function qe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*E;break;case 384:d+=c>Vb?A*E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function re(a,b){var c=this.g(this.f)/E|0,d=this.g(b);this.i(b,ne(a,d,c)+c)}function se(a,b){var c=this.g(b);this.i(b,ne(a,c,0))}function te(a,b){b=this.g(b)/E|0;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}function ue(a,b){var c=this.g(this.f),d=c/E|0,c=ne(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){ve[a&7].call(this,a,a>>3&127)} function we(){}function Q(a){this.j("undefined opcode: "+wa(a));wd(this,-1);this.V()}function xe(a){a>I&&(a!=Wb?a=Xb-a:this.u|=163840);return a}function ye(a,b){var c=(a+b)%H;ze.call(this,a,b,c);return c}function U(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function Ae(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Be(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -function Ce(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(aI&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Yb);b=Math.trunc(b/Yb);c=Math.trunc(c/Yb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*E;break;case 384:b=c>Vb?A*E:0}return b}function ee(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} var zd=[R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,function(a,b){0>this.F&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.F&&Ad.call(this);Xd.call(this,0,b)},Xd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, diff --git a/versions/pdpjs/1.34.2/pdp10.js b/versions/pdpjs/1.34.2/pdp10.js index 9c501b284..c590fd0bb 100644 --- a/versions/pdpjs/1.34.2/pdp10.js +++ b/versions/pdpjs/1.34.2/pdp10.js @@ -100,7 +100,7 @@ function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+ function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Kc(a){a>O&&(a!=$a?a=ab-a:this.g|=163840);return a}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)} function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} -function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(aO&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} var hc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,function(a,b){0>this.o&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.o&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, From 48792873de5768f17bbb6a4aa42e9ca9f540fff3 Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 7 Mar 2017 17:21:59 -0800 Subject: [PATCH 31/32] Eliminate PDP-10 dependencies on the Int36 class (which is now used only for prototyping and command-line testing) --- devices/README.md | 1 + modules/pdp10/lib/cpuops.js | 42 ++++++++++++++++++++++++----------- modules/pdp10/lib/cpustate.js | 11 ++++++--- modules/pdp10/lib/memory.js | 24 +++++++++++++------- package.json | 1 - 5 files changed, 54 insertions(+), 25 deletions(-) diff --git a/devices/README.md b/devices/README.md index ce2892d16..de40c0c7b 100644 --- a/devices/README.md +++ b/devices/README.md @@ -16,6 +16,7 @@ All PCjs machines are built from the following sets of devices: * [6502 Devices](c1p/) (e.g., [Challenger 1P](c1p/machine/)) * [8080 Devices](pc8080/) (e.g., [Space Invaders](pc8080/machine/invaders/), [VT100 Terminal](pc8080/machine/vt100/)) * [8086 Devices](pcx86/) (e.g., [IBM PC and compatibles](pcx86/machine/)) +* [PDP-10 Devices](pdp10/) (e.g., [PDP-10 (Model KA10)](pdp10/machine/ka10/)) * [PDP-11 Devices](pdp11/) (e.g., [PDP-11/20](pdp11/machine/1120/), [PDP-11/45](pdp11/machine/1145/), [PDP-11/70](pdp11/machine/1170/)) These devices are user-installable components that you would typically find in a real personal computer, diff --git a/modules/pdp10/lib/cpuops.js b/modules/pdp10/lib/cpuops.js index 1499599c4..83e442a6b 100644 --- a/modules/pdp10/lib/cpuops.js +++ b/modules/pdp10/lib/cpuops.js @@ -338,11 +338,8 @@ PDP10.opILDB = function(op, acc) * opIBP() on phase 1. */ if (this.regBP < 0) { - //noinspection JSUnresolvedFunction PDP10.opIBP.call(this, op, acc); } - - //noinspection JSUnresolvedFunction PDP10.opLDB.call(this, op, acc); }; @@ -375,7 +372,6 @@ PDP10.opLDB = function(op, acc) if (this.regBP < 0) { this.regBP = w; this.regRA = this.regEA | PDP10.OPCODE.I_BIT; - this.advancePC(-1); return; } var p = (this.regBP / PDP10.OPCODE.P_SCALE) & PDP10.OPCODE.P_MASK; @@ -428,11 +424,8 @@ PDP10.opIDPB = function(op, acc) * opIBP() on phase 1. */ if (this.regBP < 0) { - //noinspection JSUnresolvedFunction PDP10.opIBP.call(this, op, acc); } - - //noinspection JSUnresolvedFunction PDP10.opDPB.call(this, op, acc); }; @@ -1668,7 +1661,15 @@ PDP10.opLSH = function(op, acc) }; /** - * opJFFO(0o243000) + * opJFFO(0o243000): Jump if Find First One + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-56: + * + * If AC contains zero, clear AC A+1 and go on to the next instruction in sequence. + * + * If AC is not zero, count the number of leading 0s in it (0s to the left of the leftmost 1), + * and place the count in AC A+1. Take the next instruction from location E and continue sequential + * operation from there. In either case AC is unaffected, the original contents of AC A +1 are lost. * * @this {CPUStatePDP10} * @param {number} op @@ -1676,7 +1677,16 @@ PDP10.opLSH = function(op, acc) */ PDP10.opJFFO = function(op, acc) { - this.opUndefined(op); + var dst = 0; + var src = this.readWord(acc); + if (src) { + while (src < PDP10.INT_LIMIT) { + dst++; + src *= 2; + } + this.setPC(this.regEA); + } + this.writeWord((acc + 1) & 0o17, dst); }; /** @@ -2068,7 +2078,15 @@ PDP10.opJFCL = function(op, acc) }; /** - * opXCT(0o256000) + * opXCT(0o256000): Execute + * + * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-56: + * + * Execute the contents of location E as an instruction. Any instruction may be executed, including another XCT. + * If an XCT executes a skip instruction, the skip is relative to the location of the XCT (the first XCT if there + * are several in a chain). If an XCT executes a jump, program flow is altered as specified by the jump (no matter + * how many XCTs precede a jump instruction, when PC is saved it contains an address one greater than the location + * of the first XCT in the chain). * * @this {CPUStatePDP10} * @param {number} op @@ -2076,7 +2094,7 @@ PDP10.opJFCL = function(op, acc) */ PDP10.opXCT = function(op, acc) { - this.opUndefined(op); + this.regXC = this.regEA; }; /** @@ -5401,7 +5419,6 @@ PDP10.doADD = function(dst, src) * only possible out-of-bounds value is a result >= WORD_LIMIT, which the mod cures. */ var res = (dst + src) % PDP10.WORD_LIMIT; - //noinspection JSUnresolvedFunction PDP10.setAddFlags.call(this, dst, src, res); return res; }; @@ -5632,7 +5649,6 @@ PDP10.doSUB = function(dst, src) * We can leverage setAddFlags() by treating the subtraction as addition; * since res = dst - src, it is also true that dst = res + src. */ - //noinspection JSUnresolvedFunction PDP10.setAddFlags.call(this, res, src, dst); return res; }; diff --git a/modules/pdp10/lib/cpustate.js b/modules/pdp10/lib/cpustate.js index ac9398248..1276eeafa 100644 --- a/modules/pdp10/lib/cpustate.js +++ b/modules/pdp10/lib/cpustate.js @@ -176,6 +176,7 @@ class CPUStatePDP10 extends CPUPDP10 { { this.regEA = this.regRA = this.regOP = 0; this.regPC = this.lastPC = this.addrReset; + this.regXC = -1; // if >= 0 this supersedes regPC (refers to an opcode from XCT) this.regBP = -1; // active byte pointer (-1 if none) this.regPS = 0; // assorted processor flags (see PSFLAG bit definitions) this.regExt = 0; // internal "extension" register used for 72-bit calculations (eg, MUL) @@ -283,6 +284,7 @@ class CPUStatePDP10 extends CPUPDP10 { this.regRA, this.regOP, this.regPC, + this.regXC, this.regBP, this.regPS, this.opFlags, @@ -315,6 +317,7 @@ class CPUStatePDP10 extends CPUPDP10 { this.regRA, this.regOP, this.regPC, + this.regXC, this.regBP, this.regPS, this.opFlags, @@ -394,8 +397,12 @@ class CPUStatePDP10 extends CPUPDP10 { { if ((this.regRA & PDP10.OPCODE.I_BIT)) { this.regRA = this.readWord(this.regEA); + } else if (this.regXC >= 0) { + this.regRA = this.regOP = this.readWord(this.regXC); + this.regXC = -1; } else { this.regRA = this.regOP = this.readWord(this.lastPC = this.regPC); + this.regPC = (this.regPC + 1) % PDP10.ADDR_LIMIT; } /* @@ -418,10 +425,8 @@ class CPUStatePDP10 extends CPUPDP10 { this.regEA = this.regRA & PDP10.OPCODE.Y_MASK; var x = (this.regRA >> PDP10.OPCODE.X_SHIFT) & PDP10.OPCODE.X_MASK; if (x) this.regEA = (this.regEA + this.readWord(x)) & PDP10.ADDR_MASK; - if (this.regRA & PDP10.OPCODE.I_BIT) return -1; - this.regPC = (this.regPC + 1) % PDP10.ADDR_LIMIT; - return (this.regOP / PDP10.OPCODE.A_SCALE)|0; + return (this.regRA & PDP10.OPCODE.I_BIT)? -1 : ((this.regOP / PDP10.OPCODE.A_SCALE)|0); } /** diff --git a/modules/pdp10/lib/memory.js b/modules/pdp10/lib/memory.js index 1b274c2a9..583bedc10 100644 --- a/modules/pdp10/lib/memory.js +++ b/modules/pdp10/lib/memory.js @@ -30,7 +30,6 @@ if (NODE) { var Component = require("../../shared/lib/component"); - var Int36 = require("../../shared/lib/int36"); var PDP10 = require("./defines"); var MessagesPDP10 = require("./messages"); } @@ -202,19 +201,28 @@ class MemoryPDP10 { * @this {MemoryPDP10} * @param {number} [off] (optional starting word offset within block) * @param {number} [len] (optional maximum number of words; default is the entire block) - * @param {number} [pattern] + * @param {number} [pattern] (default is zero) */ - zero(off, len, pattern) + zero(off, len, pattern = 0) { - var i; - off = off || 0; - pattern = Int36.validate(pattern || 0); /* - * NOTE: If len happens to be larger than the block, that's OK, because we also bounds-check the index. + * NOTE: If len is larger than the block, that's OK, because we also bounds-check the index. */ + off = off || 0; if (len === undefined) len = this.size; Component.assert(off >= 0 && off < this.size); - for (i = off; len-- && i < this.size; i++) this.writeWordDirect(pattern, off, this.addr + off); + + /* + * Although it's expected that most callers will supply unsigned 36-bit values, we're nice about + * converting any signed values to their unsigned (two's complement) counterpart, provided they are + * within the acceptable range. Any values outside that range will be dealt with afterward. + */ + if (pattern < 0 && pattern >= -PDP10.MIN_NEG36) { + pattern += PDP10.WORD_LIMIT; + } + pattern = Math.trunc(Math.abs(pattern)) % PDP10.WORD_LIMIT; + + for (var i = off; len-- && i < this.size; i++) this.writeWordDirect(pattern, off, this.addr + off); } /** diff --git a/package.json b/package.json index 89525f536..839213cd6 100644 --- a/package.json +++ b/package.json @@ -179,7 +179,6 @@ "./modules/shared/lib/dumpapi.js", "./modules/shared/lib/reportapi.js", "./modules/shared/lib/userapi.js", - "./modules/shared/lib/int36.js", "./modules/shared/lib/keys.js", "./modules/shared/lib/strlib.js", "./modules/shared/lib/usrlib.js", From cdb461c14abde7c03f5b2f082f156eeffb74c26f Mon Sep 17 00:00:00 2001 From: Jeff Date: Tue, 7 Mar 2017 17:22:16 -0800 Subject: [PATCH 32/32] Eliminate PDP-10 dependencies on the Int36 class (which is now used only for prototyping and command-line testing) --- versions/pdpjs/1.34.2/pdp10-dbg.js | 402 ++++++++++++++--------------- versions/pdpjs/1.34.2/pdp10.js | 257 +++++++++--------- 2 files changed, 329 insertions(+), 330 deletions(-) diff --git a/versions/pdpjs/1.34.2/pdp10-dbg.js b/versions/pdpjs/1.34.2/pdp10-dbg.js index 1561c91ef..758eeac79 100644 --- a/versions/pdpjs/1.34.2/pdp10-dbg.js +++ b/versions/pdpjs/1.34.2/pdp10-dbg.js @@ -13,7 +13,6 @@ http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017 - http://pcjs.org/modules/shared/lib/int36.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017 @@ -27,215 +26,216 @@ http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 */ -var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ca.Symbol||(ca.Symbol=ea)}var ka=0;function ea(a){return"jscomp_symbol_"+(a||"")+ka++} -function la(){da();var a=ca.Symbol.iterator;a||(a=ca.Symbol.iterator=ca.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ma(this)}});la=function(){}}function ma(a){var b=0;return na(function(){return ba?-b:b}});oa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var pa=Math.pow(2,36),qa=Math.pow(2,35),ra={$b:0,sb:1,bc:2,cc:3,dc:4,ec:5,fc:6,gc:7,fb:8,hc:9,tb:10,ic:11,jc:12,ub:13,kc:14,lc:15,mc:16,nc:17,oc:18,pc:19,qc:20,rc:21,sc:22,tc:23,uc:24,vc:25,wc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,eb:65,Zb:66,ac:67,xc:68,E:69,yc:70,zc:71,Ac:72,Bc:73,Cc:74,Dc:75,Ec:76,Fc:77,Gc:78,Hc:79,Ic:80,Q:81, -Jc:82,Kc:83,Lc:84,Mc:85,Nc:86,Oc:87,Pc:88,Qc:89,xb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Rc:97,Sc:98,Tc:99,d:100,e:101,Uc:102,Vc:103,Wc:104,Xc:105,Yc:106,k:107,Zc:108,$c:109,n:110,ad:111,p:112,q:113,r:114,bd:115,t:116,dd:117,ed:118,fd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,vb:127}; -function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b,c){b?12"']/g,function(a){return Ha[a]})}function Ia(a,b){return(a+" ").slice(0,b)} -function Ja(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ha={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ka(a,b,c){var d=0,e=a.length,f=0;for(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())} -function Ma(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, -f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function Na(a,b){var c,d={Y:null,T:null,na:null,ma:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.na=g.load;d.ma=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ca=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Ya:!1,U:!1,error:!1};this.Pa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.oa=null;v.push(this)}function ob(a,b,c){pb[a]&&b&&(pb[a][b]=c)}function qb(){return Date.now()||+new Date} -function r(a){window&&window.alert(a)}function rb(a){var b=!1;window&&(b=window.confirm(a));return b}function tb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b":62,"?":63,"@":64,fb:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81,Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87, +Qc:88,Rc:89,yb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,xb:127}; +function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0a&&-1=g?48:55),e=String.fromCharCode(g)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function sa(a,b,c){b?12"']/g,function(a){return Aa[a]})}function Ba(a,b){return(a+" ").slice(0,b)} +function Ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Aa={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ia(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[f]);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 Ka(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, +g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} +function La(a,b){var c,d={Y:null,T:null,oa:null,na:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.oa=f.load;d.na=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Ca=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.T=f.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.La=this.id:(this.Ma=this.id.substr(0,a),this.La=this.id.substr(a+1));this.w={ready:!1,Fa:!1,Za:!1,U:!1,error:!1};this.Qa=null;this.w.error=!1;this.X=c||0;this.D=this.v=this.H=this.G=this.pa=null;v.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date} +function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.b["S"+a]=[0,0,!1,!1,this.Jb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Bb,toggle:this.Ub,reset:this.Qb, -set:this.Tb};z(this)}p(cc,u);l=cc.prototype;l.reset=function(a){this.stop();a&&ec(this,this.A=0)}; -l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.I[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.I[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.I[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){fc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){gc(a,b)}}(this,b),a.ontouchstart= -function(a,b){return function(c){fc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){gc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;hc(this);ic(this)};l.pa=function(a,b){if(!b)if(this.W&&jc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new M(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; -l.restore=function(a){if(a=a[0])kc(this,this.f=a[0]),ec(this,this.A=a[1]),lc(this,a[2]);return!0};l.Qb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}ic(this);return!0};function mc(a,b,c){if(a=a.I[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function hc(a,b){for(var c in a.B)mc(a,c,null!=b?b:a.B[c])}function nc(a,b,c){if(a=a.I[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ic(a){for(var b in a.b)nc(a,b,a.b[b][1])} -l.Bb=function(a,b,c){if(fc(this,b)){if(c){var d=this;setTimeout(function(){gc(d,b);a&&a()},+c);return!1}gc(this,b)}return!0};l.Tb=function(a,b){if("SR"==a)return lc(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,nc(this,a,c[1]),!0):!1};l.Ub=function(a){return fc(this,a)?(gc(this,a),!0):!1};function fc(a,b){var c=a.b[b];return c?(nc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=oc&&(a.P=b==pc,a.R=b==qc),!0):!1} -function gc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(nc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Kb=function(a){a||this.v.w.K||(this.v.A=this.f%Tb,this.b[rc]&&this.b[rc][1]&&sc(this.v))};l.Lb=function(){};l.Fb=function(a){a||this.v.V()}; -l.Db=function(a){if(!a&&!this.v.w.K)if(this.b[rc]&&this.b[rc][1])sc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),tc(a,0,null),Ob(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.f;0f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>f&&(m=f);h.Ha=e-h.C+m;e=k+16384;f-=m;g++;continue}}return Nc(Oc,e,f)}e=new Jc(a,e,m,16384,d);Kc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Pc[d]+" at "+wa(b)),!0):Nc(Qc,b,c)} -function Hc(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Gc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Lc(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=kd(a)&&(a.ia=a.ka=-1,gd(a),a.V(),c=!0);c&&a.j(kd(a)+" cycles: checksum="+q(a.ua))}} -l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.I[b]=c,!0;case "run":return this.I[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=tb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Ua*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.I.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&od(a.G)}Dc(a,a.M);a.M=0;a.L=qb();a.O=0;md(a);return d}function pd(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function qd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function rd(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} -l.Rb=function(){if(this.w.K){this.Ba>=this.Wa&&md(this,!0);this.la=0;this.ta=qb();if(this.O){var a=this.ta-this.O;a>this.Va&&(this.L+=a,this.L>this.ta&&(this.L=this.ta))}try{do{var b=pd(this,this.w.Ea?1:this.wa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=rd(this,!0);this.la+=b;this.M+=b;Ec(this,b);uc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.wa;++this.Xa>=sd&&(this.G&&O(this.G,void 0),this.Xa=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(qb(),kd(this));Kb(this, -e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.kb;this.O=qb();var c=this.Va;this.la&&(c=Math.round(c*this.la/this.wa));var c=c-(this.O-this.ta),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,ld(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Ba+=this.la;this.O+=c;a(b,c)}}}; -function sc(a,b){if(!Lb(a))if(a.w.K)a.j(a.toString()+" busy");else{ld(a);a.w.K=!0;a.w.Sa=!0;var c=a.I.run;c&&(c.textContent="Halt");a.G&&(b&&od(a.G,!0),a.G.start(a.L,kd(a)));a.D||a.status("Started");setTimeout(a.kb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){rd(this);Dc(this,this.M);this.M=0;this.w.K=!1;if(b=this.I.run)b.textContent="Run";this.G&&this.G.stop(qb(),kd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var nd=30,sd=15,dd=["power","reset"]; -function td(a){var b=+a.model||1001;cd.call(this,a,1E6);this.jb=b;this.Aa=+a.addrReset||0;this.wb=ud.bind(this);this.b=Q.bind(this);this.ra=null;this.hb=[];this.w.complete=!1}p(td,cd);l=td.prototype;l.reset=function(){this.status("Model "+this.jb);this.w.K&&this.V();this.f=this.J=this.Na=0;this.A=this.sa=this.Aa;this.F=-1;this.Ma=this.u=0;this.qa=this.A;this.B=0;this.g=this.Nb;this.i=this.Yb;this.ra=null;fd(this);this.w.error=!1;cd.prototype.reset.call(this)};l.qb=function(){return 0}; -l.save=function(){var a=new M(this);a.set(0,[this.f,this.J,this.Na,this.A,this.F,this.u,this.B,this.sa,this.qa,this.Aa]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,vd(this));a.set(4,qd(this));return a.data()}; -l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.J=b.next().value;this.Na=b.next().value;this.A=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.sa=b.next().value;this.qa=b.next().value;this.Aa=b.next().value;b=a[2];this.S=b[0];ld(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.f].g(a&16383,a)};l.Yb=function(a,b){var c=this.H;a=this.qa=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b}; -l.Ja=function(a){this.w.complete=!0;var b=this.D?xd(this.D)?1:this.w.Sa?-1:0:0,c=a?this.w.Sa?0:1:-1;this.w.Sa=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(yd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.ra||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&yd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.J=this.J&4194304?this.g(this.f):this.Na=this.g(this.sa=this.A);this.J&=8388607;this.f=this.J&262143;if(a= -this.J>>18&15)this.f=this.f+this.g(a)&Sb;this.J&4194304?a=-1:(this.A=(this.A+1)%Tb,a=this.Na/ac|0);0<=a&&this.wb(a)}while(0>4].call(this,a,a&15)}function R(a){this.b(a)} -function Ad(){var a=0,b=this.g(this.f),c=b/bc&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*bc+(d<<24)+(b&16777215);a&&(b=(b+a)%H);this.i(this.f,b)}function Bd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} -function Xd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.J=this.f|4194304,wd(this,-1);else{var c=this.F/bc&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%H;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Yd(a,b){this.i(b,this.g(this.f))}function Zd(a,b){this.i(b,this.f)}function $d(a,b){this.i(this.f,this.g(b))}function ae(a,b){this.i(b,0)}function be(a,b){this.i(b,G-this.g(b))}function ce(a,b){this.i(b,G)} -function de(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,ee(a,d,c)+(c-(c&A)))}function fe(a,b){var c=this.g(b);this.i(b,ee(a,c,0))}function ge(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,ee(a,c,b)+(b-(b&A)))}function he(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&A,a){case 256:d+=A;break;case 384:d+=c>I?A:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function ie(a,b){var c=(this.g(this.f)&A)*E,d=this.g(b);this.i(b,ee(a,d,c)+c)} -function je(a,b){var c=this.f*E,d=this.g(b);this.i(b,ee(a,d,c)+c)}function ke(a,b){b=(this.g(b)&A)*E;var c=this.g(this.f);this.i(this.f,ee(a,c,b)+b)}function le(a,b){var c=this.g(this.f),d=(c&A)*E,c=ee(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function me(a,b){var c=this.g(this.f)&A,d=this.g(b);this.i(b,ne(a,d,c)+c)}function oe(a,b){var c=this.g(b);this.i(b,ne(a,c,this.f)+this.f)}function pe(a,b){b=this.g(b)&A;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)} -function qe(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=A,a){case 256:d+=A*E;break;case 384:d+=c>Vb?A*E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function re(a,b){var c=this.g(this.f)/E|0,d=this.g(b);this.i(b,ne(a,d,c)+c)}function se(a,b){var c=this.g(b);this.i(b,ne(a,c,0))}function te(a,b){b=this.g(b)/E|0;var c=this.g(this.f);this.i(this.f,ne(a,c,b)+b)}function ue(a,b){var c=this.g(this.f),d=c/E|0,c=ne(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function S(a){ve[a&7].call(this,a,a>>3&127)} -function we(){}function Q(a){this.j("undefined opcode: "+wa(a));wd(this,-1);this.V()}function xe(a){a>I&&(a!=Wb?a=Xb-a:this.u|=163840);return a}function ye(a,b){var c=(a+b)%H;ze.call(this,a,b,c);return c}function U(a,b){return((a/J|0)&(b/J|0))*J+((a&b)>>>0)}function Ae(a,b){return((a/J|0)^(b/J|0))*J+((a^b)>>>0)}function Be(a,b){return(~((a/J|0)^(b/J|0))&15)*J+(~(a^b)>>>0)}function V(a,b){return(a/J|0|b/J|0)*J+((a|b)>>>0)} -function Ce(a,b){var c=b;b=!1;var d;a>I&&(a=H-a,b=!b);c>I&&(c=H-c,b=!b);if(ac&&(c+=H);ze.call(this,c,b,a);return c}function ze(a,b,c){a=Math.trunc(a/Yb);b=Math.trunc(b/Yb);c=Math.trunc(c/Yb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ne(a,b,c){switch(a&384){case 0:b-=b&A;break;case 128:b=0;break;case 256:b=A*E;break;case 384:b=c>Vb?A*E:0}return b}function ee(a,b,c){switch(a&384){case 0:b&=A;break;case 128:b=0;break;case 256:b=A;break;case 384:b=c>I?A:0}return b} -var zd=[R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,function(a,b){0>this.F&&Ad.call(this);Bd.call(this,0,b)},Bd,function(a,b){0>this.F&&Ad.call(this);Xd.call(this,0,b)},Xd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function $b(a,b){u.call(this,"Panel",a,512);this.L=this.M=0;this.W=b;this.f=this.I=this.u=this.A=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Lb],STEP:[1,1,!1,!1,this.Mb],ENABLE:[1,1,!1,!1,this.Gb],CONT:[1,1,!0,!1,this.Eb],DEP:[0,0,!0,!1,this.Fb],EXAM:[1,1,!0,!1,this.Hb],LOAD:[1,1,!0,!1,this.Jb],TEST:[0,0,!0,!1,this.Ib]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Kb,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Cb,toggle:this.Vb,reset:this.Rb, +set:this.Ub};z(this)}p($b,u);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.A=0)}; +l.ha=function(a,b,c,d){if(this.G&&this.G.ha(a,b,c,d)||this.v&&this.v.ha(a,b,c,d)||this.D&&this.D.ha(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= +function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):u.prototype.ha.call(this,a,b,c,d)}};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;ec(this);fc(this)};l.qa=function(a,b){if(!b)if(this.W&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ga=function(a){return a?this.save():!0};l.save=function(){var a=new O(this);a.set(0,[this.f,this.A,this.u]);return a.data()}; +l.restore=function(a){if(a=a[0])hc(this,this.f=a[0]),bc(this,this.A=a[1]),ic(this,a[2]);return!0};l.Rb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} +l.Cb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.Ub=function(a,b){if("SR"==a)return ic(this,qa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.Vb=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1} +function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Lb=function(a){a||this.v.w.K||(this.v.A=this.f%A,this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Mb=function(){};l.Gb=function(a){a||this.v.V()}; +l.Eb=function(a){if(!a&&!this.v.w.K)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.D)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Ja(1);0c;c++){var d=a,e="A"+c,g=b&1<c;c++){var d=a,e="D"+c,g=b&1<b;b++)a.b["S"+b][1]=a.u&1<d.length){for(var e=0,g=Array(4096),f=0;f>>a.f;0g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.C)return h.Ha+=h.C-e,h.C=e,!0;if(e>=h.C+h.Ha){m=h.size-(e-k);m>g&&(m=g);h.Ha=e-h.C+m;e=k+16384;g-=m;f++;continue}}return Kc(Lc,e,g)}e=new Gc(a,e,m,16384,d);Hc(e,a.D,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Mc[d]+" at "+sa(b)),!0):Kc(Nc,b,c)} +function Ec(a,b){var c=a.b[(b&a.u)>>>a.f];a.A++;b=c.G(b&16383,b);a.A--;return b}function Dc(a,b,c){var d=a.b[(b&a.u)>>>a.f];a.A++;d.D(c,b&16383,b);a.A--}function Ic(a){for(var b=0,c=[],d=0;d=a.ja&&(a.ja+=a.ia,c=!0);0<=a.ka&&a.ka<=hd(a)&&(a.ia=a.ka=-1,dd(a),a.V(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+q(a.va))}} +l.ha=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.w.U)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;ca.W/a.aa?b=1:d=!0;a.ba=b;b=a.Va*a.ba;if(a.aa!=b){a.aa=b;b=a.aa.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&ld(a.G)}sc(a,a.M);a.M=0;a.L=ob();a.O=0;jd(a);return d}function md(a,b){for(var c=a.N.length-1;0<=c;c--){var d=a.N[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function nd(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function od(a,b){var c=a.P-=a.R;a.R=0;b&&(a.P=0);return c} +l.Sb=function(){if(this.w.K){this.Na>=this.Xa&&jd(this,!0);this.la=0;this.ua=ob();if(this.O){var a=this.ua-this.O;a>this.Wa&&(this.L+=a,this.L>this.ua&&(this.L=this.ua))}try{do{var b=md(this,this.w.Ea?1:this.xa);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=od(this,!0);this.la+=b;this.M+=b;tc(this,b);rc(this,b);this.ea-=b;if(0>=this.ea){this.ea+=this.xa;++this.Ya>=pd&&(this.G&&P(this.G,void 0),this.Ya=0);break}}while(this.w.K)}catch(e){this.V();this.G&&this.G.stop(ob(),hd(this));Ib(this, +e.stack||e.message);return}if(this.w.K){a=setTimeout;b=this.lb;this.O=ob();var c=this.Wa;this.la&&(c=Math.round(c*this.la/this.xa));var c=c-(this.O-this.ua),d=this.O-this.L;d&&(this.W=Math.round(this.M/(10*d))/100,864E5<=d&&(this.S=0,id(this)));if(0>c||this.Wc&&(this.L-=c),c=0;this.Na+=this.la;this.O+=c;a(b,c)}}}; +function pc(a,b){if(!Jb(a))if(a.w.K)a.j(a.toString()+" busy");else{id(a);a.w.K=!0;a.w.Ta=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&ld(a.G,!0),a.G.start(a.L,hd(a)));a.D||a.status("Started");setTimeout(a.lb,0)}}l.Ja=function(){return 0};l.V=function(a){var b=!1;if(this.w.K){od(this);sc(this,this.M);this.M=0;this.w.K=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(ob(),hd(this));b=!0;this.D||this.status("Stopped")}this.w.complete=a;return b};var kd=30,pd=15,ad=["power","reset"]; +function qd(a){var b=+a.model||1001;$c.call(this,a,1E6);this.kb=b;this.Ka=+a.addrReset||0;this.zb=rd.bind(this);this.b=R.bind(this);this.sa=null;this.ib=[];this.w.complete=!1}p(qd,$c);l=qd.prototype;l.reset=function(){this.status("Model "+this.kb);this.w.K&&this.V();this.f=this.I=this.ya=0;this.A=this.ta=this.Ka;this.F=this.ma=-1;this.Oa=this.u=0;this.ra=this.A;this.B=0;this.g=this.Ob;this.i=this.Zb;this.sa=null;cd(this);this.w.error=!1;$c.prototype.reset.call(this)};l.rb=function(){return 0}; +l.save=function(){var a=new O(this);a.set(0,[this.f,this.I,this.ya,this.A,this.ma,this.F,this.u,this.B,this.ta,this.ra,this.Ka]);a.set(1,[]);a.set(2,[this.S,this.ba,this.w.Z]);a.set(3,sd(this));a.set(4,nd(this));return a.data()}; +l.restore=function(a){var b;b=a[0];la();da();la();var c=b[Symbol.iterator];b=c?c.call(b):ma(b);this.f=b.next().value;this.I=b.next().value;this.ya=b.next().value;this.A=b.next().value;this.ma=b.next().value;this.F=b.next().value;this.u=b.next().value;this.B=b.next().value;this.ta=b.next().value;this.ra=b.next().value;this.Ka=b.next().value;b=a[2];this.S=b[0];id(this,b[1]);this.w.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.f].g(a&16383,a)};l.Zb=function(a,b){var c=this.H;a=this.ra=a;c.b[(a&c.u)>>>c.f].i(b,a&16383,a);return b}; +l.Ja=function(a){this.w.complete=!0;var b=this.D?ud(this.D)?1:this.w.Ta?-1:0:0,c=a?this.w.Ta?0:1:-1;this.w.Ta=!1;this.P=this.R=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(vd(this.D,this.A,c)){this.V();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.sa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&vd(this.D,this.A,c)){this.V();break}if(0>c)break}}this.B&=15;this.I&4194304?this.I=this.g(this.f):0<=this.ma?(this.I=this.ya=this.g(this.ma),this.ma=-1):(this.I=this.ya= +this.g(this.ta=this.A),this.A=(this.A+1)%A);this.I&=8388607;this.f=this.I&262143;if(a=this.I>>18&15)this.f=this.f+this.g(a)&Qb;a=this.I&4194304?-1:this.ya/Yb|0;0<=a&&this.zb(a)}while(0>4].call(this,a,a&15)}function S(a){this.b(a)} +function xd(){var a=0,b=this.g(this.f),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%I);this.i(this.f,b)}function yd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304;else{var c=this.F/Zb&63,d=this.F>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.i(b,a);this.F=-1}} +function zd(a,b){a=this.g(this.f);if(0>this.F)this.F=a,this.I=this.f|4194304,td(this,-1);else{var c=this.F/Zb&63,d=this.F>>24&63;b=this.g(b)%Math.pow(2,d)*Math.pow(2,c)%I;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.i(this.f,a);this.F=-1}}function Ad(a,b){this.i(b,this.g(this.f))}function Bd(a,b){this.i(b,this.f)}function Cd(a,b){this.i(this.f,this.g(b))}function Yd(a,b){this.i(b,0)}function Zd(a,b){this.i(b,H-this.g(b))}function $d(a,b){this.i(b,H)} +function ae(a,b){var c=this.g(this.f),d=this.g(b);this.i(b,be(a,d,c)+(c-(c&E)))}function ce(a,b){var c=this.g(b);this.i(b,be(a,c,0))}function de(a,b){b=this.g(b);var c=this.g(this.f);this.i(this.f,be(a,c,b)+(b-(b&E)))}function ee(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d-=d&E,a){case 256:d+=E;break;case 384:d+=c>J?E:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function fe(a,b){var c=(this.g(this.f)&E)*F,d=this.g(b);this.i(b,be(a,d,c)+c)} +function ge(a,b){var c=this.f*F,d=this.g(b);this.i(b,be(a,d,c)+c)}function he(a,b){b=(this.g(b)&E)*F;var c=this.g(this.f);this.i(this.f,be(a,c,b)+b)}function ie(a,b){var c=this.g(this.f),d=(c&E)*F,c=be(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function je(a,b){var c=this.g(this.f)&E,d=this.g(b);this.i(b,ke(a,d,c)+c)}function le(a,b){var c=this.g(b);this.i(b,ke(a,c,this.f)+this.f)}function me(a,b){b=this.g(b)&E;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)} +function ne(a,b){var c=this.g(this.f),d=c;if(a&=384)switch(d&=E,a){case 256:d+=E*F;break;case 384:d+=c>Sb?E*F:0}c=d;this.i(this.f,c);b&&this.i(b,c)}function oe(a,b){var c=this.g(this.f)/F|0,d=this.g(b);this.i(b,ke(a,d,c)+c)}function pe(a,b){var c=this.g(b);this.i(b,ke(a,c,0))}function qe(a,b){b=this.g(b)/F|0;var c=this.g(this.f);this.i(this.f,ke(a,c,b)+b)}function re(a,b){var c=this.g(this.f),d=c/F|0,c=ke(a,c,d)+d;this.i(this.f,c);b&&this.i(b,c)}function U(a){se[a&7].call(this,a,a>>3&127)} +function te(){}function R(a){this.j("undefined opcode: "+sa(a));td(this,-1);this.V()}function ue(a){a>J&&(a!=Tb?a=Ub-a:this.u|=163840);return a}function ve(a,b){var c=(a+b)%I;we.call(this,a,b,c);return c}function V(a,b){return((a/K|0)&(b/K|0))*K+((a&b)>>>0)}function xe(a,b){return((a/K|0)^(b/K|0))*K+((a^b)>>>0)}function ye(a,b){return(~((a/K|0)^(b/K|0))&15)*K+(~(a^b)>>>0)}function W(a,b){return(a/K|0|b/K|0)*K+((a|b)>>>0)} +function ze(a,b){var c=b;b=!1;var d;a>J&&(a=I-a,b=!b);c>J&&(c=I-c,b=!b);if(ac&&(c+=I);we.call(this,c,b,a);return c}function we(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function ke(a,b,c){switch(a&384){case 0:b-=b&E;break;case 128:b=0;break;case 256:b=E*F;break;case 384:b=c>Sb?E*F:0}return b}function be(a,b,c){switch(a&384){case 0:b&=E;break;case 128:b=0;break;case 256:b=E;break;case 384:b=c>J?E:0}return b} +var wd=[S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},xd,function(a,b){0>this.F&&xd.call(this);yd.call(this,0,b)},yd,function(a,b){0>this.F&&xd.call(this);zd.call(this,0,b)},zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Zd,$d,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(b,a)},function(a,b){this.i(b,this.f*E)},function(a,b){a=this.g(b);a=(a/E|0)+a%E*E;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/E|0)+a%E*E;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,De.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Xb-this.f:0)},function(a,b){this.i(this.f, -De.call(this,this.g(b)))},function(a,b){a=De.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,xe.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,xe.call(this,this.g(b)))},function(a,b){a=xe.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,Ce.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Ma)}, -function(a,b){this.i(b,Ce.call(this,this.g(b),this.f));this.i(b+1&15,this.Ma)},function(a,b){this.i(this.f,Ce.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ce.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Ma)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a> -I?-(H-a):a;0d?F:0,c=Ub):(d=d*Math.pow(2,c)%F,c=F-Math.pow(2,35-c)),a<=I?a+c>I&&(this.u|=131072):a-c<=I&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+H:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%H+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a){this.b(a)}, -function(a,b){if(a=(this.f<<14>>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Ub&&dUb&&eI&&(this.u|=131072):e-c<=I&&(this.u|=131072);e=0;f>Ub&&(d+=F,e+=F)}else d=d*Math.pow(2,a)%F+Math.trunc(e%F/Math.pow(2,35-a)),e=e*Math.pow(2,a)%F,c=F-Math.pow(2,35-a),f<=I?f+c>I&&(this.u|=131072):(f-c<=I&&(this.u|=131072),d+=F,e+=F)}else-36>=a?(e=-72>= -a?d>Ub?G:0:Math.trunc(d%F/Math.pow(2,-a-35)),d<=Ub?d=0:(d=G,e+=F)):(c=d>Ub?H-Math.pow(2,36+a):0,e=Math.trunc(e%F/Math.pow(2,-a))+d%F*Math.pow(2,35+a)%F,d=Math.trunc(d/Math.pow(2,-a))+c,d>Ub&&(e+=F));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%H+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%H+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%H+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a- -36)%H+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%H,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+1&15,d)}},Q,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f, -a)},function(a,b){a=!1;for(var c=this.g(b),d=c/E|0,c=c&A;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&A,c=c+1&A,this.w.K||(this.i(b,d*E+c),a||wd(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%Tb)},function(a){this.b(a)},Q,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&A,this.g(this.f));a>=H&&(a-=H);a/E|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&A); -this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=H);(a/E|0)==A&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&A)*E+this.A);this.A=this.f%Tb},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b), -this.g(this.f))))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ee.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ee.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ee.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,Bd,Cd,function(a,b){b&&this.i(b,this.g(this.f))},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(b,a)},function(a,b){this.i(b,this.f*F)},function(a,b){a=this.g(b);a=(a/F|0)+a%F*F;this.i(this.f,a)},function(a,b){a=this.g(this.f);a=(a/F|0)+a%F*F;this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,Ae.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f?Ub-this.f:0)},function(a,b){this.i(this.f, +Ae.call(this,this.g(b)))},function(a,b){a=Ae.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a,b){this.i(b,ue.call(this,this.g(this.f)))},function(a,b){this.i(b,this.f)},function(a,b){this.i(this.f,ue.call(this,this.g(b)))},function(a,b){a=ue.call(this,this.g(this.f));this.i(this.f,a);b&&this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ze.call(this,this.g(b),this.g(this.f)));this.i(b+1&15,this.Oa)}, +function(a,b){this.i(b,ze.call(this,this.g(b),this.f));this.i(b+1&15,this.Oa)},function(a,b){this.i(this.f,ze.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ze.call(this,this.g(b),this.g(this.f))));this.i(b+1&15,this.Oa)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){var c=(this.f<<14>>14)%256;if(c){a=this.g(b);var d=a> +J?-(I-a):a;0d?G:0,c=Rb):(d=d*Math.pow(2,c)%G,c=G-Math.pow(2,35-c)),a<=J?a+c>J&&(this.u|=131072):a-c<=J&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+I:d;this.i(b,a)}},function(a,b){if(a=(this.f<<14>>14)%36){var c=this.g(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%I+Math.trunc(c/Math.pow(2,36-a));this.i(b,c)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.i(b,c)}},function(a,b){a= +0;var c=this.g(b);if(c){for(;c>14)%256){var c,d=this.g(b),e=this.g(b+1&15);if(0Rb&&dRb&&eJ&&(this.u|=131072):e-c<=J&&(this.u|=131072);e=0;g>Rb&&(d+=G,e+=G)}else d=d*Math.pow(2,a)%G+Math.trunc(e%G/Math.pow(2,35-a)),e=e*Math.pow(2,a)%G,c=G-Math.pow(2,35-a),g<=J?g+c> +J&&(this.u|=131072):(g-c<=J&&(this.u|=131072),d+=G,e+=G)}else-36>=a?(e=-72>=a?d>Rb?H:0:Math.trunc(d%G/Math.pow(2,-a-35)),d<=Rb?d=0:(d=H,e+=G)):(c=d>Rb?I-Math.pow(2,36+a):0,e=Math.trunc(e%G/Math.pow(2,-a))+d%G*Math.pow(2,35+a)%G,d=Math.trunc(d/Math.pow(2,-a))+c,d>Rb&&(e+=G));this.i(b,d);this.i(b+1&15,e)}},function(a,b){if(a=(this.f<<14>>14)%72){var c=this.g(b),d=this.g(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%I+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%I+Math.trunc(e/Math.pow(2,36- +a))):(c=d*Math.pow(2,a-36)%I+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%I+Math.trunc(d/Math.pow(2,72-a)));this.i(b,c);this.i(b+1&15,d)}},function(a,b){if(a=(this.f<<14>>14)%256){var c=this.g(b),d=this.g(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%I,c=Math.trunc(c/Math.pow(2,-a)));this.i(b,c);this.i(b+ +1&15,d)}},R,function(a,b){a=this.g(b);this.i(b,this.g(this.f));this.i(this.f,a)},function(a,b){a=!1;for(var c=this.g(b),d=c/F|0,c=c&E;!a;)this.i(c,this.g(d)),c==this.f&&(a=!0),d=d+1&E,c=c+1&E,this.w.K||(this.i(b,d*F+c),a||td(this,-1),a=!0)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){a=b<<14;this.u&a&&(this.u&=~a,this.A=this.f%A)},function(){this.ma=this.f},R,function(a){this.b(a)},function(a,b){a=this.g(b);a+=262145;this.i(a&E,this.g(this.f));a>=I&&(a-=I);a/ +F|0||(this.u|=262144);this.i(b,a)},function(a,b){a=this.g(b);var c=this.g(a&E);this.i(this.f,c);this.f==b&&(a=c);a-=262145;0>a&&(a+=I);(a/F|0)==E&&(this.u|=262144);this.i(b,a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,(this.u&E)*F+this.A);this.A=this.f%A},function(a){this.b(a)},function(a){this.b(a)},function(a,b){this.i(b,ve.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ve.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ve.call(this,this.g(b), +this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ve.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},ae,ae,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,U.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,this.g(b),this.g(this.f)))},function(a, -b){this.i(this.f,this.i(b,U.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),this.g(this.f))))},Yd,Zd,we,Yd,function(a,b){this.i(b,U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f, -U.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,this.g(b),G-this.g(this.f))))},we,we,$d,$d,function(a,b){this.i(b,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,Ae.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Ae.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Ae.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b), -this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,U.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,U.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,U.call(this,G-this.g(b),G-this.g(this.f))))},function(a,b){this.i(b,Be.call(this,this.g(b),this.g(this.f)))},function(a, -b){this.i(b,Be.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,Be.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,Be.call(this,this.g(b),this.g(this.f))))},be,be,function(a,b){this.i(this.f,G-this.g(b))},function(a,b){this.i(this.f,this.i(b,G-this.g(b)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f, -this.i(b,V.call(this,G-this.g(b),this.g(this.f))))},function(a,b){this.i(b,G-this.g(this.f))},function(a,b){this.i(b,G-this.f)},function(){this.i(this.f,G-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),G-this.g(this.f))))}, -function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(b,V.call(this,G-this.g(b),G-this.f))},function(a,b){this.i(this.f,V.call(this,G-this.g(b),G-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,G-this.g(b),G-this.g(this.f))))},ce,ce,function(){this.i(this.f,G)},function(a,b){this.i(this.f,this.i(b,G))},de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue, -me,oe,pe,qe,re,se,te,ue,me,oe,pe,qe,re,se,te,ue,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, +function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Yd,Yd,function(){this.i(this.f,0)},function(a,b){this.i(this.f,this.i(b,0))},function(a,b){this.i(b,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,this.g(b), +this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),this.g(this.f))))},Ad,Bd,te,Ad,function(a,b){this.i(b,V.call(this,this.g(b),H-this.g(this.f)))}, +function(a,b){this.i(b,V.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,this.g(b),H-this.g(this.f))))},te,te,Cd,Cd,function(a,b){this.i(b,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,xe.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,xe.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,xe.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b, +W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),this.g(this.f))))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,V.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,V.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,V.call(this,H-this.g(b),H- +this.g(this.f))))},function(a,b){this.i(b,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(b,ye.call(this,this.g(b),this.f))},function(a,b){this.i(this.f,ye.call(this,this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,ye.call(this,this.g(b),this.g(this.f))))},Zd,Zd,function(a,b){this.i(this.f,H-this.g(b))},function(a,b){this.i(this.f,this.i(b,H-this.g(b)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),this.f))}, +function(a,b){this.i(this.f,W.call(this,H-this.g(b),this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),this.g(this.f))))},function(a,b){this.i(b,H-this.g(this.f))},function(a,b){this.i(b,H-this.f)},function(){this.i(this.f,H-this.g(this.f))},function(a,b){this.i(this.f,this.i(b,H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,this.g(b),H- +this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,this.g(b),H-this.g(this.f))))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(b,W.call(this,H-this.g(b),H-this.f))},function(a,b){this.i(this.f,W.call(this,H-this.g(b),H-this.g(this.f)))},function(a,b){this.i(this.f,this.i(b,W.call(this,H-this.g(b),H-this.g(this.f))))},$d,$d,function(){this.i(this.f,H)},function(a,b){this.i(this.f,this.i(b,H))},ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie, +ae,ce,de,ee,fe,ge,he,ie,ae,ce,de,ee,fe,ge,he,ie,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,je,le,me,ne,oe,pe,qe,re,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, -S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],ve=[function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a,b){switch(b){case 0:a=this.g(this.f);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.b(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.i(this.f,a);break;default:this.b(a)}},function(a){this.b(a)},function(a){this.b(a)}]; -function Fe(a){u.call(this,"ROM",a,128);this.T=this.b=null;this.B=+a.addr;this.u=+a.size;this.f=a.alias;"string"==typeof this.f&&(this.f=eval(this.f));this.A=a.file;this.F=xa(this.A);if(this.A){a=this.A;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Aa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;Ma(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.A=null):(ob(c.La,a,b),(a=Na(a,b))?(c.b=a.Y,c.T=a.T):c.A=null);Ge(c)})}}p(Fe,u); -Fe.prototype.xa=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Ge(this)};Fe.prototype.pa=function(){this.T&&(this.D&&He(this.D,this.id,this.B,this.u,this.T),delete this.T);return!0};Fe.prototype.ga=function(){return!0}; -function Ge(a){if(!Mb(a)){if(a.A){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Kb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.u,8,!0)+")");else{var b;b=a.B;if(Mc(a.H,b,a.u,Uc)){var c;for(c=0;c>>f.f;0>>= -f.f;0>>a.f;0g&&g>=-qa&&(g+=pa);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=ra.eb&&c<=ra.xb&&(b=c-(ra.eb-ra.sb));b&&(a.preventDefault&&a.preventDefault(),d.Qa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.ub&&(b=ra.tb);d.Qa(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Qa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.xa=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; -l.rb=function(a){if(!this.b){var b=ed(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ja(c[0]);if(d!=this.Ka)return;c=Ja(c[1]);if(this.b=Cb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.pa=function(a,b){if(!b)if(this.rb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new M(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Qa=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.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(Ja(b.substring(c,f))),c=f+1}}return a} -function Pe(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 Qe(a,b,c){var d;if(b){b=Re(a,b);for(var e=0,f=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;g=t+g;d>>=8}d=q(c,0,!0)+" "+c+". "+wa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} -function Ve(a,b){if(b)return Ue(a,b,a.W[b]);var c=0;for(b in a.W)Ue(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Te={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; -function We(a){Ne.call(this,a);this.wa=!1;this.la=!0;this.va=W();this.L=W(0);this.ja=W(0);this.ba=W(0);this.F=[];this.b=this.M=this.J=[];Xe(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ye(this);this.D=this;this.qa={};this.X=this.nb=0;this.S=null;this.O=[];Ze(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.Aa=this.za=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return jd(b,a)}):void 0===global[x]&&(global[x]=function(a){return jd(b, -a)})}p(We,Ne);function Y(a){a=a&&a.C;null==a&&(a=-1);return a}function W(a,b,c){return{C:void 0===a?null:a,Oa:void 0===b?!1:b,fa:!1,ca:c}}function $e(a,b,c,d){a.C=b;a.Oa=c||!1;a.fa=!1;a.ca=d}function af(a){return[a.C,a.Oa,a.fa,a.ca,a.Ra]}function bf(a,b){var c=W(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.lb=Oe(a,c.Ra=b[4]));return c}l=We.prototype; -l.xa=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=ed(a,"messages"))&&Ze(this,a);cf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(df(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Pc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.sa==b&&(b=wd(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&($e(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} -function xf(a,b,c,d){var e=W(b.C),f=a.ya(b,1),g,h,k,m=0,n=f/Zb|0,t;for(t in dg)if(g=dg[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=fg;m=n&3;break;case 32256:k=gg;m=n&7;break;case 29248:k=hg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>ig&&(k="B");k=jg[g||0]+k;if(g){if(28700==h)m=f/$b&127,h=P(a,m,-1);else if(m=f>>23&15,h=P(a,m,-1),g==kg&&(g=lg[m]))k=jg[g],h="";k=Ia(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=P(a,f&262143,-1);(f=f>>18&15)&&(k+="("+P(a,f,-1)+")")}else k=Ia(k,8)+ff(f);f=k;g="";h=Z(a, -e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.ya(e,1),g+=" "+ff(k),null==e.C)break;while(e.C!=b.C)}h+=Ia(g,16)+f;c&&(h=Ia(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+kd(a.v).toString()+" cs="+q(a.v.ua)):h+(null!=d?"="+d.toString():""));return h}function Xe(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.J)for(b=1;b>>d.f],!0);a.J=["bw"];a.ra=0;a.ka=0} -l.Da=function(a,b,c){var d=!0;c||mg(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.f].Da(e&16383,a==this.J)}}d&&(a.push(b),c?b.fa=!0:(ng(this,a,a.length-1,"set"),Ye(this)));return d};function mg(a,b,c,d,e){var f=!1;c=Y(c);for(var g=1;g>>d.f],b==a.J));h.fa||Ye(a);break}}return f} -function og(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,f=wa(d,2);$e(e.va,d);f+="="+P(e,e.ya(e.va),36)+" ";c+=f}if(b){b="";for(d=0;d=lf?1:d==jf?23:18)+" "),b+=e;c+="\n"+b}return c}l.ob=function(a,b){return a[0]>b[0]?1:a[0]>>0,g],t=Ka(n,k,a.ob);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({cd:b,C:c,Cb:d,T:e,mb:f})}function rg(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b>>0,h=f.Cb;if(e>=g&&eb){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case hf:h.A= -g%Tb;$e(a.L,h.A);break;case lf:f=65536;break;case mf:f=32768;break;case nf:f=131072;break;case of:f=32;break;case pf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);O(a.G);a.j("updated registers:")}}a.j(qg(a,e));c&&($e(a.L,d.A),vf(a,Z(a,a.L)))}}function vg(a,b){b=Ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);h=a.ba;m=b;h.C=m.C;h.Oa=m.Oa;h.fa=m.fa;h.ca=m.ca;a.j(xf(a,b,g,f));e-=b.C-k;c++}}} -function pg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(tf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Mb(a)&&0n||"z"ig&&(Fd="B");if(Cd== -jg[sb]+Fd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Ed|Af<<6)*Zb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Gd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ba-=X;0>ba&&(null==ha[ha.length-1].C?(X=ba+X,ba=0):ba+=ha.length);var Ld=[];"call"==Gf&&(ub=1E5,Ld=["CALL"]);for(void 0!==Ff&& -a.j(X+" instructions earlier:");0=ha.length&&(ba=0);a.sa=X;If++;ub--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=df(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||$g,Da=Se(a,ta);else{var Mf=df(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=bh}}}}break;case "e":if("else"==g[0])break;var Rf,Sf,Tf=g[0],Od=g[1];"e"==Tf||"ew"==Tf?(Rf=a.ya,Sf=a.gb):Od=null;if(null== -Od)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=df(a,Od,a.ja);if(zc)for(var Ac=2;AcSd;){for(var Ga=null,fh=256;65536>xb.C>>>0;){Td.C=a.ya(xb,2);if(null==xb.C||!fh--)break;if(!(Td.C&1)){for(var gh=a,Bc=Td,Vf=null,yb=Bc.C,Wf=yb, -Ud=1;6>=Ud&&yb;Ud++){if(2bg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); -else{var cg=W(a.v.A);a.ya(cg);a.N?(a.Da(a.b,cg,!0),rf(a)||(a.G&&od(a.G),a.N=0)):wg(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}uf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Ab=+g[2];if(8==Ab||10==Ab||16==Ab)a.ca=Ab;else{a.j("invalid base: "+Ab);break}}a.j("default base: "+a.ca);break;case "cs":var Bb;void 0!==g[3]&&(Bb=+g[3]);switch(g[2]){case "int":a.v.ia=Bb;break;case "start":a.v.va=Bb;break;case "stop":a.v.ka=Bb;break;default:a.j("unknown cs option");break a}void 0!== -Bb&&gd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ld(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), -a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":wg(a,g[0],g[1]);break;case "u":vf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){tg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Rb||"PDP10")+" version 1.34.2 ("+a.v.jb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){vg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in yg)Vd+="\n"+Ia(Wd,9)+yg[Wd];xd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.j(Vd);break;default:f=!0}f&&(a.j("unknown command: "+ -b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function jd(a,b,c){b=Oe(a,b,c);for(var d in b)if(!pg(a,b[+d]))return!1;return!0} -var yg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},ig=20,kg=85,jg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), -hf=0,jf=1,kf=2,lf=3,mf=4,nf=5,of=6,pf=7,gf="PC RA EA C0 C1 OV ND PD".split(" "),zg={},dg=(zg[28672]={0:101},zg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:kg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},zg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:ig,9216:53,9472:52, -9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},zg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},zg[29248]={24576:79,24640:80,25088:81,25152:82},zg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, -28692:98,28696:99,28700:100},zg),fg=["","I","M","S"],gg=" L E LE A GE N G".split(" "),hg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),lg={8:102,4:103,2:104,6:105,1:106},qf=1E3,tf=">> ";gb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bDg){if(Eg(d,this.M)){this.B=new M(this,"1.34.2",Ng);Eg(this.B)&&(Og(this,d),a=Pg,Qg(this.B));this.B.set(Kg,La());Rg(this.B);var e=this.b&&!this.L;if(a==Lg||rb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=Jg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Eg(d,g):("error"==f&&"no machine state"!= -g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Sg,""),this.f=null)):this.j(f+": "+g),Qg(d),Eg(d)?(c=Jg(d),e=!0):c=!1))}e&&Hg(this,c?d:null)}else a==Pg&&d.clear()}else Hg(this);delete this.M;delete this.J}e=tb(this.id);for(f=0;fa[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.I.power;d&&(d.textContent="Shutdown");this.v&&(Tg(this,this.v,b,c,a),O(this,-2),this.v.Z());this.P&&(Og(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; -function Og(a,b){if(rb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ma("http://www.pcjs.org/api/v1/report",d,!0)}} -function xg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new M(a,"1.34.2"),g=new M(a,"1.34.2",Ig),h=La();g.set(Kg,h);f.set(Kg,h);f.set(Ug,"1.34.2");f.set(Vg,window?window.location.href:null);f.set(Wg,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=tb(a.id),k=0;k=d||30<=(c.Ta+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ta=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.I.PC){var f=a.D&&a.D.ca||8,e=e||0,e=8==f?wa(e,void 0):q(e,void 0);a.I.PC.textContent!=e&&(a.I.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ma(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);ph(a,b,c)}})}else c(a,null)} -function qh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);m&&(--mh||kb(!0));m=!1}var h,k,m=!0;mh++;pb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d|| -(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?nh(d,null,a,null,!1,f,function(a,e){e?(ob(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--mh||kb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--mh|| -kb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?nh(c,b,a,e,!0,f,n):oh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(fa){g(fa.message)}return m}window.embedPDP10=function(a,b,c,d){kb(!1);return qh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){kb(!1);return qh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Db(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Gb[a]){for(var c=!0,d=Gb,e=a,f=b.length,g=[],h=[],k="",m=null,n=0;n>>g.f;0>>= +g.f;0>>a.f;0f&&f>=-Tb&&(f+=I);for(var f=Math.trunc(Math.abs(f))%I,h=d;g--&&h=pa.fb&&c<=pa.yb&&(b=c-(pa.fb-pa.ub));b&&(a.preventDefault&&a.preventDefault(),d.Ra(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==pa.wb&&(b=pa.vb);d.Ra(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ra(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.za=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;z(this)}; +l.sb=function(a){if(!this.b){var b=bd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ha(c[0]);if(d!=this.La)return;c=Ha(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.qa=function(a,b){if(!b)if(this.sb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +l.ga=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new O(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ra=function(a){if("number"==typeof a)this.f.push(a);else if("string"==typeof a)for(var b=0,c,d=0;da.A&&a.u.length&&(a.A=0);if(0>a.A||b!=a.u[a.A])a.u.splice(0,0,b),a.A=0;a.A--}else a.P?b="end":b=a.u[a.A+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ha(b.substring(c,g))),c=g+1}}return a} +function Me(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break; +case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} +function Ne(a,b,c){var d;if(b){b=Oe(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1,fa--;f=t+f;d>>=8}d=q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} +function Se(a,b){if(b)return Re(a,b,a.W[b]);var c=0;for(b in a.W)Re(a,b,a.W[b]),c++;return 0>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var Qe={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Te(a){Ke.call(this,a);this.wa=!1;this.la=!0;this.va=Y();this.L=Y(0);this.ja=Y(0);this.ba=Y(0);this.F=[];this.b=this.M=this.I=[];Ue(this);this.R=this.ka=0;this.f=[];this.sa=void 0;Ve(this);this.D=this;this.ma={};this.X=this.ob=0;this.S=null;this.O=[];We(this,a.messages);this.ua=a.commands;this.N=0;this.Ba=this.ta=null;this.B=this.ya=this.xa=this.ia=this.ra=0;this.ea=this.aa=null;var b=this;window?void 0===window[x]&&(window[x]=function(a){return gd(b,a)}):void 0===global[x]&&(global[x]=function(a){return gd(b, +a)})}p(Te,Ke);function Xe(a){a=a&&a.C;null==a&&(a=-1);return a}function Y(a,b,c){return{C:void 0===a?null:a,Pa:void 0===b?!1:b,fa:!1,ca:c}}function Ye(a,b,c,d){a.C=b;a.Pa=c||!1;a.fa=!1;a.ca=d}function Ze(a){return[a.C,a.Pa,a.fa,a.ca,a.Sa]}function $e(a,b){var c=Y(b[0],b[1],b[2]);c.fa=b[3];b[4]&&(c.mb=Le(a,c.Sa=b[4]));return c}l=Te.prototype; +l.za=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;(a=bd(a,"messages"))&&We(this,a);af(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Xe(bf(d,c,d.ja));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.f;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=Mc[c],n&&d.j(q(n.id,8)+" %"+q(e<d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d>23&&a.v.ta==b&&(b=td(a.v,1)));if(0d&&(d=a.v.g(b)),0<=d&&(Ye(a.f[a.R],b),++a.R==a.f.length&&(a.R=0)));return!1} +function vf(a,b,c,d){var e=Y(b.C),g=a.Aa(b,1),f,h,k,m=0,n=g/Wb|0,t;for(t in wf)if(f=wf[t][n&t]){h=+t;n>>=6;switch(h){case 32512:k=xf;m=n&3;break;case 32256:k=dg;m=n&7;break;case 29248:k=fg,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>gg&&(k="B");k=hg[f||0]+k;if(f){if(28700==h)m=g/Xb&127,h=Q(a,m,-1);else if(m=g>>23&15,h=Q(a,m,-1),f==ig&&(f=jg[m]))k=hg[f],h="";k=Ba(k,8)+(h?h+",":"");g&4194304&&(k+="@");k+=Q(a,g&262143,-1);(g=g>>18&15)&&(k+="("+Q(a,g,-1)+")")}else k=Ba(k,8)+df(g);g=k;f="";h=Z(a, +e)+":";if(-1!==e.C&&-1!==b.C){do if(k=a.Aa(e,1),f+=" "+df(k),null==e.C)break;while(e.C!=b.C)}h+=Ba(f,16)+g;c&&(h=Ba(h,48)+";"+(c||""),h=a.v.w.Ea?h+("cycles="+hd(a.v).toString()+" cs="+q(a.v.va)):h+(null!=d?"="+d.toString():""));return h}function Ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b>>d.f],!1)}a.M=["br"];if(a.I)for(b=1;b>>d.f],!0);a.I=["bw"];a.ra=0;a.ka=0} +l.Da=function(a,b,c){var d=!0;c||kg(this,a,b,!1,!0);if(a!=this.b){var e=Xe(b);if(-1===e)this.j("invalid address: "+Z(this,b)),d=!1;else{var g=this.H;g.b[e>>>g.f].Da(e&16383,a==this.I)}}d&&(a.push(b),c?b.fa=!0:(lg(this,a,a.length-1,"set"),Ve(this)));return d};function kg(a,b,c,d,e){var g=!1;c=Xe(c);for(var f=1;f>>d.f],b==a.I));h.fa||Ve(a);break}}return g} +function mg(a,b){for(var c=1;cd;d++){!d||d&3||(c+="\n");var e=a,g=sa(d,2);Ye(e.va,d);g+="="+Q(e,e.Aa(e.va),36)+" ";c+=g}if(b){b="";for(d=0;d=jf?1:d==gf?23:18)+" "),b+=e;c+="\n"+b}return c}l.pb=function(a,b){return a[0]>b[0]?1:a[0]>>0,f],t=Ia(n,k,a.pb);0>t&&n.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({dd:b,C:c,Db:d,T:e,nb:g})}function pg(a,b,c){var d=[],e=Xe(b)>>>0;for(b=0;b>>0,h=g.Db;if(e>=f&&eb){a.j("unknown register: "+g);return}var g=0,h=a.v;switch(b){case ff:h.A= +f%A;Ye(a.L,h.A);break;case jf:g=65536;break;case kf:g=32768;break;case lf:g=131072;break;case mf:g=32;break;case nf:g=262144}g&&(h.u=f?h.u|g:h.u&~g);P(a.G);a.j("updated registers:")}}a.j(og(a,e));c&&(Ye(a.L,d.A),tf(a,Z(a,a.L)))}}function tg(a,b){b=Ha(b);var c=b.match(/^(['"])(.*?)\1$/);c?1h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(f=h[3],g=null);h=a.ba;m=b;h.C=m.C;h.Pa=m.Pa;h.fa=m.fa;h.ca=m.ca;a.j(vf(a,b,f,g));e-=b.C-k;c++}}} +function ng(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(rf+b):(a.P&&(a.j("ended assemble at "+Z(a,a.ba)),a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.S=null;if(Kb(a)&&0n||"z"gg&&(Gd="B");if(Dd== +hg[rb]+Gd){Af=29248!=wc?Ua:(Ua&3)<<1|(Ua&12)<<2;B=(Fd|Af<<6)*Wb;break}}if(0<=B)break}if(0<=B)break}if(0<=B)if(vc)for(var Hd=vc.split(","),Va=0;VaL||127L||15L||262143L||15ha.length&&(a.j("note: only "+ha.length+" available"),X=ha.length);ca-=X;0>ca&&(null==ha[ha.length-1].C?(X=ca+X,ca=0):ca+=ha.length);var Md=[];"call"==Gf&&(tb=1E5,Md=["CALL"]);for(void 0!==Ff&& +a.j(X+" instructions earlier:");0=ha.length&&(ca=0);a.sa=X;If++;tb--}}If||(a.j("no "+Hf+"history available"),a.sa=void 0)}else{var ab=bf(a,ga,a.ja);if(ab){var Da=0,Lf="ds"==Ya;if(ta){if("l"==ta.charAt(0))ta=ta.substr(1)||Yg,Da=Pe(a,ta);else{var Mf=bf(a,ta);Mf&&(Da=Mf.C-ab.C)}0>Da&&(Da=0);65536Qf;Qf++)Of+=String.fromCharCode((yc%64|0)+32),yc/=64}Ea&&(Ea+="\n");Ea=Lf?Ea+(Fa+","):Ea+(ga+": "+Fa+(0>Pf?" "+Of:""))}Ea&&a.j(Ea);a.ca=$g}}}}break;case "e":if("else"==f[0])break;var Rf,Sf,Tf=f[0],Pd=f[1];"e"==Tf||"ew"==Tf?(Rf=a.Aa,Sf=a.hb):Pd=null;if(null== +Pd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var zc=bf(a,Pd,a.ja);if(zc)for(var Ac=2;AcTd;){for(var Ga=null,dh=256;65536>wb.C>>>0;){Ud.C=a.Aa(wb,2);if(null==wb.C||!dh--)break;if(!(Ud.C&1)){for(var eh=a,Bc=Ud,Vf=null,xb=Bc.C,Wf=xb, +Vd=1;6>=Vd&&xb;Vd++){if(2bg)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");else if(a.N)a.j("step in progress"); +else{var cg=Y(a.v.A);a.Aa(cg);a.N?(a.Da(a.b,cg,!0),pf(a)||(a.G&&ld(a.G),a.N=0)):ug(a,bg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}sf(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var zb=+f[2];if(8==zb||10==zb||16==zb)a.ca=zb;else{a.j("invalid base: "+zb);break}}a.j("default base: "+a.ca);break;case "cs":var Ab;void 0!==f[3]&&(Ab=+f[3]);switch(f[2]){case "int":a.v.ia=Ab;break;case "start":a.v.wa=Ab;break;case "stop":a.v.ka=Ab;break;default:a.j("unknown cs option");break a}void 0!== +Ab&&dd(a.v);a.j("checksums "+(a.v.w.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(id(a.v,+f[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.aa.toFixed(2)+"Mhz")+" ("+a.v.ba+"x)");break;default:if(f[1]){a.j("unknown option: "+f[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"), +a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":ug(a,f[0],f[1]);break;case "u":tf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){rg(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.kb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}g=!0;break;case "?":if(f[1]){tg(a,b.substr(1));break}var Wd="commands:",Xd;for(Xd in wg)Wd+="\n"+Ba(Xd,9)+wg[Xd];ud(a)||(Wd+="\nnote: history disabled if no exec breakpoints");a.j(Wd);break;default:g=!0}g&&(a.j("unknown command: "+ +b),d=!1)}}catch(eg){a.j("debugger error: "+(eg.stack||eg.message)),d=!1}return d}function gd(a,b,c){b=Le(a,b,c);for(var d in b)if(!ng(a,b[+d]))return!1;return!0} +var wg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},gg=20,ig=85,hg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CA JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), +ff=0,gf=1,hf=2,jf=3,kf=4,lf=5,mf=6,nf=7,ef="PC RA EA C0 C1 OV ND PD".split(" "),xg={},wf=(xg[28672]={0:101},xg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:ig,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},xg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:gg,9216:53,9472:52, +9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},xg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},xg[29248]={24576:79,24640:80,25088:81,25152:82},xg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, +28692:98,28696:99,28700:100},xg),xf=["","I","M","S"],dg=" L E LE A GE N G".split(" "),fg="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),jg={8:102,4:103,2:104,6:105,1:106},of=1E3,rf=">> ";eb(function(){for(var a=y(document,x,"debugger"),b=0;b\nLicense: GPL version 3 or later ");for(b=0;bBg){if(Cg(d,this.M)){this.B=new O(this,"1.34.2",Lg);Cg(this.B)&&(Mg(this,d),a=Ng,Og(this.B));this.B.set(Ig,Ja());Pg(this.B);var e=this.b&&!this.L;if(a==Jg||pb("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Hg(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?Cg(d,f):("error"==g&&"no machine state"!= +f?(this.da("Error: "+f),"unable to verify user"==f&&(Pa(Qg,""),this.f=null)):this.j(g+": "+f),Og(d),Cg(d)?(c=Hg(d),e=!0):c=!1))}e&&Fg(this,c?d:null)}else a==Ng&&d.clear()}else Fg(this);delete this.M;delete this.I}e=qb(this.id);for(g=0;ga[1];a=a[2];this.S=!0;this.w.U=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Rg(this,this.v,b,c,a),P(this,-2),this.v.Z());this.P&&(Mg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.A=0}; +function Mg(a,b){if(pb("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.f||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}} +function vg(a,b,c){var d,e="none";if(a.A)return null;a.A--;var g=new O(a,"1.34.2"),f=new O(a,"1.34.2",Gg),h=Ja();f.set(Ig,h);g.set(Ig,h);g.set(Sg,"1.34.2");g.set(Tg,window?window.location.href:null);g.set(Ug,window?window.navigator.userAgent:"");a.v&&a.v.ga&&(c&&(b&&(a.v.w.Z=a.v.w.K),a.v.V()),d=a.v.ga(b,c),"object"===typeof d&&g.set(a.v.id,d),c&&(a.v.w.U=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k=d||30<=(c.Ua+=d))&&(e.textContent=c.w.K?c.W.toFixed(2)+"Mhz":"Stopped",c.Ua=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.w.K;d=!!(a.v.B&8);if(0>=b||60<=(a.L+=b)){e=a.v.A;if(a.J.PC){var g=a.D&&a.D.ca||8,e=e||0,e=8==g?sa(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.L=0}-1>b?a.f=a.v.A:0f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],f);nh(a,b,c)}})}else c(a,null)} +function oh(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&y(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=za(a))}function f(a){g("Error: "+a);m&&(--kh||ib(!0));m=!1}var h,k,m=!0;kh++;nb[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=n:C.appendChild(document.createTextNode(n));t.appendChild(C)}d|| +(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.2/components.xsl");n=function(e,k){k?lh(d,null,a,null,!1,g,function(a,e){e?(mb(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--kh||ib(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--kh|| +ib(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?lh(c,b,a,e,!0,g,n):mh(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(fa){f(fa.message)}return m}window.embedPDP10=function(a,b,c,d){ib(!1);return oh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return oh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return Bb(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Eb[a]){for(var c=!0,d=Eb,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;na?-b:b}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); -var ia=Math.pow(2,36),ja=Math.pow(2,35),q={Bb:0,Ua:1,Db:2,Eb:3,Fb:4,Gb:5,Hb:6,Ib:7,Na:8,Jb:9,Va:10,Kb:11,Lb:12,Wa:13,Mb:14,Nb:15,Ob:16,Pb:17,Qb:18,Rb:19,Sb:20,Tb:21,Ub:22,Vb:23,Wb:24,Xb:25,Yb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ma:65,Ab:66,Cb:67,Zb:68,E:69,$b:70,ac:71,bc:72,cc:73,dc:74,ec:75,fc:76,gc:77,hc:78,ic:79,jc:80,Q:81, -kc:82,lc:83,mc:84,nc:85,oc:86,pc:87,qc:88,rc:89,$a:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,sc:97,tc:98,uc:99,d:100,e:101,vc:102,wc:103,xc:104,yc:105,zc:106,k:107,Ac:108,Bc:109,n:110,Cc:111,p:112,q:113,r:114,Dc:115,t:116,Ec:117,Fc:118,Gc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Xa:127}; -function ka(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function la(a,b){b?12"']/g,function(a){return sa[a]})}function ta(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"}; -function va(){function a(a){return(10>a?"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 q={Cb:0,Wa:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Oa:8,Kb:9,Xa:10,Lb:11,Mb:12,Ya:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Na:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81,lc:82,mc:83,nc:84,oc:85,pc:86,qc:87, +rc:88,sc:89,ab:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Za:127};function ia(a,b,c,d){var e="";if(null==a||isNaN(a))for(;0a&&-1=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e} +function ja(a,b){b?12"']/g,function(a){return qa[a]})}function ra(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var qa={"&":"&","<":"<",">":">",'"':""","'":"'"};function sa(){function a(a){return(10>a?"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 r(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, f,e))});if(b&&"object"==typeof b){var l="",p;for(p in b)b.hasOwnProperty(p)&&(l&&(l+="&"),l+=p+"="+encodeURIComponent(b[p]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} -function wa(a,b){var c,d={H:null,O:null,T:null,S:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;cb.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.T=g.load;d.S=g.exec;if(e=g.bytes)d.H=e;else if(e=g.words)for(d.H=Array(2*e.length),f=c=0;c>8&255;else if(e=g.longs)for(d.H=Array(4*e.length),f=c=0;c>8&255,d.H[f++]=e[c]>>16&255,d.H[f++]=e[c]>>24&255;else(e=g.data)?d.Y=e:d.H=g;d.H&&(d.H.length?1==d.H.length&&(t(d.H[0]),d=null):(t("Empty resource: "+a),d=null));d.O=g.symbols}catch(h){t("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;ca?this.oa=this.id:(this.pa=this.id.substr(0,a),this.oa=this.id.substr(a+1));this.h={ready:!1,va:!1,Ha:!1,D:!1,error:!1};this.xa=null;this.h.error=!1;this.v=this.i=this.s=this.u=this.ba=null;y.push(this)}function La(a,b,c){Ma[a]&&b&&(Ma[a][b]=c)}function Na(){return Date.now()||+new Date} -function t(a){window&&window.alert(a)}function Oa(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba?this.qa=this.id:(this.ra=this.id.substr(0,a),this.qa=this.id.substr(a+1));this.h={ready:!1,wa:!1,Ia:!1,D:!1,error:!1};this.ya=null;this.h.error=!1;this.w=this.i=this.s=this.u=this.ba=null;y.push(this)}function Ja(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function La(){return Date.now()||+new Date} +function t(a){window&&window.alert(a)}function Ma(a){var b=!1;window&&(b=window.confirm(a));return b}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;ba;a++)this.a["S"+a]=[0,0,!1,!1,this.kb,a];this.v=this.i=this.s=this.u=null;this.exports={hold:this.cb,toggle:this.vb,reset:this.rb, -set:this.ub};G(this)}n(eb,w);k=eb.prototype;k.reset=function(a){this.stop();a&&gb(this,this.j=0)}; -k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){hb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ib(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){hb(a, -b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ib(a,b)}}(this,b),!0):w.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;jb(this);kb(this)};k.V=function(a,b){if(!b)if(this.P&&lb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new Q(this);a.set(0,[this.b,this.j,this.g]);return a.data()}; -k.restore=function(a){if(a=a[0])mb(this,this.b=a[0]),gb(this,this.j=a[1]),nb(this,a[2]);return!0};k.rb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}kb(this);return!0};function ob(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function jb(a,b){for(var c in a.l)ob(a,c,null!=b?b:a.l[c])}function pb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function kb(a){for(var b in a.a)pb(a,b,a.a[b][1])} -k.cb=function(a,b,c){if(hb(this,b)){if(c){var d=this;setTimeout(function(){ib(d,b);a&&a()},+c);return!1}ib(this,b)}return!0}; -k.ub=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);gb(this,this.j=a)}};k.jb=function(a){a||this.i.h.A||mb(this,this.g)};k.ib=function(a){a?(this.o=!0,jb(this,!0)):(this.o=!1,jb(this),nb(this,0))};k.kb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.za+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.za){p=h.size-(e-l);p>f&&(p=f);h.za=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Eb(Fb,e,f)}e=new T(a,e,p,16384,d);Bb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Gb[d]+" at "+la(b)),!0):Eb(Hb,b,c)}function zb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} -function Cb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ha,c=!0);0<=a.ia&&a.ia<=Xb(a)&&(a.ha=a.ia=-1,Wb(a),R(a),c=!0);c&&a.M(Xb(a)+" cycles: checksum="+ma(a.qa))}} -k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Da*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}wb(a,a.C);a.C=0;a.B=Na();a.I=0;Zb(a)}function ac(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function bc(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} -k.sb=function(){if(this.h.A){this.sa>=this.Fa&&Zb(this,!0);this.ea=0;this.ga=Na();if(this.I){var a=this.ga-this.I;a>this.Ea&&(this.B+=a,this.B>this.ga&&(this.B=this.ga))}try{do{for(var b,c=this.h.wa?1:this.ja,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Aa(b)}catch(f){if("number"!=typeof f)throw f;}b=bc(this,!0);this.ea+=b;this.C+=b;xb(this,b);vb(this,b);this.da-=b;if(0>=this.da){this.da+=this.ja;++this.Ga>=cc&&(this.u&&S(this.u,void 0),this.Ga=0);break}}while(this.h.A)}catch(f){R(this); -this.u&&this.u.stop(Na(),Xb(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Qa;this.I=Na();c=this.Ea;this.ea&&(c=Math.round(c*this.ea/this.ja));c-=this.I-this.ga;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Yb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.sa+=this.ea;this.I+=c;a(b,c)}}}; -function ub(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Yb(a);a.h.A=!0;a.h.Ka=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Xb(a));a.v||a.status("Started");setTimeout(a.Qa,0)}}k.Aa=function(){return 0};function R(a){var b=!1;if(a.h.A){bc(a);wb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(Na(),Xb(a));b=!0;a.v||a.status("Stopped")}a.h.complete=void 0;return b}var $b=30,cc=15,Tb=["power","reset"]; -function dc(a){var b=+a.model||1001;Sb.call(this,a,1E6);this.Ya=b;this.na=+a.addrReset||0;this.Za=ec.bind(this);this.a=U.bind(this);this.fa=null;this.Oa=[];this.h.complete=!1}n(dc,Sb);k=dc.prototype;k.reset=function(){this.status("Model "+this.Ya);this.h.A&&R(this);this.b=this.w=this.ua=0;this.j=this.Ca=this.na;this.o=-1;this.ta=this.g=0;this.la=this.j;this.l=0;this.c=this.ob;this.f=this.zb;this.fa=null;Vb(this);this.h.error=!1;Sb.prototype.reset.call(this)};k.Sa=function(){return 0}; -k.save=function(){var a=new Q(this);a.set(0,[this.b,this.w,this.ua,this.j,this.o,this.g,this.l,this.Ca,this.la,this.na]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,fc(this));a.set(4,ac(this));return a.data()}; -k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.w=b.next().value;this.ua=b.next().value;this.j=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Ca=b.next().value;this.la=b.next().value;this.na=b.next().value;b=a[2];this.N=b[0];Yb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].c(a&16383,a)};k.zb=function(a,b){var c=this.s;a=this.la=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; -k.Aa=function(a){this.h.complete=!0;var b=a?this.h.Ka?0:1:-1;this.h.Ka=!1;this.K=this.L=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.fa||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.v.j(this.j,b)){R(this);break}if(0>b)break}this.l&=15;this.w=this.w&4194304?this.c(this.b):this.ua=this.c(this.Ca=this.j);this.w&=8388607;this.b=this.w&262143;if(a=this.w>>18&15)this.b=this.b+this.c(a)&Xa;this.w&4194304?a=-1:(this.j=(this.j+1)%Ya,a=this.ua/cb|0);0<=a&&this.Za(a)}while(0< -this.L);return this.h.complete?this.K-this.L:!1===this.h.complete?-1:0};u(function(){for(var a=F(document,E,"cpu"),b=0;b>4].call(this,a,a&15)}function V(a){this.a(a)}function ic(){var a=0,b=this.c(this.b),c=b/db&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*db+(d<<24)+(b&16777215);a&&(b=(b+a)%N);this.f(this.b,b)} -function jc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.o=-1}}function kc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.w=this.b|4194304,gc(this);else{var c=this.o/db&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%N;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function lc(a,b){this.f(b,this.c(this.b))} -function mc(a,b){this.f(b,this.b)}function nc(a,b){this.f(this.b,this.c(b))}function oc(a,b){this.f(b,0)}function pc(a,b){this.f(b,M-this.c(b))}function qc(a,b){this.f(b,M)}function rc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,W(a,d,c)+(c-(c&I)))}function sc(a,b){var c=this.c(b);this.f(b,W(a,c,0))}function tc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,W(a,c,b)+(b-(b&I)))} -function uc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&I,a){case 256:d+=I;break;case 384:d+=c>O?I:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function vc(a,b){var c=(this.c(this.b)&I)*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function wc(a,b){var c=this.b*J,d=this.c(b);this.f(b,W(a,d,c)+c)}function xc(a,b){b=(this.c(b)&I)*J;var c=this.c(this.b);this.f(this.b,W(a,c,b)+b)}function yc(a,b){var c=this.c(this.b),d=(c&I)*J,c=W(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} -function zc(a,b){var c=this.c(this.b)&I,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Bc(a,b){var c=this.c(b);this.f(b,Ac(a,c,this.b)+this.b)}function Cc(a,b){b=this.c(b)&I;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Dc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=I,a){case 256:d+=I*J;break;case 384:d+=c>Za?I*J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Ec(a,b){var c=this.c(this.b)/J|0,d=this.c(b);this.f(b,Ac(a,d,c)+c)}function Fc(a,b){var c=this.c(b);this.f(b,Ac(a,c,0))} -function Gc(a,b){b=this.c(b)/J|0;var c=this.c(this.b);this.f(this.b,Ac(a,c,b)+b)}function Hc(a,b){var c=this.c(this.b),d=c/J|0,c=Ac(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Ic[a&7].call(this,a,a>>3&127)}function Jc(){}function U(a){this.M("undefined opcode: "+la(a));gc(this);R(this)}function Kc(a){a>O&&(a!=$a?a=ab-a:this.g|=163840);return a}function Lc(a,b){var c=(a+b)%N;Mc.call(this,a,b,c);return c}function Y(a,b){return((a/P|0)&(b/P|0))*P+((a&b)>>>0)} -function Nc(a,b){return((a/P|0)^(b/P|0))*P+((a^b)>>>0)}function Oc(a,b){return(~((a/P|0)^(b/P|0))&15)*P+(~(a^b)>>>0)}function Z(a,b){return(a/P|0|b/P|0)*P+((a|b)>>>0)} -function Pc(a,b){var c=b;b=!1;var d;a>O&&(a=N-a,b=!b);c>O&&(c=N-c,b=!b);if(ac&&(c+=N);Mc.call(this,c,b,a);return c}function Mc(a,b,c){a=Math.trunc(a/bb);b=Math.trunc(b/bb);c=Math.trunc(c/bb);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Ac(a,b,c){switch(a&384){case 0:b-=b&I;break;case 128:b=0;break;case 256:b=I*J;break;case 384:b=c>Za?I*J:0}return b}function W(a,b,c){switch(a&384){case 0:b&=I;break;case 128:b=0;break;case 256:b=I;break;case 384:b=c>O?I:0}return b} -var hc=[V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,function(a,b){0>this.o&&ic.call(this);jc.call(this,0,b)},jc,function(a,b){0>this.o&&ic.call(this);kc.call(this,0,b)},kc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +var E="pdp10",H="PDPjs",Va=Math.pow(2,18)-1,I=Math.pow(2,18),J=Math.pow(2,18)-1,K=Math.pow(2,18),L=Math.pow(2,35)-1,M=Math.pow(2,35),N=Math.pow(2,36)-1,O=Math.pow(2,36),Wa=Math.pow(2,17)-1,P=Math.pow(2,35)-1,Xa=Math.pow(2,35),Ya=Math.pow(2,36),Za=Math.pow(2,34),Q=Math.pow(2,32),$a=Math.pow(2,23),ab=Math.pow(2,30),E="pdp10",H="PDPjs"; +function bb(a,b){w.call(this,"Panel",a);this.B=this.C=0;this.P=b;this.b=this.v=this.g=this.j=0;this.G=this.I=-1;this.K=this.L=this.o=!1;this.N=cb;this.l={};this.a={START:[1,1,!0,!1,this.mb],STEP:[1,1,!1,!1,this.nb],ENABLE:[1,1,!1,!1,this.hb],CONT:[1,1,!0,!1,this.fb],DEP:[0,0,!0,!1,this.gb],EXAM:[1,1,!0,!1,this.ib],LOAD:[1,1,!0,!1,this.kb],TEST:[0,0,!0,!1,this.jb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.lb,a];this.w=this.i=this.s=this.u=null;this.exports={hold:this.eb,toggle:this.wb,reset:this.sb, +set:this.vb};G(this)}n(bb,w);k=bb.prototype;k.reset=function(a){this.stop();a&&db(this,this.j=0)}; +k.U=function(a,b,c,d){if(this.u&&this.u.U(a,b,c,d)||this.i&&this.i.U(a,b,c,d))return!0;switch(b){case "PC":return this.m[b]=c,this.C++,!0;default:return"led"==a||"rled"==a?(this.m[b]=c,this.l[b]=d?1:0,this.C++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.m[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){eb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fb(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){eb(a, +b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fb(a,b)}}(this,b),!0):w.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;gb(this);hb(this)};k.V=function(a,b){if(!b)if(this.P&&ib(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.R=function(a){return a?this.save():!0};k.save=function(){var a=new R(this);a.set(0,[this.b,this.j,this.g]);return a.data()}; +k.restore=function(a){if(a=a[0])jb(this,this.b=a[0]),db(this,this.j=a[1]),kb(this,a[2]);return!0};k.sb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}hb(this);return!0};function lb(a,b,c){if(a=a.m[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gb(a,b){for(var c in a.l)lb(a,c,null!=b?b:a.l[c])}function mb(a,b,c){if(a=a.m[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hb(a){for(var b in a.a)mb(a,b,a.a[b][1])} +k.eb=function(a,b,c){if(eb(this,b)){if(c){var d=this;setTimeout(function(){fb(d,b);a&&a()},+c);return!1}fb(this,b)}return!0}; +k.vb=function(a,b){if("SR"==a){a=b;b=8;var c;if(a){b||(b=10);var d=a.charAt(0),e=0>>a.b];a.j++;b=c.m(b&16383,b);a.j--;a=b}else a=this.i.c(this.b);db(this,this.j=a)}};k.kb=function(a){a||this.i.h.A||jb(this,this.g)};k.jb=function(a){a?(this.o=!0,gb(this,!0)):(this.o=!1,gb(this),kb(this,0))};k.lb=function(a,b){this.g=a?this.g|1<c;c++){var d=a,e="A"+c,f=b&1<c;c++){var d=a,e="D"+c,f=b&1<b;b++)a.a["S"+b][1]=a.g&1<d.length){for(var e=0,f=Array(4096),g=0;g>>a.b;0f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.Aa+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.Aa){p=h.size-(e-l);p>f&&(p=f);h.Aa=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return Bb(Cb,e,f)}e=new U(a,e,p,16384,d);yb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Db[d]+" at "+ja(b)),!0):Bb(Eb,b,c)}function wb(a,b,c){var d=a.a[(b&a.g)>>>a.b];a.j++;d.g(c,b&16383,b);a.j--} +function zb(a){for(var b=0,c=[],d=0;d=a.X&&(a.X+=a.ja,c=!0);0<=a.ka&&a.ka<=Ub(a)&&(a.ja=a.ka=-1,Tb(a),S(a),c=!0);c&&a.M(Ub(a)+" cycles: checksum="+ka(a.sa))}} +k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.m[b]=c,!0;case "run":return this.m[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.h.D)a=!0;else{var b=null,c,h=z(a.id);for(c=0;ca.P/a.W&&(b=1);a.ca=b;b=a.Ea*a.ca;if(a.W!=b){a.W=b;b=a.W.toFixed(2)+"Mhz";var d=a.m.setSpeed;d&&(d.textContent=b);a.M("target speed: "+b)}c&&a.u&&(c=a.u,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}tb(a,a.C);a.C=0;a.B=La();a.I=0;Wb(a)}function Yb(a){for(var b=[],c=0;cd[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Zb(a,b){var c=a.K-=a.L;a.L=0;b&&(a.K=0);return c} +k.tb=function(){if(this.h.A){this.ua>=this.Ga&&Wb(this,!0);this.ea=0;this.ia=La();if(this.I){var a=this.ia-this.I;a>this.Fa&&(this.B+=a,this.B>this.ia&&(this.B=this.ia))}try{do{for(var b,c=this.h.xa?1:this.la,d=this.G.length-1;0<=d;d--){var e=this.G[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ba(b)}catch(f){if("number"!=typeof f)throw f;}b=Zb(this,!0);this.ea+=b;this.C+=b;ub(this,b);sb(this,b);this.da-=b;if(0>=this.da){this.da+=this.la;++this.Ha>=$b&&(this.u&&T(this.u,void 0),this.Ha=0);break}}while(this.h.A)}catch(f){S(this); +this.u&&this.u.stop(La(),Ub(this));a=f.stack||f.message;this.h.error=!0;this.F(a);return}if(this.h.A){a=setTimeout;b=this.Ra;this.I=La();c=this.Fa;this.ea&&(c=Math.round(c*this.ea/this.la));c-=this.I-this.ia;if(d=this.I-this.B)this.P=Math.round(this.C/(10*d))/100,864E5<=d&&(this.N=0,Vb(this));if(0>c||this.Pc&&(this.B-=c),c=0;this.ua+=this.ea;this.I+=c;a(b,c)}}}; +function rb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.A)a.M(a.toString()+" busy");else{Vb(a);a.h.A=!0;a.h.La=!0;if(b=a.m.run)b.textContent="Halt";a.u&&a.u.start(a.B,Ub(a));a.w||a.status("Started");setTimeout(a.Ra,0)}}k.Ba=function(){return 0};function S(a){var b=!1;if(a.h.A){Zb(a);tb(a,a.C);a.C=0;a.h.A=!1;if(b=a.m.run)b.textContent="Run";a.u&&a.u.stop(La(),Ub(a));b=!0;a.w||a.status("Stopped")}a.h.complete=void 0;return b}var Xb=30,$b=15,Qb=["power","reset"]; +function ac(a){var b=+a.model||1001;Pb.call(this,a,1E6);this.$a=b;this.pa=+a.addrReset||0;this.bb=bc.bind(this);this.a=V.bind(this);this.ha=null;this.Pa=[];this.h.complete=!1}n(ac,Pb);k=ac.prototype;k.reset=function(){this.status("Model "+this.$a);this.h.A&&S(this);this.b=this.v=this.ma=0;this.j=this.Da=this.pa;this.o=this.fa=-1;this.va=this.g=0;this.ga=this.j;this.l=0;this.c=this.pb;this.f=this.Ab;this.ha=null;Sb(this);this.h.error=!1;Pb.prototype.reset.call(this)};k.Ta=function(){return 0}; +k.save=function(){var a=new R(this);a.set(0,[this.b,this.v,this.ma,this.j,this.fa,this.o,this.g,this.l,this.Da,this.ga,this.pa]);a.set(1,[]);a.set(2,[this.N,this.ca,this.h.J]);a.set(3,cc(this));a.set(4,Yb(this));return a.data()}; +k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.v=b.next().value;this.ma=b.next().value;this.j=b.next().value;this.fa=b.next().value;this.o=b.next().value;this.g=b.next().value;this.l=b.next().value;this.Da=b.next().value;this.ga=b.next().value;this.pa=b.next().value;b=a[2];this.N=b[0];Vb(this,b[1]);this.h.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d>>b.b].c(a&16383,a)};k.Ab=function(a,b){var c=this.s;a=this.ga=a;c.a[(a&c.g)>>>c.b].f(b,a&16383,a);return b}; +k.Ba=function(a){this.h.complete=!0;var b=a?this.h.La?0:1:-1;this.h.La=!1;this.K=this.L=a;this.l=this.l&-5|0;do{if(a=this.l)if(a=this.l&11)this.l&2?this.ha||(this.l&=-3):this.l&1&&this.l++,a=!1;if(a){if(this.l&4&&this.w.j(this.j,b)){S(this);break}if(0>b)break}this.l&=15;this.v&4194304?this.v=this.c(this.b):0<=this.fa?(this.v=this.ma=this.c(this.fa),this.fa=-1):(this.v=this.ma=this.c(this.Da=this.j),this.j=(this.j+1)%I);this.v&=8388607;this.b=this.v&262143;if(a=this.v>>18&15)this.b=this.b+this.c(a)& +Va;a=this.v&4194304?-1:this.ma/$a|0;0<=a&&this.bb(a)}while(0>4].call(this,a,a&15)}function W(a){this.a(a)}function fc(){var a=0,b=this.c(this.b),c=b/ab&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*ab+(d<<24)+(b&16777215);a&&(b=(b+a)%O);this.f(this.b,b)} +function gc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304;else{var c=this.o/ab&63,d=this.o>>24&63;a=32>=c+d?(a>>c&(1<>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.f(b,a);this.o=-1}}function hc(a,b){a=this.c(this.b);if(0>this.o)this.o=a,this.v=this.b|4194304,dc(this);else{var c=this.o/ab&63,d=this.o>>24&63;b=this.c(b)%Math.pow(2,d)*Math.pow(2,c)%O;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.f(this.b,a);this.o=-1}}function ic(a,b){this.f(b,this.c(this.b))} +function jc(a,b){this.f(b,this.b)}function kc(a,b){this.f(this.b,this.c(b))}function lc(a,b){this.f(b,0)}function mc(a,b){this.f(b,N-this.c(b))}function nc(a,b){this.f(b,N)}function oc(a,b){var c=this.c(this.b),d=this.c(b);this.f(b,pc(a,d,c)+(c-(c&J)))}function qc(a,b){var c=this.c(b);this.f(b,pc(a,c,0))}function rc(a,b){b=this.c(b);var c=this.c(this.b);this.f(this.b,pc(a,c,b)+(b-(b&J)))} +function sc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d-=d&J,a){case 256:d+=J;break;case 384:d+=c>P?J:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function tc(a,b){var c=(this.c(this.b)&J)*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function uc(a,b){var c=this.b*K,d=this.c(b);this.f(b,pc(a,d,c)+c)}function vc(a,b){b=(this.c(b)&J)*K;var c=this.c(this.b);this.f(this.b,pc(a,c,b)+b)}function wc(a,b){var c=this.c(this.b),d=(c&J)*K,c=pc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)} +function xc(a,b){var c=this.c(this.b)&J,d=this.c(b);this.f(b,yc(a,d,c)+c)}function zc(a,b){var c=this.c(b);this.f(b,yc(a,c,this.b)+this.b)}function Ac(a,b){b=this.c(b)&J;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Bc(a,b){var c=this.c(this.b),d=c;if(a&=384)switch(d&=J,a){case 256:d+=J*K;break;case 384:d+=c>Wa?J*K:0}c=d;this.f(this.b,c);b&&this.f(b,c)}function Cc(a,b){var c=this.c(this.b)/K|0,d=this.c(b);this.f(b,yc(a,d,c)+c)}function Dc(a,b){var c=this.c(b);this.f(b,yc(a,c,0))} +function Ec(a,b){b=this.c(b)/K|0;var c=this.c(this.b);this.f(this.b,yc(a,c,b)+b)}function Fc(a,b){var c=this.c(this.b),d=c/K|0,c=yc(a,c,d)+d;this.f(this.b,c);b&&this.f(b,c)}function X(a){Gc[a&7].call(this,a,a>>3&127)}function Hc(){}function V(a){this.M("undefined opcode: "+ja(a));dc(this);S(this)}function Ic(a){a>P&&(a!=Xa?a=Ya-a:this.g|=163840);return a}function Jc(a,b){var c=(a+b)%O;Kc.call(this,a,b,c);return c}function Y(a,b){return((a/Q|0)&(b/Q|0))*Q+((a&b)>>>0)} +function Lc(a,b){return((a/Q|0)^(b/Q|0))*Q+((a^b)>>>0)}function Mc(a,b){return(~((a/Q|0)^(b/Q|0))&15)*Q+(~(a^b)>>>0)}function Z(a,b){return(a/Q|0|b/Q|0)*Q+((a|b)>>>0)} +function Nc(a,b){var c=b;b=!1;var d;a>P&&(a=O-a,b=!b);c>P&&(c=O-c,b=!b);if(ac&&(c+=O);Kc.call(this,c,b,a);return c}function Kc(a,b,c){a=Math.trunc(a/Za);b=Math.trunc(b/Za);c=Math.trunc(c/Za);var d=a^(a^b)&(b^c);this.g=this.g|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function yc(a,b,c){switch(a&384){case 0:b-=b&J;break;case 128:b=0;break;case 256:b=J*K;break;case 384:b=c>Wa?J*K:0}return b}function pc(a,b,c){switch(a&384){case 0:b&=J;break;case 128:b=0;break;case 256:b=J;break;case 384:b=c>P?J:0}return b} +var ec=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},fc,function(a,b){0>this.o&&fc.call(this);gc.call(this,0,b)},gc,function(a,b){0>this.o&&fc.call(this);hc.call(this,0,b)},hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,mc,nc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(b,a)},function(a,b){this.f(b,this.b*J)},function(a,b){a=this.c(b);a=(a/J|0)+a%J*J;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/J|0)+a%J*J;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Qc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?ab-this.b:0)},function(a,b){this.f(this.b, -Qc.call(this,this.c(b)))},function(a,b){a=Qc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Kc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Kc.call(this,this.c(b)))},function(a,b){a=Kc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.ta)}, -function(a,b){this.f(b,Pc.call(this,this.c(b),this.b));this.f(b+1&15,this.ta)},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.ta)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a> -O?-(N-a):a;0d?L:0,c=K):(d=d*Math.pow(2,c)%L,c=L-Math.pow(2,35-c)),a<=O?a+c>O&&(this.g|=131072):a-c<=O&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+N:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%N+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a){this.a(a)}, -function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0K&&dK&&eO&&(this.g|=131072):e-c<=O&&(this.g|=131072);e=0;f>K&&(d+=L,e+=L)}else d=d*Math.pow(2,a)%L+Math.trunc(e%L/Math.pow(2,35-a)),e=e*Math.pow(2,a)%L,c=L-Math.pow(2,35-a),f<=O?f+c>O&&(this.g|=131072):(f-c<=O&&(this.g|=131072),d+=L,e+=L)}else-36>=a?(e=-72>=a?d> -K?M:0:Math.trunc(d%L/Math.pow(2,-a-35)),d<=K?d=0:(d=M,e+=L)):(c=d>K?N-Math.pow(2,36+a):0,e=Math.trunc(e%L/Math.pow(2,-a))+d%L*Math.pow(2,35+a)%L,d=Math.trunc(d/Math.pow(2,-a))+c,d>K&&(e+=L));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%N+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%N+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%N+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%N+Math.trunc(d/ -Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%N,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}},U,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a= -!1;for(var c=this.c(b),d=c/J|0,c=c&I;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&I,c=c+1&I,this.h.A||(this.f(b,d*J+c),a||gc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.b%Ya)},function(a){this.a(a)},U,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&I,this.c(this.b));a>=N&&(a-=N);a/J|0||(this.g|=262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&I);this.f(this.b,c);this.b== -b&&(a=c);a-=262145;0>a&&(a+=N);(a/J|0)==I&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,(this.g&I)*J+this.j);this.j=this.b%Ya},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a, -b){this.f(b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Rc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Rc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Rc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},ic,jc,kc,function(a,b){b&&this.f(b,this.c(this.b))},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(b,a)},function(a,b){this.f(b,this.b*K)},function(a,b){a=this.c(b);a=(a/K|0)+a%K*K;this.f(this.b,a)},function(a,b){a=this.c(this.b);a=(a/K|0)+a%K*K;this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Oc.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b?Ya-this.b:0)},function(a,b){this.f(this.b, +Oc.call(this,this.c(b)))},function(a,b){a=Oc.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a,b){this.f(b,Ic.call(this,this.c(this.b)))},function(a,b){this.f(b,this.b)},function(a,b){this.f(this.b,Ic.call(this,this.c(b)))},function(a,b){a=Ic.call(this,this.c(this.b));this.f(this.b,a);b&&this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)));this.f(b+1&15,this.va)}, +function(a,b){this.f(b,Nc.call(this,this.c(b),this.b));this.f(b+1&15,this.va)},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))));this.f(b+1&15,this.va)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.c(b);var d=a> +P?-(O-a):a;0d?M:0,c=L):(d=d*Math.pow(2,c)%M,c=M-Math.pow(2,35-c)),a<=P?a+c>P&&(this.g|=131072):a-c<=P&&(this.g|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+O:d;this.f(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.c(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%O+Math.trunc(c/Math.pow(2,36-a));this.f(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),c=0=a?0:Math.trunc(c/Math.pow(2,-a));this.f(b,c)}},function(a,b){a= +0;var c=this.c(b);if(c){for(;c>14)%256){var c,d=this.c(b),e=this.c(b+1&15);if(0L&&dL&&eP&&(this.g|=131072):e-c<=P&&(this.g|=131072);e=0;f>L&&(d+=M,e+=M)}else d=d*Math.pow(2,a)%M+Math.trunc(e%M/Math.pow(2,35-a)),e=e*Math.pow(2,a)%M,c=M-Math.pow(2,35-a),f<=P?f+c>P&& +(this.g|=131072):(f-c<=P&&(this.g|=131072),d+=M,e+=M)}else-36>=a?(e=-72>=a?d>L?N:0:Math.trunc(d%M/Math.pow(2,-a-35)),d<=L?d=0:(d=N,e+=M)):(c=d>L?O-Math.pow(2,36+a):0,e=Math.trunc(e%M/Math.pow(2,-a))+d%M*Math.pow(2,35+a)%M,d=Math.trunc(d/Math.pow(2,-a))+c,d>L&&(e+=M));this.f(b,d);this.f(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.c(b),d=this.c(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%O+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%O+Math.trunc(e/Math.pow(2,36-a))):(c= +d*Math.pow(2,a-36)%O+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%O+Math.trunc(d/Math.pow(2,72-a)));this.f(b,c);this.f(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.c(b),d=this.c(b+1&15);0=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%O,c=Math.trunc(c/Math.pow(2,-a)));this.f(b,c);this.f(b+1&15,d)}}, +V,function(a,b){a=this.c(b);this.f(b,this.c(this.b));this.f(this.b,a)},function(a,b){a=!1;for(var c=this.c(b),d=c/K|0,c=c&J;!a;)this.f(c,this.c(d)),c==this.b&&(a=!0),d=d+1&J,c=c+1&J,this.h.A||(this.f(b,d*K+c),a||dc(this),a=!0)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){a=b<<14;this.g&a&&(this.g&=~a,this.j=this.b%I)},function(){this.fa=this.b},V,function(a){this.a(a)},function(a,b){a=this.c(b);a+=262145;this.f(a&J,this.c(this.b));a>=O&&(a-=O);a/K|0||(this.g|= +262144);this.f(b,a)},function(a,b){a=this.c(b);var c=this.c(a&J);this.f(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=O);(a/K|0)==J&&(this.g|=262144);this.f(b,a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,(this.g&J)*K+this.j);this.j=this.b%I},function(a){this.a(a)},function(a){this.a(a)},function(a,b){this.f(b,Jc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Jc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Jc.call(this,this.c(b),this.c(this.b)))}, +function(a,b){this.f(this.b,this.f(b,Jc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Pc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Pc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Pc.call(this,this.c(b),this.c(this.b))))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},oc,oc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b, -Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),this.c(this.b))))},lc,mc,Jc,lc,function(a,b){this.f(b,Y.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),M-this.c(this.b)))}, -function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),M-this.c(this.b))))},Jc,Jc,nc,nc,function(a,b){this.f(b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Nc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Nc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Nc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b, -Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Y.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,M-this.c(b),M-this.c(this.b))))},function(a,b){this.f(b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Oc.call(this,this.c(b), -this.b))},function(a,b){this.f(this.b,Oc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Oc.call(this,this.c(b),this.c(this.b))))},pc,pc,function(a,b){this.f(this.b,M-this.c(b))},function(a,b){this.f(this.b,this.f(b,M-this.c(b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M- -this.c(b),this.c(this.b))))},function(a,b){this.f(b,M-this.c(this.b))},function(a,b){this.f(b,M-this.b)},function(){this.f(this.b,M-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),M-this.c(this.b))))},function(a,b){this.f(b, -Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,M-this.c(b),M-this.b))},function(a,b){this.f(this.b,Z.call(this,M-this.c(b),M-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,M-this.c(b),M-this.c(this.b))))},qc,qc,function(){this.f(this.b,M)},function(a,b){this.f(this.b,this.f(b,M))},rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc, -zc,Bc,Cc,Dc,Ec,Fc,Gc,Hc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, +function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},lc,lc,function(){this.f(this.b,0)},function(a,b){this.f(this.b,this.f(b,0))},function(a,b){this.f(b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,this.c(b),this.b))},function(a, +b){this.f(this.b,Y.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),this.c(this.b))))},ic,jc,Hc,ic,function(a,b){this.f(b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b, +Y.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,this.c(b),N-this.c(this.b))))},Hc,Hc,kc,kc,function(a,b){this.f(b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Lc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Lc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Lc.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Z.call(this,this.c(b), +this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,this.c(b),this.c(this.b))))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Y.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Y.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Y.call(this,N-this.c(b),N-this.c(this.b))))},function(a, +b){this.f(b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(b,Mc.call(this,this.c(b),this.b))},function(a,b){this.f(this.b,Mc.call(this,this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Mc.call(this,this.c(b),this.c(this.b))))},mc,mc,function(a,b){this.f(this.b,N-this.c(b))},function(a,b){this.f(this.b,this.f(b,N-this.c(b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),this.b))},function(a,b){this.f(this.b, +Z.call(this,N-this.c(b),this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),this.c(this.b))))},function(a,b){this.f(b,N-this.c(this.b))},function(a,b){this.f(b,N-this.b)},function(){this.f(this.b,N-this.c(this.b))},function(a,b){this.f(this.b,this.f(b,N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,this.c(b),N-this.c(this.b)))},function(a, +b){this.f(this.b,this.f(b,Z.call(this,this.c(b),N-this.c(this.b))))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(b,Z.call(this,N-this.c(b),N-this.b))},function(a,b){this.f(this.b,Z.call(this,N-this.c(b),N-this.c(this.b)))},function(a,b){this.f(this.b,this.f(b,Z.call(this,N-this.c(b),N-this.c(this.b))))},nc,nc,function(){this.f(this.b,N)},function(a,b){this.f(this.b,this.f(b,N))},oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,oc,qc,rc,sc,tc,uc,vc,wc,oc, +qc,rc,sc,tc,uc,vc,wc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,xc,zc,Ac,Bc,Cc,Dc,Ec,Fc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, -function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X, -X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X],Ic=[function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a,b){switch(b){case 0:a=this.c(this.b);a&8&&(this.g&=-131073);a&131072&&(this.g&=-262145);break;default:this.a(a)}},function(a,b){switch(b){case 0:a=0;this.g&131072&&(a|=8);this.g&262144&&(a|=65536);this.f(this.b,a);break;default:this.a(a)}},function(a){this.a(a)},function(a){this.a(a)}]; -function Sc(a){w.call(this,"ROM",a);this.O=this.a=null;this.l=+a.addr;this.g=+a.size;this.b=a.alias;"string"==typeof this.b&&(this.b=eval(this.b));this.j=a.file;this.o=na(this.j);if(this.j){a=this.j;var b=oa(this.o);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(La(c.pa,a,b),(a=wa(a,b))?(c.a=a.H,c.O=a.O):c.j=null);Tc(c)})}}n(Sc,w); -Sc.prototype.Z=function(a,b,c,d){this.s=b;this.i=c;this.v=d;Tc(this)};Sc.prototype.V=function(){this.O&&(this.v&&this.v.a(this.id,this.l,this.g,this.O),delete this.O);return!0};Sc.prototype.R=function(){return!0}; -function Tc(a){if(!Va(a)){if(a.j){if(!a.a||!a.s)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+ma(a.a.length,8,!0)+") does not match specified size ("+ma(a.g,8,!0)+")";a.h.error=!0;a.F(b)}else{b=a.l;if(Db(a.s,b,a.g,Lb)){var c;for(c=0;c>>f.b;0>>=f.b;0>>a.b;0g&&g>=-ja&&(g+=ia);g=Math.trunc(Math.abs(g))%Math.pow(2,36);void 0===f&&(f=e.size);for(h=d;f--&&h=q.Ma&&c<=q.$a&&(b=c-(q.Ma-q.Ua));b&&(a.preventDefault&&a.preventDefault(),d.ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Wa&&(b=q.Va);d.ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); -a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.v=d;G(this)}; -k.Ta=function(a){if(!this.a){var b=Ub(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ta(c[0]);if(d!=this.oa)return;c=ta(c[1]);if(this.a=Pa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.pa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ta(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; -k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ya=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;bbd){if(cd(d,this.C)){this.l=new Q(this,"1.34.2",ld);cd(this.l)&&(md(this,d),a=nd,od(this.l));this.l.set(id,va());pd(this.l);var e=this.a&&!this.B;if(a==jd||Oa("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=hd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?cd(d,g):("error"==f&&"no machine state"!= -g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa(qd,""),this.b=null)):this.M(f+": "+g),od(d),cd(d)?(c=hd(d),e=!0):c=!1))}e&&fd(this,c?d:null)}else a==nd&&d.clear()}else fd(this);delete this.C;delete this.w}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(rd(this,this.i,b,c,a),S(this,-2),this.i.J());this.K&&(md(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; -function md(a,b){if(Oa("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} -function sd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.34.2"),g=new Q(a,"1.34.2",gd),h=va();g.set(id,h);f.set(id,h);f.set(td,"1.34.2");f.set(ud,window?window.location.href:null);f.set(vd,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),R(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Ba+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ba=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.l&8);if(0>=b||60<=(a.B+=b)){e=a.i.j;if(a.m.PC){var f=a.v&&a.v.l||8,e=e||0,e=8==f?la(e,void 0):ma(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), -a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, -"");a=a.replace(d[0],g);Dd(a,b,c)}})}else c(a,null)} -function Ed(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ra(a))}function g(a){f("Error: "+a);p&&(--Ad||Ha(!0));p=!1}var h,l,p=!0;Ad++;Ma[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ua=document.createElement("style");ua.type="text/css";ua.styleSheet?ua.styleSheet.cssText=x:ua.appendChild(document.createTextNode(x));A.appendChild(ua)}d|| -(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?Bd(d,null,a,null,!1,f,function(a,e){e?(La(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Ad||Ha(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ad|| -Ha(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Bd(c,b,a,e,!0,f,x):Cd(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Fd){g(Fd.message)}return p}window.embedPDP10=function(a,b,c,d){Ha(!1);return Ed("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ha(!1);return Ed("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; -window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Ra[a]){for(var c=!0,d=Ra,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x>>f.b;0>>=f.b;0>>a.b;0g&&g>=-Xa&&(g+=O);for(var g=Math.trunc(Math.abs(g))%O,h=d;f--&&h=q.Na&&c<=q.ab&&(b=c-(q.Na-q.Wa));b&&(a.preventDefault&&a.preventDefault(),d.za(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ya&&(b=q.Xa);d.za(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); +a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.za(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.u=a;this.s=b;this.i=c;this.w=d;G(this)}; +k.Ua=function(a){if(!this.a){var b=Rb(this.u,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ra(c[0]);if(d!=this.qa)return;c=ra(c[1]);if(this.a=Na(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.l=e.receiveData){this.g=a;this.status("Connected "+this.ra+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Ua(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; +k.R=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new R(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.za=function(a){if("number"==typeof a)this.b.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d\nLicense: GPL version 3 or later ");for(b=0;b$c){if(ad(d,this.C)){this.l=new R(this,"1.34.2",jd);ad(this.l)&&(kd(this,d),a=ld,md(this.l));this.l.set(gd,sa());nd(this.l);var e=this.a&&!this.B;if(a==hd||Ma("Click OK to restore the previous "+H+" machine state, or CANCEL to reset the machine.")){if(c=fd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ad(d,g):("error"==f&&"no machine state"!= +g?(this.F("Error: "+g),"unable to verify user"==g&&(ya(od,""),this.b=null)):this.M(f+": "+g),md(d),ad(d)?(c=fd(d),e=!0):c=!1))}e&&dd(this,c?d:null)}else a==ld&&d.clear()}else dd(this);delete this.C;delete this.v}e=z(this.id);for(f=0;fa[1];a=a[2];this.N=!0;this.h.D=!0;var d=this.m.power;d&&(d.textContent="Shutdown");this.i&&(pd(this,this.i,b,c,a),T(this,-2),this.i.J());this.K&&(kd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.j=0}; +function kd(a,b){if(Ma("There may be a problem with your "+H+" machine.\n\nTo help us diagnose it, click OK to send this "+H+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.b||"";b=b.toString();var d={};d.app=H;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}} +function qd(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new R(a,"1.34.2"),g=new R(a,"1.34.2",ed),h=sa();g.set(gd,h);f.set(gd,h);f.set(rd,"1.34.2");f.set(sd,window?window.location.href:null);f.set(td,window?window.navigator.userAgent:"");a.i&&a.i.R&&(c&&(b&&(a.i.h.J=a.i.h.A),S(a.i)),d=a.i.R(b,c),"object"===typeof d&&f.set(a.i.id,d),c&&(a.i.h.D=!1,!1===d&&(e=null)));for(var h=z(a.id),l=0;l=d||30<=(c.Ca+=d))&&(e.textContent=c.h.A?c.P.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.g&&(a=a.g,b=b||0,a.C)){c=a.i.h.A;d=!!(a.i.l&8);if(0>=b||60<=(a.B+=b)){e=a.i.j;if(a.m.PC){var f=a.w&&a.w.l||8,e=e||0,e=8==f?ja(e,void 0):ka(e,void 0);a.m.PC.textContent!=e&&(a.m.PC.textContent=e)}a.B=0}-1>b?a.b=a.i.j:0g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1PDPjs$2"), +a=a.replace(/().*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(A){g=null,a=A.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(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 l=h[0],p,x=/( [a-z]+=)(['"])(.*?)\2/g;p=x.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);Bd(a,b,c)}})}else c(a,null)} +function Cd(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&F(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=pa(a))}function g(a){f("Error: "+a);p&&(--yd||Fa(!0));p=!1}var h,l,p=!0;yd++;Ka[b]={};try{if(h=document.getElementById(b)){var x;if("object"==typeof resources&&(x=resources.css)){var A=document.head||document.getElementsByTagName("head")[0],ua=document.createElement("style");ua.type="text/css";ua.styleSheet?ua.styleSheet.cssText=x:ua.appendChild(document.createTextNode(x));A.appendChild(ua)}d|| +(x=a,"pdp"==a.substr(0,3)&&(x="pdpjs"),d="/versions/"+x+"/1.34.2/components.xsl");x=function(e,l){l?zd(d,null,a,null,!1,f,function(a,e){e?(Ja(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--yd||Fa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--yd|| +Fa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?zd(c,b,a,e,!0,f,x):Ad(c,null,b,a,e,!1,f,x)}else g("missing machine element: "+b)}catch(Dd){g(Dd.message)}return p}window.embedPDP10=function(a,b,c,d){Fa(!1);return Cd("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Fa(!1);return Cd("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return B(b,a+".machine")}; +window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Pa[a]){for(var c=!0,d=Pa,e=a,f=b.length,g=[],h=[],l="",p=null,x=0;x