Added support to FileDump for generating binary dumps from MACRO11 listing (.lst) files, since I wasn't having much success with dumpobj or obj2hex.pl; note that this assumes a listing file produced by the macro11 cross-assembler written by Richard Krehbiel in 2001, updated in 2009, and maintained here: https://github.com/shattered/macro11. There are other versions of macro11 floating around, like the one in the simtools project that accompanies simh, and the one built for the Windows-based PDP11GUI app.

This commit is contained in:
Jeff Parsons 2016-10-15 11:05:38 -07:00 • committed by Jeff Parsons
commit 3a7b769fa3
31 changed files with 1117 additions and 751 deletions

View file

@ -0,0 +1,12 @@
---
layout: page
title: PDP-11/20 Machine Configurations
permalink: /devices/pdp11/machine/1120/
---
PDP-11/20 Machine Configurations
--------------------------------
PCjs is adding support the following PDP-11/20 configurations:
* [PDP-11/20 Test Machine](/devices/pdp11/machine/1120/test/) ([Debugger](/devices/pdp11/machine/1120/test/debugger/))

View file

@ -0,0 +1,10 @@
---
layout: page
title: PDP-11/20 Test Machine
permalink: /devices/pdp11/machine/1120/test/
machines:
- id: test1120
type: pdp11
---
{% include machine.html id="test1120" %}

View file

@ -0,0 +1,11 @@
---
layout: page
title: PDP-11/20 Test Machine with Debugger
permalink: /devices/pdp11/machine/1120/test/
machines:
- id: test1120
type: pdp11
debugger: true
---
{% include machine.html id="test1120" %}

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/20 Test Machine with Debugger</name>
<computer id="computer" busWidth="16"/>
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000"/>
<ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/test/debugger/terminal.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/>
</machine>

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/20 Test Machine</name>
<computer id="computer" busWidth="16"/>
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
<ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
</machine>

View file

@ -5,10 +5,10 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/> <serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1170/debugger/leds.xml"/> <panel ref="/devices/pdp11/panel/1170/debugger/front.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/> <debugger id="debugger" base="8" messages="" commands=""/>
</machine> </machine>

View file

@ -5,9 +5,9 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/> <serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1170/leds.xml"/> <panel ref="/devices/pdp11/panel/1170/front.xml"/>
</machine> </machine>

View file

@ -5,10 +5,10 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/> <serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1170/debugger/test.xml"/> <panel ref="/devices/pdp11/panel/test/debugger/terminal.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/> <debugger id="debugger" base="8" messages="" commands=""/>
</machine> </machine>

View file

@ -5,9 +5,9 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0" binding="print"/> <serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1170/test.xml"/> <panel ref="/devices/pdp11/panel/test/terminal.xml"/>
</machine> </machine>

View file

@ -5,10 +5,10 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0"/> <serial id="dl11" adapter="0"/>
<panel ref="/devices/pdp11/panel/1170/debugger/leds.xml"/> <panel ref="/devices/pdp11/panel/1170/debugger/front.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/> <debugger id="debugger" base="8" messages="" commands=""/>
</machine> </machine>

View file

@ -5,9 +5,9 @@
<computer id="computer" busWidth="22"/> <computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/> <cpu id="cpu" model="1170" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
<ram id="ram" addr="0x0000" size="0xC000"/> <ram id="ram" addr="0x0000" size="0xC000"/>
<rom id="rom" addr="0xC000" size="0x0570" file="/devices/pdp11/rom/custom/boot.json" writable="true"/> <rom id="rom" addr="0xC000" file="/devices/pdp11/rom/custom/boot.json" writable="true"/>
<ram id="ram" addr="0x10000" size="0x34000"/> <ram id="ram" addr="0x10000" size="0x34000"/>
<device id="default" name="default"/> <device id="default" name="default"/>
<serial id="dl11" adapter="0"/> <serial id="dl11" adapter="0"/>
<panel ref="/devices/pdp11/panel/1170/leds.xml"/> <panel ref="/devices/pdp11/panel/1170/front.xml"/>
</machine> </machine>

View file

@ -9,5 +9,6 @@ PDP-11 Machine Configurations
[PDPjs](/modules/pdp11/), our PDP-11 emulation module, will support the following PDP-11 machines: [PDPjs](/modules/pdp11/), our PDP-11 emulation module, will support the following PDP-11 machines:
* [PDP-11/20](/devices/pdp11/machine/1120/)
* PDP-11/45 * PDP-11/45
* [PDP-11/70](/devices/pdp11/machine/1170/) * [PDP-11/70](/devices/pdp11/machine/1170/)

View file

@ -1,89 +1,90 @@
{"words":[ {"words":[
0x0005 /*0000005*/,0x0A1F /*0005037*/,0xFFFE /*0177776*/,0x15C6 /*0012706*/,0xC000 /*0140000*/,0x0A1F /*0005037*/,0xFF74 /*0177564*/,0x15C0 /*0012700*/, 0x0005 /*000005*/,0x0A1F /*005037*/,0xFFFE /*177776*/,0x15C6 /*012706*/,0xC000 /*140000*/,0x0A1F /*005037*/,0xFF74 /*177564*/,0x15C0 /*012700*/,
0xC249 /*0141111*/,0x09F7 /*0004767*/,0x0052 /*0000122*/,0x15DF /*0012737*/,0xC054 /*0140124*/,0x0040 /*0000100*/,0x15DF /*0012737*/,0x00E0 /*0000340*/, 0xC251 /*141121*/,0x09F7 /*004767*/,0x0052 /*000122*/,0x15DF /*012737*/,0xC054 /*140124*/,0x0040 /*000100*/,0x15DF /*012737*/,0x00E0 /*000340*/,
0x0042 /*0000102*/,0x55DF /*0052737*/,0x0040 /*0000100*/,0xFF66 /*0177546*/,0x15C0 /*0012700*/,0xC273 /*0141163*/,0x09F7 /*0004767*/,0x0038 /*0000070*/, 0x0042 /*000102*/,0x55DF /*052737*/,0x0040 /*000100*/,0xFF66 /*177546*/,0x15C0 /*012700*/,0xC27B /*141173*/,0x09F7 /*004767*/,0x0038 /*000070*/,
0xE5C6 /*0162706*/,0x00AE /*0000256*/,0x1180 /*0010600*/,0x09F7 /*0004767*/,0x006A /*0000152*/,0x0A00 /*0005000*/,0x0001 /*0000001*/,0x0A80 /*0005200*/, 0xE5C6 /*162706*/,0x00AE /*000256*/,0x1180 /*010600*/,0x09F7 /*004767*/,0x006A /*000152*/,0x0A00 /*005000*/,0x0001 /*000001*/,0x0A80 /*005200*/,
0x0BF7 /*0005767*/,0x000C /*0000014*/,0x03FB /*0001773*/,0x15E6 /*0012746*/,0x5800 /*0054000*/,0x1DE6 /*0016746*/,0x0002 /*0000002*/,0x0006 /*0000006*/, 0x0BF7 /*005767*/,0x000C /*000014*/,0x03FB /*001773*/,0x15E6 /*012746*/,0x5800 /*054000*/,0x1DE6 /*016746*/,0x0002 /*000002*/,0x0002 /*000002*/,
0x0000 /*0000000*/,0x0000 /*0000000*/,0x0AB7 /*0005267*/,0xFFFA /*0177772*/,0x0006 /*0000006*/,0x8BDF /*0105737*/,0xFF74 /*0177564*/,0x80FD /*0100375*/, 0x0000 /*000000*/,0x0000 /*000000*/,0x0AB7 /*005267*/,0xFFFA /*177772*/,0x0002 /*000002*/,0x8BDF /*105737*/,0xFF74 /*177564*/,0x80FD /*100375*/,
0x901F /*0110037*/,0xFF76 /*0177566*/,0x0087 /*0000207*/,0x0000 /*0000000*/,0xB5DF /*0132737*/,0x0040 /*0000100*/,0xFF74 /*0177564*/,0x02FC /*0001374*/, 0x901F /*110037*/,0xFF76 /*177566*/,0x0087 /*000207*/,0x0000 /*000000*/,0xB5DF /*132737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x02FC /*001374*/,
0x1037 /*0010067*/,0xFFF2 /*0177762*/,0x15DF /*0012737*/,0xC088 /*0140210*/,0x0034 /*0000064*/,0x15DF /*0012737*/,0x0080 /*0000200*/,0x0036 /*0000066*/, 0x1037 /*010067*/,0xFFF2 /*177762*/,0x15DF /*012737*/,0xC088 /*140210*/,0x0034 /*000064*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0036 /*000066*/,
0xD5DF /*0152737*/,0x0040 /*0000100*/,0xFF74 /*0177564*/,0x0087 /*0000207*/,0x8BFF /*0105777*/,0xFFDA /*0177732*/,0x0306 /*0001406*/,0x9FDF /*0117737*/, 0xD5DF /*152737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x0087 /*000207*/,0x8BFF /*105777*/,0xFFDA /*177732*/,0x0306 /*001406*/,0x9FDF /*117737*/,
0xFFD4 /*0177724*/,0xFF76 /*0177566*/,0x0AB7 /*0005267*/,0xFFCE /*0177716*/,0x0006 /*0000006*/,0x8A1F /*0105037*/,0xFF74 /*0177564*/,0x0006 /*0000006*/, 0xFFD4 /*177724*/,0xFF76 /*177566*/,0x0AB7 /*005267*/,0xFFCE /*177716*/,0x0002 /*000002*/,0x8A1F /*105037*/,0xFF74 /*177564*/,0x0002 /*000002*/,
0x0000 /*0000000*/,0x0000 /*0000000*/,0x1037 /*0010067*/,0xFFF8 /*0177770*/,0x0A37 /*0005067*/,0xFFF6 /*0177766*/,0x15DF /*0012737*/,0xC0C0 /*0140300*/, 0x0000 /*000000*/,0x0000 /*000000*/,0x1037 /*010067*/,0xFFF8 /*177770*/,0x0A37 /*005067*/,0xFFF6 /*177766*/,0x15DF /*012737*/,0xC0C0 /*140300*/,
0x0030 /*0000060*/,0x15DF /*0012737*/,0x0080 /*0000200*/,0x0032 /*0000062*/,0xD5DF /*0152737*/,0x0040 /*0000100*/,0xFF70 /*0177560*/,0x0087 /*0000207*/, 0x0030 /*000060*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0032 /*000062*/,0xD5DF /*152737*/,0x0040 /*000100*/,0xFF70 /*177560*/,0x0087 /*000207*/,
0x1026 /*0010046*/,0x97C0 /*0113700*/,0xFF72 /*0177562*/,0xA017 /*0120027*/,0x000D /*0000015*/,0x032D /*0001455*/,0xA017 /*0120027*/,0x007F /*0000177*/, 0x1026 /*010046*/,0x97C0 /*113700*/,0xFF72 /*177562*/,0xA017 /*120027*/,0x000D /*000015*/,0x032D /*001455*/,0xA017 /*120027*/,0x007F /*000177*/,
0x0303 /*0001403*/,0xA017 /*0120027*/,0x0008 /*0000010*/,0x020A /*0001012*/,0x0BF7 /*0005767*/,0xFFC6 /*0177706*/,0x0306 /*0001406*/,0x0AF7 /*0005367*/, 0x0303 /*001403*/,0xA017 /*120027*/,0x0008 /*000010*/,0x020A /*001012*/,0x0BF7 /*005767*/,0xFFC6 /*177706*/,0x0306 /*001406*/,0x0AF7 /*005367*/,
0xFFC0 /*0177700*/,0x15C0 /*0012700*/,0xC217 /*0141027*/,0x09F7 /*0004767*/,0xFF7E /*0177576*/,0x012B /*0000453*/,0xA017 /*0120027*/,0x0020 /*0000040*/, 0xFFC0 /*177700*/,0x15C0 /*012700*/,0xC21F /*141037*/,0x09F7 /*004767*/,0xFF7E /*177576*/,0x012B /*000453*/,0xA017 /*120027*/,0x0020 /*000040*/,
0x0528 /*0002450*/,0xA017 /*0120027*/,0x007F /*0000177*/,0x0425 /*0002045*/,0x09F7 /*0004767*/,0xFF5E /*0177536*/,0xA017 /*0120027*/,0x007A /*0000172*/, 0x0528 /*002450*/,0xA017 /*120027*/,0x007F /*000177*/,0x0425 /*002045*/,0x09F7 /*004767*/,0xFF5E /*177536*/,0xA017 /*120027*/,0x007A /*000172*/,
0x0605 /*0003005*/,0xA017 /*0120027*/,0x0061 /*0000141*/,0x0502 /*0002402*/,0xC5C0 /*0142700*/,0x0020 /*0000040*/,0x2DD7 /*0026727*/,0xFF92 /*0177622*/, 0x0605 /*003005*/,0xA017 /*120027*/,0x0061 /*000141*/,0x0502 /*002402*/,0xC5C0 /*142700*/,0x0020 /*000040*/,0x2DD7 /*026727*/,0xFF92 /*177622*/,
0x00AC /*0000254*/,0x0417 /*0002027*/,0x9026 /*0110046*/,0x1DC0 /*0016700*/,0xFF86 /*0177606*/,0x6DC0 /*0066700*/,0xFF84 /*0177604*/,0x9588 /*0112610*/, 0x00AC /*000254*/,0x0417 /*002027*/,0x9026 /*110046*/,0x1DC0 /*016700*/,0xFF86 /*177606*/,0x6DC0 /*066700*/,0xFF84 /*177604*/,0x9588 /*112610*/,
0x0AB7 /*0005267*/,0xFF7E /*0177576*/,0x010E /*0000416*/,0x1DC0 /*0016700*/,0xFF76 /*0177566*/,0x6DC0 /*0066700*/,0xFF74 /*0177564*/,0x8A08 /*0105010*/, 0x0AB7 /*005267*/,0xFF7E /*177576*/,0x010E /*000416*/,0x1DC0 /*016700*/,0xFF76 /*177566*/,0x6DC0 /*066700*/,0xFF74 /*177564*/,0x8A08 /*105010*/,
0x15DF /*0012737*/,0xC146 /*0140506*/,0x00A0 /*0000240*/,0x15DF /*0012737*/,0x0040 /*0000100*/,0x00A2 /*0000242*/,0x15DF /*0012737*/,0x0400 /*0002000*/, 0x15DF /*012737*/,0xC146 /*140506*/,0x00A0 /*000240*/,0x15DF /*012737*/,0x0040 /*000100*/,0x00A2 /*000242*/,0x15DF /*012737*/,0x0400 /*002000*/,
0xFFFA /*0177772*/,0x1580 /*0012600*/,0x0006 /*0000006*/,0x0A1F /*0005037*/,0xFFFA /*0177772*/,0x1026 /*0010046*/,0x1066 /*0010146*/,0x10A6 /*0010246*/, 0xFFFA /*177772*/,0x1580 /*012600*/,0x0002 /*000002*/,0x0A1F /*005037*/,0xFFFA /*177772*/,0x1026 /*010046*/,0x1066 /*010146*/,0x10A6 /*010246*/,
0x10E6 /*0010346*/,0x1126 /*0010446*/,0x15C0 /*0012700*/,0xC214 /*0141024*/,0x09F7 /*0004767*/,0xFF0C /*0177414*/,0xB5DF /*0132737*/,0x0040 /*0000100*/, 0x10E6 /*010346*/,0x1126 /*010446*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFF0C /*177414*/,0xB5DF /*132737*/,0x0040 /*000100*/,
0xFF74 /*0177564*/,0x02FC /*0001374*/,0x0A04 /*0005004*/,0x15C3 /*0012703*/,0xC21B /*0141033*/,0x94C0 /*0112300*/,0x0319 /*0001431*/,0x1DC2 /*0016702*/, 0xFF74 /*177564*/,0x02FC /*001374*/,0x0A04 /*005004*/,0x15C3 /*012703*/,0xC223 /*141043*/,0x94C0 /*112300*/,0x0319 /*001431*/,0x1DC2 /*016702*/,
0xFF2E /*0177456*/,0x9481 /*0112201*/,0x0319 /*0001431*/,0xA057 /*0120127*/,0x0020 /*0000040*/,0x03FB /*0001773*/,0xA001 /*0120001*/,0x0208 /*0001010*/, 0xFF2E /*177456*/,0x9481 /*112201*/,0x0319 /*001431*/,0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA001 /*120001*/,0x0208 /*001010*/,
0x94C0 /*0112300*/,0x030A /*0001412*/,0x9481 /*0112201*/,0x0308 /*0001410*/,0xA057 /*0120127*/,0x0020 /*0000040*/,0x02F7 /*0001367*/,0x0104 /*0000404*/, 0x94C0 /*112300*/,0x030A /*001412*/,0x9481 /*112201*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0020 /*000040*/,0x02F7 /*001367*/,0x0104 /*000404*/,
0x94C0 /*0112300*/,0x02FE /*0001376*/,0x0A84 /*0005204*/,0x01E9 /*0000751*/,0x0CC4 /*0006304*/,0x09FC /*0004774*/,0xC1C0 /*0140700*/,0x0104 /*0000404*/, 0x94C0 /*112300*/,0x02FE /*001376*/,0x0A84 /*005204*/,0x01E9 /*000751*/,0x0CC4 /*006304*/,0x09FC /*004774*/,0xC1C0 /*140700*/,0x0104 /*000404*/,
0x15C0 /*0012700*/,0xC237 /*0141067*/,0x09F7 /*0004767*/,0xFEC0 /*0177300*/,0x0A37 /*0005067*/,0xFEF6 /*0177366*/,0x15C0 /*0012700*/,0xC273 /*0141163*/, 0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,0xFEC0 /*177300*/,0x0A37 /*005067*/,0xFEF6 /*177366*/,0x15C0 /*012700*/,0xC27B /*141173*/,
0x09F7 /*0004767*/,0xFEB4 /*0177264*/,0x1584 /*0012604*/,0x1583 /*0012603*/,0x1582 /*0012602*/,0x1581 /*0012601*/,0x1580 /*0012600*/,0x0006 /*0000006*/, 0x09F7 /*004767*/,0xFEB4 /*177264*/,0x1584 /*012604*/,0x1583 /*012603*/,0x1582 /*012602*/,0x1581 /*012601*/,0x1580 /*012600*/,0x0002 /*000002*/,
0xC432 /*0142062*/,0xC2AE /*0141256*/,0xC2BA /*0141272*/,0xC2FE /*0141376*/,0xC2A4 /*0141244*/,0x4F43 /*0047503*/,0x4D4D /*0046515*/,0x4E41 /*0047101*/, 0xC43A /*142072*/,0xC2B6 /*141266*/,0xC2C2 /*141302*/,0xC306 /*141406*/,0xC2AC /*141254*/,0x4F43 /*047503*/,0x4D4D /*046515*/,0x4E41 /*047101*/,
0x5344 /*0051504*/,0x4120 /*0040440*/,0x4552 /*0042522*/,0x4220 /*0041040*/,0x4F4F /*0047517*/,0x2C54 /*0026124*/,0x4820 /*0044040*/,0x4C41 /*0046101*/, 0x5344 /*051504*/,0x4120 /*040440*/,0x4552 /*042522*/,0x4220 /*041040*/,0x4F4F /*047517*/,0x2C54 /*026124*/,0x4820 /*044040*/,0x4C41 /*046101*/,
0x2C54 /*0026124*/,0x5420 /*0052040*/,0x5345 /*0051505*/,0x2054 /*0020124*/,0x4E41 /*0047101*/,0x2044 /*0020104*/,0x4548 /*0042510*/,0x504C /*0050114*/, 0x2C54 /*026124*/,0x4C20 /*046040*/,0x4749 /*043511*/,0x5448 /*052110*/,0x2C53 /*026123*/,0x5420 /*052040*/,0x5345 /*051505*/,0x2054 /*020124*/,
0x0A0D /*0005015*/,0x4F42 /*0047502*/,0x544F /*0052117*/,0x4420 /*0042040*/,0x5645 /*0053105*/,0x4349 /*0041511*/,0x5345 /*0051505*/,0x4120 /*0040440*/, 0x4E41 /*047101*/,0x2044 /*020104*/,0x4548 /*042510*/,0x504C /*050114*/,0x0A0D /*005015*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,
0x4552 /*0042522*/,0x5220 /*0051040*/,0x3F4B /*0037513*/,0x5220 /*0051040*/,0x3F4C /*0037514*/,0x4F20 /*0047440*/,0x2052 /*0020122*/,0x5052 /*0050122*/, 0x5645 /*053105*/,0x4349 /*041511*/,0x5345 /*051505*/,0x4120 /*040440*/,0x4552 /*042522*/,0x5220 /*051040*/,0x3F4B /*037513*/,0x5220 /*051040*/,
0x0D3F /*0006477*/,0x000A /*0000012*/,0x0A0D /*0005015*/,0x0800 /*0004000*/,0x0820 /*0004040*/,0x4200 /*0041000*/,0x4F4F /*0047517*/,0x0054 /*0000124*/, 0x3F4C /*037514*/,0x4F20 /*047440*/,0x2052 /*020122*/,0x5052 /*050122*/,0x0D3F /*006477*/,0x000A /*000012*/,0x0A0D /*005015*/,0x0800 /*004000*/,
0x4148 /*0040510*/,0x544C /*0052114*/,0x5400 /*0052000*/,0x5345 /*0051505*/,0x0054 /*0000124*/,0x494C /*0044514*/,0x4847 /*0044107*/,0x5354 /*0051524*/, 0x0820 /*004040*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x0054 /*000124*/,0x4148 /*040510*/,0x544C /*052114*/,0x5400 /*052000*/,0x5345 /*051505*/,
0x4800 /*0044000*/,0x4C45 /*0046105*/,0x0050 /*0000120*/,0x5500 /*0052400*/,0x4B4E /*0045516*/,0x4F4E /*0047516*/,0x4E57 /*0047127*/,0x4320 /*0041440*/, 0x0054 /*000124*/,0x494C /*044514*/,0x4847 /*044107*/,0x5354 /*051524*/,0x4800 /*044000*/,0x4C45 /*046105*/,0x0050 /*000120*/,0x5500 /*052400*/,
0x4D4F /*0046517*/,0x414D /*0040515*/,0x444E /*0042116*/,0x0D0A /*0006412*/,0x5000 /*0050000*/,0x5541 /*0052501*/,0x204C /*0020114*/,0x414E /*0040516*/, 0x4B4E /*045516*/,0x4F4E /*047516*/,0x4E57 /*047127*/,0x4320 /*041440*/,0x4D4F /*046517*/,0x414D /*040515*/,0x444E /*042116*/,0x0D0A /*006412*/,
0x4B4E /*0045516*/,0x5245 /*0051105*/,0x4956 /*0044526*/,0x2053 /*0020123*/,0x202D /*0020055*/,0x4150 /*0040520*/,0x4C55 /*0046125*/,0x414E /*0040516*/, 0x5000 /*050000*/,0x5541 /*052501*/,0x204C /*020114*/,0x414E /*040516*/,0x4B4E /*045516*/,0x5245 /*051105*/,0x4956 /*044526*/,0x2053 /*020123*/,
0x4B4E /*0045516*/,0x4840 /*0044100*/,0x544F /*0052117*/,0x414D /*0040515*/,0x4C49 /*0046111*/,0x432E /*0041456*/,0x4D4F /*0046517*/,0x0D0A /*0006412*/, 0x202D /*020055*/,0x4150 /*040520*/,0x4C55 /*046125*/,0x414E /*040516*/,0x4B4E /*045516*/,0x4840 /*044100*/,0x544F /*052117*/,0x414D /*040515*/,
0x0D0A /*0006412*/,0x4200 /*0041000*/,0x4F4F /*0047517*/,0x3E54 /*0037124*/,0x0020 /*0000040*/,0x4E55 /*0047125*/,0x4E4B /*0047113*/,0x574F /*0053517*/, 0x4C49 /*046111*/,0x432E /*041456*/,0x4D4F /*046517*/,0x0D0A /*006412*/,0x0D0A /*006412*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x3E54 /*037124*/,
0x204E /*0020116*/,0x4F42 /*0047502*/,0x544F /*0052117*/,0x4420 /*0042040*/,0x5645 /*0053105*/,0x4349 /*0041511*/,0x0A45 /*0005105*/,0x000D /*0000015*/, 0x0020 /*000040*/,0x4E55 /*047125*/,0x4E4B /*047113*/,0x574F /*053517*/,0x204E /*020116*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,
0x2020 /*0020040*/,0x2020 /*0020040*/,0x2020 /*0020040*/,0x4C43 /*0046103*/,0x434F /*0041517*/,0x204B /*0020113*/,0x4954 /*0044524*/,0x4B43 /*0045503*/, 0x5645 /*053105*/,0x4349 /*041511*/,0x0A45 /*005105*/,0x000D /*000015*/,0x2020 /*020040*/,0x2020 /*020040*/,0x2020 /*020040*/,0x4C43 /*046103*/,
0x0A53 /*0005123*/,0x000D /*0000015*/,0x15C0 /*0012700*/,0xC1CA /*0140712*/,0x09F7 /*0004767*/,0xFDBC /*0176674*/,0x0087 /*0000207*/,0x0000 /*0000000*/, 0x434F /*041517*/,0x204B /*020113*/,0x4954 /*044524*/,0x4B43 /*045503*/,0x0A53 /*005123*/,0x000D /*000015*/,0x15C0 /*012700*/,0xC1CA /*140712*/,
0x15C0 /*0012700*/,0xC214 /*0141024*/,0x09F7 /*0004767*/,0xFDB0 /*0176660*/,0x0087 /*0000207*/,0x0A37 /*0005067*/,0xFD94 /*0176624*/,0x15C5 /*0012705*/, 0x09F7 /*004767*/,0xFDB4 /*176664*/,0x0087 /*000207*/,0x0000 /*000000*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFDA8 /*176650*/,
0x1A00 /*0015000*/,0x115F /*0010537*/,0xFF78 /*0177570*/,0x1144 /*0010504*/,0x0C84 /*0006204*/,0x0A00 /*0005000*/,0x1141 /*0010501*/,0x7204 /*0071004*/, 0x0087 /*000207*/,0x0A37 /*005067*/,0xFD8C /*176614*/,0x15C5 /*012705*/,0x1A00 /*015000*/,0x115F /*010537*/,0xFF78 /*177570*/,0x1144 /*010504*/,
0x1002 /*0010002*/,0x7084 /*0070204*/,0x60C1 /*0060301*/,0x2045 /*0020105*/,0x0301 /*0001401*/,0x0000 /*0000000*/,0x7F0A /*0077412*/,0x7F4F /*0077517*/, 0x0C84 /*006204*/,0x0A00 /*005000*/,0x1141 /*010501*/,0x7204 /*071004*/,0x1002 /*010002*/,0x7084 /*070204*/,0x60C1 /*060301*/,0x2045 /*020105*/,
0x15C0 /*0012700*/,0xC295 /*0141225*/,0x1DC3 /*0016703*/,0xFD6A /*0176552*/,0x0A02 /*0005002*/,0x7297 /*0071227*/,0x0008 /*0000010*/,0x65C3 /*0062703*/, 0x0301 /*001401*/,0x0000 /*000000*/,0x7F0A /*077412*/,0x7F4F /*077517*/,0x15C0 /*012700*/,0xC29D /*141235*/,0x1DC3 /*016703*/,0xFD62 /*176542*/,
0x0030 /*0000060*/,0x90E0 /*0110340*/,0x1083 /*0010203*/,0x02F8 /*0001370*/,0x09F7 /*0004767*/,0xFD6C /*0176554*/,0x0087 /*0000207*/,0x15C3 /*0012703*/, 0x0A02 /*005002*/,0x7297 /*071227*/,0x0008 /*000010*/,0x65C3 /*062703*/,0x0030 /*000060*/,0x90E0 /*110340*/,0x1083 /*010203*/,0x02F8 /*001370*/,
0x7F06 /*0077406*/,0x0A02 /*0005002*/,0x0A01 /*0005001*/,0x15C0 /*0012700*/,0x0008 /*0000010*/,0x10F1 /*0010361*/,0xF4C0 /*0172300*/,0x10B1 /*0010261*/, 0x09F7 /*004767*/,0xFD64 /*176544*/,0x0087 /*000207*/,0x15C3 /*012703*/,0x7F06 /*077406*/,0x0A02 /*005002*/,0x0A01 /*005001*/,0x15C0 /*012700*/,
0xF4E0 /*0172340*/,0x10F1 /*0010361*/,0xF4D0 /*0172320*/,0x10B1 /*0010261*/,0xF4F0 /*0172360*/,0x10F1 /*0010361*/,0xF480 /*0172200*/,0x10B1 /*0010261*/, 0x0008 /*000010*/,0x10F1 /*010361*/,0xF4C0 /*172300*/,0x10B1 /*010261*/,0xF4E0 /*172340*/,0x10F1 /*010361*/,0xF4D0 /*172320*/,0x10B1 /*010261*/,
0xF4A0 /*0172240*/,0x10F1 /*0010361*/,0xF490 /*0172220*/,0x10B1 /*0010261*/,0xF4B0 /*0172260*/,0x10F1 /*0010361*/,0xFF80 /*0177600*/,0x10B1 /*0010261*/, 0xF4F0 /*172360*/,0x10F1 /*010361*/,0xF480 /*172200*/,0x10B1 /*010261*/,0xF4A0 /*172240*/,0x10F1 /*010361*/,0xF490 /*172220*/,0x10B1 /*010261*/,
0xFFA0 /*0177640*/,0x10F1 /*0010361*/,0xFF90 /*0177620*/,0x10F1 /*0010361*/,0xFFB0 /*0177660*/,0x65C2 /*0062702*/,0x0080 /*0000200*/,0x65C1 /*0062701*/, 0xF4B0 /*172260*/,0x10F1 /*010361*/,0xFF80 /*177600*/,0x10B1 /*010261*/,0xFFA0 /*177640*/,0x10F1 /*010361*/,0xFF90 /*177620*/,0x10F1 /*010361*/,
0x0002 /*0000002*/,0x7E1D /*0077035*/,0x55DF /*0052737*/,0xFC00 /*0176000*/,0xF4FE /*0172376*/,0x55DF /*0052737*/,0xFC00 /*0176000*/,0xF4BE /*0172276*/, 0xFFB0 /*177660*/,0x65C2 /*062702*/,0x0080 /*000200*/,0x65C1 /*062701*/,0x0002 /*000002*/,0x7E1D /*077035*/,0x55DF /*052737*/,0xFC00 /*176000*/,
0x55DF /*0052737*/,0xFC00 /*0176000*/,0xFFBE /*0177676*/,0x15DF /*0012737*/,0x003F /*0000077*/,0xF54E /*0172516*/,0x15DF /*0012737*/,0x0001 /*0000001*/, 0xF4FE /*172376*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xF4BE /*172276*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xFFBE /*177676*/,0x15DF /*012737*/,
0xFF7A /*0177572*/,0x15DF /*0012737*/,0x03C0 /*0001700*/,0xF4A4 /*0172244*/,0x15DF /*0012737*/,0x03C0 /*0001700*/,0xF4B4 /*0172264*/,0x15DF /*0012737*/, 0x003F /*000077*/,0xF54E /*172516*/,0x15DF /*012737*/,0x0001 /*000001*/,0xFF7A /*177572*/,0x15DF /*012737*/,0x03C0 /*001700*/,0xF4A4 /*172244*/,
0x1000 /*0010000*/,0xFFFE /*0177776*/,0x15C3 /*0012703*/,0x4080 /*0040200*/,0x15C2 /*0012702*/,0xC38E /*0141616*/,0x14A6 /*0012246*/,0x0D93 /*0006623*/, 0x15DF /*012737*/,0x03C0 /*001700*/,0xF4B4 /*172264*/,0x15DF /*012737*/,0x1000 /*010000*/,0xFFFE /*177776*/,0x15C3 /*012703*/,0x4080 /*040200*/,
0x2097 /*0020227*/,0xC432 /*0142062*/,0x87FB /*0103773*/,0x15F7 /*0012767*/,0x4080 /*0040200*/,0xFCC4 /*0176304*/,0x0087 /*0000207*/,0x15C0 /*0012700*/, 0x15C2 /*012702*/,0xC396 /*141626*/,0x14A6 /*012246*/,0x0D93 /*006623*/,0x2097 /*020227*/,0xC43A /*142072*/,0x87FB /*103773*/,0x15F7 /*012767*/,
0x001F /*0000037*/,0x15C1 /*0012701*/,0xF800 /*0174000*/,0x35DF /*0032737*/,0x0001 /*0000001*/,0xFF78 /*0177570*/,0x030C /*0001414*/,0x15C0 /*0012700*/, 0x4080 /*040200*/,0xFCBC /*176274*/,0x0087 /*000207*/,0x15C0 /*012700*/,0x001F /*000037*/,0x15C1 /*012701*/,0xF800 /*174000*/,0x35DF /*032737*/,
0x0F0F /*0007417*/,0x1001 /*0010001*/,0x0A41 /*0005101*/,0x35DF /*0032737*/,0x0002 /*0000002*/,0xFF78 /*0177570*/,0x0304 /*0001404*/,0x15C0 /*0012700*/, 0x0001 /*000001*/,0xFF78 /*177570*/,0x030C /*001414*/,0x15C0 /*012700*/,0x0F0F /*007417*/,0x1001 /*010001*/,0x0A41 /*005101*/,0x35DF /*032737*/,
0x3C73 /*0036163*/,0x15C1 /*0012701*/,0x3E00 /*0037000*/,0x1042 /*0010102*/,0xE5C2 /*0162702*/,0x0002 /*0000002*/,0x45C2 /*0042702*/,0x0001 /*0000001*/, 0x0002 /*000002*/,0xFF78 /*177570*/,0x0304 /*001404*/,0x15C0 /*012700*/,0x3C73 /*036163*/,0x15C1 /*012701*/,0x3E00 /*037000*/,0x1042 /*010102*/,
0x1083 /*0010203*/,0x45C3 /*0042703*/,0xFFC1 /*0177701*/,0x15F3 /*0012763*/,0x0001 /*0000001*/,0x4000 /*0040000*/,0x65C3 /*0062703*/,0x0002 /*0000002*/, 0xE5C2 /*162702*/,0x0002 /*000002*/,0x45C2 /*042702*/,0x0001 /*000001*/,0x1083 /*010203*/,0x45C3 /*042703*/,0xFFC1 /*177701*/,0x15F3 /*012763*/,
0x15F3 /*0012763*/,0x004B /*0000113*/,0x4000 /*0040000*/,0x1084 /*0010204*/,0x7517 /*0072427*/,0xFFFA /*0177772*/,0x45C4 /*0042704*/,0xFF80 /*0177600*/, 0x0001 /*000001*/,0x4000 /*040000*/,0x65C3 /*062703*/,0x0002 /*000002*/,0x15F3 /*012763*/,0x004B /*000113*/,0x4000 /*040000*/,0x1084 /*010204*/,
0x15C5 /*0012705*/,0x03C0 /*0001700*/,0xE105 /*0160405*/,0x1084 /*0010204*/,0x7517 /*0072427*/,0xFFF4 /*0177764*/,0x45C4 /*0042704*/,0xFFF1 /*0177761*/, 0x7517 /*072427*/,0xFFFA /*177772*/,0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1084 /*010204*/,
0x1174 /*0010564*/,0xF4A0 /*0172240*/,0x1043 /*0010103*/,0x74D7 /*0072327*/,0xFFF4 /*0177764*/,0x45C3 /*0042703*/,0xFFF1 /*0177761*/,0x20C4 /*0020304*/, 0x7517 /*072427*/,0xFFF4 /*177764*/,0x45C4 /*042704*/,0xFFF1 /*177761*/,0x1174 /*010564*/,0xF4A0 /*172240*/,0x1043 /*010103*/,0x74D7 /*072327*/,
0x030A /*0001412*/,0x1044 /*0010104*/,0x7517 /*0072427*/,0xFFFA /*0177772*/,0x45C4 /*0042704*/,0xFF80 /*0177600*/,0x15C5 /*0012705*/,0x03C0 /*0001700*/, 0xFFF4 /*177764*/,0x45C3 /*042703*/,0xFFF1 /*177761*/,0x20C4 /*020304*/,0x030A /*001412*/,0x1044 /*010104*/,0x7517 /*072427*/,0xFFFA /*177772*/,
0xE105 /*0160405*/,0x1173 /*0010563*/,0xF4A0 /*0172240*/,0x15C4 /*0012704*/,0x0003 /*0000003*/,0x67C4 /*0063704*/,0xFF78 /*0177570*/,0x15C3 /*0012703*/, 0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1173 /*010563*/,0xF4A0 /*172240*/,0x15C4 /*012704*/,
0x0002 /*0000002*/,0x61C3 /*0060703*/,0x004A /*0000112*/,0x7F02 /*0077402*/,0x1002 /*0010002*/,0x0C02 /*0006002*/,0x0C41 /*0006101*/,0x0C00 /*0006000*/, 0x0003 /*000003*/,0x67C4 /*063704*/,0xFF78 /*177570*/,0x15C3 /*012703*/,0x0002 /*000002*/,0x61C3 /*060703*/,0x004A /*000112*/,0x7F02 /*077402*/,
0x01C2 /*0000702*/,0x0A03 /*0005003*/,0x9481 /*0112201*/,0x0365 /*0001545*/,0xA057 /*0120127*/,0x0020 /*0000040*/,0x03FB /*0001773*/,0xA057 /*0120127*/, 0x1002 /*010002*/,0x0C02 /*006002*/,0x0C41 /*006101*/,0x0C00 /*006000*/,0x01C2 /*000702*/,0x0A03 /*005003*/,0x9481 /*112201*/,0x0365 /*001545*/,
0x0052 /*0000122*/,0x0305 /*0001405*/,0x15C0 /*0012700*/,0xC27A /*0141172*/,0x09F7 /*0004767*/,0xFC1C /*0176034*/,0x0087 /*0000207*/,0x9481 /*0112201*/, 0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA057 /*120127*/,0x0052 /*000122*/,0x0305 /*001405*/,0x15C0 /*012700*/,0xC282 /*141202*/,
0x9480 /*0112200*/,0x030E /*0001416*/,0xA017 /*0120027*/,0x0020 /*0000040*/,0x030B /*0001413*/,0xA017 /*0120027*/,0x0037 /*0000067*/,0x0619 /*0003031*/, 0x09F7 /*004767*/,0xFC14 /*176024*/,0x0087 /*000207*/,0x9481 /*112201*/,0x9480 /*112200*/,0x030E /*001416*/,0xA017 /*120027*/,0x0020 /*000040*/,
0xE5C0 /*0162700*/,0x0030 /*0000060*/,0x0516 /*0002426*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/,0x5003 /*0050003*/,0x01F0 /*0000760*/, 0x030B /*001413*/,0xA017 /*120027*/,0x0037 /*000067*/,0x0619 /*003031*/,0xE5C0 /*162700*/,0x0030 /*000060*/,0x0516 /*002426*/,0x0CC3 /*006303*/,
0x0A02 /*0005002*/,0x15D2 /*0012722*/,0x005F /*0000137*/,0x15D2 /*0012722*/,0xC000 /*0140000*/,0x15D2 /*0012722*/,0xC000 /*0140000*/,0x0A12 /*0005022*/, 0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x5003 /*050003*/,0x01F0 /*000760*/,0x0A02 /*005002*/,0x15D2 /*012722*/,0x005F /*000137*/,0x15D2 /*012722*/,
0xA057 /*0120127*/,0x004B /*0000113*/,0x033E /*0001476*/,0xA057 /*0120127*/,0x004C /*0000114*/,0x0308 /*0001410*/,0xA057 /*0120127*/,0x0050 /*0000120*/, 0xC000 /*140000*/,0x15D2 /*012722*/,0xC000 /*140000*/,0x0A12 /*005022*/,0xA057 /*120127*/,0x004B /*000113*/,0x033E /*001476*/,0xA057 /*120127*/,
0x034F /*0001517*/,0x15C0 /*0012700*/,0xC237 /*0141067*/,0x09F7 /*0004767*/,0xFBCE /*0175716*/,0x0087 /*0000207*/,0x0005 /*0000005*/,0x00C3 /*0000303*/, 0x004C /*000114*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0050 /*000120*/,0x034F /*001517*/,0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,
0x15C1 /*0012701*/,0xF900 /*0174400*/,0x15F1 /*0012761*/,0x000B /*0000013*/,0x0004 /*0000004*/,0x55C3 /*0052703*/,0x0004 /*0000004*/,0x10C9 /*0010311*/, 0xFBC6 /*175706*/,0x0087 /*000207*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x15C1 /*012701*/,0xF900 /*174400*/,0x15F1 /*012761*/,0x000B /*000013*/,
0x8BC9 /*0105711*/,0x80FE /*0100376*/,0x8A03 /*0105003*/,0x55C3 /*0052703*/,0x0008 /*0000010*/,0x10C9 /*0010311*/,0x8BC9 /*0105711*/,0x80FE /*0100376*/, 0x0004 /*000004*/,0x55C3 /*052703*/,0x0004 /*000004*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A03 /*105003*/,0x55C3 /*052703*/,
0x1C42 /*0016102*/,0x0006 /*0000006*/,0x45C2 /*0042702*/,0x003F /*0000077*/,0x0A82 /*0005202*/,0x10B1 /*0010261*/,0x0004 /*0000004*/,0x8A03 /*0105003*/, 0x0008 /*000010*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x1C42 /*016102*/,0x0006 /*000006*/,0x45C2 /*042702*/,0x003F /*000077*/,
0x55C3 /*0052703*/,0x0006 /*0000006*/,0x10C9 /*0010311*/,0x8BC9 /*0105711*/,0x80FE /*0100376*/,0x0A31 /*0005061*/,0x0002 /*0000002*/,0x0A31 /*0005061*/, 0x0A82 /*005202*/,0x10B1 /*010261*/,0x0004 /*000004*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x0006 /*000006*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,
0x0004 /*0000004*/,0x15F1 /*0012761*/,0xFE00 /*0177000*/,0x0006 /*0000006*/,0x8A03 /*0105003*/,0x55C3 /*0052703*/,0x000C /*0000014*/,0x10C9 /*0010311*/, 0x80FE /*100376*/,0x0A31 /*005061*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0006 /*000006*/,
0x8BC9 /*0105711*/,0x80FE /*0100376*/,0x45C9 /*0042711*/,0x00FF /*0000377*/,0x0A02 /*0005002*/,0x0A03 /*0005003*/,0x0A04 /*0005004*/,0x0A05 /*0005005*/, 0x8A03 /*105003*/,0x55C3 /*052703*/,0x000C /*000014*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x45C9 /*042711*/,0x00FF /*000377*/,
0x0A07 /*0005007*/,0x0005 /*0000005*/,0x00C3 /*0000303*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/,0x0CC3 /*0006303*/, 0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x0CC3 /*006303*/,
0x15C1 /*0012701*/,0xFF0A /*0177412*/,0x10C9 /*0010311*/,0x0A21 /*0005041*/,0x15E1 /*0012741*/,0xFE00 /*0177000*/,0x15E1 /*0012741*/,0x0005 /*0000005*/, 0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x15C1 /*012701*/,0xFF0A /*177412*/,0x10C9 /*010311*/,0x0A21 /*005041*/,
0x0A02 /*0005002*/,0x0A03 /*0005003*/,0x0A04 /*0005004*/,0x0A05 /*0005005*/,0x8BC9 /*0105711*/,0x80FE /*0100376*/,0x8A09 /*0105011*/,0x0A07 /*0005007*/, 0x15E1 /*012741*/,0xFE00 /*177000*/,0x15E1 /*012741*/,0x0005 /*000005*/,0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,
0x0005 /*0000005*/,0x15C1 /*0012701*/,0xFDC0 /*0176700*/,0x15F1 /*0012761*/,0x0020 /*0000040*/,0x0008 /*0000010*/,0x10F1 /*0010361*/,0x0008 /*0000010*/, 0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x15C1 /*012701*/,0xFDC0 /*176700*/,0x15F1 /*012761*/,
0x15C9 /*0012711*/,0x0011 /*0000021*/,0x15F1 /*0012761*/,0x1000 /*0010000*/,0x001A /*0000032*/,0x15F1 /*0012761*/,0xFE00 /*0177000*/,0x0002 /*0000002*/, 0x0020 /*000040*/,0x0008 /*000010*/,0x10F1 /*010361*/,0x0008 /*000010*/,0x15C9 /*012711*/,0x0011 /*000021*/,0x15F1 /*012761*/,0x1000 /*010000*/,
0x0A31 /*0005061*/,0x0004 /*0000004*/,0x0A31 /*0005061*/,0x0006 /*0000006*/,0x0A31 /*0005061*/,0x001C /*0000034*/,0x15C9 /*0012711*/,0x0039 /*0000071*/, 0x001A /*000032*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x0A31 /*005061*/,0x0006 /*000006*/,
0x8BC9 /*0105711*/,0x80FE /*0100376*/,0x8A09 /*0105011*/,0x0A07 /*0005007*/,0x0000 /*0000000*/,0x0000 /*0000000*/,0x0000 /*0000000*/,0x0000 /*0000000*/ 0x0A31 /*005061*/,0x001C /*000034*/,0x15C9 /*012711*/,0x0039 /*000071*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x10C0 /*010300*/,
]} 0x0A07 /*005007*/]
}

View file

@ -4,21 +4,23 @@
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING? ; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
PSW = 177776 PSW = 177776
DL11_XCSR = 177564 DL11XCSR = 177564
DL11_VEC = 64 DL11VEC = 64
KW11_LKS = 177546 KW11LKS = 177546
KW11_VEC = 100 KW11VEC = 100
.ASECT
.=140000
START: RESET ; 140000 START: RESET ; 140000
CLR @#PSW CLR @#PSW
MOV #START,SP MOV #START,SP
CLR @#DL11_XCSR ; CLEAR THE XCSR CLR @#DL11XCSR ; CLEAR THE XCSR
MOV #BANNER,R0 MOV #BANNER,R0
JSR PC,PRINT JSR PC,PRINT
MOV #CLKAST,@#KW11_VEC MOV #CLKAST,@#KW11VEC
MOV #340,@#KW11_VEC+2 MOV #340,@#KW11VEC+2
BIS #100,@#KW11_LKS ; SET CLOCK TICKING BIS #100,@#KW11LKS ; SET CLOCK TICKING
MOV #PROMPT,R0 MOV #PROMPT,R0
JSR PC,PRINT JSR PC,PRINT
@ -32,17 +34,17 @@ START: RESET ; 140000
BEQ 1$ BEQ 1$
MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG MOV #054000,-(SP) ; SUPER PRIORITY 0 ALT REG
MOV LGHTON,-(SP) ; CALL SUPER LOOP START MOV LGHTON,-(SP) ; CALL SUPER LOOP START
RTT RTI
LGHTON: .WORD 0 LGHTON: .WORD 0
CLKTIC: .WORD 0 CLKTIC: .WORD 0
CLKAST: ; 140124 CLKAST: ; 140124
INC CLKTIC INC CLKTIC
RTT RTI
ONECHR: ONECHR:
TSTB @#DL11_XCSR ; 140132 TSTB @#DL11XCSR ; 140132
BPL ONECHR BPL ONECHR
MOVB R0,@#177566 MOVB R0,@#177566
RTS PC RTS PC
@ -50,12 +52,12 @@ ONECHR:
PRTPTR: .WORD 0 ; 140146 PRTPTR: .WORD 0 ; 140146
PRINT: ; 140150 PRINT: ; 140150
BITB #100,@#DL11_XCSR BITB #100,@#DL11XCSR
BNE PRINT BNE PRINT
MOV R0,PRTPTR MOV R0,PRTPTR
MOV #PRTAST,@#DL11_VEC MOV #PRTAST,@#DL11VEC
MOV #200,@#DL11_VEC+2 MOV #200,@#DL11VEC+2
BISB #100,@#DL11_XCSR BISB #100,@#DL11XCSR
RTS PC RTS PC
PRTAST: ; 140210 PRTAST: ; 140210
@ -63,9 +65,9 @@ PRTAST: ; 140210
BEQ 2$ BEQ 2$
MOVB @PRTPTR,@#177566 MOVB @PRTPTR,@#177566
INC PRTPTR INC PRTPTR
RTT RTI
2$: CLRB @#177564 2$: CLRB @#177564
RTT RTI
BUFFER: .WORD 0 ; INPUT BUFFER POINTER BUFFER: .WORD 0 ; INPUT BUFFER POINTER
LENGTH: .WORD 0 ; INPUT BUFFER LENGTH LENGTH: .WORD 0 ; INPUT BUFFER LENGTH
@ -119,7 +121,7 @@ INPAST: ; 140300
MOV #100,@#242 MOV #100,@#242
MOV #2000,@#177772 MOV #2000,@#177772
9$: MOV (SP)+,R0 9$: MOV (SP)+,R0
RTT RTI
CMD: ; 140506 CMD: ; 140506
CLR @#177772 ; NO MORE PIR CALLS CLR @#177772 ; NO MORE PIR CALLS
@ -169,7 +171,7 @@ CMD: ; 140506
MOV (SP)+,R2 MOV (SP)+,R2
MOV (SP)+,R1 MOV (SP)+,R1
MOV (SP)+,R0 MOV (SP)+,R0
RTT RTI
CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP CMDTBL: .WORD BOOT,HALT,TEST,LIGHTS,HELP

View file

@ -0,0 +1,7 @@
all: boot.json
boot.lst: boot.mac
macro11 boot.mac -l boot.lst
boot.json: boot.lst
node ../../../../modules/filedump/bin/filedump --file=boot.lst --format=octal --output=boot.json --overwrite

View file

@ -80,7 +80,7 @@ function FileDump(sFormat, fComments, fDecimal, offDump, nWidthDump, sServerRoot
FileDump.sAPIURL = "http://www.pcjs.org" + DumpAPI.ENDPOINT; FileDump.sAPIURL = "http://www.pcjs.org" + DumpAPI.ENDPOINT;
FileDump.sCopyright = "© 2012-2016 by Jeff Parsons (@jeffpar)"; FileDump.sCopyright = "© 2012-2016 by Jeff Parsons (@jeffpar)";
FileDump.sNotice = FileDump.sAPIURL + " " + FileDump.sCopyright; FileDump.sNotice = FileDump.sAPIURL + " " + FileDump.sCopyright;
FileDump.sUsage = "Usage: " + FileDump.sAPIURL + "?" + DumpAPI.QUERY.FILE + "=({path}|{URL})&" + DumpAPI.QUERY.FORMAT + "=(json|data|hex|bytes|rom)"; FileDump.sUsage = "Usage: " + FileDump.sAPIURL + "?" + DumpAPI.QUERY.FILE + "=({path}|{URL})&" + DumpAPI.QUERY.FORMAT + "=(json|data|hex|octal|bytes|words|rom)";
FileDump.asBadExts = [ FileDump.asBadExts = [
"js", "log" "js", "log"
@ -97,15 +97,26 @@ FileDump.asBadExts = [
* *
* Usage * Usage
* --- * ---
* filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|bytes|rom)] [--comments] * filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|octal|bytes|words|rom)]
* [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite] * [--comments] [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite]
* *
* Arguments * Arguments
* --- * ---
* The default format is "json", which generates an array of signed 32-bit decimal values; "hex" is an older * The default format is "json", which generates an array of signed 32-bit decimal values; "hex" is an older
* text format that consists entirely of 2-character hex values (deprecated), and "bytes" is a JSON-like format * text format that consists entirely of 2-character hex values (deprecated), and "bytes" is a JSON-like format
* that also uses hex values (but with "0x" prefixes) and is normally used only when comments are enabled (use * that also uses hex values (but with "0x" prefixes) and is normally used only when comments are enabled (use
* --decimal to force decimal byte output). * --decimal to force decimal byte output). "words" are like "bytes" except that it outputs 16-bit values
* instead of 8-bit values; "octal" is an alias for "words", the only difference being that it includes a comment
* alongside each word with the octal form of the word.
*
* If you want actual octal output, then an --octal option should be added at some point; however, that begs the
* question of how to render octal numbers so that all versions of JavaScript interpret them correctly. Prefixing
* octal values with an extra zero was the old convention, but it was never formally adopted and it isn't allowed
* in "strict" mode. Prefixing them with "0o" is the new convention for ES6 and up, which is great, but we still
* have no octal format that works across the board. We can use the new octal format in code, because we always
* compile browser-based code back to ES5 (converting all numeric constants to decimal), and current versions of
* Node support it as well (we don't care about old versions of Node). But what we store in data files is more
* problematic.
* *
* When a second file is "merged", the first file sets all even bytes and the second file sets all odd bytes. * When a second file is "merged", the first file sets all even bytes and the second file sets all odd bytes.
* In fact, any number of files can be merged: if there are N files, file #1 sets bytes at "offset mod N == 0", * In fact, any number of files can be merged: if there are N files, file #1 sets bytes at "offset mod N == 0",
@ -133,7 +144,7 @@ FileDump.CLI = function()
var args = proc.getArgs(); var args = proc.getArgs();
if (!args.argc) { if (!args.argc) {
console.log("usage: filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|bytes|rom)] [--comments] [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite]"); console.log("usage: filedump --file=({path}|{URL}) [--merge=({path}|{url})] [--format=(json|data|hex|octal|bytes|words|rom)] [--comments] [--decimal] [--offset={number}] [--width={number}] [--output={path}] [--overwrite]");
return; return;
} }
@ -239,9 +250,12 @@ FileDump.prototype.loadFile = function(sFile, iStart, nSkip, done)
{ {
var obj = this; var obj = this;
var encoding = null;
var sExt = str.getExtension(sFile); var sExt = str.getExtension(sFile);
var options = {encoding: sExt == DumpAPI.FORMAT.JSON || sExt == DumpAPI.FORMAT.HEX? "utf8" : null}; if (sExt == DumpAPI.FORMAT.JSON || sExt == DumpAPI.FORMAT.HEX || sExt == "lst") {
encoding = "utf8";
}
var options = {encoding: encoding};
var sFilePath = (this.fLocal || net.isRemote(sFile))? sFile : path.join(this.sServerRoot, sFile); var sFilePath = (this.fLocal || net.isRemote(sFile))? sFile : path.join(this.sServerRoot, sFile);
if (!this.sFilePath) this.sFilePath = sFilePath; if (!this.sFilePath) this.sFilePath = sFilePath;
@ -254,7 +268,7 @@ FileDump.prototype.loadFile = function(sFile, iStart, nSkip, done)
done(err); done(err);
return; return;
} }
obj.setData(buf, iStart, nSkip); obj.setData(buf, iStart, nSkip, sExt);
done(null); done(null);
}); });
} else { } else {
@ -264,14 +278,58 @@ FileDump.prototype.loadFile = function(sFile, iStart, nSkip, done)
done(err); done(err);
return; return;
} }
obj.setData(buf, iStart, nSkip); obj.setData(buf, iStart, nSkip, sExt);
done(null); done(null);
}); });
} }
}; };
/** /**
* setData(buf, iStart, nSkip) * parseListing(sListing)
*
* Parses the data within a MACRO11 listing file and produces an array of bytes.
*
* @this {FileDump}
* @param {string} sListing
* @return {Array.<number>}
*/
FileDump.prototype.parseListing = function(sListing)
{
var ab = [];
var matchLine;
var re = /^([0-9 ]{9})([0-7]{6})[ ]+([0-7]+)[ ]*([0-7']+|)[ ]+([0-7']+|)[ ]+(.*)$/gm;
var addrStart = null;
while (matchLine = re.exec(sListing)) {
/*
* matchLine[1]: line # (optional)
* matchLine[2]: address
* matchLine[3]: 6-digit opcode or 3-digit data
* matchLine[4]: 6-digit operand (with optional apostrophe) or 3-digit data
* matchLine[5]: 6-digit operand (with optional apostrophe) or 3-digit data
*/
var addrLine = parseInt(matchLine[2], 8);
if (addrStart == null) addrStart = addrLine;
for (var i = 3, s; i <= 5 && (s = matchLine[i]); i++) {
var data = parseInt(s.substr(0, 6), 8);
if (s.length == 3) {
addrLine++;
ab.push(data);
}
else {
addrLine += 2;
if (s.length == 7) {
data -= addrLine;
}
ab.push(data & 0xff);
ab.push(data >> 8);
}
}
}
return ab;
};
/**
* setData(buf, iStart, nSkip, sExt)
* *
* Records the given file data in the FileDump's buffer * Records the given file data in the FileDump's buffer
* *
@ -279,13 +337,17 @@ FileDump.prototype.loadFile = function(sFile, iStart, nSkip, done)
* @param {Buffer|string} buf * @param {Buffer|string} buf
* @param {number} iStart * @param {number} iStart
* @param {number} nSkip * @param {number} nSkip
* @param {string} [sExt]
*/ */
FileDump.prototype.setData = function(buf, iStart, nSkip) FileDump.prototype.setData = function(buf, iStart, nSkip, sExt)
{ {
var b, i, j, s; var b, i, j, s;
if (typeof buf == "string") { if (typeof buf == "string") {
var ab = []; var ab = [];
if (buf.indexOf('{') >= 0) { if (sExt == "lst") {
ab = this.parseListing(buf);
}
else if (buf.indexOf('{') >= 0) {
/* /*
* Treat the incoming string data as JSON data. * Treat the incoming string data as JSON data.
*/ */
@ -321,7 +383,6 @@ FileDump.prototype.setData = function(buf, iStart, nSkip)
* If we didn't recognize the data, then simply return, leaving this.buf undefined. * If we didn't recognize the data, then simply return, leaving this.buf undefined.
*/ */
if (!ab.length) return; if (!ab.length) return;
buf = new Buffer(ab); buf = new Buffer(ab);
} }
if (!this.buf) { if (!this.buf) {
@ -406,6 +467,12 @@ FileDump.prototype.dumpBuffer = function(sKey, buf, len, cbItem, offDump, nWidth
{ {
var chOpen = '', chClose = '', chSep = ' ', sHexPrefix = ""; var chOpen = '', chClose = '', chSep = ' ', sHexPrefix = "";
var nBase = 16;
if (sKey == DumpAPI.FORMAT.OCTAL) {
sKey = DumpAPI.FORMAT.WORDS;
nBase = 8;
}
this.sKey = sKey; this.sKey = sKey;
if (this.sFormat != DumpAPI.FORMAT.HEX) { if (this.sFormat != DumpAPI.FORMAT.HEX) {
@ -419,7 +486,7 @@ FileDump.prototype.dumpBuffer = function(sKey, buf, len, cbItem, offDump, nWidth
var sLine = ""; var sLine = "";
var sASCII = ""; var sASCII = "";
var cMaxCols = nWidthDump * cbItem; var cMaxCols = nWidthDump * (cbItem == 2 && nBase == 8? 1 : cbItem);
for (var off = offDump; off < len; off += cbItem) { for (var off = offDump; off < len; off += cbItem) {
@ -431,7 +498,7 @@ FileDump.prototype.dumpBuffer = function(sKey, buf, len, cbItem, offDump, nWidth
break; break;
} }
var v = (cbItem == 1? buf.readUInt8(off) : buf.readInt32LE(off)); var v = (cbItem == 1? buf.readUInt8(off) : (cbItem == 2? buf.readInt16LE(off) : buf.readInt32LE(off)));
if (off > offDump) { if (off > offDump) {
sLine += chSep; sLine += chSep;
@ -441,7 +508,11 @@ FileDump.prototype.dumpBuffer = function(sKey, buf, len, cbItem, offDump, nWidth
} }
} }
if (cbItem > 1) { if (cbItem > 1) {
sLine += v; if (cbItem > 2) {
sLine += v;
} else {
sLine += str.toHexWord(v) + (nBase == 8? " /*" + str.toOct(v & 0xffff, 6) + "*/" : "");
}
} }
else { else {
if (this.fDecimal) { if (this.fDecimal) {
@ -662,6 +733,9 @@ FileDump.prototype.buildJSON = function()
// console.log("length of buffer: " + this.buf.length); // console.log("length of buffer: " + this.buf.length);
if (this.fJSONComments || this.sFormat == DumpAPI.FORMAT.HEX || this.sFormat == DumpAPI.FORMAT.BYTES) { if (this.fJSONComments || this.sFormat == DumpAPI.FORMAT.HEX || this.sFormat == DumpAPI.FORMAT.BYTES) {
this.json += this.dumpBuffer(null, this.buf, this.buf.length, 1); this.json += this.dumpBuffer(null, this.buf, this.buf.length, 1);
}
else if (this.sFormat == DumpAPI.FORMAT.OCTAL || this.sFormat == DumpAPI.FORMAT.WORDS) {
this.json += this.dumpBuffer(this.sFormat, this.buf, this.buf.length, 2);
} else { } else {
this.json += this.dumpBuffer("data", this.buf, this.buf.length, 4); this.json += this.dumpBuffer("data", this.buf, this.buf.length, 4);
} }

View file

@ -86,7 +86,7 @@ function BusPDP11(parmsBus, cpu, dbg)
/* /*
* Compute all BusPDP11 memory block parameters, based on the width of the bus. The entire * Compute all BusPDP11 memory block parameters, based on the width of the bus. The entire
* address space is divided into blocks, using a block size that is (hopefully) appropriate to * address space is divided into blocks, using a block size that is (hopefully) appropriate to
* the bus width. The following table summarizes our simplistic calculations. * the bus width. The following table summarizes our (original) simplistic calculations:
* *
* Bus Width Block Shift Block Size * Bus Width Block Shift Block Size
* --------- ----------- ---------- * --------- ----------- ----------
@ -104,10 +104,19 @@ function BusPDP11(parmsBus, cpu, dbg)
*/ */
this.addrTotal = Math.pow(2, this.nBusWidth); this.addrTotal = Math.pow(2, this.nBusWidth);
this.nBusLimit = this.nBusMask = (this.addrTotal - 1) | 0; this.nBusLimit = this.nBusMask = (this.addrTotal - 1) | 0;
this.nBlockShift = (this.nBusWidth >> 1) + 2;
if (this.nBlockShift < 10) this.nBlockShift = 10; /*
if (this.nBlockShift > 15) this.nBlockShift = 15; * WARNING: Instead of dynamically calculating nBlockShift based on nBusWidth, as described above, we
this.nBlockSize = 1 << this.nBlockShift; * now force nBlockSize to IOPAGE_LENGTH, because that's what our IOController functions currently require.
*
* this.nBlockShift = (this.nBusWidth >> 1) + 2;
* if (this.nBlockShift < 10) this.nBlockShift = 10;
* if (this.nBlockShift > 15) this.nBlockShift = 15;
* this.nBlockSize = 1 << this.nBlockShift;
*/
this.nBlockSize = BusPDP11.IOPAGE_LENGTH;
this.nBlockShift = Math.log2(this.nBlockSize); // ES6 ALERT (alternatively: Math.log(this.nBlockSize) / Math.LN2)
this.nBlockLen = this.nBlockSize >> 2; this.nBlockLen = this.nBlockSize >> 2;
this.nBlockLimit = this.nBlockSize - 1; this.nBlockLimit = this.nBlockSize - 1;
this.nBlockTotal = (this.addrTotal / this.nBlockSize) | 0; this.nBlockTotal = (this.addrTotal / this.nBlockSize) | 0;
@ -272,7 +281,7 @@ BusPDP11.IOController = {
} }
return b; return b;
} }
b = bus.unknownAccess(addr | BusPDP11.IOPAGE_22BIT, -1, 1); b = bus.unknownAccess(addr, -1, true);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage("warning: unconverted read access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true); this.dbg.printMessage("warning: unconverted read access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
} }
@ -345,7 +354,7 @@ BusPDP11.IOController = {
} }
return; return;
} }
bus.unknownAccess(addr | BusPDP11.IOPAGE_22BIT, b, 1); bus.unknownAccess(addr, b, true);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage("warning: unconverted write access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true); this.dbg.printMessage("warning: unconverted write access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
} }
@ -377,7 +386,7 @@ BusPDP11.IOController = {
} }
return w; return w;
} }
w = bus.unknownAccess(addr | BusPDP11.IOPAGE_22BIT, -1, 0); w = bus.unknownAccess(addr, -1);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage("warning: unconverted read access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true); this.dbg.printMessage("warning: unconverted read access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
} }
@ -413,7 +422,7 @@ BusPDP11.IOController = {
} }
return; return;
} }
bus.unknownAccess(addr | BusPDP11.IOPAGE_22BIT, w, 0); bus.unknownAccess(addr, w);
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
this.dbg.printMessage("warning: unconverted write access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true); this.dbg.printMessage("warning: unconverted write access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
} }
@ -530,24 +539,23 @@ BusPDP11.prototype.reset = function()
}; };
/** /**
* unknownAccess(addr, data, byteFlag) * unknownAccess(addr, data, fByte)
* *
* This is our default I/O handler, called whenever there's an IOPAGE access without a corresponding entry * This is our default I/O handler, called when there's an IOPAGE access without a corresponding entry in aIOHandlers.
* in aIOHandlers.
* *
* @this {BusPDP11} * @this {BusPDP11}
* @param {number} addr (ie, an IOPAGE address) * @param {number} addr (ie, an IOPAGE address)
* @param {number} data (-1 if read, otherwise write) * @param {number} data (-1 if read, otherwise write)
* @param {number} byteFlag (true if byte I/O, otherwise word) * @param {boolean} [fByte] (true if byte access, otherwise word)
* @return {number} * @return {number}
*/ */
BusPDP11.prototype.unknownAccess = function(addr, data, byteFlag) BusPDP11.prototype.unknownAccess = function(addr, data, fByte)
{ {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.WARN)) { if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.WARN)) {
/* /*
* TODO: For 22-bit machines, let's display addr as a 3-byte value (for a total of 9 octal digits) * TODO: For 22-bit machines, let's display addr as a 3-byte value (for a total of 9 octal digits)
*/ */
this.dbg.printMessage("warning: unknown I/O access (" + this.dbg.toStrBase(addr, 3) + "," + this.dbg.toStrBase(data) + "," + byteFlag + ")", true, true); this.dbg.printMessage("warning: unknown I/O access (" + this.dbg.toStrBase(addr, 3) + "," + this.dbg.toStrBase(data) + "," + fByte + ")", true, true);
this.cpu.setPC(this.cpu.getLastPC()); this.cpu.setPC(this.cpu.getLastPC());
this.cpu.stopCPU(); this.cpu.stopCPU();
} }
@ -663,7 +671,7 @@ BusPDP11.prototype.addMemory = function(addr, size, type, controller)
} }
if (sizeLeft <= 0) { if (sizeLeft <= 0) {
this.status(Math.floor(size / 1024) + "Kb " + MemoryPDP11.TYPE_NAMES[type] + " at " + str.toHexLong(addr)); this.status(str.toDec(size / 1024) + "Kb " + MemoryPDP11.TYPE_NAMES[type] + " at " + str.toOct(addr));
return true; return true;
} }

View file

@ -962,7 +962,7 @@ CPUPDP11.prototype.setTimer = function(iTimer, ms, fReset)
*/ */
CPUPDP11.prototype.getMSCycles = function(ms) CPUPDP11.prototype.getMSCycles = function(ms)
{ {
return (this.nCyclesPerSecond * this.nCyclesMultiplier) / 1000 * ms; return ((this.nCyclesPerSecond * this.nCyclesMultiplier) / 1000 * ms)|0;
}; };
/** /**

View file

@ -37,10 +37,12 @@ if (NODE) {
} }
/* /*
* Decoding starts at the bottom of this file, in op1170(). The basic decoding approach is to * Decoding starts at the bottom of this file, in op1120() and op1170().
* dispatch on the top 4 bits of the opcode, and if further decoding is required, the dispatched *
* function will dispatch on the next 4 bits, and so on (although some of the intermediate levels * The basic decoding approach is to dispatch on the top 4 bits of the opcode, and if further
* dispatch only on 2 bits, which could also handled with a switch statement). * decoding is required, the dispatched function will dispatch on the next 4 bits, and so on
* (although some of the intermediate levels dispatch only on 2 bits, which could also be handled
* with a switch statement).
* *
* Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For * Eventually, every opcode should end up either in an opXXX() function or opUndefined(). For
* opcodes that perform a simple read and/or write operation, the entire operation is handled by * opcodes that perform a simple read and/or write operation, the entire operation is handled by
@ -1765,285 +1767,234 @@ PDP11.opUndefined = function(opCode)
}; };
/** /**
* op0Xnn_1170(opCode) * op1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op0Xnn_1170 = function(opCode) PDP11.op1120 = function(opCode)
{ {
PDP11.aOps0Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode); PDP11.aOpXnnn_1120[opCode >> 12].call(this, opCode);
}; };
/** /**
* op0AXn_1170(opCode) * op0Xnn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op0AXn_1170 = function(opCode) PDP11.op0Xnn_1120 = function(opCode)
{ {
PDP11.aOps0AXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOp0Xnn_1120[(opCode >> 8) & 0xf].call(this, opCode);
}; };
/** /**
* op0BXn_1170(opCode) * op0AXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op0BXn_1170 = function(opCode) PDP11.op0AXn_1120 = function(opCode)
{ {
PDP11.aOps0BXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOp0AXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** /**
* op0CXn_1170(opCode) * op0BXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op0CXn_1170 = function(opCode) PDP11.op0BXn_1120 = function(opCode)
{ {
PDP11.aOps0CXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOp0BXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** /**
* op0DXn_1170(opCode) * op0CXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op0DXn_1170 = function(opCode) PDP11.op0CXn_1120 = function(opCode)
{ {
PDP11.aOps0DXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOp0CXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** /**
* op00Xn_1170(opCode) * op00Xn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op00Xn_1170 = function(opCode) PDP11.op00Xn_1120 = function(opCode)
{ {
PDP11.aOps00Xn_1170[(opCode >> 4) & 0xf].call(this, opCode); PDP11.aOp00Xn_1120[(opCode >> 4) & 0xf].call(this, opCode);
}; };
/** /**
* op008X_1170(opCode) * op00AX_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op008X_1170 = function(opCode) PDP11.op00AX_1120 = function(opCode)
{ {
PDP11.aOps00AX_1170[opCode & 0xf].call(this, opCode); PDP11.aOp00AX_1120[opCode & 0xf].call(this, opCode);
}; };
/** /**
* op00AX_1170(opCode) * op00BX_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op00AX_1170 = function(opCode) PDP11.op00BX_1120 = function(opCode)
{ {
PDP11.aOps00AX_1170[opCode & 0xf].call(this, opCode); PDP11.aOp00BX_1120[opCode & 0xf].call(this, opCode);
}; };
/** /**
* op00BX_1170(opCode) * op000X_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op00BX_1170 = function(opCode) PDP11.op000X_1120 = function(opCode)
{ {
PDP11.aOps00BX_1170[opCode & 0xf].call(this, opCode); PDP11.aOp000X_1120[opCode & 0xf].call(this, opCode);
}; };
/** /**
* op000X_1170(opCode) * op8Xnn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op000X_1170 = function(opCode) PDP11.op8Xnn_1120 = function(opCode)
{ {
PDP11.aOps000X_1170[opCode & 0xf].call(this, opCode); PDP11.aOp8Xnn_1120[(opCode >> 8) & 0xf].call(this, opCode);
}; };
/** /**
* op7Xnn_1170(opCode) * op8AXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op7Xnn_1170 = function(opCode) PDP11.op8AXn_1120 = function(opCode)
{ {
PDP11.aOps7Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode); PDP11.aOp8AXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** /**
* op8Xnn_1170(opCode) * op8BXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op8Xnn_1170 = function(opCode) PDP11.op8BXn_1120 = function(opCode)
{ {
PDP11.aOps8Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode); PDP11.aOp8BXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** /**
* op8AXn_1170(opCode) * op8CXn_1120(opCode)
* *
* @this {CPUStatePDP11} * @this {CPUStatePDP11}
* @param {number} opCode * @param {number} opCode
*/ */
PDP11.op8AXn_1170 = function(opCode) PDP11.op8CXn_1120 = function(opCode)
{ {
PDP11.aOps8AXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.aOp8CXn_1120[(opCode >> 6) & 0x3].call(this, opCode);
}; };
/** PDP11.aOpXnnn_1120 = [
* op8BXn_1170(opCode) PDP11.op0Xnn_1120, // 0x0nnn
* PDP11.opMOV, // 0x1nnn 01SSDD 11/20+ 2.3
* @this {CPUStatePDP11} PDP11.opCMP, // 0x2nnn 02SSDD 11/20+ 2.3*
* @param {number} opCode PDP11.opBIT, // 0x3nnn 03SSDD 11/20+ 2.9*
*/ PDP11.opBIC, // 0x4nnn 04SSDD 11/20+ 2.9
PDP11.op8BXn_1170 = function(opCode) PDP11.opBIS, // 0x5nnn 05SSDD 11/20+ 2.3
{ PDP11.opADD, // 0x6nnn 06SSDD 11/20+ 2.3
PDP11.aOps8BXn_1170[(opCode >> 6) & 0x3].call(this, opCode); PDP11.opUndefined, // 0x7nnn
}; PDP11.op8Xnn_1120, // 0x8nnn
PDP11.opMOVB, // 0x9nnn 11SSDD 11/20+ 2.3
/** PDP11.opCMPB, // 0xAnnn 12SSDD 11/20+ 2.3
* op8CXn_1170(opCode) PDP11.opBITB, // 0xBnnn 13SSDD 11/20+ 2.9
* PDP11.opBICB, // 0xCnnn 14SSDD 11/20+ 2.9
* @this {CPUStatePDP11} PDP11.opBISB, // 0xDnnn 15SSDD 11/20+ 2.3
* @param {number} opCode PDP11.opSUB, // 0xEnnn 16SSDD 11/20+ 2.3
*/
PDP11.op8CXn_1170 = function(opCode)
{
PDP11.aOps8CXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
};
/**
* op8DXn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8DXn_1170 = function(opCode)
{
PDP11.aOps8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
};
/**
* op1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1170 = function(opCode)
{
PDP11.aOpsXnnn_1170[opCode >> 12].call(this, opCode);
};
PDP11.aOpsXnnn_1170 = [
PDP11.op0Xnn_1170, // 0x0nnn
PDP11.opMOV, // 0x1nnn 01SSDD
PDP11.opCMP, // 0x2nnn 02SSDD
PDP11.opBIT, // 0x3nnn 03SSDD
PDP11.opBIC, // 0x4nnn 04SSDD
PDP11.opBIS, // 0x5nnn 05SSDD
PDP11.opADD, // 0x6nnn 06SSDD
PDP11.op7Xnn_1170, // 0x7nnn
PDP11.op8Xnn_1170, // 0x8nnn
PDP11.opMOVB, // 0x9nnn 11SSDD
PDP11.opCMPB, // 0xAnnn 12SSDD
PDP11.opBITB, // 0xBnnn 13SSDD
PDP11.opBICB, // 0xCnnn 14SSDD
PDP11.opBISB, // 0xDnnn 15SSDD
PDP11.opSUB, // 0xEnnn 16SSDD
PDP11.opUndefined // 0xFnnn PDP11.opUndefined // 0xFnnn
]; ];
PDP11.aOps0Xnn_1170 = [ PDP11.aOp0Xnn_1120 = [
PDP11.op00Xn_1170, // 0x00nn PDP11.op00Xn_1120, // 0x00nn
PDP11.opBR, // 0x01nn PDP11.opBR, // 0x01nn 0004XX 11/20+ 2.6
PDP11.opBNE, // 0x02nn PDP11.opBNE, // 0x02nn 0010XX 11/20+ 2.6**
PDP11.opBEQ, // 0x03nn PDP11.opBEQ, // 0x03nn 0014XX 11/20+ 2.6**
PDP11.opBGE, // 0x04nn PDP11.opBGE, // 0x04nn 0020XX 11/20+ 2.6**
PDP11.opBLT, // 0x05nn PDP11.opBLT, // 0x05nn 0024XX 11/20+ 2.6**
PDP11.opBGT, // 0x06nn PDP11.opBGT, // 0x06nn 0030XX 11/20+ 2.6**
PDP11.opBLE, // 0x07nn PDP11.opBLE, // 0x07nn 0034XX 11/20+ 2.6**
PDP11.opJSR, // 0x08nn PDP11.opJSR, // 0x08nn 004RDD 11/20+ 4.4
PDP11.opJSR, // 0x09nn PDP11.opJSR, // 0x09nn 004RDD 11/20+ 4.4
PDP11.op0AXn_1170, // 0x0Ann PDP11.op0AXn_1120, // 0x0Ann
PDP11.op0BXn_1170, // 0x0Bnn PDP11.op0BXn_1120, // 0x0Bnn
PDP11.op0CXn_1170, // 0x0Cnn PDP11.op0CXn_1120, // 0x0Cnn
PDP11.op0DXn_1170, // 0x0Dnn PDP11.opUndefined, // 0x0Dnn
PDP11.opUndefined, // 0x0Enn PDP11.opUndefined, // 0x0Enn
PDP11.opUndefined // 0x0Fnn PDP11.opUndefined // 0x0Fnn
]; ];
PDP11.aOps0AXn_1170 = [ PDP11.aOp0AXn_1120 = [
PDP11.opCLR, // 0x0A0n PDP11.opCLR, // 0x0A0n 0050DD 11/20+ 2.3
PDP11.opCOM, // 0x0A4n PDP11.opCOM, // 0x0A4n 0051DD 11/20+ 2.3
PDP11.opINC, // 0x0A8n PDP11.opINC, // 0x0A8n 0052DD 11/20+ 2.3
PDP11.opDEC // 0x0ACn PDP11.opDEC // 0x0ACn 0053DD 11/20+ 2.3
]; ];
PDP11.aOps0BXn_1170 = [ PDP11.aOp0BXn_1120 = [
PDP11.opNEG, // 0x0B0n PDP11.opNEG, // 0x0B0n 0054DD 11/20+ 2.3
PDP11.opADC, // 0x0B4n PDP11.opADC, // 0x0B4n 0055DD 11/20+ 2.3
PDP11.opSBC, // 0x0B8n PDP11.opSBC, // 0x0B8n 0056DD 11/20+ 2.3
PDP11.opTST // 0x0BCn PDP11.opTST // 0x0BCn 0057DD 11/20+ 2.3*
]; ];
PDP11.aOps0CXn_1170 = [ PDP11.aOp0CXn_1120 = [
PDP11.opROR, // 0x0C0n PDP11.opROR, // 0x0C0n 0060DD 11/20+ 2.3*
PDP11.opROL, // 0x0C4n PDP11.opROL, // 0x0C4n 0061DD 11/20+ 2.3*
PDP11.opASR, // 0x0C8n PDP11.opASR, // 0x0C8n 0062DD 11/20+ 2.3*
PDP11.opASL // 0x0CCn PDP11.opASL // 0x0CCn 0063DD 11/20+ 2.3*
]; ];
PDP11.aOps0DXn_1170 = [ PDP11.aOp00Xn_1120 = [
PDP11.opMARK, // 0x0D0n PDP11.op000X_1120, // 0x000n 000000-000017
PDP11.opMFPI, // 0x0D4n
PDP11.opMTPI, // 0x0D8n
PDP11.opSXT // 0x0DCn
];
PDP11.aOps00Xn_1170 = [
PDP11.op000X_1170, // 0x000n 000000-000017
PDP11.opUndefined, // 0x001n 000020-000037 PDP11.opUndefined, // 0x001n 000020-000037
PDP11.opUndefined, // 0x002n 000040-000057 PDP11.opUndefined, // 0x002n 000040-000057
PDP11.opUndefined, // 0x003n 000060-000077 PDP11.opUndefined, // 0x003n 000060-000077
PDP11.opJMP, // 0x004n 0001DD PDP11.opJMP, // 0x004n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x005n 0001DD PDP11.opJMP, // 0x005n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x006n 0001DD PDP11.opJMP, // 0x006n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x007n 0001DD PDP11.opJMP, // 0x007n 0001DD 11/20+ 1.2
PDP11.opRTS, // 0x008n 00020R (opRTS() will also confirm that bit 3 is clear) PDP11.opRTS, // 0x008n 00020R 11/20+ 3.5 (opRTS() will also confirm that bit 3 is clear)
PDP11.opSPL, // 0x009n 00023N (opSPL() will also confirm that bit 3 is set) PDP11.opUndefined, // 0x009n 00023N
PDP11.op00AX_1170, // 0x00An 000240-000257 PDP11.op00AX_1120, // 0x00An 000240-000257
PDP11.op00BX_1170, // 0x00Bn 000260-000277 PDP11.op00BX_1120, // 0x00Bn 000260-000277
PDP11.opSWAB, // 0x00Cn 0003DD PDP11.opSWAB, // 0x00Cn 0003DD 11/20+ 2.3
PDP11.opSWAB, // 0x00Dn 0003DD PDP11.opSWAB, // 0x00Dn 0003DD 11/20+ 2.3
PDP11.opSWAB, // 0x00En 0003DD PDP11.opSWAB, // 0x00En 0003DD 11/20+ 2.3
PDP11.opSWAB // 0x00Fn 0003DD PDP11.opSWAB // 0x00Fn 0003DD 11/20+ 2.3
]; ];
PDP11.aOps000X_1170 = [ PDP11.aOp000X_1120 = [
PDP11.opHALT, // 0x0000 000000 PDP11.opHALT, // 0x0000 000000 11/20+ 1.8
PDP11.opWAIT, // 0x0001 000001 PDP11.opWAIT, // 0x0001 000001 11/20+ 1.8
PDP11.opRTI, // 0x0002 000002 PDP11.opRTI, // 0x0002 000002 11/20+ 4.8
PDP11.opBPT, // 0x0003 000003 PDP11.opBPT, // 0x0003
PDP11.opIOT, // 0x0004 000004 PDP11.opIOT, // 0x0004 000004 11/20+ 9.3
PDP11.opRESET, // 0x0005 000005 PDP11.opRESET, // 0x0005 000005 11/20+ 20ms
PDP11.opRTT, // 0x0006 000006 PDP11.opUndefined, // 0x0006
PDP11.opUndefined, // 0x0007 PDP11.opUndefined, // 0x0007
PDP11.opUndefined, // 0x0008 PDP11.opUndefined, // 0x0008
PDP11.opUndefined, // 0x0009 PDP11.opUndefined, // 0x0009
@ -2055,106 +2006,296 @@ PDP11.aOps000X_1170 = [
PDP11.opUndefined // 0x000F PDP11.opUndefined // 0x000F
]; ];
PDP11.aOps00AX_1170 = [ PDP11.aOp00AX_1120 = [
PDP11.opNOP, // 0x00A0 000240 PDP11.opNOP, // 0x00A0 000240 11/20+ 1.5
PDP11.opCLC, // 0x00A1 PDP11.opCLC, // 0x00A1 000241 11/20+ 1.5
PDP11.opCLV, // 0x00A2 PDP11.opCLV, // 0x00A2 000242 11/20+ 1.5
PDP11.opCLx, // 0x00A3 PDP11.opCLx, // 0x00A3 000243 11/20+ 1.5
PDP11.opCLZ, // 0x00A4 PDP11.opCLZ, // 0x00A4 000244 11/20+ 1.5
PDP11.opCLx, // 0x00A5 PDP11.opCLx, // 0x00A5 000245 11/20+ 1.5
PDP11.opCLx, // 0x00A6 PDP11.opCLx, // 0x00A6 000246 11/20+ 1.5
PDP11.opCLx, // 0x00A7 PDP11.opCLx, // 0x00A7 000247 11/20+ 1.5
PDP11.opCLN, // 0x00A8 PDP11.opCLN, // 0x00A8 000250 11/20+ 1.5
PDP11.opCLx, // 0x00A9 PDP11.opCLx, // 0x00A9 000251 11/20+ 1.5
PDP11.opCLx, // 0x00AA PDP11.opCLx, // 0x00AA 000252 11/20+ 1.5
PDP11.opCLx, // 0x00AB PDP11.opCLx, // 0x00AB 000253 11/20+ 1.5
PDP11.opCLx, // 0x00AC PDP11.opCLx, // 0x00AC 000254 11/20+ 1.5
PDP11.opCLx, // 0x00AD PDP11.opCLx, // 0x00AD 000255 11/20+ 1.5
PDP11.opCLx, // 0x00AE PDP11.opCLx, // 0x00AE 000256 11/20+ 1.5
PDP11.opCLx // 0x00AF 000257 PDP11.opCLx // 0x00AF 000257 11/20+ 1.5
]; ];
PDP11.aOps00BX_1170 = [ PDP11.aOp00BX_1120 = [
PDP11.opNOP, // 0x00B0 000260 PDP11.opNOP, // 0x00B0 000260 11/20+ 1.5
PDP11.opSEC, // 0x00B1 PDP11.opSEC, // 0x00B1 000261 11/20+ 1.5
PDP11.opSEV, // 0x00B2 PDP11.opSEV, // 0x00B2 000262 11/20+ 1.5
PDP11.opSEx, // 0x00B3 PDP11.opSEx, // 0x00B3 000263 11/20+ 1.5
PDP11.opSEZ, // 0x00B4 PDP11.opSEZ, // 0x00B4 000264 11/20+ 1.5
PDP11.opSEx, // 0x00B5 PDP11.opSEx, // 0x00B5 000265 11/20+ 1.5
PDP11.opSEx, // 0x00B6 PDP11.opSEx, // 0x00B6 000266 11/20+ 1.5
PDP11.opSEx, // 0x00B7 PDP11.opSEx, // 0x00B7 000267 11/20+ 1.5
PDP11.opSEN, // 0x00B8 PDP11.opSEN, // 0x00B8 000270 11/20+ 1.5
PDP11.opSEx, // 0x00B9 PDP11.opSEx, // 0x00B9 000271 11/20+ 1.5
PDP11.opSEx, // 0x00BA PDP11.opSEx, // 0x00BA 000272 11/20+ 1.5
PDP11.opSEx, // 0x00BB PDP11.opSEx, // 0x00BB 000273 11/20+ 1.5
PDP11.opSEx, // 0x00BC PDP11.opSEx, // 0x00BC 000274 11/20+ 1.5
PDP11.opSEx, // 0x00BD PDP11.opSEx, // 0x00BD 000275 11/20+ 1.5
PDP11.opSEx, // 0x00BE PDP11.opSEx, // 0x00BE 000276 11/20+ 1.5
PDP11.opSEx // 0x00BF 000277 PDP11.opSEx // 0x00BF 000277 11/20+ 1.5
]; ];
PDP11.aOps7Xnn_1170 = [ PDP11.aOp8Xnn_1120 = [
PDP11.opMUL, // 0x70nn PDP11.opBPL, // 0x80nn 1000XX 11/20+ 2.6**
PDP11.opMUL, // 0x71nn PDP11.opBMI, // 0x81nn 1004XX 11/20+ 2.6**
PDP11.opDIV, // 0x72nn PDP11.opBHI, // 0x82nn 1010XX 11/20+ 2.6**
PDP11.opDIV, // 0x73nn PDP11.opBLOS, // 0x83nn 1014XX 11/20+ 2.6**
PDP11.opASH, // 0x74nn PDP11.opBVC, // 0x84nn 1020XX 11/20+ 2.6**
PDP11.opASH, // 0x75nn PDP11.opBVS, // 0x85nn 1024XX 11/20+ 2.6**
PDP11.opASHC, // 0x76nn PDP11.opBCC, // 0x86nn 1030XX 11/20+ 2.6**
PDP11.opASHC, // 0x77nn PDP11.opBCS, // 0x87nn 1034XX 11/20+ 2.6**
PDP11.opXOR, // 0x78nn PDP11.opEMT, // 0x88nn 104000-104377 11/20+ 9.3
PDP11.opXOR, // 0x79nn PDP11.opTRAP, // 0x89nn 104400-104777 11/20+ 9.3
PDP11.op8AXn_1120, // 0x8Ann
PDP11.op8BXn_1120, // 0x8Bnn
PDP11.op8CXn_1120, // 0x8Cnn
PDP11.opUndefined, // 0x8Dnn
PDP11.opUndefined, // 0x8Enn
PDP11.opUndefined // 0x8Fnn
];
PDP11.aOp8AXn_1120 = [
PDP11.opCLRB, // 0x8A0n 1050DD 11/20+ 2.3
PDP11.opCOMB, // 0x8A4n 1051DD 11/20+ 2.3
PDP11.opINCB, // 0x8A8n 1052DD 11/20+ 2.3
PDP11.opDECB // 0x8ACn 1053DD 11/20+ 2.3
];
PDP11.aOp8BXn_1120 = [
PDP11.opNEGB, // 0x8B0n 1054DD 11/20+ 2.3
PDP11.opADCB, // 0x8B4n 1055DD 11/20+ 2.3
PDP11.opSBCB, // 0x8B8n 1056DD 11/20+ 2.3
PDP11.opTSTB // 0x8BCn 1057DD 11/20+ 2.3*
];
PDP11.aOp8CXn_1120 = [
PDP11.opRORB, // 0x8C0n 1060DD 11/20+ 2.3*
PDP11.opROLB, // 0x8C4n 1061DD 11/20+ 2.3*
PDP11.opASRB, // 0x8C8n 1062DD 11/20+ 2.3*
PDP11.opASLB // 0x8CCn 1063DD 11/20+ 2.3*
];
/**
* op1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op1170 = function(opCode)
{
PDP11.aOpXnnn_1170[opCode >> 12].call(this, opCode);
};
/**
* op0Xnn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0Xnn_1170 = function(opCode)
{
PDP11.aOp0Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op0DXn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op0DXn_1170 = function(opCode)
{
PDP11.aOp0DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
};
/**
* op00Xn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op00Xn_1170 = function(opCode)
{
PDP11.aOp00Xn_1170[(opCode >> 4) & 0xf].call(this, opCode);
};
/**
* op000X_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op000X_1170 = function(opCode)
{
PDP11.aOp000X_1170[opCode & 0xf].call(this, opCode);
};
/**
* op7Xnn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op7Xnn_1170 = function(opCode)
{
PDP11.aOp7Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8Xnn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8Xnn_1170 = function(opCode)
{
PDP11.aOp8Xnn_1170[(opCode >> 8) & 0xf].call(this, opCode);
};
/**
* op8DXn_1170(opCode)
*
* @this {CPUStatePDP11}
* @param {number} opCode
*/
PDP11.op8DXn_1170 = function(opCode)
{
PDP11.aOp8DXn_1170[(opCode >> 6) & 0x3].call(this, opCode);
};
PDP11.aOpXnnn_1170 = [
PDP11.op0Xnn_1170, // 0x0nnn
PDP11.opMOV, // 0x1nnn 01SSDD 11/20+ 2.3
PDP11.opCMP, // 0x2nnn 02SSDD 11/20+ 2.3*
PDP11.opBIT, // 0x3nnn 03SSDD 11/20+ 2.9*
PDP11.opBIC, // 0x4nnn 04SSDD 11/20+ 2.9
PDP11.opBIS, // 0x5nnn 05SSDD 11/20+ 2.3
PDP11.opADD, // 0x6nnn 06SSDD 11/20+ 2.3
PDP11.op7Xnn_1170, // 0x7nnn
PDP11.op8Xnn_1170, // 0x8nnn
PDP11.opMOVB, // 0x9nnn 11SSDD 11/20+ 2.3
PDP11.opCMPB, // 0xAnnn 12SSDD 11/20+ 2.3
PDP11.opBITB, // 0xBnnn 13SSDD 11/20+ 2.9
PDP11.opBICB, // 0xCnnn 14SSDD 11/20+ 2.9
PDP11.opBISB, // 0xDnnn 15SSDD 11/20+ 2.3
PDP11.opSUB, // 0xEnnn 16SSDD 11/20+ 2.3
PDP11.opUndefined // 0xFnnn
];
PDP11.aOp0Xnn_1170 = [
PDP11.op00Xn_1170, // 0x00nn
PDP11.opBR, // 0x01nn 0004XX 11/20+ 2.6
PDP11.opBNE, // 0x02nn 0010XX 11/20+ 2.6**
PDP11.opBEQ, // 0x03nn 0014XX 11/20+ 2.6**
PDP11.opBGE, // 0x04nn 0020XX 11/20+ 2.6**
PDP11.opBLT, // 0x05nn 0024XX 11/20+ 2.6**
PDP11.opBGT, // 0x06nn 0030XX 11/20+ 2.6**
PDP11.opBLE, // 0x07nn 0034XX 11/20+ 2.6**
PDP11.opJSR, // 0x08nn 004RDD 11/20+ 4.4
PDP11.opJSR, // 0x09nn 004RDD 11/20+ 4.4
PDP11.op0AXn_1120, // 0x0Ann
PDP11.op0BXn_1120, // 0x0Bnn
PDP11.op0CXn_1120, // 0x0Cnn
PDP11.op0DXn_1170, // 0x0Dnn
PDP11.opUndefined, // 0x0Enn
PDP11.opUndefined // 0x0Fnn
];
PDP11.aOp0DXn_1170 = [
PDP11.opMARK, // 0x0D0n 11/45+
PDP11.opMFPI, // 0x0D4n 11/45+
PDP11.opMTPI, // 0x0D8n 11/45+
PDP11.opSXT // 0x0DCn 11/45+
];
PDP11.aOp00Xn_1170 = [
PDP11.op000X_1170, // 0x000n 000000-000017
PDP11.opUndefined, // 0x001n 000020-000037
PDP11.opUndefined, // 0x002n 000040-000057
PDP11.opUndefined, // 0x003n 000060-000077
PDP11.opJMP, // 0x004n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x005n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x006n 0001DD 11/20+ 1.2
PDP11.opJMP, // 0x007n 0001DD 11/20+ 1.2
PDP11.opRTS, // 0x008n 00020R 11/20+ 3.5 (opRTS() will also confirm that bit 3 is clear)
PDP11.opSPL, // 0x009n 00023N 11/45+ (opSPL() will also confirm that bit 3 is set)
PDP11.op00AX_1120, // 0x00An 000240-000257
PDP11.op00BX_1120, // 0x00Bn 000260-000277
PDP11.opSWAB, // 0x00Cn 0003DD 11/20+ 2.3
PDP11.opSWAB, // 0x00Dn 0003DD 11/20+ 2.3
PDP11.opSWAB, // 0x00En 0003DD 11/20+ 2.3
PDP11.opSWAB // 0x00Fn 0003DD 11/20+ 2.3
];
PDP11.aOp000X_1170 = [
PDP11.opHALT, // 0x0000 000000 11/20+ 1.8
PDP11.opWAIT, // 0x0001 000001 11/20+ 1.8
PDP11.opRTI, // 0x0002 000002 11/20+ 4.8
PDP11.opBPT, // 0x0003 000003
PDP11.opIOT, // 0x0004 000004 11/20+ 9.3
PDP11.opRESET, // 0x0005 000005 11/20+ 20ms
PDP11.opRTT, // 0x0006 000006 11/45+
PDP11.opUndefined, // 0x0007
PDP11.opUndefined, // 0x0008
PDP11.opUndefined, // 0x0009
PDP11.opUndefined, // 0x000A
PDP11.opUndefined, // 0x000B
PDP11.opUndefined, // 0x000C
PDP11.opUndefined, // 0x000D
PDP11.opUndefined, // 0x000E
PDP11.opUndefined // 0x000F
];
PDP11.aOp7Xnn_1170 = [
PDP11.opMUL, // 0x70nn 11/45+
PDP11.opMUL, // 0x71nn 11/45+
PDP11.opDIV, // 0x72nn 11/45+
PDP11.opDIV, // 0x73nn 11/45+
PDP11.opASH, // 0x74nn 11/45+
PDP11.opASH, // 0x75nn 11/45+
PDP11.opASHC, // 0x76nn 11/45+
PDP11.opASHC, // 0x77nn 11/45+
PDP11.opXOR, // 0x78nn 11/45+
PDP11.opXOR, // 0x79nn 11/45+
PDP11.opUndefined, // 0x7Ann PDP11.opUndefined, // 0x7Ann
PDP11.opUndefined, // 0x7Bnn PDP11.opUndefined, // 0x7Bnn
PDP11.opUndefined, // 0x7Cnn PDP11.opUndefined, // 0x7Cnn
PDP11.opUndefined, // 0x7Dnn PDP11.opUndefined, // 0x7Dnn
PDP11.opSOB, // 0x7Enn PDP11.opSOB, // 0x7Enn 11/45+
PDP11.opSOB // 0x7Fnn PDP11.opSOB // 0x7Fnn 11/45+
]; ];
PDP11.aOps8Xnn_1170 = [ PDP11.aOp8Xnn_1170 = [
PDP11.opBPL, // 0x80nn PDP11.opBPL, // 0x80nn 1000XX 11/20+ 2.6**
PDP11.opBMI, // 0x81nn PDP11.opBMI, // 0x81nn 1004XX 11/20+ 2.6**
PDP11.opBHI, // 0x82nn PDP11.opBHI, // 0x82nn 1010XX 11/20+ 2.6**
PDP11.opBLOS, // 0x83nn PDP11.opBLOS, // 0x83nn 1014XX 11/20+ 2.6**
PDP11.opBVC, // 0x84nn PDP11.opBVC, // 0x84nn 1020XX 11/20+ 2.6**
PDP11.opBVS, // 0x85nn PDP11.opBVS, // 0x85nn 1024XX 11/20+ 2.6**
PDP11.opBCC, // 0x86nn PDP11.opBCC, // 0x86nn 1030XX 11/20+ 2.6**
PDP11.opBCS, // 0x87nn PDP11.opBCS, // 0x87nn 1034XX 11/20+ 2.6**
PDP11.opEMT, // 0x88nn PDP11.opEMT, // 0x88nn 104000-104377 11/20+ 9.3
PDP11.opTRAP, // 0x89nn PDP11.opTRAP, // 0x89nn 104400-104777 11/20+ 9.3
PDP11.op8AXn_1170, // 0x8Ann PDP11.op8AXn_1120, // 0x8Ann
PDP11.op8BXn_1170, // 0x8Bnn PDP11.op8BXn_1120, // 0x8Bnn
PDP11.op8CXn_1170, // 0x8Cnn PDP11.op8CXn_1120, // 0x8Cnn
PDP11.op8DXn_1170, // 0x8Dnn PDP11.op8DXn_1170, // 0x8Dnn
PDP11.opUndefined, // 0x8Enn PDP11.opUndefined, // 0x8Enn
PDP11.opUndefined // 0x8Fnn PDP11.opUndefined // 0x8Fnn
]; ];
PDP11.aOps8AXn_1170 = [ PDP11.aOp8DXn_1170 = [
PDP11.opCLRB, // 0x8A0n
PDP11.opCOMB, // 0x8A4n
PDP11.opINCB, // 0x8A8n
PDP11.opDECB // 0x8ACn
];
PDP11.aOps8BXn_1170 = [
PDP11.opNEGB, // 0x8B0n
PDP11.opADCB, // 0x8B4n
PDP11.opSBCB, // 0x8B8n
PDP11.opTSTB // 0x8BCn
];
PDP11.aOps8CXn_1170 = [
PDP11.opRORB, // 0x8C0n
PDP11.opROLB, // 0x8C4n
PDP11.opASRB, // 0x8C8n
PDP11.opASLB // 0x8CCn
];
PDP11.aOps8DXn_1170 = [
PDP11.opUndefined, // 0x8D0n PDP11.opUndefined, // 0x8D0n
PDP11.opMFPD, // 0x8D4n PDP11.opMFPD, // 0x8D4n 11/45+
PDP11.opMTPD, // 0x8D8n PDP11.opMTPD, // 0x8D8n 11/45+
PDP11.opUndefined // 0x8DCn PDP11.opUndefined // 0x8DCn
]; ];

View file

@ -123,7 +123,11 @@ var Trigger;
*/ */
CPUStatePDP11.prototype.initProcessor = function() CPUStatePDP11.prototype.initProcessor = function()
{ {
this.decode = PDP11.op1170.bind(this); if (this.model == PDP11.MODEL_1120) {
this.decode = PDP11.op1120.bind(this);
} else {
this.decode = PDP11.op1170.bind(this);
}
this.initRegs(); this.initRegs();
@ -147,6 +151,7 @@ CPUStatePDP11.prototype.initProcessor = function()
*/ */
CPUStatePDP11.prototype.reset = function() CPUStatePDP11.prototype.reset = function()
{ {
this.status("model " + this.model);
if (this.flags.running) this.stopCPU(); if (this.flags.running) this.stopCPU();
this.initRegs(); this.initRegs();
this.resetCycles(); this.resetCycles();
@ -826,7 +831,7 @@ CPUStatePDP11.prototype.setPSW = function(newPSW)
* an interrupt has been dispatched, because it's dispatched via trap(), and trap() calls setPSW(). * an interrupt has been dispatched, because it's dispatched via trap(), and trap() calls setPSW().
* *
* I mean, sure, it's POSSIBLE that the new PSW loaded by trap() actually set a lower priority, allowing a lower * I mean, sure, it's POSSIBLE that the new PSW loaded by trap() actually set a lower priority, allowing a lower
* priority interrupt to immediately be acknowledged. But perhaps we should a bit more rigorous here. * priority interrupt to immediately be acknowledged. But perhaps we should be a bit more rigorous here.
* *
* For example, we could avoid setting INTQ unless 1) there's actually an active interrupt trigger (ie, triggerNext * For example, we could avoid setting INTQ unless 1) there's actually an active interrupt trigger (ie, triggerNext
* is not null) or 2) an optional fCheckInterrupts flag is passed to us, because the caller has some knowledge * is not null) or 2) an optional fCheckInterrupts flag is passed to us, because the caller has some knowledge

View file

@ -125,6 +125,7 @@ var PDP11 = {
/* /*
* CPU model numbers (supported) * CPU model numbers (supported)
*/ */
MODEL_1120: 1120,
MODEL_1145: 1145, MODEL_1145: 1145,
MODEL_1170: 1170, MODEL_1170: 1170,
@ -167,7 +168,10 @@ var PDP11 = {
TF: 0x0010, // bit 4: Trap Flag TF: 0x0010, // bit 4: Trap Flag
PRI: 0x00E0, // bits 5-7: Priority PRI: 0x00E0, // bits 5-7: Priority
UNUSED: 0x0700, // bits 8-10: unused UNUSED: 0x0700, // bits 8-10: unused
REGSET: 0x0800, // bit 11: Register Set /*
* PSW bits above this point are unused on 11/20-class machines
*/
REGSET: 0x0800, // bit 11: Register Set (
PMODE: 0x3000, // bits 12-13: Prev Mode (see PDP11.MODE) PMODE: 0x3000, // bits 12-13: Prev Mode (see PDP11.MODE)
CMODE: 0xC000, // bits 14-15: Curr Mode (see PDP11.MODE) CMODE: 0xC000, // bits 14-15: Curr Mode (see PDP11.MODE)
SHIFT: { SHIFT: {
@ -498,7 +502,7 @@ var PDP11 = {
HSIZE: 0o177762, // Upper Size Register (always zero) (11/70 only) HSIZE: 0o177762, // Upper Size Register (always zero) (11/70 only)
SYSID: 0o177764, // System ID Register (11/70 only) SYSID: 0o177764, // System ID Register (11/70 only)
CPUERR: 0o177766, // CPU error (11/70 only) CPUERR: 0o177766, // CPU error (11/70 only)
MB: 0o177770, // Microprogram break MB: 0o177770, // Microprogram break (11/70 only)
PIR: 0o177772, // Program Interrupt Request PIR: 0o177772, // Program Interrupt Request
SL: 0o177774, // Stack Limit Register SL: 0o177774, // Stack Limit Register
PSW: 0o177776 // 777776 17777776 0x3FFFFE Processor Status Word PSW: 0o177776 // 777776 17777776 0x3FFFFE Processor Status Word

View file

@ -1059,24 +1059,24 @@ DevicePDP11.prototype.reset = function()
* ES6 ALERT: As you can see below, I've finally started using computed property names. * ES6 ALERT: As you can see below, I've finally started using computed property names.
*/ */
DevicePDP11.UNIBUS_IOTABLE = { DevicePDP11.UNIBUS_IOTABLE = {
[PDP11.UNIBUS.SISDR0]: /* 172200 */ [null, null, DevicePDP11.prototype.readSISDR, DevicePDP11.prototype.writeSISDR, "SISDR"], [PDP11.UNIBUS.SISDR0]: /* 172200 */ [null, null, DevicePDP11.prototype.readSISDR, DevicePDP11.prototype.writeSISDR, "SISDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.SDSDR0]: /* 172220 */ [null, null, DevicePDP11.prototype.readSDSDR, DevicePDP11.prototype.writeSDSDR, "SDSDR"], [PDP11.UNIBUS.SDSDR0]: /* 172220 */ [null, null, DevicePDP11.prototype.readSDSDR, DevicePDP11.prototype.writeSDSDR, "SDSDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.SISAR0]: /* 172240 */ [null, null, DevicePDP11.prototype.readSISAR, DevicePDP11.prototype.writeSISAR, "SISAR"], [PDP11.UNIBUS.SISAR0]: /* 172240 */ [null, null, DevicePDP11.prototype.readSISAR, DevicePDP11.prototype.writeSISAR, "SISAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.SDSAR0]: /* 172260 */ [null, null, DevicePDP11.prototype.readSDSAR, DevicePDP11.prototype.writeSDSAR, "SDSAR"], [PDP11.UNIBUS.SDSAR0]: /* 172260 */ [null, null, DevicePDP11.prototype.readSDSAR, DevicePDP11.prototype.writeSDSAR, "SDSAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.KISDR0]: /* 172300 */ [null, null, DevicePDP11.prototype.readKISDR, DevicePDP11.prototype.writeKISDR, "KISDR"], [PDP11.UNIBUS.KISDR0]: /* 172300 */ [null, null, DevicePDP11.prototype.readKISDR, DevicePDP11.prototype.writeKISDR, "KISDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.KDSDR0]: /* 172320 */ [null, null, DevicePDP11.prototype.readKDSDR, DevicePDP11.prototype.writeKDSDR, "KDSDR"], [PDP11.UNIBUS.KDSDR0]: /* 172320 */ [null, null, DevicePDP11.prototype.readKDSDR, DevicePDP11.prototype.writeKDSDR, "KDSDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.KISAR0]: /* 172340 */ [null, null, DevicePDP11.prototype.readKISAR, DevicePDP11.prototype.writeKISAR, "KISAR"], [PDP11.UNIBUS.KISAR0]: /* 172340 */ [null, null, DevicePDP11.prototype.readKISAR, DevicePDP11.prototype.writeKISAR, "KISAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.KDSAR0]: /* 172360 */ [null, null, DevicePDP11.prototype.readKDSAR, DevicePDP11.prototype.writeKDSAR, "KDSAR"], [PDP11.UNIBUS.KDSAR0]: /* 172360 */ [null, null, DevicePDP11.prototype.readKDSAR, DevicePDP11.prototype.writeKDSAR, "KDSAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.MMR3]: /* 172516 */ [null, null, DevicePDP11.prototype.readMMR3, DevicePDP11.prototype.writeMMR3, "MMR3"], [PDP11.UNIBUS.MMR3]: /* 172516 */ [null, null, DevicePDP11.prototype.readMMR3, DevicePDP11.prototype.writeMMR3, "MMR3", PDP11.MODEL_1145],
[PDP11.UNIBUS.LKS]: /* 177546 */ [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS, "LKS"], [PDP11.UNIBUS.LKS]: /* 177546 */ [null, null, DevicePDP11.prototype.readLKS, DevicePDP11.prototype.writeLKS, "LKS"],
[PDP11.UNIBUS.CNSL]: /* 177570 */ [null, null, DevicePDP11.prototype.readCNSL, DevicePDP11.prototype.writeCNSL, "CNSL"], [PDP11.UNIBUS.CNSL]: /* 177570 */ [null, null, DevicePDP11.prototype.readCNSL, DevicePDP11.prototype.writeCNSL, "CNSL"],
[PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0, "MMR0"], [PDP11.UNIBUS.MMR0]: /* 177572 */ [null, null, DevicePDP11.prototype.readMMR0, DevicePDP11.prototype.writeMMR0, "MMR0", PDP11.MODEL_1145],
[PDP11.UNIBUS.MMR1]: /* 177574 */ [null, null, DevicePDP11.prototype.readMMR1, DevicePDP11.prototype.writeIgnored, "MMR1"], [PDP11.UNIBUS.MMR1]: /* 177574 */ [null, null, DevicePDP11.prototype.readMMR1, DevicePDP11.prototype.writeIgnored, "MMR1", PDP11.MODEL_1145],
[PDP11.UNIBUS.MMR2]: /* 177576 */ [null, null, DevicePDP11.prototype.readMMR2, DevicePDP11.prototype.writeIgnored, "MMR2"], [PDP11.UNIBUS.MMR2]: /* 177576 */ [null, null, DevicePDP11.prototype.readMMR2, DevicePDP11.prototype.writeIgnored, "MMR2", PDP11.MODEL_1145],
[PDP11.UNIBUS.UISDR0]: /* 177600 */ [null, null, DevicePDP11.prototype.readUISDR, DevicePDP11.prototype.writeUISDR, "UISDR"], [PDP11.UNIBUS.UISDR0]: /* 177600 */ [null, null, DevicePDP11.prototype.readUISDR, DevicePDP11.prototype.writeUISDR, "UISDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.UDSDR0]: /* 177620 */ [null, null, DevicePDP11.prototype.readUDSDR, DevicePDP11.prototype.writeUDSDR, "UDSDR"], [PDP11.UNIBUS.UDSDR0]: /* 177620 */ [null, null, DevicePDP11.prototype.readUDSDR, DevicePDP11.prototype.writeUDSDR, "UDSDR", PDP11.MODEL_1145],
[PDP11.UNIBUS.UISAR0]: /* 177640 */ [null, null, DevicePDP11.prototype.readUISAR, DevicePDP11.prototype.writeUISAR, "UISAR"], [PDP11.UNIBUS.UISAR0]: /* 177640 */ [null, null, DevicePDP11.prototype.readUISAR, DevicePDP11.prototype.writeUISAR, "UISAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.UDSAR0]: /* 177660 */ [null, null, DevicePDP11.prototype.readUDSAR, DevicePDP11.prototype.writeUDSAR, "UDSAR"], [PDP11.UNIBUS.UDSAR0]: /* 177660 */ [null, null, DevicePDP11.prototype.readUDSAR, DevicePDP11.prototype.writeUDSAR, "UDSAR", PDP11.MODEL_1145],
[PDP11.UNIBUS.R0SET0]: /* 177700 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R0SET0"], [PDP11.UNIBUS.R0SET0]: /* 177700 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R0SET0"],
[PDP11.UNIBUS.R1SET0]: /* 177701 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R1SET0"], [PDP11.UNIBUS.R1SET0]: /* 177701 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R1SET0"],
[PDP11.UNIBUS.R2SET0]: /* 177702 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R2SET0"], [PDP11.UNIBUS.R2SET0]: /* 177702 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R2SET0"],
@ -1085,14 +1085,14 @@ DevicePDP11.UNIBUS_IOTABLE = {
[PDP11.UNIBUS.R5SET0]: /* 177705 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R5SET0"], [PDP11.UNIBUS.R5SET0]: /* 177705 */ [null, null, DevicePDP11.prototype.readRSET0, DevicePDP11.prototype.writeRSET0, "R5SET0"],
[PDP11.UNIBUS.R6KERNEL]:/* 177706 */ [null, null, DevicePDP11.prototype.readR6KERNEL,DevicePDP11.prototype.writeR6KERNEL,"R6KERNEL"], [PDP11.UNIBUS.R6KERNEL]:/* 177706 */ [null, null, DevicePDP11.prototype.readR6KERNEL,DevicePDP11.prototype.writeR6KERNEL,"R6KERNEL"],
[PDP11.UNIBUS.R7KERNEL]:/* 177707 */ [null, null, DevicePDP11.prototype.readR7KERNEL,DevicePDP11.prototype.writeR7KERNEL,"R7KERNEL"], [PDP11.UNIBUS.R7KERNEL]:/* 177707 */ [null, null, DevicePDP11.prototype.readR7KERNEL,DevicePDP11.prototype.writeR7KERNEL,"R7KERNEL"],
[PDP11.UNIBUS.R0SET1]: /* 177710 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R0SET1"], [PDP11.UNIBUS.R0SET1]: /* 177710 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R0SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R1SET1]: /* 177711 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R1SET1"], [PDP11.UNIBUS.R1SET1]: /* 177711 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R1SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R2SET1]: /* 177712 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R2SET1"], [PDP11.UNIBUS.R2SET1]: /* 177712 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R2SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R3SET1]: /* 177713 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R3SET1"], [PDP11.UNIBUS.R3SET1]: /* 177713 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R3SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R4SET1]: /* 177714 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R4SET1"], [PDP11.UNIBUS.R4SET1]: /* 177714 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R4SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R5SET1]: /* 177715 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R5SET1"], [PDP11.UNIBUS.R5SET1]: /* 177715 */ [null, null, DevicePDP11.prototype.readRSET1, DevicePDP11.prototype.writeRSET1, "R5SET1", PDP11.MODEL_1145],
[PDP11.UNIBUS.R6SUPER]: /* 177716 */ [null, null, DevicePDP11.prototype.readR6SUPER, DevicePDP11.prototype.writeR6SUPER, "R6SUPER"], [PDP11.UNIBUS.R6SUPER]: /* 177716 */ [null, null, DevicePDP11.prototype.readR6SUPER, DevicePDP11.prototype.writeR6SUPER, "R6SUPER", PDP11.MODEL_1145],
[PDP11.UNIBUS.R6USER]: /* 177717 */ [null, null, DevicePDP11.prototype.readR6USER, DevicePDP11.prototype.writeR6USER, "R6USER"], [PDP11.UNIBUS.R6USER]: /* 177717 */ [null, null, DevicePDP11.prototype.readR6USER, DevicePDP11.prototype.writeR6USER, "R6USER", PDP11.MODEL_1145],
[PDP11.UNIBUS.LAERR]: /* 177740 */ [null, null, DevicePDP11.prototype.readCTRL, DevicePDP11.prototype.writeCTRL, "CTRL", PDP11.MODEL_1170], [PDP11.UNIBUS.LAERR]: /* 177740 */ [null, null, DevicePDP11.prototype.readCTRL, DevicePDP11.prototype.writeCTRL, "CTRL", PDP11.MODEL_1170],
[PDP11.UNIBUS.LSIZE]: /* 177760 */ [null, null, DevicePDP11.prototype.readSIZE, DevicePDP11.prototype.writeSIZE, "LSIZE", PDP11.MODEL_1170], [PDP11.UNIBUS.LSIZE]: /* 177760 */ [null, null, DevicePDP11.prototype.readSIZE, DevicePDP11.prototype.writeSIZE, "LSIZE", PDP11.MODEL_1170],
[PDP11.UNIBUS.HSIZE]: /* 177762 */ [null, null, DevicePDP11.prototype.readSIZE, DevicePDP11.prototype.writeSIZE, "HSIZE", PDP11.MODEL_1170], [PDP11.UNIBUS.HSIZE]: /* 177762 */ [null, null, DevicePDP11.prototype.readSIZE, DevicePDP11.prototype.writeSIZE, "HSIZE", PDP11.MODEL_1170],

View file

@ -691,10 +691,7 @@ if (DEBUGGER) {
s = str.toHex(n, nBytes * 2); s = str.toHex(n, nBytes * 2);
break; break;
} }
if (fStripLeadingZeros && s.charAt(0) == '0') { return (fStripLeadingZeros? str.stripLeadingZeros(s) : s);
s = s.replace(/^0+([0-9A-F]+)$/i, "$1");
}
return s;
}; };
} // endif DEBUGGER } // endif DEBUGGER

View file

@ -67,7 +67,9 @@ var DumpAPI = {
JSON_GZ: "gz", // gzip is currently used ONLY for compressed JSON JSON_GZ: "gz", // gzip is currently used ONLY for compressed JSON
DATA: "data", // same as "json", but built without JSON.stringify() (DiskDump only) DATA: "data", // same as "json", but built without JSON.stringify() (DiskDump only)
HEX: "hex", // deprecated HEX: "hex", // deprecated
OCTAL: "octal", // displays data as octal words
BYTES: "bytes", // displays data as hex bytes; normally used only when comments are enabled BYTES: "bytes", // displays data as hex bytes; normally used only when comments are enabled
WORDS: "words", // displays data as hex words; normally used only when comments are enabled
IMG: "img", // returns the raw disk data (ie, using a Buffer object) (DiskDump only) IMG: "img", // returns the raw disk data (ie, using a Buffer object) (DiskDump only)
ROM: "rom" // returns the raw file data (ie, using a Buffer object) (FileDump only) ROM: "rom" // returns the raw file data (ie, using a Buffer object) (FileDump only)
} }

View file

@ -240,6 +240,48 @@ str.toOct = function(n, cch, fPrefix)
return (fPrefix? "0o" : "") + s; return (fPrefix? "0o" : "") + s;
}; };
/**
* toDec(n, cch)
*
* Converts an integer to decimal, with the specified number of digits (default of 5; max of 10)
*
* You might be tempted to use the built-in n.toString(10) instead, but it doesn't zero-pad and it
* doesn't properly convert negative values. Moreover, if n is undefined, n.toString() will throw
* an exception, whereas this function will return '?' characters.
*
* @param {number|null|undefined} n is a 32-bit value
* @param {number} [cch] is the desired number of decimal digits (0 or undefined for default of either 5 or 10)
* @return {string} the octal representation of n
*/
str.toDec = function(n, cch)
{
var s = "";
if (cch) {
if (cch > 10) cch = 10;
} else {
cch = (n & ~0xffff)? 10 : 5;
}
/*
* An initial "falsey" check for null takes care of both null and undefined;
* we can't rely entirely on isNaN(), because isNaN(null) returns false, oddly enough.
*
* Alternatively, we could mask and shift n regardless of whether it's null/undefined/NaN,
* since JavaScript coerces such operands to zero, but I think there's "value" in seeing those
* values displayed differently.
*/
if (n == null || isNaN(n)) {
while (cch-- > 0) s = '?' + s;
} else {
while (cch-- > 0) {
var d = (n % 10) + 0x30;
s = String.fromCharCode(d) + s;
n /= 10;
}
}
return s;
};
/** /**
* toHex(n, cch, fPrefix) * toHex(n, cch, fPrefix)
* *
@ -477,6 +519,21 @@ str.pad = function(s, cch, fPadLeft)
return fPadLeft? (sPadding + s).slice(-cch) : (s + sPadding).slice(0, cch); return fPadLeft? (sPadding + s).slice(-cch) : (s + sPadding).slice(0, cch);
}; };
/**
* stripLeadingZeros(s, fPad)
*
* @param {string} s
* @param {boolean} [fPad]
* @return {string}
*/
str.stripLeadingZeros = function(s, fPad)
{
var cch = s.length;
s = s.replace(/^0+([0-9A-F]+)$/i, "$1");
if (fPad) s = str.pad(s, cch, true);
return s;
};
/** /**
* trim(s) * trim(s)
* *

View file

@ -27,223 +27,228 @@
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
*/ */
var h; for(var h,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,da=["Math","log2"],ea=0;ea<da.length-1;ea++){var fa=da[ea];fa in ca||(ca[fa]={});ca=ca[fa]}var ga=da[da.length-1],la=ca[ga],ma=la?la:function(a){return Math.log(a)/Math.LN2};
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&& ma!=la&&null!=ma&&aa(ca,ga,{configurable:!0,writable:!0,value:ma});
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ca(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function k(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d} function na(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
function da(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function fa(){var a=ka();return-1!==a.indexOf("pcjs.org",a.length-8)}var la={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ma(a){return a.replace(/[&<>"']/g,function(a){return la[a]})}function na(a,b){return(a+" ").slice(0,b)} d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function oa(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function k(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var pa={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",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 pa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function qa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ra(){var a=sa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ta={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ua(a){return a.replace(/[&<>"']/g,function(a){return ta[a]})}function wa(a,b){return(a+" ").slice(0,b)}
function qa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,l;l=c(b,a[g]);0<l?d=g+1:(e=g,f=!l)}return f?d:~d}var ra=Date.now||function(){return+new Date};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 xa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var ya={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",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 ua(a,b,c,d){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 l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"== function za(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,l;l=c(b,a[g]);0<l?d=g+1:(e=g,f=!l)}return f?d:~d}var Aa=Date.now||function(){return+new Date};function Ea(){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())}
typeof b){var m="",p;for(p in b)b.hasOwnProperty(p)&&(m&&(m+="&"),m+=p+"="+encodeURIComponent(b[p]));m=m.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(m)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")} function Fa(a,b,c,d){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 l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"==
function n(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;function xa(){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 Ba(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} typeof b){var m="",p;for(p in b)b.hasOwnProperty(p)&&(m&&(m+="&"),m+=p+"="+encodeURIComponent(b[p]));m=m.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(m)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),g=[f,e]);return g}function sa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function Ca(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Da(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ea(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function n(a){window&&window.alert(a)}function Ga(a){var b=!1;window&&(b=window.confirm(a));return b}var Ha=null;function Ia(){if(null==Ha){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}Ha=a}return Ha}function Ja(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Fa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Ga={init:[],show:[],exit:[]},Ha=!1,Ia=!1,Ja=!0;function Ka(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function La(a){Ga.init.push(a)} function Ka(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function La(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ma(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ma(a){if(Ja)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){n(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Na(a){!Ja&&a?(Ja=!0,Ha&&Oa("init"),Ia&&Oa("show")):Ja=a}function Oa(a){Ga[a]&&Ma(Ga[a])}Ka("onload",function(){Ha=!0;Ma(Ga.init)});Ka("onpageshow",function(){Ia=!0;Ma(Ga.show)});Ka(Da("Opera")||Da("iOS")?"onunload":"onbeforeunload",function(){Ma(Ga.exit)}); function Na(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Oa={init:[],show:[],exit:[]},Pa=!1,Qa=!1,Ra=!0;function Sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ta(a){Oa.init.push(a)}
function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ub=b.comment;this.pc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Eb=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,ib:!1,Fb:!1,ha:!1,error:!1};this.wb=null;this.v.error=!1;this.J={};this.j=null;this.ia=d||0;t.push(this)}var Va=void 0,Wa={}; function $a(a){if(Ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){n(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ab(a){!Ra&&a?(Ra=!0,Pa&&bb("init"),Qa&&bb("show")):Ra=a}function bb(a){Oa[a]&&$a(Oa[a])}Sa("onload",function(){Pa=!0;$a(Oa.init)});Sa("onpageshow",function(){Qa=!0;$a(Oa.show)});Sa(La("Opera")||La("iOS")?"onunload":"onbeforeunload",function(){$a(Oa.exit)});
if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Xa=Za.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function $a(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ub=b.comment;this.pc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Fb=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,ib:!1,Gb:!1,ha:!1,error:!1};this.xb=null;this.v.error=!1;this.J={};this.j=null;this.ia=d||0;t.push(this)}var cb=void 0,db={};
function y(a,b){b||(b=r);a.prototype=$a(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ab=window.PCjs.Machines||(window.PCjs.Machines={}),t=window.PCjs.Components||(window.PCjs.Components=[])}else ab={},t=[];function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<t.length;b++){var d=t[b];a&&d.id.indexOf(a)||c.push(d)}return c} if(window){cb||(cb=window.location.search.substr(1));for(var eb,fb=/\+/g,gb=/([^&=]+)=?([^&]*)/g;eb=gb.exec(cb);)db[decodeURIComponent(eb[1].replace(fb," "))]=decodeURIComponent(eb[2].replace(fb," "))}function hb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function db(a){if(void 0!==a){var b;for(b=0;b<t.length;b++)if(t[b].id===a)return t[b]}return null}function eb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<t.length;d++)if(c)c==t[d]&&(c=null);else if(!(a!=t[d].type||b&&t[d].id.indexOf(b)))return t[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){n(c.message+" ("+a+")")}return b} function u(a,b){b||(b=r);a.prototype=hb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var ib=window.PCjs.Machines||(window.PCjs.Machines={}),t=window.PCjs.Components||(window.PCjs.Components=[])}else ib={},t=[];function jb(a,b,c){ib[a]&&b&&(ib[a][b]=c)}function kb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<t.length;b++){var d=t[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function fb(a,b){b=A(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var l=g.split(" "),m=0;m<l.length;m++)switch(g=l[m],g){case "pdp11-binding":(g=z(f))&&g.binding&&a.ra(g.type,g.binding,f,g.value),m=l.length}}}} function lb(a){if(void 0!==a){var b;for(b=0;b<t.length;b++)if(t[b].id===a)return t[b]}return null}function mb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<t.length;d++)if(c)c==t[d]&&(c=null);else if(!(a!=t[d].type||b&&t[d].id.indexOf(b)))return t[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){n(c.message+" ("+a+")")}return b}
function nb(a,b){b=A(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var l=g.split(" "),m=0;m<l.length;m++)switch(g=l[m],g){case "pdp11-binding":(g=z(f))&&g.binding&&a.ra(g.type,g.binding,f,g.value),m=l.length}}}}
function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c} function A(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ra:function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.Qa=this.J[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c), r.prototype={constructor:r,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ra:function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.Qa=this.J[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.na=function(a){this.g(a,this.Ua)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ua+": "+a)},na:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},Aa:function(){return this.v.ha=!0},za:function(a,b){b&&(this.v.ha=!1);return!0}};function B(a,b,c,d){a.j&&(!0===c||E(a,c|0))&&a.j.message(b,d)}function E(a,b){if(a.j){a===a.j?b|=0:b=b||a.ia;var c=a.j.ia&b;return!!b&&c===b||!!(c&a.j.jc)}return!1} this.na=function(a){this.g(a,this.Ua)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.Ua+": "+a)},na:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},Aa:function(){return this.v.ha=!0},za:function(a,b){b&&(this.v.ha=!1);return!0}};function B(a,b,c,d){a.j&&(!0===c||E(a,c|0))&&a.j.message(b,d)}function E(a,b){if(a.j){a===a.j?b|=0:b=b||a.ia;var c=a.j.ia&b;return!!b&&c===b||!!(c&a.j.jc)}return!1}
function gb(a,b){if(a.v.Fb)return a.v.ib=!1,a.v.Fb=!1;if(a.v.error)return a.g(a.toString()+" error"),!1;a.v.ib=b;return a.v.ib}function hb(a,b){a.v.ib&&(b?a.v.Fb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.v.ib}function G(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.wb;a.wb=null;b&&b()}}function ib(a,b){b&&(a.v.ready?b():a.wb=b);return a.v.ready}function jb(a){return a.v.error?(a.g(a.toString()+" error"),!0):!1}function kb(a,b){a.v.error=!0;a.na(b)} function ob(a,b){if(a.v.Gb)return a.v.ib=!1,a.v.Gb=!1;if(a.v.error)return a.g(a.toString()+" error"),!1;a.v.ib=b;return a.v.ib}function pb(a,b){a.v.ib&&(b?a.v.Gb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.v.ib}function G(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.xb;a.xb=null;b&&b()}}function qb(a,b){b&&(a.v.ready?b():a.xb=b);return a.v.ready}function Eb(a){return a.v.error?(a.g(a.toString()+" error"),!0):!1}function Fb(a,b){a.v.error=!0;a.na(b)}
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1}); Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b}); Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var lb="undefined"!==typeof ArrayBuffer,H={cpu:1,trap:16,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function mb(a){r.call(this,"Panel",a,mb);this.f=0;this.v.Sb=!0}y(mb);h=mb.prototype; var Gb="undefined"!==typeof ArrayBuffer,H={cpu:1,trap:16,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function Hb(a){r.call(this,"Panel",a,Hb);this.f=0;this.v.Sb=!0}u(Hb);h=Hb.prototype;
h.ra=function(a,b,c,d){if(this.B&&this.B.ra(a,b,c,d)||this.b&&this.b.ra(a,b,c,d)||this.j&&this.j.ra(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.J[b]=c,this.f++,!0;default:return"rled"==a?(this.J[b]=c,this.f++,!0):this.parent.ra.call(this,a,b,c,d)}};h.Da=function(a,b,c,d){this.B=a;this.A=b;this.b=c;this.j=d};h.Aa=function(a,b){b||Ab();return!0};h.za=function(){return!0}; h.ra=function(a,b,c,d){if(this.B&&this.B.ra(a,b,c,d)||this.b&&this.b.ra(a,b,c,d)||this.j&&this.j.ra(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.J[b]=c,this.f++,!0;default:return"rled"==a?(this.J[b]=c,this.f++,!0):this.parent.ra.call(this,a,b,c,d)}};h.Da=function(a,b,c,d){this.B=a;this.A=b;this.b=c;this.j=d};h.Aa=function(a,b){b||Ib();return!0};h.za=function(){return!0};
function Bb(a,b,c,d){if(a.J[b]){void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.b.fa());var e=a.j&&a.j.ja||8;c=!a.b.v.ea||a.v.Sb?8==e?ca(c,d):k(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}function Cb(a,b,c,d){for(var e=0;e<d;e++){var f=a.J[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}} function Jb(a,b,c,d){if(a.J[b]){void 0===c&&(Fb(a,"Value for "+b+" is invalid"),a.b.ea());var e=a.j&&a.j.ja||8;c=!a.b.v.da||a.v.Sb?8==e?oa(c,d):k(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}function Kb(a,b,c,d){for(var e=0;e<d;e++){var f=a.J[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
h.ba=function(a){if(this.f&&(a||!this.b.v.ea||this.v.Sb)){for(a=0;a<this.b.u.length;a++)Bb(this,"R"+a,this.b.u[a]);a=Db(this.b);Bb(this,"PS",a);Bb(this,"NF",a&8?1:0,1);Bb(this,"ZF",a&4?1:0,1);Bb(this,"VF",a&2?1:0,1);Bb(this,"CF",a&1?1:0,1);Cb(this,"D",this.b.u[0],16);Cb(this,"A",this.b.u[7],22)}};function Ab(){for(var a=!1,b=A(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=db(e.id);f||(a=!0,f=new mb(e));fb(f,d);a&&G(f)}}La(Ab); h.aa=function(a){if(this.f&&(a||!this.b.v.da||this.v.Sb)){for(a=0;a<this.b.u.length;a++)Jb(this,"R"+a,this.b.u[a]);a=Lb(this.b);Jb(this,"PS",a);Jb(this,"NF",a&8?1:0,1);Jb(this,"ZF",a&4?1:0,1);Jb(this,"VF",a&2?1:0,1);Jb(this,"CF",a&1?1:0,1);Kb(this,"D",this.b.u[0],16);Kb(this,"A",this.b.u[7],22)}};function Ib(){for(var a=!1,b=A(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=lb(e.id);f||(a=!0,f=new Hb(e));nb(f,d);a&&G(f)}}Ta(Ib);
function Eb(a,b,c){r.call(this,"Bus",a,Eb,64);this.b=b;this.j=c;this.H=a.busWidth||16;this.i=0;this.M=[];this.G=null;this.I=Math.pow(2,this.H);this.f=this.I-1|0;this.Z=(this.H>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.wa=1<<this.Z;this.K=this.wa>>2;this.A=this.wa-1;this.D=this.I/this.wa|0;this.Ga=[];this.C=0;this.B=[];this.ic=[Fb,Gb,Hb,Ib];a=new I(this);Jb(a,this.j);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;G(this)}y(Eb); function Mb(a,b,c){r.call(this,"Bus",a,Mb,64);this.b=b;this.j=c;this.M=a.busWidth||16;this.i=0;this.K=[];this.G=null;this.H=Math.pow(2,this.M);this.f=this.H-1|0;this.sa=Nb;this.ga=Math.log2(this.sa);this.I=this.sa>>2;this.A=this.sa-1;this.D=this.H/this.sa|0;this.Ga=[];this.C=0;this.B=[];this.ic=[Ob,Pb,Qb,Rb];a=new I(this);Sb(a,this.j);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;G(this)}u(Mb);var Nb=8192,Tb=Nb-1;
function Fb(a,b){var c=-1,d=this.controller,e=d.Ga[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.j&&E(this.j,64)&&B(this.j,e[4]+".readByte("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=Kb(d,b|4186112,-1,1);this.j&&E(this.j,64)&&B(this.j,"warning: unconverted read access to byte @"+J(this.j,b)+": "+J(this.j,c),!0,!0);return c} function Ob(a,b){var c=-1,d=this.controller,e=d.Ga[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Ga[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.j&&E(this.j,64)&&B(this.j,e[4]+".readByte("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=Ub(d,b,-1,!0);this.j&&E(this.j,64)&&B(this.j,"warning: unconverted read access to byte @"+J(this.j,b)+": "+J(this.j,c),!0,!0);return c}
function Gb(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.j&&E(this.j,64)&&B(this.j,f[4]+".writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(Kb(e,c|4186112,b,1),this.j&&E(this.j,64)&&B(this.j,"warning: unconverted write access to byte @"+J(this.j,c)+": "+J(this.j,b),!0,!0))} function Pb(a,b,c){var d=!1,e=this.controller,f=e.Ga[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ga[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.j&&E(this.j,64)&&B(this.j,f[4]+".writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(Ub(e,c,b,!0),this.j&&E(this.j,64)&&B(this.j,"warning: unconverted write access to byte @"+J(this.j,c)+": "+J(this.j,b),!0,!0))}
function Hb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.j&&E(this.j,64)&&B(this.j,a[4]+".readWord("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=Kb(d,b|4186112,-1,0);this.j&&E(this.j,64)&&B(this.j,"warning: unconverted read access to word @"+J(this.j,b)+": "+J(this.j,c),!0,!0);return c} function Qb(a,b){var c=-1,d=this.controller;(a=d.Ga[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.j&&E(this.j,64)&&B(this.j,a[4]+".readWord("+J(this.j,b)+"): "+J(this.j,c),!0,!0),c;c=Ub(d,b,-1);this.j&&E(this.j,64)&&B(this.j,"warning: unconverted read access to word @"+J(this.j,b)+": "+J(this.j,c),!0,!0);return c}
function Ib(a,b,c){var d=!1,e=this.controller;if(a=e.Ga[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.j&&E(this.j,64)&&B(this.j,a[4]+".writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(Kb(e,c|4186112,b,0),this.j&&E(this.j,64)&&B(this.j,"warning: unconverted write access to word @"+J(this.j,c)+": "+J(this.j,b),!0,!0))} function Rb(a,b,c){var d=!1,e=this.controller;if(a=e.Ga[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.j&&E(this.j,64)&&B(this.j,a[4]+".writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0,!0):(Ub(e,c,b),this.j&&E(this.j,64)&&B(this.j,"warning: unconverted write access to word @"+J(this.j,c)+": "+J(this.j,b),!0,!0))}
function Lb(a,b){if(b!=a.i){var c;a.i&&(c=(1<<a.i)-8192,Mb(a,c,8192,a.M),a.i=0);b&&(a.i=b,c=(1<<b)-8192,a.M=Nb(a,c,8192),a.G?Mb(a,c,8192,a.G):(Ob(a,c,8192,Pb,a),a.G=Nb(a,c,8192)))}}h=Eb.prototype;h.reset=function(){for(var a=0;a<this.B.length;a++)this.B[a]();Lb(this,16)};function Kb(a,b,c,d){a.j&&E(a.j,536870912)&&(B(a.j,"warning: unknown I/O access ("+J(a.j,b,3)+","+J(a.j,c)+","+d+")",!0,!0),K(a.b,a.b.pb),a.b.fa());a.C||a.b.aa(4,b);return 0}h.Aa=function(a,b){b||this.reset();return!0}; function Vb(a,b){if(b!=a.i){var c;a.i&&(c=(1<<a.i)-Nb,Wb(a,c,Nb,a.K),a.i=0);b&&(a.i=b,c=(1<<b)-Nb,a.K=Xb(a,c,Nb),a.G?Wb(a,c,Nb,a.G):(Yb(a,c,Nb,Zb,a),a.G=Xb(a,c,Nb)))}}h=Mb.prototype;h.reset=function(){for(var a=0;a<this.B.length;a++)this.B[a]();Vb(this,16)};function Ub(a,b,c,d){a.j&&E(a.j,536870912)&&(B(a.j,"warning: unknown I/O access ("+J(a.j,b,3)+","+J(a.j,c)+","+d+")",!0,!0),K(a.b,a.b.qb),a.b.ea());a.C||a.b.$(4,b);return 0}h.Aa=function(a,b){b||this.reset();return!0};
function Ob(a,b,c,d,e){for(var f=b,g=c,l=f>>>a.Z;0<g&&l<a.W.length;){var m=a.W[l],p=l*a.wa,q=a.wa-(f-p);q>g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.w)return m.sb+=m.w-f,m.w=f,!0;if(f>=m.w+m.sb){q=m.size-(f-p);q>g&&(q=g);m.sb=f-m.w+q;f=p+a.wa;g-=q;l++;continue}}return Qb(1,f,g)}f=new I(a,f,q,a.wa,d,e);Jb(f,a.j,m);a.W[l++]=f;f=p+a.wa;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Rb[d]+" at "+k(b,8,!0)),!0):Qb(2,b,c)} function Yb(a,b,c,d,e){for(var f=b,g=c,l=f>>>a.ga;0<g&&l<a.W.length;){var m=a.W[l],p=l*a.sa,q=a.sa-(f-p);q>g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.w)return m.tb+=m.w-f,m.w=f,!0;if(f>=m.w+m.tb){q=m.size-(f-p);q>g&&(q=g);m.tb=f-m.w+q;f=p+a.sa;g-=q;l++;continue}}return $b(1,f,g)}f=new I(a,f,q,a.sa,d,e);Sb(f,a.j,m);a.W[l++]=f;f=p+a.sa;g-=q}if(0>=g){c/=1024;var v;e="";v?10<v&&(v=10):v=c&-65536?10:5;if(null==c||isNaN(c))for(;0<v--;)e="?"+e;else for(;0<v--;)e=String.fromCharCode(c%10+48)+e,c/=
function Nb(a,b,c){var d=[];for(b>>>=a.Z;0<c&&b<a.W.length;)d.push(a.W[b++]),c-=a.wa;return d}function Mb(a,b,c,d){var e=0;for(b>>>=a.Z;0<c&&b<a.W.length;){var f=d[e++];if(!f)break;a.W[b++]=f;c-=a.wa}}h.kb=function(a){return this.W[(a&this.f)>>>this.Z].Ab(a&this.A,a)};h.yb=function(a){this.C++;a=this.W[(a&this.f)>>>this.Z].Ib(a&this.A,a);this.C--;return a};h.ka=function(a){return this.W[(a&this.f)>>>this.Z].qa(a&this.A,a)}; 10;a.status(e+"Kb "+ac[d]+" at "+oa(b));return!0}return $b(2,b,c)}function Xb(a,b,c){var d=[];for(b>>>=a.ga;0<c&&b<a.W.length;)d.push(a.W[b++]),c-=a.sa;return d}function Wb(a,b,c,d){var e=0;for(b>>>=a.ga;0<c&&b<a.W.length;){var f=d[e++];if(!f)break;a.W[b++]=f;c-=a.sa}}h.kb=function(a){return this.W[(a&this.f)>>>this.ga].Bb(a&this.A,a)};h.zb=function(a){this.C++;a=this.W[(a&this.f)>>>this.ga].Ib(a&this.A,a);this.C--;return a};h.ka=function(a){return this.W[(a&this.f)>>>this.ga].qa(a&this.A,a)};
h.lb=function(a){var b=a&this.A,c=(a&this.f)>>>this.Z;this.C++;a=this.W[c].Jb(b,a);this.C--;return a};h.Bb=function(a,b){this.W[(a&this.f)>>>this.Z].Db(a&this.A,b&255,a)};h.qb=function(a,b){this.C++;this.W[(a&this.f)>>>this.Z].Ob(a&this.A,b&255,a);this.C--};h.Sa=function(a,b){this.W[(a&this.f)>>>this.Z].tb(a&this.A,b&65535,a)};h.Cb=function(a,b){var c=a&this.A,d=(a&this.f)>>>this.Z;this.C++;this.W[d].Pb(c,b&65535,a);this.C--}; h.lb=function(a){var b=a&this.A,c=(a&this.f)>>>this.ga;this.C++;a=this.W[c].Jb(b,a);this.C--;return a};h.Cb=function(a,b){this.W[(a&this.f)>>>this.ga].Eb(a&this.A,b&255,a)};h.rb=function(a,b){this.C++;this.W[(a&this.f)>>>this.ga].Ob(a&this.A,b&255,a);this.C--};h.Sa=function(a,b){this.W[(a&this.f)>>>this.ga].ub(a&this.A,b&65535,a)};h.Db=function(a,b){var c=a&this.A,d=(a&this.f)>>>this.ga;this.C++;this.W[d].Pb(c,b&65535,a);this.C--};
function Sb(a){for(var b=0,c=[],d=0;d<a.D;d++){var e=a.W[d];if(e.Ha||e.lc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,l=0,m=[];g<e.length;){for(var p=e[g],q=g+1;q<e.length&&e[q]===p;)q++;m[l++]=q-g;m[l++]=p;g=q}m.length<e.length&&(e=m)}c[f]=e}}return c}function Tb(a,b,c,d,e,f,g,l){for(;b<=c;b+=2){var m=b&8191;void 0!==a.Ga[m]?n("I/O address already registered: "+k(b,8,!0)):a.Ga[m]=[d,e,f,g,l||"unknown",!1]}} function jc(a){for(var b=0,c=[],d=0;d<a.D;d++){var e=a.W[d];if(e.Ha||e.lc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,l=0,m=[];g<e.length;){for(var p=e[g],q=g+1;q<e.length&&e[q]===p;)q++;m[l++]=q-g;m[l++]=p;g=q}m.length<e.length&&(e=m)}c[f]=e}}return c}function kc(a,b,c,d,e,f,g,l){for(;b<=c;b+=2){var m=b&Tb;void 0!==a.Ga[m]?n("I/O address already registered: "+k(b,8,!0)):a.Ga[m]=[d,e,f,g,l||"unknown",!1]}}
function Ub(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.b.Hb)){var g=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,p=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&m&&(g=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)));Tb(a,e,e,g,l,m,p,f[4])}}}function Vb(a,b){a.B.push(b)} function lc(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.b.mb)){var g=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,p=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!g&&m&&(g=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)));kc(a,e,e,g,l,m,p,f[4])}}}function mc(a,b){a.B.push(b)}
function Wb(a,b){a.C||(a.j&&E(a.j,536870912)&&B(a.j,"memory fault on address "+J(a.j,b),!0,!0),a.b.aa(4,b))}function Qb(a,b,c){n("Memory block error ("+a+": "+k(b)+","+k(c)+")");return!1}function L(a){r.call(this,"Device",a,L,256);this.i={data:0,Ld:0,zb:20,bd:0};this.f={Md:0,Nb:-1}}y(L);h=L.prototype; function nc(a,b){a.C||(a.j&&E(a.j,536870912)&&B(a.j,"memory fault on address "+J(a.j,b),!0,!0),a.b.$(4,b))}function $b(a,b,c){n("Memory block error ("+a+": "+k(b)+","+k(c)+")");return!1}function L(a){r.call(this,"Device",a,L,256);this.i={data:0,Ld:0,Ab:20,bd:0};this.f={Md:0,Nb:-1}}u(L);h=L.prototype;
h.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;var e=this;this.f.Nb=Xb(c,function(){e.f.Ia|=128;e.f.Ia&64&&(fc(e.b,e.f.cd),gc(e.b,e.f.Nb,1E3/60))});this.f.cd=hc(64,6);Ub(b,this,M);Vb(b,this.reset.bind(this));G(this)};h.Ac=function(){var a=this.f.Ia;this.f.Ia&=-129;return a};h.md=function(a){this.f.Ia=a;a&64&&gc(this.b,this.f.Nb,1E3/60);this.f.Ia=a&-129};h.tc=function(a){return(a?this.i.bd:this.i.data)&65535};h.ed=function(a){this.i.data=a}; h.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;var e=this;this.f.Nb=oc(c,function(){e.f.Ia|=128;e.f.Ia&64&&(pc(e.b,e.f.cd),qc(e.b,e.f.Nb,1E3/60))});this.f.cd=rc(64,6);lc(b,this,M);mc(b,this.reset.bind(this));G(this)};h.Ac=function(){var a=this.f.Ia;this.f.Ia&=-129;return a};h.md=function(a){this.f.Ia=a;a&64&&qc(this.b,this.f.Nb,1E3/60);this.f.Ia=a&-129};h.tc=function(a){return(a?this.i.bd:this.i.data)&65535};h.ed=function(a){this.i.data=a};
h.Cc=function(){var a=this.b;return a.G&62337|a.ta<<5|a.ua<<1};h.od=function(a){var b=this.b;a&=62337;if(b.G!=a){b.G=a;b.ta=a>>5&3;b.ua=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ja!=c&&(b.Ja=c,ic(b))}jc(this)};h.Dc=function(){var a=this.b.La;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ec=function(){return this.b.pb};h.Fc=function(){return this.b.Ma};h.pd=function(a){var b=this.b;1170>b.Hb&&(a&=-49);b.Ma!=a&&(b.Ma=a,a&16?(b.Wa=4194303,b.va=3915776):(b.Wa=262143,b.va=253952),ic(b));jc(this)}; h.Cc=function(){var a=this.b;return a.G&62337|a.ua<<5|a.va<<1};h.od=function(a){var b=this.b;a&=62337;if(b.G!=a){b.G=a;b.ua=a>>5&3;b.va=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ja!=c&&(b.Ja=c,sc(b))}tc(this)};h.Dc=function(){var a=this.b.La;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Ec=function(){return this.b.qb};h.Fc=function(){return this.b.Ma};h.pd=function(a){var b=this.b;1170>b.mb&&(a&=-49);b.Ma!=a&&(b.Ma=a,a&16?(b.Wa=4194303,b.wa=3915776):(b.Wa=262143,b.wa=253952),sc(b));tc(this)};
function jc(a){a.i.zb=a.i.zb&-8|(a.b.Ja?a.b.Ma&16?1:2:4)}h.Rc=function(a){return this.b.P[1][a>>1&7]};h.Bd=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Pc=function(a){return this.b.P[1][(a>>1&7)+8]};h.zd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Qc=function(a){return this.b.pa[1][a>>1&7]};h.Ad=function(a,b){b=b>>1&7;this.b.pa[1][b]=a;this.b.P[1][b]&=65295};h.Oc=function(a){return this.b.pa[1][(a>>1&7)+8]};h.yd=function(a,b){b=(b>>1&7)+8;this.b.pa[1][b]=a;this.b.P[1][b]&=65295}; function tc(a){a.i.Ab=a.i.Ab&-8|(a.b.Ja?a.b.Ma&16?1:2:4)}h.Rc=function(a){return this.b.P[1][a>>1&7]};h.Bd=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Pc=function(a){return this.b.P[1][(a>>1&7)+8]};h.zd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Qc=function(a){return this.b.pa[1][a>>1&7]};h.Ad=function(a,b){b=b>>1&7;this.b.pa[1][b]=a;this.b.P[1][b]&=65295};h.Oc=function(a){return this.b.pa[1][(a>>1&7)+8]};h.yd=function(a,b){b=(b>>1&7)+8;this.b.pa[1][b]=a;this.b.P[1][b]&=65295};
h.zc=function(a){return this.b.P[0][a>>1&7]};h.ld=function(a,b){this.b.P[0][b>>1&7]=a&65295};h.xc=function(a){return this.b.P[0][(a>>1&7)+8]};h.jd=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.yc=function(a){return this.b.pa[0][a>>1&7]};h.kd=function(a,b){b=b>>1&7;this.b.pa[0][b]=a;this.b.P[0][b]&=65295};h.wc=function(a){return this.b.pa[0][(a>>1&7)+8]};h.hd=function(a,b){b=(b>>1&7)+8;this.b.pa[0][b]=a;this.b.P[0][b]&=65295};h.Xc=function(a){return this.b.P[3][a>>1&7]}; h.zc=function(a){return this.b.P[0][a>>1&7]};h.ld=function(a,b){this.b.P[0][b>>1&7]=a&65295};h.xc=function(a){return this.b.P[0][(a>>1&7)+8]};h.jd=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.yc=function(a){return this.b.pa[0][a>>1&7]};h.kd=function(a,b){b=b>>1&7;this.b.pa[0][b]=a;this.b.P[0][b]&=65295};h.wc=function(a){return this.b.pa[0][(a>>1&7)+8]};h.hd=function(a,b){b=(b>>1&7)+8;this.b.pa[0][b]=a;this.b.P[0][b]&=65295};h.Xc=function(a){return this.b.P[3][a>>1&7]};
h.Hd=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.Vc=function(a){return this.b.P[3][(a>>1&7)+8]};h.Fd=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.Wc=function(a){return this.b.pa[3][a>>1&7]};h.Gd=function(a,b){b=b>>1&7;this.b.pa[3][b]=a;this.b.P[3][b]&=65295};h.Uc=function(a){return this.b.pa[3][(a>>1&7)+8]};h.Ed=function(a,b){b=(b>>1&7)+8;this.b.pa[3][b]=a;this.b.P[3][b]&=65295};h.ab=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]}; h.Hd=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.Vc=function(a){return this.b.P[3][(a>>1&7)+8]};h.Fd=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.Wc=function(a){return this.b.pa[3][a>>1&7]};h.Gd=function(a,b){b=b>>1&7;this.b.pa[3][b]=a;this.b.P[3][b]&=65295};h.Uc=function(a){return this.b.pa[3][(a>>1&7)+8]};h.Ed=function(a,b){b=(b>>1&7)+8;this.b.pa[3][b]=a;this.b.P[3][b]&=65295};h.ab=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]};
h.fb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Ic=function(){return this.b.L&49152?this.b.sa[0]:this.b.u[6]};h.sd=function(a){this.b.L&49152?this.b.sa[0]=a:this.b.u[6]=a};h.Lc=function(){return this.b.u[7]};h.vd=function(a){this.b.u[7]=a};h.bb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};h.gb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Jc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.sa[1]}; h.fb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Ic=function(){return this.b.L&49152?this.b.ta[0]:this.b.u[6]};h.sd=function(a){this.b.L&49152?this.b.ta[0]=a:this.b.u[6]=a};h.Lc=function(){return this.b.u[7]};h.vd=function(a){this.b.u[7]=a};h.bb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};h.gb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Jc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[1]};
h.td=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.sa[1]=a};h.Kc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.sa[3]};h.ud=function(a){3==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.sa[3]=a};h.vc=function(a){return this.b.cc[a-65504>>1]};h.gd=function(a,b){this.b.cc[b-65504>>1]=a};h.$b=function(a){return 65520==a?61183:0};h.fc=function(){};h.Tc=function(){return 1};h.Dd=function(){};h.uc=function(){return this.b.$};h.fd=function(){this.b.$=0};h.Bc=function(){return this.b.bc}; h.td=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[1]=a};h.Kc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[3]};h.ud=function(a){3==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[3]=a};h.vc=function(a){return this.b.cc[a-65504>>1]};h.gd=function(a,b){this.b.cc[b-65504>>1]=a};h.$b=function(a){return 65520==a?61183:0};h.fc=function(){};h.Tc=function(){return 1};h.Dd=function(){};h.uc=function(){return this.b.Z};h.fd=function(){this.b.Z=0};h.Bc=function(){return this.b.bc};
h.nd=function(a,b){b&1||(a&=255);this.b.bc=a};h.Gc=function(a){return a?this.b.Lb:0};h.qd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Lb=a;b.F|=2};h.Sc=function(a){return a?this.b.Na&65280:0};h.Cd=function(a){this.b.Na=a|255};h.Hc=function(){return Db(this.b)};h.rd=function(a){kc(this.b,a&-1809|Db(this.b)&1808);this.b.F|=128};h.ec=function(a,b){E(this)&&B(this,"writeIgnored("+ca(b)+"): "+ca(a),!0,!0)};h.reset=function(){this.i.zb=this.i.zb&-120|20;this.f.Ia=0}; h.nd=function(a,b){b&1||(a&=255);this.b.bc=a};h.Gc=function(a){return a?this.b.Lb:0};h.qd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Lb=a;b.F|=2};h.Sc=function(a){return a?this.b.Na&65280:0};h.Cd=function(a){this.b.Na=a|255};h.Hc=function(){return Lb(this.b)};h.rd=function(a){uc(this.b,a&-1809|Lb(this.b)&1808);this.b.F|=128};h.ec=function(a,b){E(this)&&B(this,"writeIgnored("+oa(b)+"): "+oa(a),!0,!0)};h.reset=function(){this.i.Ab=this.i.Ab&-120|20;this.f.Ia=0};
var N={},M=(N[62592]=[null,null,L.prototype.Rc,L.prototype.Bd,"SISDR"],N[62608]=[null,null,L.prototype.Pc,L.prototype.zd,"SDSDR"],N[62624]=[null,null,L.prototype.Qc,L.prototype.Ad,"SISAR"],N[62640]=[null,null,L.prototype.Oc,L.prototype.yd,"SDSAR"],N[62656]=[null,null,L.prototype.zc,L.prototype.ld,"KISDR"],N[62672]=[null,null,L.prototype.xc,L.prototype.jd,"KDSDR"],N[62688]=[null,null,L.prototype.yc,L.prototype.kd,"KISAR"],N[62704]=[null,null,L.prototype.wc,L.prototype.hd,"KDSAR"],N[62798]=[null,null, var N={},M=(N[62592]=[null,null,L.prototype.Rc,L.prototype.Bd,"SISDR",1145],N[62608]=[null,null,L.prototype.Pc,L.prototype.zd,"SDSDR",1145],N[62624]=[null,null,L.prototype.Qc,L.prototype.Ad,"SISAR",1145],N[62640]=[null,null,L.prototype.Oc,L.prototype.yd,"SDSAR",1145],N[62656]=[null,null,L.prototype.zc,L.prototype.ld,"KISDR",1145],N[62672]=[null,null,L.prototype.xc,L.prototype.jd,"KDSDR",1145],N[62688]=[null,null,L.prototype.yc,L.prototype.kd,"KISAR",1145],N[62704]=[null,null,L.prototype.wc,L.prototype.hd,
L.prototype.Fc,L.prototype.pd,"MMR3"],N[65382]=[null,null,L.prototype.Ac,L.prototype.md,"LKS"],N[65400]=[null,null,L.prototype.tc,L.prototype.ed,"CNSL"],N[65402]=[null,null,L.prototype.Cc,L.prototype.od,"MMR0"],N[65404]=[null,null,L.prototype.Dc,L.prototype.ec,"MMR1"],N[65406]=[null,null,L.prototype.Ec,L.prototype.ec,"MMR2"],N[65408]=[null,null,L.prototype.Xc,L.prototype.Hd,"UISDR"],N[65424]=[null,null,L.prototype.Vc,L.prototype.Fd,"UDSDR"],N[65440]=[null,null,L.prototype.Wc,L.prototype.Gd,"UISAR"], "KDSAR",1145],N[62798]=[null,null,L.prototype.Fc,L.prototype.pd,"MMR3",1145],N[65382]=[null,null,L.prototype.Ac,L.prototype.md,"LKS"],N[65400]=[null,null,L.prototype.tc,L.prototype.ed,"CNSL"],N[65402]=[null,null,L.prototype.Cc,L.prototype.od,"MMR0",1145],N[65404]=[null,null,L.prototype.Dc,L.prototype.ec,"MMR1",1145],N[65406]=[null,null,L.prototype.Ec,L.prototype.ec,"MMR2",1145],N[65408]=[null,null,L.prototype.Xc,L.prototype.Hd,"UISDR",1145],N[65424]=[null,null,L.prototype.Vc,L.prototype.Fd,"UDSDR",
N[65456]=[null,null,L.prototype.Uc,L.prototype.Ed,"UDSAR"],N[65472]=[null,null,L.prototype.ab,L.prototype.fb,"R0SET0"],N[65473]=[null,null,L.prototype.ab,L.prototype.fb,"R1SET0"],N[65474]=[null,null,L.prototype.ab,L.prototype.fb,"R2SET0"],N[65475]=[null,null,L.prototype.ab,L.prototype.fb,"R3SET0"],N[65476]=[null,null,L.prototype.ab,L.prototype.fb,"R4SET0"],N[65477]=[null,null,L.prototype.ab,L.prototype.fb,"R5SET0"],N[65478]=[null,null,L.prototype.Ic,L.prototype.sd,"R6KERNEL"],N[65479]=[null,null, 1145],N[65440]=[null,null,L.prototype.Wc,L.prototype.Gd,"UISAR",1145],N[65456]=[null,null,L.prototype.Uc,L.prototype.Ed,"UDSAR",1145],N[65472]=[null,null,L.prototype.ab,L.prototype.fb,"R0SET0"],N[65473]=[null,null,L.prototype.ab,L.prototype.fb,"R1SET0"],N[65474]=[null,null,L.prototype.ab,L.prototype.fb,"R2SET0"],N[65475]=[null,null,L.prototype.ab,L.prototype.fb,"R3SET0"],N[65476]=[null,null,L.prototype.ab,L.prototype.fb,"R4SET0"],N[65477]=[null,null,L.prototype.ab,L.prototype.fb,"R5SET0"],N[65478]=
L.prototype.Lc,L.prototype.vd,"R7KERNEL"],N[65480]=[null,null,L.prototype.bb,L.prototype.gb,"R0SET1"],N[65481]=[null,null,L.prototype.bb,L.prototype.gb,"R1SET1"],N[65482]=[null,null,L.prototype.bb,L.prototype.gb,"R2SET1"],N[65483]=[null,null,L.prototype.bb,L.prototype.gb,"R3SET1"],N[65484]=[null,null,L.prototype.bb,L.prototype.gb,"R4SET1"],N[65485]=[null,null,L.prototype.bb,L.prototype.gb,"R5SET1"],N[65486]=[null,null,L.prototype.Jc,L.prototype.td,"R6SUPER"],N[65487]=[null,null,L.prototype.Kc,L.prototype.ud, [null,null,L.prototype.Ic,L.prototype.sd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Lc,L.prototype.vd,"R7KERNEL"],N[65480]=[null,null,L.prototype.bb,L.prototype.gb,"R0SET1",1145],N[65481]=[null,null,L.prototype.bb,L.prototype.gb,"R1SET1",1145],N[65482]=[null,null,L.prototype.bb,L.prototype.gb,"R2SET1",1145],N[65483]=[null,null,L.prototype.bb,L.prototype.gb,"R3SET1",1145],N[65484]=[null,null,L.prototype.bb,L.prototype.gb,"R4SET1",1145],N[65485]=[null,null,L.prototype.bb,L.prototype.gb,"R5SET1",1145],
"R6USER"],N[65504]=[null,null,L.prototype.vc,L.prototype.gd,"CTRL",1170],N[65520]=[null,null,L.prototype.$b,L.prototype.fc,"LSIZE",1170],N[65522]=[null,null,L.prototype.$b,L.prototype.fc,"HSIZE",1170],N[65524]=[null,null,L.prototype.Tc,L.prototype.Dd,"SYSID",1170],N[65526]=[null,null,L.prototype.uc,L.prototype.fd,"CPUERR",1170],N[65528]=[null,null,L.prototype.Bc,L.prototype.nd,"MB",1170],N[65530]=[null,null,L.prototype.Gc,L.prototype.qd,"PIR"],N[65532]=[null,null,L.prototype.Sc,L.prototype.Cd,"SL"], N[65486]=[null,null,L.prototype.Jc,L.prototype.td,"R6SUPER",1145],N[65487]=[null,null,L.prototype.Kc,L.prototype.ud,"R6USER",1145],N[65504]=[null,null,L.prototype.vc,L.prototype.gd,"CTRL",1170],N[65520]=[null,null,L.prototype.$b,L.prototype.fc,"LSIZE",1170],N[65522]=[null,null,L.prototype.$b,L.prototype.fc,"HSIZE",1170],N[65524]=[null,null,L.prototype.Tc,L.prototype.Dd,"SYSID",1170],N[65526]=[null,null,L.prototype.uc,L.prototype.fd,"CPUERR",1170],N[65528]=[null,null,L.prototype.Bc,L.prototype.nd,
N[65534]=[null,null,L.prototype.Hc,L.prototype.rd,"PSW"],N);M[62594]=M[62592];M[62596]=M[62592];M[62598]=M[62592];M[62600]=M[62592];M[62602]=M[62592];M[62604]=M[62592];M[62606]=M[62592];M[62610]=M[62608];M[62612]=M[62608];M[62614]=M[62608];M[62616]=M[62608];M[62618]=M[62608];M[62620]=M[62608];M[62622]=M[62608];M[62626]=M[62624];M[62628]=M[62624];M[62630]=M[62624];M[62632]=M[62624];M[62634]=M[62624];M[62636]=M[62624];M[62638]=M[62624];M[62642]=M[62640];M[62644]=M[62640];M[62646]=M[62640]; "MB",1170],N[65530]=[null,null,L.prototype.Gc,L.prototype.qd,"PIR"],N[65532]=[null,null,L.prototype.Sc,L.prototype.Cd,"SL"],N[65534]=[null,null,L.prototype.Hc,L.prototype.rd,"PSW"],N);M[62594]=M[62592];M[62596]=M[62592];M[62598]=M[62592];M[62600]=M[62592];M[62602]=M[62592];M[62604]=M[62592];M[62606]=M[62592];M[62610]=M[62608];M[62612]=M[62608];M[62614]=M[62608];M[62616]=M[62608];M[62618]=M[62608];M[62620]=M[62608];M[62622]=M[62608];M[62626]=M[62624];M[62628]=M[62624];M[62630]=M[62624];M[62632]=M[62624];
M[62648]=M[62640];M[62650]=M[62640];M[62652]=M[62640];M[62654]=M[62640];M[62658]=M[62656];M[62660]=M[62656];M[62662]=M[62656];M[62664]=M[62656];M[62666]=M[62656];M[62668]=M[62656];M[62670]=M[62656];M[62674]=M[62672];M[62676]=M[62672];M[62678]=M[62672];M[62680]=M[62672];M[62682]=M[62672];M[62684]=M[62672];M[62686]=M[62672];M[62690]=M[62688];M[62692]=M[62688];M[62694]=M[62688];M[62696]=M[62688];M[62698]=M[62688];M[62700]=M[62688];M[62702]=M[62688];M[62706]=M[62704];M[62708]=M[62704];M[62710]=M[62704]; M[62634]=M[62624];M[62636]=M[62624];M[62638]=M[62624];M[62642]=M[62640];M[62644]=M[62640];M[62646]=M[62640];M[62648]=M[62640];M[62650]=M[62640];M[62652]=M[62640];M[62654]=M[62640];M[62658]=M[62656];M[62660]=M[62656];M[62662]=M[62656];M[62664]=M[62656];M[62666]=M[62656];M[62668]=M[62656];M[62670]=M[62656];M[62674]=M[62672];M[62676]=M[62672];M[62678]=M[62672];M[62680]=M[62672];M[62682]=M[62672];M[62684]=M[62672];M[62686]=M[62672];M[62690]=M[62688];M[62692]=M[62688];M[62694]=M[62688];M[62696]=M[62688];
M[62712]=M[62704];M[62714]=M[62704];M[62716]=M[62704];M[62718]=M[62704];M[65410]=M[65408];M[65412]=M[65408];M[65414]=M[65408];M[65416]=M[65408];M[65418]=M[65408];M[65420]=M[65408];M[65422]=M[65408];M[65426]=M[65424];M[65428]=M[65424];M[65430]=M[65424];M[65432]=M[65424];M[65434]=M[65424];M[65436]=M[65424];M[65438]=M[65424];M[65442]=M[65440];M[65444]=M[65440];M[65446]=M[65440];M[65448]=M[65440];M[65450]=M[65440];M[65452]=M[65440];M[65454]=M[65440];M[65458]=M[65456];M[65460]=M[65456];M[65462]=M[65456]; M[62698]=M[62688];M[62700]=M[62688];M[62702]=M[62688];M[62706]=M[62704];M[62708]=M[62704];M[62710]=M[62704];M[62712]=M[62704];M[62714]=M[62704];M[62716]=M[62704];M[62718]=M[62704];M[65410]=M[65408];M[65412]=M[65408];M[65414]=M[65408];M[65416]=M[65408];M[65418]=M[65408];M[65420]=M[65408];M[65422]=M[65408];M[65426]=M[65424];M[65428]=M[65424];M[65430]=M[65424];M[65432]=M[65424];M[65434]=M[65424];M[65436]=M[65424];M[65438]=M[65424];M[65442]=M[65440];M[65444]=M[65440];M[65446]=M[65440];M[65448]=M[65440];
M[65464]=M[65456];M[65466]=M[65456];M[65468]=M[65456];M[65470]=M[65456];M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504];La(function(){for(var a=A(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c);switch(d.name){case "default":d=new L(d),fb(d,c)}}});var lc;if(lb){var mc=new ArrayBuffer(2);(new DataView(mc)).setUint16(0,256,!0);lc=256===(new Uint16Array(mc))[0]}else lc=!1;var nc=lc; M[65450]=M[65440];M[65452]=M[65440];M[65454]=M[65440];M[65458]=M[65456];M[65460]=M[65456];M[65462]=M[65456];M[65464]=M[65456];M[65466]=M[65456];M[65468]=M[65456];M[65470]=M[65456];M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504];Ta(function(){for(var a=A(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c);switch(d.name){case "default":d=new L(d),nb(d,c)}}});var vc;
function I(a,b,c,d,e,f){this.A=a;this.id=oc+=2;this.b=null;this.w=b;this.sb=c;this.size=d||0;this.type=e||pc;this.f=e==qc;this.controller=null;Jb(this);this.Ha=this.lc=!1;if(d)if(f)this.controller=f,this.b=null,rc(this,f.ic);else if(lb)this.C=new ArrayBuffer(d),this.G=new DataView(this.C,0,d),this.D=new Uint8Array(this.C,0,d),this.I=new Uint16Array(this.C,0,d>>1),this.b=new Int32Array(this.C,0,d>>2),rc(this,nc?sc:tc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;rc(this,uc)}else rc(this)} if(Gb){var wc=new ArrayBuffer(2);(new DataView(wc)).setUint16(0,256,!0);vc=256===(new Uint16Array(wc))[0]}else vc=!1;var xc=vc;
var pc=0,qc=2,Pb=4,Rb=["NONE","RAM","ROM","VID","H/W"],oc=0; function I(a,b,c,d,e,f){this.A=a;this.id=yc+=2;this.b=null;this.w=b;this.tb=c;this.size=d||0;this.type=e||zc;this.f=e==Ac;this.controller=null;Sb(this);this.Ha=this.lc=!1;if(d)if(f)this.controller=f,this.b=null,Bc(this,f.ic);else if(Gb)this.C=new ArrayBuffer(d),this.G=new DataView(this.C,0,d),this.D=new Uint8Array(this.C,0,d),this.I=new Uint16Array(this.C,0,d>>1),this.b=new Int32Array(this.C,0,d>>2),Bc(this,xc?Cc:Dc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Bc(this,Ec)}else Bc(this)}
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(lb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(lb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ha=!0}return!1},Pa:function(a,b){b?this.B++||vc(this,wc,!1):this.i++||xc(this,wc,!1)},K:function(){this.j&&E(this.j,128)&&(B(this.j,"attempt to read invalid block %"+ var zc=0,Ac=2,Zb=4,ac=["NONE","RAM","ROM","VID","H/W"],yc=0;
k(this.w),!0),this.j.fa());return 255},J:function(a,b){this.j&&E(this.j,128)&&(B(this.j,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.w),!0),this.j.fa())},M:function(a,b){return this.Ab(a++,b++)|this.Ab(a,b)<<8},H:function(a,b,c){this.Db(a++,b&255,c++);this.Db(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ja:function(a,b){a&1&&Wb(this.A,b);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},ta:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]= I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Gb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Gb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ha=!0}return!1},Pa:function(a,b){b?this.B++||Fc(this,Gc,!1):this.i++||Hc(this,Gc,!1)},K:function(){this.j&&E(this.j,128)&&(B(this.j,"attempt to read invalid block %"+
this.b[c]&~(255<<a)|b<<a;this.Ha=!0},xa:function(a,b,c){a&1&&Wb(this.A,c);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ha=!0},T:function(a,b){if(this.j&&null!=this.w){var c=this.j;yc(c,this.w+a,1,c.M)&&c.fa(!0)}return this.Ib(a,b)},da:function(a,b){if(this.j&&null!=this.w){var c=this.j;yc(c,this.w+a,2,c.M)&&c.fa(!0)}return this.Jb(a,b)},ma:function(a,b,c){if(this.j&&null!=this.w){var d=this.j;yc(d,this.w+a, k(this.w),!0),this.j.ea());return 255},J:function(a,b){this.j&&E(this.j,128)&&(B(this.j,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.w),!0),this.j.ea())},M:function(a,b){return this.Bb(a++,b++)|this.Bb(a,b)<<8},H:function(a,b,c){this.Eb(a++,b&255,c++);this.Eb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ja:function(a,b){a&1&&nc(this.A,b);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},ua:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=
1,d.D)&&d.fa(!0)}this.f?this.J(a,b,c):this.Ob(a,b,c)},va:function(a,b,c){if(this.j&&null!=this.w){var d=this.j;yc(d,this.w+a,2,d.D)&&d.fa(!0)}this.f?this.J(a,b,c):this.Pb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.j&&E(this.j,128)&&B(this.j,"Memory.readByte("+J(this.j,b)+"): "+J(this.j,a),!0);return a},ca:function(a,b){a&1&&Wb(this.A,b);return this.G.getUint16(a,!0)},ga:function(a,b){a&1&&Wb(this.A,b);a=this.I[a>>1];this.j&&E(this.j,128)&&B(this.j,"Memory.readWord("+ this.b[c]&~(255<<a)|b<<a;this.Ha=!0},xa:function(a,b,c){a&1&&nc(this.A,c);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ha=!0},T:function(a,b){if(this.j&&null!=this.w){var c=this.j;Ic(c,this.w+a,1,c.M)&&c.ea(!0)}return this.Ib(a,b)},ca:function(a,b){if(this.j&&null!=this.w){var c=this.j;Ic(c,this.w+a,2,c.M)&&c.ea(!0)}return this.Jb(a,b)},ma:function(a,b,c){if(this.j&&null!=this.w){var d=this.j;Ic(d,this.w+a,
J(this.j,b)+"): "+J(this.j,a),!0);return a},la:function(a,b){this.D[a]=b;this.Ha=!0},oa:function(a,b,c){this.D[a]=b;this.Ha=!0;this.j&&E(this.j,128)&&B(this.j,"Memory.writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0)},ua:function(a,b,c){a&1&&Wb(this.A,c);this.G.setUint16(a,b,!0);this.Ha=!0},Ua:function(a,b,c){a&1&&Wb(this.A,c);this.I[a>>1]=b;this.Ha=!0;this.j&&E(this.j,128)&&B(this.j,"Memory.writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0)}}; 1,d.D)&&d.ea(!0)}this.f?this.J(a,b,c):this.Ob(a,b,c)},wa:function(a,b,c){if(this.j&&null!=this.w){var d=this.j;Ic(d,this.w+a,2,d.D)&&d.ea(!0)}this.f?this.J(a,b,c):this.Pb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.j&&E(this.j,128)&&B(this.j,"Memory.readByte("+J(this.j,b)+"): "+J(this.j,a),!0);return a},ba:function(a,b){a&1&&nc(this.A,b);return this.G.getUint16(a,!0)},fa:function(a,b){a&1&&nc(this.A,b);a=this.I[a>>1];this.j&&E(this.j,128)&&B(this.j,"Memory.readWord("+
function Jb(a,b,c){a.j=b;a.i=a.B=0;c&&((a.i=c.i)&&xc(a,wc,!1),(a.B=c.B)&&vc(a,wc,!1))}function zc(a,b){b?--a.B||(a.Db=a.f?a.J:a.Ob,a.tb=a.f?a.H:a.Pb):--a.i||(a.Ab=a.Ib,a.qa=a.Jb)}function vc(a,b,c){c&&a.B||(a.Db=!a.f&&b[1]||a.J,a.tb=!a.f&&b[3]||a.H);if(c||void 0===c)a.Ob=b[1]||a.J,a.Pb=b[3]||a.H}function xc(a,b,c){c&&a.i||(a.Ab=b[0]||a.K,a.qa=b[2]||a.M);if(c||void 0===c)a.Ib=b[0]||a.K,a.Jb=b[2]||a.M}function rc(a,b){b||(b=Ac);xc(a,b,void 0);vc(a,b,void 0)} J(this.j,b)+"): "+J(this.j,a),!0);return a},la:function(a,b){this.D[a]=b;this.Ha=!0},oa:function(a,b,c){this.D[a]=b;this.Ha=!0;this.j&&E(this.j,128)&&B(this.j,"Memory.writeByte("+J(this.j,c)+","+J(this.j,b)+")",!0)},va:function(a,b,c){a&1&&nc(this.A,c);this.G.setUint16(a,b,!0);this.Ha=!0},Ua:function(a,b,c){a&1&&nc(this.A,c);this.I[a>>1]=b;this.Ha=!0;this.j&&E(this.j,128)&&B(this.j,"Memory.writeWord("+J(this.j,c)+","+J(this.j,b)+")",!0)}};
var Ac=[],uc=[I.prototype.V,I.prototype.ta,I.prototype.ja,I.prototype.xa],wc=[I.prototype.T,I.prototype.ma,I.prototype.da,I.prototype.va];if(lb)var tc=[I.prototype.R,I.prototype.la,I.prototype.ca,I.prototype.ua],sc=[I.prototype.U,I.prototype.oa,I.prototype.ga,I.prototype.Ua]; function Sb(a,b,c){a.j=b;a.i=a.B=0;c&&((a.i=c.i)&&Hc(a,Gc,!1),(a.B=c.B)&&Fc(a,Gc,!1))}function Jc(a,b){b?--a.B||(a.Eb=a.f?a.J:a.Ob,a.ub=a.f?a.H:a.Pb):--a.i||(a.Bb=a.Ib,a.qa=a.Jb)}function Fc(a,b,c){c&&a.B||(a.Eb=!a.f&&b[1]||a.J,a.ub=!a.f&&b[3]||a.H);if(c||void 0===c)a.Ob=b[1]||a.J,a.Pb=b[3]||a.H}function Hc(a,b,c){c&&a.i||(a.Bb=b[0]||a.K,a.qa=b[2]||a.M);if(c||void 0===c)a.Ib=b[0]||a.K,a.Jb=b[2]||a.M}function Bc(a,b){b||(b=Kc);Hc(a,b,void 0);Fc(a,b,void 0)}
function Bc(a,b){r.call(this,"CPU",a,Bc,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.Ka=c;this.Va=Math.round(this.Fa/1E4)/100;this.Ra=this.Va*this.Ka;this.v.ea=!1;this.v.Mb=!1;this.v.hb=a.autoStart;this.v.Xa=!1;this.mb=this.ja=0;this.nb=a.csStart;this.Ya=a.csInterval;this.Za=a.csStop;this.K=[];this.Yb=this.ad.bind(this);G(this)}y(Bc);var Cc=["power","reset"];h=Bc.prototype; var Kc=[],Ec=[I.prototype.V,I.prototype.ua,I.prototype.ja,I.prototype.xa],Gc=[I.prototype.T,I.prototype.ma,I.prototype.ca,I.prototype.wa];if(Gb)var Dc=[I.prototype.R,I.prototype.la,I.prototype.ba,I.prototype.va],Cc=[I.prototype.U,I.prototype.oa,I.prototype.fa,I.prototype.Ua];
h.Da=function(a,b,c,d){this.B=a;this.A=b;this.j=d;for(b=0;b<Cc.length;b++)(c=this.J[Cc[b]])&&this.B.ra(null,Cc[b],c);a=Dc(a,"autoStart");null!=a&&(this.v.hb="true"==a?!0:"false"==a?!1:!!a);G(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1}; function Lc(a,b){r.call(this,"CPU",a,Lc,1);var c=a.multiplier||1;this.Fa=a.cycles||b;this.Ka=c;this.Va=Math.round(this.Fa/1E4)/100;this.Ra=this.Va*this.Ka;this.v.da=!1;this.v.Mb=!1;this.v.hb=a.autoStart;this.v.Xa=!1;this.nb=this.ja=0;this.ob=a.csStart;this.Ya=a.csInterval;this.Za=a.csStop;this.K=[];this.Yb=this.ad.bind(this);G(this)}u(Lc);var Mc=["power","reset"];h=Lc.prototype;
h.Aa=function(a,b){if(!b){if(a&&this.restore){Ec(this);if(!this.restore(a))return!1;Fc(this)}else this.reset();this.j?(a=this.j,a.g("Type ? for help with PDP11 Debugger commands"),a.ba(),a.Fa&&(b=a.Fa,a.Fa=null,Gc(a,b))):this.g("No debugger detected")}this.B.ba();return!0};h.za=function(a){return a?this.save():!0};h.hb=function(){return this.v.hb||!this.j&&void 0===this.J.run?(this.cb(!0),!0):!1};h.Vb=function(){return 0}; h.Da=function(a,b,c,d){this.B=a;this.A=b;this.j=d;for(b=0;b<Mc.length;b++)(c=this.J[Mc[b]])&&this.B.ra(null,Mc[b],c);a=Nc(a,"autoStart");null!=a&&(this.v.hb="true"==a?!0:"false"==a?!1:!!a);G(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
function Fc(a){void 0===a.nb&&(a.nb=0);void 0===a.Ya&&(a.Ya=-1);void 0===a.Za&&(a.Za=-1);a.v.Xa=0<=a.nb&&0<a.Ya;a.v.Xa&&(a.mb=0,a.ja=a.nb-a.ga)}function Hc(a,b){if(a.v.Xa){var c=!1;a.mb=a.mb+a.Vb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.Ya,c=!0);0<=a.Za&&a.Za<=Ic(a)&&(a.Ya=a.Za=-1,Fc(a),a.fa(),c=!0);c&&a.g(Ic(a)+" cycles: checksum="+k(a.mb))}} h.Aa=function(a,b){if(!b){if(a&&this.restore){Oc(this);if(!this.restore(a))return!1;Pc(this)}else this.reset();this.j?(a=this.j,a.g("Type ? for help with PDP11 Debugger commands"),a.aa(),a.Fa&&(b=a.Fa,a.Fa=null,Qc(a,b))):this.g("No debugger detected")}this.B.aa();return!0};h.za=function(a){return a?this.save():!0};h.hb=function(){return this.v.hb||!this.j&&void 0===this.J.run?(this.cb(!0),!0):!1};h.Vb=function(){return 0};
h.ra=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.B)if(a=d.B,a.v.ha)a=!0;else{var b=null,c,l=cb(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.v.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.v.ha);c++);c==l.length&&(b=a);n("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.wb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.ea?d.fa():d.cb())}, function Pc(a){void 0===a.ob&&(a.ob=0);void 0===a.Ya&&(a.Ya=-1);void 0===a.Za&&(a.Za=-1);a.v.Xa=0<=a.ob&&0<a.Ya;a.v.Xa&&(a.nb=0,a.ja=a.ob-a.fa)}function Rc(a,b){if(a.v.Xa){var c=!1;a.nb=a.nb+a.Vb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.Ya,c=!0);0<=a.Za&&a.Za<=Sc(a)&&(a.Ya=a.Za=-1,Pc(a),a.ea(),c=!0);c&&a.g(Sc(a)+" cycles: checksum="+k(a.nb))}}
!0;case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){Jc(d,d.Ka<<1,!0)},c.textContent=this.Ra.toFixed(2)+"Mhz",!0}return!1};h.ba=function(){var a=this.J.speed;a&&(a.textContent=this.v.ea&&this.V?this.V.toFixed(2)+"Mhz":"Stopped")};function Kc(a,b,c){a.ga+=b;c&&(a.da=a.b=0)}function Lc(a,b){var c=1;b&&1<a.Ka&&a.V&&(c=a.V/a.Va);a.vb=Math.round(1E3/30);a.Oa=Math.floor(a.Fa/30*c);b||(a.la=a.Oa);a.jb=0}function Ic(a){return a.ga+a.T+a.da-a.b} h.ra=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.B)if(a=d.B,a.v.ha)a=!0;else{var b=null,c,l=kb(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.v.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.v.ha);c++);c==l.length&&(b=a);n("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.xb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.da?d.ea():d.cb())},
function Ec(a){a.V=0;a.xb=0;a.ga=a.T=a.da=a.b=0;Fc(a);Jc(a,1)}function Jc(a,b,c){var d=!1;if(void 0!==b){.8>a.V/a.Ra?b=1:d=!0;a.Ka=b;b=a.Va*a.Ka;if(a.Ra!=b){a.Ra=b;b=a.Ra.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.rb()}Kc(a,a.T);a.T=0;a.R=ra();a.ca=0;Lc(a);return d}function Xb(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function gc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c*=a.Fa*a.Ka/1E3,a.K[b][0]=c+Mc(a))} !0;case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){Tc(d,d.Ka<<1,!0)},c.textContent=this.Ra.toFixed(2)+"Mhz",!0}return!1};h.aa=function(){var a=this.J.speed;a&&(a.textContent=this.v.da&&this.V?this.V.toFixed(2)+"Mhz":"Stopped")};function Uc(a,b,c){a.fa+=b;c&&(a.ca=a.b=0)}function Vc(a,b){var c=1;b&&1<a.Ka&&a.V&&(c=a.V/a.Va);a.wb=Math.round(1E3/30);a.Oa=Math.floor(a.Fa/30*c);b||(a.la=a.Oa);a.jb=0}function Sc(a){return a.fa+a.T+a.ca-a.b}
function Nc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Oc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Mc(a,b){var c=a.da-=a.b;a.b=0;b&&(a.da=0);return c} function Oc(a){a.V=0;a.yb=0;a.fa=a.T=a.ca=a.b=0;Pc(a);Tc(a,1)}function Tc(a,b,c){var d=!1;if(void 0!==b){.8>a.V/a.Ra?b=1:d=!0;a.Ka=b;b=a.Va*a.Ka;if(a.Ra!=b){a.Ra=b;b=a.Ra.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.sb()}Uc(a,a.T);a.T=0;a.R=Aa();a.ba=0;Vc(a);return d}function oc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function qc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c=a.Fa*a.Ka/1E3*c|0,a.K[b][0]=c+Wc(a))}
h.ad=function(){if(this.v.ea){this.jb>=this.Fa&&Lc(this,!0);this.oa=0;this.xa=ra();if(this.ca){var a=this.xa-this.ca;a>this.vb&&(this.R+=a,this.R>this.xa&&(this.R=this.xa))}try{do{var b=Nc(this,this.v.Xa?1:this.Oa);try{this.eb(b)}catch(e){if("number"!=typeof e)throw e;}b=Mc(this,!0);this.oa+=b;this.T+=b;Hc(this,b);Oc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Oa;15<=++this.xb&&(this.B&&this.B.ba(),this.xb=0);break}}while(this.v.ea)}catch(e){this.fa();this.B&&this.B.stop(ra(),Ic(this));kb(this, function Xc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Yc(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Wc(a,b){var c=a.ca-=a.b;a.b=0;b&&(a.ca=0);return c}
e.stack||e.message);return}if(this.v.ea){a=setTimeout;b=this.Yb;this.ca=ra();var c=this.vb;this.oa&&(c=Math.round(c*this.oa/this.Oa));var c=c-(this.ca-this.xa),d=this.ca-this.R;d&&(this.V=Math.round(this.T/(10*d))/100,864E5<=d&&(this.ga=0,Jc(this)));if(0>c||this.V<this.Ra)-1E3>c&&(this.R-=c),c=0;this.jb+=this.oa;this.ca+=c;a(b,c)}}}; h.ad=function(){if(this.v.da){this.jb>=this.Fa&&Vc(this,!0);this.oa=0;this.xa=Aa();if(this.ba){var a=this.xa-this.ba;a>this.wb&&(this.R+=a,this.R>this.xa&&(this.R=this.xa))}try{do{var b=Xc(this,this.v.Xa?1:this.Oa);try{this.eb(b)}catch(e){if("number"!=typeof e)throw e;}b=Wc(this,!0);this.oa+=b;this.T+=b;Rc(this,b);Yc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Oa;15<=++this.yb&&(this.B&&this.B.aa(),this.yb=0);break}}while(this.v.da)}catch(e){this.ea();this.B&&this.B.stop(Aa(),Sc(this));Fb(this,
h.cb=function(a){if(jb(this))return!1;if(this.v.ea)return this.g(this.toString()+" busy"),!1;Jc(this);this.v.ea=!0;this.v.Mb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.rb(!0),this.B.start(this.R,Ic(this)));setTimeout(this.Yb,0);return!0};h.eb=function(){return 0};h.fa=function(a){if(this.v.ea){Mc(this);Kc(this,this.T);this.T=0;this.v.ea=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(ra(),Ic(this))}this.v.complete=a}; e.stack||e.message);return}if(this.v.da){a=setTimeout;b=this.Yb;this.ba=Aa();var c=this.wb;this.oa&&(c=Math.round(c*this.oa/this.Oa));var c=c-(this.ba-this.xa),d=this.ba-this.R;d&&(this.V=Math.round(this.T/(10*d))/100,864E5<=d&&(this.fa=0,Tc(this)));if(0>c||this.V<this.Ra)-1E3>c&&(this.R-=c),c=0;this.jb+=this.oa;this.ba+=c;a(b,c)}}};
function Pc(a){this.Hb=+a.model||1170;this.qc=a.resetAddr||0;Bc.call(this,a,6666667);this.decode=Qc.bind(this);jd(this);this.C=0;this.U=null;this.v.complete=this.v.kc=!1}y(Pc,Bc);h=Pc.prototype;h.reset=function(){this.v.ea&&this.fa();jd(this);Ec(this);this.v.error=!1;this.parent.reset.call(this)}; h.cb=function(a){if(Eb(this))return!1;if(this.v.da)return this.g(this.toString()+" busy"),!1;Tc(this);this.v.da=!0;this.v.Mb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.sb(!0),this.B.start(this.R,Sc(this)));setTimeout(this.Yb,0);return!0};h.eb=function(){return 0};h.ea=function(a){if(this.v.da){Wc(this);Uc(this,this.T);this.T=0;this.v.da=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(Aa(),Sc(this))}this.v.complete=a};
function jd(a){a.N=65536;a.O=32768;a.X=65535;a.S=32768;a.L=15;a.u=[0,0,0,0,0,0,0,a.qc];a.Ea=[0,0,0,0,0,0];a.sa=[0,0,0,0];a.D=0;a.ua=0;a.oc=[4,2,0,1];a.P=[[0,0,0,0,0,0,0,0,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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.rc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, function rd(a){this.mb=+a.model||1170;this.qc=a.resetAddr||0;Lc.call(this,a,6666667);this.decode=1120==this.mb?sd.bind(this):td.bind(this);ud(this);this.C=0;this.U=null;this.v.complete=this.v.kc=!1}u(rd,Lc);h=rd.prototype;h.reset=function(){this.status("model "+this.mb);this.v.da&&this.ea();ud(this);Oc(this);this.v.error=!1;this.parent.reset.call(this)};
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.cc=[0,0,0,0,0,0,0,0];a.bc=0;a.F=0;a.H=a.I=0;a.i=a.f=a.Ta=0;a.ma=-1;kd(a)}function kd(a){a.Na=255;a.$=0;a.Lb=0;a.G=0;a.La=0;a.pb=0;a.Ma=0;a.Ja=0;a.ta=0;a.Wa=262143;a.va=253952;a.F|=2;a.A&&ic(a)}function ic(a){a.Ja?(a.M=65536,a.Y=a.nc,a.qa=a.Yc,a.tb=a.Id,Lb(a.A,a.Ma&16?22:18)):(a.M=0,a.Y=a.mc,a.qa=a.ac,a.tb=a.gc,Lb(a.A,16))}h.Vb=function(){return 0}; function ud(a){a.N=65536;a.O=32768;a.X=65535;a.S=32768;a.L=15;a.u=[0,0,0,0,0,0,0,a.qc];a.Ea=[0,0,0,0,0,0];a.ta=[0,0,0,0];a.D=0;a.va=0;a.oc=[4,2,0,1];a.P=[[0,0,0,0,0,0,0,0,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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.rc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.ga,this.Ka]);a.set(2,Sb(this.A));return a.data()};h.restore=function(a){var b=a[1];this.ga=b[1];Jc(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.K){for(var f=0,g=Array(b.K),l=0;l<e.length-1;)for(var m=e[l++],p=e[l++];m--;)g[f++]=p;e=g}f=b.W[d];if(!f||!f.restore(e)){n("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function ld(a){return a.N&65536?1:0} 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.cc=[0,0,0,0,0,0,0,0];a.bc=0;a.F=0;a.H=a.I=0;a.i=a.f=a.Ta=0;a.ma=-1;vd(a)}function vd(a){a.Na=255;a.Z=0;a.Lb=0;a.G=0;a.La=0;a.qb=0;a.Ma=0;a.Ja=0;a.ua=0;a.Wa=262143;a.wa=253952;a.F|=2;a.A&&sc(a)}function sc(a){a.Ja?(a.M=65536,a.Y=a.nc,a.qa=a.Yc,a.ub=a.Id,Vb(a.A,a.Ma&16?22:18)):(a.M=0,a.Y=a.mc,a.qa=a.ac,a.ub=a.gc,Vb(a.A,16))}h.Vb=function(){return 0};
function md(a){return a.O&32768?2:0}function nd(a){return a.X&65535?0:4}h.Ca=function(){return this.S&32768?8:0};function od(a){var b=a.qa(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function K(a,b){a.u[7]=b&65535}function hc(a,b){return{dd:a,$a:b,next:null}}function fc(a,b){if(b!=a.U){var c=a.U;if(!c||c.$a<=b.$a)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.$a<=b.$a){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Db(a){return a.L=a.L&63728|a.Ca()|nd(a)|md(a)|ld(a)} h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.fa,this.Ka]);a.set(2,jc(this.A));return a.data()};h.restore=function(a){var b=a[1];this.fa=b[1];Tc(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.I){for(var f=0,g=Array(b.I),l=0;l<e.length-1;)for(var m=e[l++],p=e[l++];m--;)g[f++]=p;e=g}f=b.W[d];if(!f||!f.restore(e)){n("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function wd(a){return a.N&65536?1:0}
function kc(a,b){a.S=b<<12;a.X=~b&4;a.O=b<<14;a.N=b<<16;if((b^a.L)&2048)for(var c=a.Ea.length;0<=--c;){var d=a.u[c];a.u[c]=a.Ea[c];a.Ea[c]=d}a.D=b>>14&3;c=a.L>>14&3;a.D!=c&&(a.sa[c]=a.u[6],a.u[6]=a.sa[a.D]);a.L=b;a.F|=2}function P(a,b){a.F&128||(a.S=a.X=b,a.O=0)}function pd(a,b,c){a.F&128||(a.S=a.X=a.N=b,a.O=c||0)}function qd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^b)&(d^b))}function rd(a,b){a.F&128||(a.S=a.X=a.N=b,a.O=a.S^a.N>>1)}function sd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^d)&(d^b))} function xd(a){return a.O&32768?2:0}function yd(a){return a.X&65535?0:4}h.Ca=function(){return this.S&32768?8:0};function zd(a){var b=a.qa(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function K(a,b){a.u[7]=b&65535}function rc(a,b){return{dd:a,$a:b,next:null}}function pc(a,b){if(b!=a.U){var c=a.U;if(!c||c.$a<=b.$a)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.$a<=b.$a){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Lb(a){return a.L=a.L&63728|a.Ca()|yd(a)|xd(a)|wd(a)}
h.aa=function(a,b){if(!this.C){var c=!1;0>this.ma?this.ma=Db(this):this.D||(a=4,c=!0);this.G&57344||(this.La=63222,this.pb=a);this.D=0;var d=this.qa(a|this.M),e=this.qa(a+2&65535|this.M);kc(this,e&-12289|this.ma>>2&12288);c&&(this.$|=4,this.u[6]=4);td(this,this.ma);td(this,this.u[7]);K(this,d);this.F&=-113;this.ma=-1;if(26!=b)throw a;}};function ud(a){var b=vd(a),c=vd(a)&-1793;a.L&49152&&(c=c&-225|a.L&63712);K(a,b);kc(a,c);a.F&=-17} function uc(a,b){a.S=b<<12;a.X=~b&4;a.O=b<<14;a.N=b<<16;if((b^a.L)&2048)for(var c=a.Ea.length;0<=--c;){var d=a.u[c];a.u[c]=a.Ea[c];a.Ea[c]=d}a.D=b>>14&3;c=a.L>>14&3;a.D!=c&&(a.ta[c]=a.u[6],a.u[6]=a.ta[a.D]);a.L=b;a.F|=2}function P(a,b){a.F&128||(a.S=a.X=b,a.O=0)}function Ad(a,b,c){a.F&128||(a.S=a.X=a.N=b,a.O=c||0)}function Bd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^b)&(d^b))}function Cd(a,b){a.F&128||(a.S=a.X=a.N=b,a.O=a.S^a.N>>1)}function Dd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^d)&(d^b))}
function wd(a,b,c){var d,e,f,g=0;d=b>>13;a.Ma&a.oc[a.D]||(d&=7);e=a.P[a.D][d];f=(a.pa[a.D][d]<<6)+(b&8191)&a.Wa;if(f<a.va)f&1&&!(c&1)&&(a.$|=64,a.aa(4,10));else if(a.Ma&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.Ma&32&&(f=a.rc[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.va&&4186112>f&&(a.$|=32,a.aa(4,12))}switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4? h.$=function(a,b){if(!this.C){var c=!1;0>this.ma?this.ma=Lb(this):this.D||(a=4,c=!0);this.G&57344||(this.La=63222,this.qb=a);this.D=0;var d=this.qa(a|this.M),e=this.qa(a+2&65535|this.M);uc(this,e&-12289|this.ma>>2&12288);c&&(this.Z|=4,this.u[6]=4);Ed(this,this.ma);Ed(this,this.u[7]);K(this,d);this.F&=-113;this.ma=-1;if(26!=b)throw a;}};function Fd(a){var b=Gd(a),c=Gd(a)&-1793;a.L&49152&&(c=c&-225|a.L&63712);K(a,b);uc(a,c);a.F&=-17}
192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.P[a.D][d]=e;if(4194170!==f||a.D)a.ta=a.D,a.ua=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.G&57344||(a.G=a.G|g|a.ta<<5|a.ua<<1),a.aa(168,16)),a.G&61440||!(4191360>f||4194239<f)||(a.G|=4096,a.G&512&&(a.F|=32)));return f}function xd(a,b){return a.A.kb(b)}function yd(a,b,c){b&1&&a.b--;a.A.Bb(b,c&255)}function vd(a){var b=a.qa(a.u[6]|a.M);a.u[6]=a.u[6]+2&65535;return b} function Hd(a,b,c){var d,e,f,g=0;d=b>>13;a.Ma&a.oc[a.D]||(d&=7);e=a.P[a.D][d];f=(a.pa[a.D][d]<<6)+(b&8191)&a.Wa;if(f<a.wa)f&1&&!(c&1)&&(a.Z|=64,a.$(4,10));else if(a.Ma&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.Ma&32&&(f=a.rc[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.wa&&4186112>f&&(a.Z|=32,a.$(4,12))}switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:
function td(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.G&57344||(a.La=a.La<<8|246);!a.D&&c<=a.Na&&4<c&&(c<=a.Na-32?(a.$|=4,a.u[6]=4,a.aa(4,18)):(a.$|=8,a.F|=4));a.tb(c,b)} 128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.P[a.D][d]=e;if(4194170!==f||a.D)a.ua=a.D,a.va=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.G&57344||(a.G=a.G|g|a.ua<<5|a.va<<1),a.$(168,16)),a.G&61440||!(4191360>f||4194239<f)||(a.G|=4096,a.G&512&&(a.F|=32)));return f}function Id(a,b){return a.A.kb(b)}function Jd(a,b,c){b&1&&a.b--;a.A.Cb(b,c&255)}function Gd(a){var b=a.qa(a.u[6]|a.M);a.u[6]=a.u[6]+2&65535;return b}
function zd(a,b,c,d){var e,f,g=d&8?0:a.M;switch(b){case 0:return a.aa(4,20),0;case 1:return 6===c&&!a.D&&d&4&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32||65534<=a.u[6]?(a.$|=4,a.u[6]=4,a.aa(4,22)):(a.$|=8,a.F|=64)),a.b-=3,7===c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.qa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.qa(e)|g; function Ed(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.G&57344||(a.La=a.La<<8|246);!a.D&&c<=a.Na&&4<c&&(c<=a.Na-32?(a.Z|=4,a.u[6]=4,a.$(4,18)):(a.Z|=8,a.F|=4));a.ub(c,b)}
a.b-=8;break;case 6:return e=od(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=od(a),e=e+a.u[c]&65535,e=a.qa(e|a.M)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.G&57344||(a.La=a.La<<8|f<<3&248|c);6==c&&!a.D&&d&4&&0>=f&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32?(a.$|=4,a.u[6]=4,a.aa(4,24)):(a.$|=8,a.F|=64));return e}h.yb=function(a){if(!this.Ja)return this.A.yb(a);this.C++;a=xd(this,wd(this,a,3));this.C--;return a}; function Kd(a,b,c,d){var e,f,g=d&8?0:a.M;switch(b){case 0:return a.$(4,20),0;case 1:return 6===c&&!a.D&&d&4&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32||65534<=a.u[6]?(a.Z|=4,a.u[6]=4,a.$(4,22)):(a.Z|=8,a.F|=64)),a.b-=3,7===c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.qa(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.qa(e)|g;a.b-=
h.lb=function(a){if(!this.Ja)return this.A.lb(a);this.C++;a=this.ac(wd(this,a,2));this.C--;return a};h.qb=function(a,b){this.Ja?(this.C++,yd(this,wd(this,a,5),b),this.C--):this.A.qb(a,b)};h.Cb=function(a,b){this.Ja?(this.C++,this.gc(wd(this,a,4),b),this.C--):this.A.Cb(a,b)};h.mc=function(a,b,c){return zd(this,a,b,c)};h.nc=function(a,b,c){return wd(this,zd(this,a,b,c),c)};h.ac=function(a){return this.A.ka(a)};h.Yc=function(a){return this.A.ka(wd(this,a,2))};h.gc=function(a,b){this.A.Sa(a,b&65535)}; 8;break;case 6:return e=zd(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=zd(a),e=e+a.u[c]&65535,e=a.qa(e|a.M)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.G&57344||(a.La=a.La<<8|f<<3&248|c);6==c&&!a.D&&d&4&&0>=f&&(a.u[6]<=a.Na||65534<=a.u[6])&&(a.u[6]<=a.Na-32?(a.Z|=4,a.u[6]=4,a.$(4,24)):(a.Z|=8,a.F|=64));return e}h.zb=function(a){if(!this.Ja)return this.A.zb(a);this.C++;a=Id(this,Hd(this,a,3));this.C--;return a};
h.Id=function(a,b){this.A.Sa(wd(this,a,4),b)};function Ad(a,b,c){var d=a.f=b&7;(b=a.i=(b&56)>>3)?(d=zd(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.qa(d|c&a.M),a.D=a.L>>14&3):c=6!=d||(a.L>>2&12288)===(a.L&12288)?a.u[d]:a.sa[a.L>>12&3];return c}function Bd(a,b,c,d){a.G&57344||(a.La=22);var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=zd(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=wd(a,e|c&65536,4),a.D=a.L>>14&3,a.A.Sa(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.sa[a.L>>12&3]=d} h.lb=function(a){if(!this.Ja)return this.A.lb(a);this.C++;a=this.ac(Hd(this,a,2));this.C--;return a};h.rb=function(a,b){this.Ja?(this.C++,Jd(this,Hd(this,a,5),b),this.C--):this.A.rb(a,b)};h.Db=function(a,b){this.Ja?(this.C++,this.gc(Hd(this,a,4),b),this.C--):this.A.Db(a,b)};h.mc=function(a,b,c){return Kd(this,a,b,c)};h.nc=function(a,b,c){return Hd(this,Kd(this,a,b,c),c)};h.ac=function(a){return this.A.ka(a)};h.Yc=function(a){return this.A.ka(Hd(this,a,2))};h.gc=function(a,b){this.A.Sa(a,b&65535)};
function Cd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?xd(a,a.Y(b,c,3)):a.u[c]&255}function Dd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.A.ka(a.Y(b,c,2)):a.u[c]}function Ed(a,b){var c=a.f=b&7;b=a.i=(b&56)>>3;return zd(a,b,c,8)}function Fd(a,b){var c=a.f=b&7;return(b=a.i=(b&56)>>3)?xd(a,a.Y(b,c,3)):a.u[c]&255}function Gd(a,b){var c=a.f=b&7;return(b=a.i=(b&56)>>3)?a.A.ka(a.Y(b,c,2)):a.u[c]} h.Id=function(a,b){this.A.Sa(Hd(this,a,4),b)};function Ld(a,b,c){var d=a.f=b&7;(b=a.i=(b&56)>>3)?(d=Kd(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.qa(d|c&a.M),a.D=a.L>>14&3):c=6!=d||(a.L>>2&12288)===(a.L&12288)?a.u[d]:a.ta[a.L>>12&3];return c}function Md(a,b,c,d){a.G&57344||(a.La=22);var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=Kd(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=Hd(a,e|c&65536,4),a.D=a.L>>14&3,a.A.Sa(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.ta[a.L>>12&3]=d}
function Q(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=a.Ta=a.Y(b,e,7),yd(a,e,d.call(a,c,xd(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=a.Y(b,e,6),a.A.Sa(e,d.call(a,c,a.A.ka(e)))):a.u[e]=d.call(a,c,a.u[e])}function Hd(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?yd(a,a.Y(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Id(a,b,c){var d=a.f=b&7;(b=a.i=(b&56)>>3)?a.A.Sa(a.Y(b,d,4),c):a.u[d]=c&65535;return c} function Nd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?Id(a,a.Y(b,c,3)):a.u[c]&255}function Od(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.A.ka(a.Y(b,c,2)):a.u[c]}function Pd(a,b){var c=a.f=b&7;b=a.i=(b&56)>>3;return Kd(a,b,c,8)}function Qd(a,b){var c=a.f=b&7;return(b=a.i=(b&56)>>3)?Id(a,a.Y(b,c,3)):a.u[c]&255}function Rd(a,b){var c=a.f=b&7;return(b=a.i=(b&56)>>3)?a.A.ka(a.Y(b,c,2)):a.u[c]}
function Q(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=a.Ta=a.Y(b,e,7),Jd(a,e,d.call(a,c,Id(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function R(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?(e=a.Y(b,e,6),a.A.Sa(e,d.call(a,c,a.A.ka(e)))):a.u[e]=d.call(a,c,a.u[e])}function Sd(a,b,c,d){var e=a.f=b&7;(b=a.i=(b&56)>>3)?Jd(a,a.Y(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}function Td(a,b,c){var d=a.f=b&7;(b=a.i=(b&56)>>3)?a.A.Sa(a.Y(b,d,4),c):a.u[d]=c&65535;return c}
function S(a,b,c){c&&(K(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3} function S(a,b,c){c&&(K(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
h.eb=function(a){this.v.complete=!0;var b=this.v.kc=this.j&&Jd(this.j),c=a?this.v.Mb?0:1:-1;this.v.Mb=!1;this.da=this.b=a;do{if(b){if(Kd(this.j,this.u[7],c)){this.fa();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.aa(168,28):this.F&64?this.aa(4,30):this.F&16&&this.aa(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Lb&224)>>5;if(a=this.U&&this.U.$a>e?this.U:null)d=a.dd,e=a.$a;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.aa(d,26),e=!0):e=!1; h.eb=function(a){this.v.complete=!0;var b=this.v.kc=this.j&&Ud(this.j),c=a?this.v.Mb?0:1:-1;this.v.Mb=!1;this.ca=this.b=a;do{if(b){if(Vd(this.j,this.u[7],c)){this.ea();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.$(168,28):this.F&64?this.$(4,30):this.F&16&&this.$(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Lb&224)>>5;if(a=this.U&&this.U.$a>e?this.U:null)d=a.dd,e=a.$a;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.$(d,26),e=!0):e=!1;if(e&&
if(e&&a)if(e=this.U,e==a)this.U=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.G&57344||(this.La=0,this.pb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(od(this))}while(0<this.b);return this.v.complete?this.da-this.b:void 0===this.v.complete?0:-1};La(function(){for(var a=A(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Pc(d);fb(d,c)}});function Ld(a,b){var c=b+a;qd(this,c,a,b);return c&65535} a)if(e=this.U,e==a)this.U=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=d}}else this.F&1&&this.F++;this.G&57344||(this.La=0,this.qb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(zd(this))}while(0<this.b);return this.v.complete?this.ca-this.b:void 0===this.v.complete?0:-1};Ta(function(){for(var a=A(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new rd(d);nb(d,c)}});function Wd(a,b){var c=b+a;Bd(this,c,a,b);return c&65535}
function Md(a,b){var c=b+a;qd(this,c<<8,a<<8,b<<8);return c&255}function Nd(a,b){a=b<<1;rd(this,a);return a&65535}function Od(a,b){a=b<<1;rd(this,a<<8);return a&255}function Pd(a,b){a=b&32768|b>>1|b<<16;rd(this,a);return a&65535}function Qd(a,b){a=b&2048|b>>1|b<<8;rd(this,a<<8);return a&255}function Rd(a,b){a=b&~a;P(this,a);return a}function Sd(a,b){a=b&~a;P(this,a<<8);return a}function Td(a,b){a|=b;P(this,a);return a}function Ud(a,b){a|=b;P(this,a<<8);return a} function Xd(a,b){var c=b+a;Bd(this,c<<8,a<<8,b<<8);return c&255}function Yd(a,b){a=b<<1;Cd(this,a);return a&65535}function Zd(a,b){a=b<<1;Cd(this,a<<8);return a&255}function $d(a,b){a=b&32768|b>>1|b<<16;Cd(this,a);return a&65535}function ae(a,b){a=b&2048|b>>1|b<<8;Cd(this,a<<8);return a&255}function be(a,b){a=b&~a;P(this,a);return a}function ce(a,b){a=b&~a;P(this,a<<8);return a}function de(a,b){a|=b;P(this,a);return a}function ee(a,b){a|=b;P(this,a<<8);return a}
function Vd(a,b){a=~b|65536;pd(this,a);return a&65535}function Wd(a,b){a=~b|256;pd(this,a<<8);return a&255}function Xd(a,b){a=b-a;this.F&128||(this.S=this.X=a,this.O=b&(b^a));return a&65535}function Yd(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.S=this.X=c,this.O=b&(b^c));return a&255}function Zd(a,b){a=b+a;this.F&128||(this.S=this.X=a,this.O=a&(b^a));return a&65535}function $d(a,b){a=b+a;var c=a<<8;this.F&128||(this.S=this.X=c,this.O=c&(b<<8^c));return a&255} function fe(a,b){a=~b|65536;Ad(this,a);return a&65535}function ge(a,b){a=~b|256;Ad(this,a<<8);return a&255}function he(a,b){a=b-a;this.F&128||(this.S=this.X=a,this.O=b&(b^a));return a&65535}function ie(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.S=this.X=c,this.O=b&(b^c));return a&255}function je(a,b){a=b+a;this.F&128||(this.S=this.X=a,this.O=a&(b^a));return a&65535}function ke(a,b){a=b+a;var c=a<<8;this.F&128||(this.S=this.X=c,this.O=c&(b<<8^c));return a&255}
function ae(a,b){a=-b;pd(this,a,a&b&32768);return a&65535}function be(a,b){a=-b;pd(this,a<<8,(a&b&128)<<8);return a&255}function ce(a,b){a=b<<1|this.N>>16&1;rd(this,a);return a&65535}function de(a,b){a=b<<1|this.N>>16&1;rd(this,a<<8);return a&255}function ee(a,b){a=(this.N&65536|b)>>1|b<<16;rd(this,a);return a&65535}function fe(a,b){a=((this.N&65536)>>8|b)>>1|b<<8;rd(this,a<<8);return a&255}function ge(a,b){var c=b-a;sd(this,c,a,b);return c&65535} function le(a,b){a=-b;Ad(this,a,a&b&32768);return a&65535}function me(a,b){a=-b;Ad(this,a<<8,(a&b&128)<<8);return a&255}function ne(a,b){a=b<<1|this.N>>16&1;Cd(this,a);return a&65535}function oe(a,b){a=b<<1|this.N>>16&1;Cd(this,a<<8);return a&255}function pe(a,b){a=(this.N&65536|b)>>1|b<<16;Cd(this,a);return a&65535}function qe(a,b){a=((this.N&65536)>>8|b)>>1|b<<8;Cd(this,a<<8);return a&255}function re(a,b){var c=b-a;Dd(this,c,a,b);return c&65535}
function he(a,b){var c=b-a;sd(this,c<<8,a<<8,b<<8);return c&255}function ie(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function je(a,b){a^=b;P(this,a);return a&65535} function se(a,b){var c=b-a;Dd(this,c<<8,a<<8,b<<8);return c&255}function te(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function ue(a,b){a^=b;P(this,a);return a&65535}function ve(a){R(this,a,Od(this,a),Wd);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
function ke(a){var b=Gd(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.N=this.O=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.N=c<<17-b,c>>=b;else if(b)if(16<b)this.O=c,c=0;else{this.N=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.O=32768)}this.u[a]=c&65535;this.S=this.X=c;this.b-=(this.i?6:7)+b} function we(a){var b=Rd(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.N=this.O=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.N=c<<17-b,c>>=b;else if(b)if(16<b)this.O=c,c=0;else{this.N=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.O=32768)}this.u[a]=c&65535;this.S=this.X=c;this.b-=(this.i?6:7)+b}
function le(a){var b=Gd(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.N=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.N=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.O=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.S=d>>16;this.X=d>>16|d;this.b-=(this.i?6:7)+b}function U(a){a&1&&(this.N=0);a&2&&(this.O=0);a&4&&(this.X=1);a&8&&(this.S=0);this.b-=5} function xe(a){var b=Rd(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.N=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.N=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.O=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.S=d>>16;this.X=d>>16|d;this.b-=(this.i?6:7)+b}function ye(a){S(this,a,!wd(this))}function ze(a){S(this,a,wd(this))}
function me(a){var b=Gd(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.X=d>>16|d,this.S=d>>16):(this.O=32768,this.X=d>>15|d,this.S=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.X=this.S=0,this.O=32768,this.N=65536,this.b-=7}var ne=[0,7,7,10,7,11,9,13];function oe(a){var b=this.b;K(this,Ed(this,a));this.b=b-ne[this.i]} function Ae(a){R(this,a,Od(this,a),be);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Be(a){Q(this,a,Nd(this,a),ce);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Ce(a){R(this,a,Od(this,a),de);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function De(a){Q(this,a,Nd(this,a),ee);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
var pe=[0,14,14,17,14,18,16,20];function qe(a){var b=this.b,c=Ed(this,a);a=a>>6&7;td(this,this.u[a]);this.u[a]=this.u[7];K(this,c);this.b=b-pe[this.i]}var re=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],se=[7,13,13,17,14,18,17,21];function te(a){var b=Gd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.F&128||(this.S=b>>16,this.X=this.S|b,this.O=0,this.N=-32768>b||32767<b?65536:0);this.b-=23} function Ee(a){P(this,Od(this,a)&Rd(this,a));this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Fe(a){P(this,(Nd(this,a)&Qd(this,a))<<8);this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ge(a){S(this,a,yd(this))}function He(a){S(this,a,!this.Ca()==!xd(this))}function Ie(a){S(this,a,!yd(this)&&!this.Ca()==!xd(this))}function Je(a){S(this,a,!wd(this)&&!yd(this))}function Ke(a){S(this,a,yd(this)||!this.Ca()!=!xd(this))}
function ue(){this.b-=5}function V(a){a&1&&(this.N=65536);a&2&&(this.O=32768);a&4&&(this.X=0);a&8&&(this.S=32768);this.b-=5}function ve(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)K(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function we(a){R(this,a,0,ie);this.b-=this.i?9:3+(7==this.f?2:0)}function xe(a){R(this,a,Dd(this,a),je);this.b-=this.i?9:3+(7==this.f?2:0)}function W(){this.aa(8,6)}function Qc(a){ye[a>>12].call(this,a)} function Le(a){S(this,a,wd(this)||yd(this))}function Me(a){S(this,a,!this.Ca()!=!xd(this))}function Ne(a){S(this,a,this.Ca())}function Oe(a){S(this,a,!yd(this))}function Pe(a){S(this,a,!this.Ca())}function Qe(){this.$(12,1);this.b-=5}function Re(a){S(this,a,!0)}function Se(a){S(this,a,!xd(this))}function Te(a){S(this,a,xd(this))}function U(a){a&1&&(this.N=0);a&2&&(this.O=0);a&4&&(this.X=1);a&8&&(this.S=0);this.b-=5}
var ye=[function(a){ze[a>>8&15].call(this,a)},function(a){var b=Dd(this,a),c=this.b;P(this,Id(this,a,b));this.b=c-re[(this.H?8:0)+this.i]+(7!=this.f||this.i?0:2)},function(a){var b=Dd(this,a);a=Gd(this,a);sd(this,b-a,a,b);this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)},function(a){P(this,Dd(this,a)&Gd(this,a));this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),Rd);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f? function Ue(a){var b=Od(this,a);a=Rd(this,a);Dd(this,b-a,a,b);this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ve(a){var b=Nd(this,a)<<8;a=Qd(this,a)<<8;Dd(this,b-a,a,b);this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}
2:0)},function(a){R(this,a,Dd(this,a),Td);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),Ld);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},function(a){Te[a>>8&15].call(this,a)},function(a){Ue[a>>8&15].call(this,a)},function(a){var b=Cd(this,a);P(this,Hd(this,a,b,1)<<8);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},function(a){var b=Cd(this,a)<<8;a=Fd(this,a)<<8;sd(this,b-a,a,b);this.b-=this.i? function We(a){var b=Rd(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.N=this.O=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.X=d>>16|d,this.S=d>>16):(this.O=32768,this.X=d>>15|d,this.S=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.X=this.S=0,this.O=32768,this.N=65536,this.b-=7}function Xe(){this.$(24,2);this.b-=25}function Ye(){this.L&49152?(this.Z|=128,this.$(4,3)):this.ea();this.b-=7}
4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)},function(a){P(this,(Cd(this,a)&Fd(this,a))<<8);this.b-=this.i?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)},function(a){Q(this,a,Cd(this,a),Sd);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},function(a){Q(this,a,Cd(this,a),Ud);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},function(a){R(this,a,Dd(this,a),ge);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)},W],ze= function Ze(){this.$(16,4);this.b-=25}var $e=[0,7,7,10,7,11,9,13];function af(a){var b=this.b;K(this,Pd(this,a));this.b=b-$e[this.i]}var bf=[0,14,14,17,14,18,16,20];function cf(a){var b=this.b,c=Pd(this,a);a=a>>6&7;Ed(this,this.u[a]);this.u[a]=this.u[7];K(this,c);this.b=b-bf[this.i]}var df=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function ef(a){var b=Od(this,a),c=this.b;P(this,Td(this,a,b));this.b=c-df[(this.H?8:0)+this.i]+(7!=this.f||this.i?0:2)}
[function(a){Ve[a>>4&15].call(this,a)},function(a){S(this,a,!0)},function(a){S(this,a,!nd(this))},function(a){S(this,a,nd(this))},function(a){S(this,a,!this.Ca()==!md(this))},function(a){S(this,a,!this.Ca()!=!md(this))},function(a){S(this,a,!nd(this)&&!this.Ca()==!md(this))},function(a){S(this,a,nd(this)||!this.Ca()!=!md(this))},qe,qe,function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},function(a){Ze[a>>6&3].call(this,a)},W,W],We=[function(a){pd(this, function ff(a){var b=Nd(this,a);P(this,Sd(this,a,b,1)<<8);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var gf=[7,13,13,17,14,18,17,21];function hf(a){var b=Rd(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.F&128||(this.S=b>>16,this.X=this.S|b,this.O=0,this.N=-32768>b||32767<b?65536:0);this.b-=23}function jf(){this.b-=5}function kf(){this.L&49152||(vd(this),this.A.reset());this.b-=667}
Id(this,a,0));this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Vd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Zd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,1,Xd);this.b-=this.i?9:3+(7==this.f?2:0)}],Xe=[function(a){R(this,a,0,ae);this.b-=this.i?11:6},function(a){R(this,a,ld(this)?1:0,Ld);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,ld(this)?1:0,ge);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){a=Gd(this,a);pd(this,a);this.b-=this.i?4:3+(7==this.f? function lf(){Fd(this);this.F|=this.L&16;this.b-=13}function mf(a){if(a&8)this.$(8,6);else{var b=Gd(this);a&=7;K(this,this.u[a]);this.u[a]=b;this.b-=9}}function V(a){a&1&&(this.N=65536);a&2&&(this.O=32768);a&4&&(this.X=0);a&8&&(this.S=32768);this.b-=5}function nf(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)K(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function of(a){R(this,a,Od(this,a),re);this.b-=this.i?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
2:0)}],Ye=[function(a){R(this,a,0,ee);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,ce);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Pd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Nd);this.b-=this.i?9:3+(7==this.f?2:0)}],Ze=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.qa(a|this.M);K(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Ad(this,a,0);td(this,a);P(this,a);this.b-=11},function(a){var b=vd(this),c=this.b;Bd(this,a, function pf(a){R(this,a,0,te);this.b-=this.i?9:3+(7==this.f?2:0)}function qf(){this.$(28,5);this.b-=5}function rf(){this.F&4||this.B.aa();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3}function sf(a){R(this,a,Od(this,a),ue);this.b-=this.i?9:3+(7==this.f?2:0)}function W(){this.$(8,6)}function sd(a){tf[a>>12].call(this,a)}function uf(a){vf[a>>6&3].call(this,a)}function wf(a){xf[a>>6&3].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}function Tf(a){Uf[a&15].call(this,a)}
0,b);P(this,b);this.b=c-se[this.i]},function(a){P(this,Id(this,a,this.Ca?65535:0));this.b-=this.i?9:3+(7==this.f?2:0)}],Ve=[function(a){$e[a&15].call(this,a)},W,W,W,oe,oe,oe,oe,function(a){if(a&8)this.aa(8,6);else{var b=vd(this);a&=7;K(this,this.u[a]);this.u[a]=b;this.b-=9}},function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):this.aa(8,6)},function(a){af[a&15].call(this,a)},function(a){bf[a&15].call(this,a)},we,we,we,we],$e=[function(){this.L&49152?(this.$|=128,this.aa(4, function Vf(a){Wf[a&15].call(this,a)}function Xf(a){Yf[a>>6&3].call(this,a)}function Zf(a){$f[a>>6&3].call(this,a)}function ag(a){bg[a>>6&3].call(this,a)}
3)):this.fa();this.b-=7},function(){this.F&4||this.B.ba();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3},function(){ud(this);this.F|=this.L&16;this.b-=13},function(){this.aa(12,1);this.b-=5},function(){this.aa(16,4);this.b-=25},function(){this.L&49152||(kd(this),this.A.reset());this.b-=667},function(){ud(this);this.b-=13},W,W,W,W,W,W,W,W,W],af=[ue,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},U,function(){this.X=1;this.b-=5},U,U,U,function(){this.S=0;this.b-=5},U,U,U,U,U,U,U],bf= var tf=[function(a){cg[a>>8&15].call(this,a)},ef,Ue,Ee,Ae,Ce,ve,W,function(a){dg[a>>8&15].call(this,a)},ff,Ve,Fe,Be,De,of,W],cg=[function(a){eg[a>>4&15].call(this,a)},Re,Oe,Ge,He,Me,Ie,Ke,cf,cf,uf,wf,yf,W,W,W],vf=[function(a){Ad(this,Td(this,a,0));this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,fe);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,1,je);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,1,he);this.b-=this.i?9:3+(7==this.f?2:0)}],xf=[function(a){R(this,a,0,
[ue,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},V,function(){this.X=0;this.b-=5},V,V,V,function(){this.S=32768;this.b-=5},V,V,V,V,V,V,V],Te=[te,te,me,me,ke,ke,le,le,xe,xe,W,W,W,W,ve,ve],Ue=[function(a){S(this,a,!this.Ca())},function(a){S(this,a,this.Ca())},function(a){S(this,a,!ld(this)&&!nd(this))},function(a){S(this,a,ld(this)||nd(this))},function(a){S(this,a,!md(this))},function(a){S(this,a,md(this))},function(a){S(this,a,!ld(this))},function(a){S(this,a,ld(this))},function(){this.aa(24, le);this.b-=this.i?11:6},function(a){R(this,a,wd(this)?1:0,Wd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,wd(this)?1:0,re);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){a=Rd(this,a);Ad(this,a);this.b-=this.i?4:3+(7==this.f?2:0)}],zf=[function(a){R(this,a,0,pe);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,ne);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){R(this,a,0,Yd);this.b-=this.i?9:3+(7==this.f?2:0)}],
2);this.b-=25},function(){this.aa(28,5);this.b-=5},function(a){cf[a>>6&3].call(this,a)},function(a){df[a>>6&3].call(this,a)},function(a){ef[a>>6&3].call(this,a)},function(a){ff[a>>6&3].call(this,a)},W,W],cf=[function(a){pd(this,Hd(this,a,0));this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Wd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,$d);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Yd);this.b-=this.i?9:3+(7==this.f?2:0)}],df=[function(a){Q(this,a,0,be);this.b-= eg=[function(a){fg[a&15].call(this,a)},W,W,W,af,af,af,af,mf,W,Tf,Vf,pf,pf,pf,pf],fg=[Ye,rf,lf,Qe,Ze,kf,W,W,W,W,W,W,W,W,W,W],Uf=[jf,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},U,function(){this.X=1;this.b-=5},U,U,U,function(){this.S=0;this.b-=5},U,U,U,U,U,U,U],Wf=[jf,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},V,function(){this.X=0;this.b-=5},V,V,V,function(){this.S=32768;this.b-=5},V,V,V,V,V,V,V],dg=[Pe,Ne,Je,Le,Se,Te,ye,ze,Xe,qf,Xf,Zf,ag,W,W,W],Yf=[function(a){Ad(this,
this.i?11:6},function(a){Q(this,a,ld(this)?1:0,Md);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,ld(this)?1:0,he);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){a=Fd(this,a);pd(this,a<<8);this.b-=this.i?4:3+(7==this.f?2:0)}],ef=[function(a){Q(this,a,0,fe);this.b-=this.i?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,de);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Qd);this.b-=this.i?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,Od);this.b-=this.i?9:3+(7== Sd(this,a,0));this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ge);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ke);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ie);this.b-=this.i?9:3+(7==this.f?2:0)}],$f=[function(a){Q(this,a,0,me);this.b-=this.i?11:6},function(a){Q(this,a,wd(this)?1:0,Xd);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,wd(this)?1:0,se);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){a=Qd(this,a);Ad(this,a<<8);this.b-=this.i?4:3+(7==
this.f?2:0)}],ff=[W,function(a){a=Ad(this,a,65536);td(this,a);P(this,a);this.b-=11},function(a){var b=vd(this),c=this.b;Bd(this,a,65536,b);P(this,b);this.b=c-se[this.i]},W];function gf(a){r.call(this,"ROM",a,gf);this.f=null;this.D=a.addr;this.i=a.size;this.G=a.writable;this.B=a.alias;this.C=a.file;this.H=da(this.C);if(this.C){a=this.C;var b=ea(this.H);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;ua(a,null,!0,function(a,b,f){hf(c,a,b,f)})}}y(gf); this.f?2:0)}],bg=[function(a){Q(this,a,0,qe);this.b-=this.i?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,oe);this.b-=this.i?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ae);this.b-=this.i?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,Zd);this.b-=this.i?9:3+(7==this.f?2:0)}];function td(a){gg[a>>12].call(this,a)}
gf.prototype.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;jf(this)};gf.prototype.Aa=function(){if(this.Ba){if(this.j){var a=this.j,b=this.id,c=this.D,d=this.i,e=this.Ba,f=[],g;for(g in e){var l=e[g];"number"==typeof l&&(e[g]=l={o:l});var m=l.o,p=l.a;if(void 0!==m){var q=f,m=[m>>>0,g],w=qa(q,m,a.Rb);0>w&&q.splice(-(w+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Nd:b,w:c,sc:d,Ba:e,Qb:f})}delete this.Ba}return!0};gf.prototype.za=function(){return!0}; var gg=[function(a){hg[a>>8&15].call(this,a)},ef,Ue,Ee,Ae,Ce,ve,function(a){ig[a>>8&15].call(this,a)},function(a){jg[a>>8&15].call(this,a)},ff,Ve,Fe,Be,De,of,W],hg=[function(a){kg[a>>4&15].call(this,a)},Re,Oe,Ge,He,Me,Ie,Ke,cf,cf,uf,wf,yf,function(a){lg[a>>6&3].call(this,a)},W,W],lg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.qa(a|this.M);K(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Ld(this,a,0);Ed(this,a);P(this,a);this.b-=11},function(a){var b=Gd(this),c=
function hf(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.Eb,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,g,l=eval("("+c+")");if(f=l.bytes)a.f=f;else if(f=l.words)for(a.f=Array(2*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255;else if(f=l.data)for(a.f=Array(4*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255,a.f[g++]=f[e]>>16&255,a.f[g++]=f[e]>>24&255;else a.f=l;a.Ba=l.symbols;if(!a.f.length){n("Empty ROM: "+ this.b;Md(this,a,0,b);P(this,b);this.b=c-gf[this.i]},function(a){P(this,Td(this,a,this.Ca?65535:0));this.b-=this.i?9:3+(7==this.f?2:0)}],kg=[function(a){mg[a&15].call(this,a)},W,W,W,af,af,af,af,mf,function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):this.$(8,6)},Tf,Vf,pf,pf,pf,pf],mg=[Ye,rf,lf,Qe,Ze,kf,function(){Fd(this);this.b-=13},W,W,W,W,W,W,W,W,W],ig=[hf,hf,We,We,we,we,xe,xe,sf,sf,W,W,W,W,nf,nf],jg=[Pe,Ne,Je,Le,Se,Te,ye,ze,Xe,qf,Xf,Zf,ag,function(a){ng[a>>6&3].call(this,
b);return}if(1==a.f.length){n(a.f[0]);return}}catch(m){a.na("ROM data error: "+m.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),e=0;e<b.length;e++)a.f[e]=aa(b[e],16);jf(a)}} a)},W,W],ng=[W,function(a){a=Ld(this,a,65536);Ed(this,a);P(this,a);this.b-=11},function(a){var b=Gd(this),c=this.b;Md(this,a,65536,b);P(this,b);this.b=c-gf[this.i]},W];function og(a){r.call(this,"ROM",a,og);this.f=null;this.D=a.addr;this.i=a.size;this.G=a.writable;this.B=a.alias;this.C=a.file;this.H=pa(this.C);if(this.C){a=this.C;var b=qa(this.H);"json"!=b&&"hex"!=b&&(a=sa()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Fa(a,null,!0,function(a,b,f){pg(c,a,b,f)})}}u(og);
function jf(a){if(!ib(a))if(!a.C)G(a);else if(a.f&&a.A){a.i||(a.i=a.f.length);if(a.f.length!=a.i)kb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.i,8,!0)+")");else{var b;b=a.D;if(Ob(a.A,b,a.i,a.G?1:qc)){var c;for(c=0;c<a.f.length;c++)a.A.qb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Nb(d.A,d.D,d.i);Mb(d.A,e,d.i,f)}delete a.f}}G(a)}} og.prototype.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;qg(this)};og.prototype.Aa=function(){if(this.Ba){if(this.j){var a=this.j,b=this.id,c=this.D,d=this.i,e=this.Ba,f=[],g;for(g in e){var l=e[g];"number"==typeof l&&(e[g]=l={o:l});var m=l.o,p=l.a;if(void 0!==m){var q=f,m=[m>>>0,g],v=za(q,m,a.Rb);0>v&&q.splice(-(v+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Nd:b,w:c,sc:d,Ba:e,Qb:f})}delete this.Ba}return!0};og.prototype.za=function(){return!0};
La(function(){for(var a=A(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new gf(d);fb(d,c)}});function kf(a){r.call(this,"RAM",a,kf);this.B=a.addr;this.i=a.size;this.f=!1}y(kf);kf.prototype.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;!this.f&&this.i&&Ob(this.A,this.B,this.i,1)&&(this.f=!0);this.f||n("No RAM allocated");G(this)};kf.prototype.Aa=function(){return!0};kf.prototype.za=function(){return!0};kf.prototype.reset=function(){}; function pg(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.Fb,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,g,l=eval("("+c+")");if(f=l.bytes)a.f=f;else if(f=l.words)for(a.f=Array(2*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255;else if(f=l.data)for(a.f=Array(4*f.length),g=e=0;e<f.length;e++)a.f[g++]=f[e]&255,a.f[g++]=f[e]>>8&255,a.f[g++]=f[e]>>16&255,a.f[g++]=f[e]>>24&255;else a.f=l;a.Ba=l.symbols;if(!a.f.length){n("Empty ROM: "+
La(function(){for(var a=A(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new kf(d);fb(d,c)}});function lf(a){r.call(this,"Keyboard",a,lf,65536);G(this)}y(lf);lf.prototype.ra=function(){return!1};lf.prototype.Da=function(a,b,c,d){this.B=a;this.b=c;this.j=d};La(function(){for(var a=A(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new lf(d);fb(d,c)}}); b);return}if(1==a.f.length){n(a.f[0]);return}}catch(m){a.na("ROM data error: "+m.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),e=0;e<b.length;e++)a.f[e]=na(b[e],16);qg(a)}}
function Y(a){this.C=this.G=null;this.T=a.tabSize;this.M=a.charBOL;this.H=0;r.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"==b)this.G="";else{var c;a=mf;b&&(void 0===c&&(c="Panel"),(c=eb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.I=this.K=null;this.exports={connect:this.Zb,receiveData:this.Kb}}y(Y);var mf="buffer";h=Y.prototype; function qg(a){if(!qb(a))if(!a.C)G(a);else if(a.f&&a.A){a.i||(a.i=a.f.length);if(a.f.length!=a.i)Fb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.i,8,!0)+")");else{var b;b=a.D;if(Yb(a.A,b,a.i,a.G?1:Ac)){var c;for(c=0;c<a.f.length;c++)a.A.rb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Xb(d.A,d.D,d.i);Wb(d.A,e,d.i,f)}delete a.f}}G(a)}}
h.ra=function(a,b,c){var d=this;switch(b){case mf:return this.J[b]=this.C=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<b&&(b-=64),d.Kb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Kb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1}; Ta(function(){for(var a=A(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new og(d);nb(d,c)}});function rg(a){r.call(this,"RAM",a,rg);this.B=a.addr;this.i=a.size;this.f=!1}u(rg);rg.prototype.Da=function(a,b,c,d){this.A=b;this.b=c;this.j=d;!this.f&&this.i&&Yb(this.A,this.B,this.i,1)&&(this.f=!0);this.f||n("No RAM allocated");G(this)};rg.prototype.Aa=function(){return!0};rg.prototype.za=function(){return!0};rg.prototype.reset=function(){};
h.Da=function(a,b,c,d){this.B=a;this.A=b;this.b=c;this.j=d;var e=this;this.ca=hc(48,4);this.U=Xb(this.b,function(){e.f&128||!e.D.length||(e.R=e.D.shift(),e.f|=128,e.f&64&&fc(e.b,e.ca))});this.da=hc(52,4);this.V=Xb(this.b,function(){e.i|=128;e.i&64&&fc(e.b,e.da)});Ub(b,this,nf);G(this)}; Ta(function(){for(var a=A(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new rg(d);nb(d,c)}});function sg(a){r.call(this,"Keyboard",a,sg,65536);G(this)}u(sg);sg.prototype.ra=function(){return!1};sg.prototype.Da=function(a,b,c,d){this.B=a;this.b=c;this.j=d};Ta(function(){for(var a=A(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new sg(d);nb(d,c)}});
h.Zb=function(){if(!this.I){var a=Dc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=oa(b[0]);if(c!=this.Ua)return;b=oa(b[1]);if(this.I=db(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.K=d.receiveData){this.status(this.Eb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.Aa=function(a,b){if(!b)if(this.Zb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; function Y(a){this.C=this.G=null;this.T=a.tabSize;this.M=a.charBOL;this.H=0;r.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"==b)this.G="";else{var c;a=tg;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.I=this.K=null;this.exports={connect:this.Zb,receiveData:this.Kb}}u(Y);var tg="buffer";h=Y.prototype;
h.za=function(a){return a?this.save():!0};h.reset=function(){of(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return of(this)};function of(a){a.R=0;a.f=0;a.i=128;a.D=[];return!0}h.Kb=function(a){if("number"==typeof a)this.D.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.D.push(a.charCodeAt(b));else this.D=this.D.concat(a);gc(this.b,this.U,1);return!0};h.Nc=function(){return this.f&65535};h.xd=function(a){this.f=this.f&-112|a&111}; h.ra=function(a,b,c){var d=this;switch(b){case tg:return this.J[b]=this.C=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<b&&(b-=64),d.Kb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Kb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
h.Mc=function(){this.f&=-129;0<this.D.length&&gc(this.b,this.U,1);return this.R};h.wd=function(){};h.$c=function(){return this.i};h.Kd=function(a){128==(this.i&192)&&a&64&&gc(this.b,this.V,1);this.i=this.i&-70|a&69};h.Zc=function(){return 0}; h.Da=function(a,b,c,d){this.B=a;this.A=b;this.b=c;this.j=d;var e=this;this.ba=rc(48,4);this.U=oc(this.b,function(){e.f&128||!e.D.length||(e.R=e.D.shift(),e.f|=128,e.f&64&&pc(e.b,e.ba))});this.ca=rc(52,4);this.V=oc(this.b,function(){e.i|=128;e.i&64&&pc(e.b,e.ca)});lc(b,this,ug);G(this)};
h.Jd=function(a){if(a&=255){B(this,"transmitByte("+k(a,2,!0)+")");this.K&&this.K.call(this.I,a);if(this.C)if(13==a)this.H=0;else if(8==a)this.C.value=this.C.value.slice(0,-1),0<this.H&&this.H--;else{var b;b=(b=pa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.H%a,this.T&&(b=na("",c)));this.M&&!this.H&&c&&(b=String.fromCharCode(this.M)+b);this.C.value+=b;this.C.scrollTop=this.C.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.g(this.G), h.Zb=function(){if(!this.I){var a=Nc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=xa(b[0]);if(c!=this.Ua)return;b=xa(b[1]);if(this.I=lb(b)){var d=this.I.exports;if(d){var e=d.connect;e&&e.call(this.I);if(this.K=d.receiveData){this.status(this.Fb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.Aa=function(a,b){if(!b)if(this.Zb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.i&=-129;gc(this.b,this.V,1)}};var pf={},nf=(pf[65392]=[null,null,Y.prototype.Nc,Y.prototype.xd,"RCSR"],pf[65394]=[null,null,Y.prototype.Mc,Y.prototype.wd,"RBUF"],pf[65396]=[null,null,Y.prototype.$c,Y.prototype.Kd,"XCSR"],pf[65398]=[null,null,Y.prototype.Zc,Y.prototype.Jd,"XBUF"],pf);La(function(){for(var a=A(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);fb(d,c)}}); h.za=function(a){return a?this.save():!0};h.reset=function(){vg(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return vg(this)};function vg(a){a.R=0;a.f=0;a.i=128;a.D=[];return!0}h.Kb=function(a){if("number"==typeof a)this.D.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.D.push(a.charCodeAt(b));else this.D=this.D.concat(a);qc(this.b,this.U,1);return!0};h.Nc=function(){return this.f&65535};h.xd=function(a){this.f=this.f&-112|a&111};
function qf(a){r.call(this,"Debugger",a,qf);this.ja=a.base||16;this.va=!1;this.R=this.ua=this.H=0;this.U=!1;this.C=-1;this.i=[];this.ca={}}y(qf);var rf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};qf.prototype.Wb=function(){return-1};qf.prototype.Xb=function(){}; h.Mc=function(){this.f&=-129;0<this.D.length&&qc(this.b,this.U,1);return this.R};h.wd=function(){};h.$c=function(){return this.i};h.Kd=function(a){128==(this.i&192)&&a&64&&qc(this.b,this.V,1);this.i=this.i&-70|a&69};h.Zc=function(){return 0};
function sf(a,b,c,d){if(c)if(b){0>a.C&&a.i.length&&(a.C=0);if(0>a.C||b!=a.i[a.C])a.i.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.i[a.C+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(oa(b.substring(c,f))),c=f+1}}return a} h.Jd=function(a){if(a&=255){B(this,"transmitByte("+k(a,2,!0)+")");this.K&&this.K.call(this.I,a);if(this.C)if(13==a)this.H=0;else if(8==a)this.C.value=this.C.value.slice(0,-1),0<this.H&&this.H--;else{var b;b=(b=ya[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.T||8,c=a-this.H%a,this.T&&(b=wa("",c)));this.M&&!this.H&&c&&(b=String.fromCharCode(this.M)+b);this.C.value+=b;this.C.scrollTop=this.C.scrollHeight;this.H+=c}else if(null!=this.G){if(10==a||1024<=this.G.length)this.g(this.G),
function tf(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<<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;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?1:0;break;case "&":d=f&e;break; this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.i&=-129;qc(this.b,this.V,1)}};var wg={},ug=(wg[65392]=[null,null,Y.prototype.Nc,Y.prototype.xd,"RCSR"],wg[65394]=[null,null,Y.prototype.Mc,Y.prototype.wd,"RBUF"],wg[65396]=[null,null,Y.prototype.$c,Y.prototype.Kd,"XCSR"],wg[65398]=[null,null,Y.prototype.Zc,Y.prototype.Jd,"XBUF"],wg);Ta(function(){for(var a=A(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);nb(d,c)}});
function xg(a){r.call(this,"Debugger",a,xg);this.ja=a.base||16;this.wa=!1;this.R=this.va=this.H=0;this.U=!1;this.C=-1;this.i=[];this.ba={}}u(xg);var yg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};xg.prototype.Wb=function(){return-1};xg.prototype.Xb=function(){};
function zg(a,b,c,d){if(c)if(b){0>a.C&&a.i.length&&(a.C=0);if(0>a.C||b!=a.i[a.C])a.i.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.i[a.C+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(xa(b.substring(c,f))),c=f+1}}return a}
function Ag(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<<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;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?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} 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 uf(a,b,c){var d;if(b){b=vf(a,b);for(var e=0,f=!1,g=b,l=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var q=p[e++],w=q.length,q=oa(q);if(!q){f=!0;break}q=wf(a,q,null,!1===c);if(void 0===q){f=!0;c=!1;break}l.push(q);if(e==p.length)break;var q=p[e++],u=q.length;m.length&&rf[q]<rf[m[m.length-1]]&&tf(l,m,1);m.push(q);b=b.substr(w+u)}tf(l,m)&&1==l.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&xf(a,null, function Bg(a,b,c){var d;if(b){b=Cg(a,b);for(var e=0,f=!1,g=b,l=[],m=[],p=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<p.length;){var q=p[e++],v=q.length,q=xa(q);if(!q){f=!0;break}q=Dg(a,q,null,!1===c);if(void 0===q){f=!0;c=!1;break}l.push(q);if(e==p.length)break;var q=p[e++],w=q.length;m.length&&yg[q]<yg[m[m.length-1]]&&Ag(l,m,1);m.push(q);b=b.substr(v+w)}Ag(l,m)&&1==l.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&Eg(a,null,
d))}return d}function vf(a,b){for(var c,d=a.va?"(":"{",e=a.va?")":"}",f=new RegExp(a.va?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=uf(a,c[1]);b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.R-a.ua}if(null==d)break;b=b.replace(c[0],d.toString())}return b} d))}return d}function Cg(a,b){for(var c,d=a.wa?"(":"{",e=a.wa?")":"}",f=new RegExp(a.wa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Bg(a,c[1]);b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.R-a.va}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
function wf(a,b,c,d){var e;null!=b?(e=a.Wb(b),0<=e?e=a.Xb(e):(e=a.ca[b],null==e&&(e=aa(b,a.ja))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} function Dg(a,b,c,d){var e;null!=b?(e=a.Wb(b),0<=e?e=a.Xb(e):(e=a.ba[b],null==e&&(e=na(b,a.ja))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function xf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var l=0;l<f;l++){g&&(g=","+g);var m=d&255,p=8,q="";p?32<p&&(p=32):p=32;if(null==m||isNaN(m))for(;0<p--;)q="?"+q;else for(;0<p--;)q=(m&1?"1":"0")+q,m>>=1;g=q+g;d>>=8}d=k(c,0,!0)+" "+c+". "+ca(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function yf(a,b){if(b)return xf(a,b,a.ca[b]);var c=0;for(b in a.ca)xf(a,b,a.ca[b]),c++;return 0<c} function Eg(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var l=0;l<f;l++){g&&(g=","+g);var m=d&255,p=8,q="";p?32<p&&(p=32):p=32;if(null==m||isNaN(m))for(;0<p--;)q="?"+q;else for(;0<p--;)q=(m&1?"1":"0")+q,m>>=1;g=q+g;d>>=8}d=k(c,0,!0)+" "+c+". "+oa(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function Fg(a,b){if(b)return Eg(a,b,a.ba[b]);var c=0;for(b in a.ba)Eg(a,b,a.ba[b]),c++;return 0<c}
function J(a,b,c,d){switch(a.ja){case 8:a=ca(b,3*c);break;case 10:a=b.toString();break;default:a=k(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a} function J(a,b,c,d){switch(a.ja){case 8:a=oa(b,3*c);break;case 10:a=b.toString();break;default:a=k(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}function Gg(a){xg.call(this,a);this.wa=!0;this.K=Z(0);this.Oa=Z(0);this.T=Z(0);this.G=[];this.f=this.M=this.D=[];Hg(this);this.ma=0;Ig(this);this.xa={};Jg(this,a.messages);this.Fa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Qc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Qc(b,a)})}
function zf(a){qf.call(this,a);this.va=!0;this.K=Z(0);this.Oa=Z(0);this.T=Z(0);this.G=[];this.f=this.M=this.D=[];Af(this);this.ma=0;Bf(this);this.xa={};Cf(this,a.messages);this.Fa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Gc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Gc(b,a)})}y(zf,qf); u(Gg,xg);
var Df={"?":"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"},Ef="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "), 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"},Lg="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),Mg=
Ff={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096], {61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],33024:[23,
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72, 4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,63],
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};h=zf.prototype; 35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};h=Gg.prototype;
h.Da=function(a,b,c,d){this.A=b;this.b=c;this.B=a;(a=Dc(a,"messages"))&&Cf(this,a);this.Wa=Ff;Gf(this,function(a){a:{var b=d.A.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Hf(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.A.Z;m=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.g("..."):(c=q.type,p=Rb[c],q&&d.g(k(q.id,8)+" %"+k(e<<d.A.Z,8)+" %%"+k(q.w,8)+" "+k(q.sb, h.Da=function(a,b,c,d){this.A=b;this.b=c;this.B=a;(a=Nc(a,"messages"))&&Jg(this,a);this.Wa=Mg;Ng(this,function(a){a:{var b=d.A.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Og(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.A.ga;m=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.g("..."):(c=q.type,p=ac[c],q&&d.g(k(q.id,8)+" %"+k(e<<d.A.ga,8)+" %%"+k(q.w,8)+" "+k(q.tb,
4,!0)+" "+k(q.size,4,!0)+" "+p),c!=pc&&(c=-1),p=0);a+=d.A.wa;e++}}});G(this)}; 4,!0)+" "+k(q.size,4,!0)+" "+p),c!=zc&&(c=-1),p=0);a+=d.A.sa;e++}}});G(this)};
h.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Gc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.i.length-1&&(b=d.i[++d.C])):40==a.keyCode&&(0<d.C?b=d.i[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Fa(c,function(){if(d.la){var a=d.la.value; h.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Qc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.i.length-1&&(b=d.i[++d.C])):40==a.keyCode&&(0<d.C?b=d.i[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Na(c,function(){if(d.la){var a=d.la.value;
d.la.value="";Gc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Fa(c,function(a){var b=!1;hb(d,!0)||(gb(d,!0),b=d.eb(a?1:0),gb(d,!1));return b}),!0}return!1};h.rb=function(){this.la&&this.la.focus()};h.Y=function(a){a=a&&a.w;null==a&&(a=-1);return a};h.kb=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.ub?this.A.yb(d):this.b.yb(d),b&&If(a,b));return c};h.ka=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.ub?this.A.lb(d):this.b.lb(d),b&&If(a,b));return c}; d.la.value="";Qc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Na(c,function(a){var b=!1;pb(d,!0)||(ob(d,!0),b=d.eb(a?1:0),ob(d,!1));return b}),!0}return!1};h.sb=function(){this.la&&this.la.focus()};h.Y=function(a){a=a&&a.w;null==a&&(a=-1);return a};h.kb=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.vb?this.A.zb(d):this.b.zb(d),b&&Pg(a,b));return c};h.ka=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.vb?this.A.lb(d):this.b.lb(d),b&&Pg(a,b));return c};
h.Bb=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.ub?this.A.qb(d,b):this.b.qb(d,b),c&&If(a,c),this.B.ba(!0))};h.Sa=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.ub?this.A.Cb(d,b):this.b.Cb(d,b),c&&If(a,c),this.B.ba(!0))};function Z(a,b){return{w:a,ub:b,ya:!1}}function Jf(a){return[a.w,a.ya]}function Kf(a){return{w:a[0],ya:a[1]}} h.Cb=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.vb?this.A.rb(d,b):this.b.rb(d,b),c&&Pg(a,c),this.B.aa(!0))};h.Sa=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.vb?this.A.Db(d,b):this.b.Db(d,b),c&&Pg(a,c),this.B.aa(!0))};function Z(a,b){return{w:a,vb:b,ya:!1}}function Qg(a){return[a.w,a.ya]}function Rg(a){return{w:a[0],ya:a[1]}}
function Hf(a,b,c){var d,e=(c?a.K:a.Oa).w;c=!1;if(void 0!==b){b=vf(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.G.length;e++){var g=a.G[e].Ba[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=uf(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Lf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hc=sf(a,b.dc=c[2]))}function If(a,b){null!=a.w&&(a.w+=b||1)} function Og(a,b,c){var d,e=(c?a.K:a.Oa).w;c=!1;if(void 0!==b){b=Cg(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.G.length;e++){var g=a.G[e].Ba[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=Bg(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Sg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hc=zg(a,b.dc=c[2]))}function Pg(a,b){null!=a.w&&(a.w+=b||1)}
function Cf(a,b){a.j=a;a.ia=a.jc=536870912;a.oa=null;a.ta=[];b=sf(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in H){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;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=H[c],a.g(c+" messages enabled"))}}function Gf(a,b){for(var c in H)if(64==H[c]){a.xa[c]=b;break}} function Jg(a,b){a.j=a;a.ia=a.jc=536870912;a.oa=null;a.ua=[];b=zg(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in H){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;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ia|=H[c],a.g(c+" messages enabled"))}}function Ng(a,b){for(var c in H)if(64==H[c]){a.xa[c]=b;break}}
h.Wb=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Mf(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.Xb=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Ea[a-8]:20>a?b=this.b.sa[a-16]:20==a&&(b=Db(this.b)));return b}; h.Wb=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Tg(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.Xb=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Ea[a-8]:20>a?b=this.b.ta[a-16]:20==a&&(b=Lb(this.b)));return b};
h.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.pb).w));this.ia&1073741824?this.ta.push(a):this.oa&&a==this.oa||(this.oa=a,this.ia&-2147483648&&(this.fa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.la=0,a.B.ba()))}; h.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.qb).w));this.ia&1073741824?this.ua.push(a):this.oa&&a==this.oa||(this.oa=a,this.ia&-2147483648&&(this.ea(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Wc(a),a.la=0,a.B.aa()))};
function Bf(a){var b;if(Jd(a)){if(!a.I||!a.I.length){a.I=Array(1E3);for(b=0;b<a.I.length;b++)a.I[b]=Z();a.ga=0;a.g("instruction history buffer allocated")}if(!a.da||!a.da.length)for(a.da=Array(256),b=0;b<a.da.length;b++)a.da[b]=[b,0]}else a.I&&a.I.length&&a.g("instruction history buffer freed"),a.ga=0,a.I=[],a.da=[]}h.cb=function(a,b){if(!Nf(this,b))return!1;this.b.cb(a);return!0}; function Ig(a){var b;if(Ud(a)){if(!a.I||!a.I.length){a.I=Array(1E3);for(b=0;b<a.I.length;b++)a.I[b]=Z();a.fa=0;a.g("instruction history buffer allocated")}if(!a.ca||!a.ca.length)for(a.ca=Array(256),b=0;b<a.ca.length;b++)a.ca[b]=[b,0]}else a.I&&a.I.length&&a.g("instruction history buffer freed"),a.fa=0,a.I=[],a.ca=[]}h.cb=function(a,b){if(!Ug(this,b))return!1;this.b.cb(a);return!0};
h.eb=function(a,b,c){if(!Nf(this))return!1;this.H=0;a||Jd(this)&&Kd(this,this.b.u[7],0);try{a=Nc(this.b,a);var d=this.b.eb(a);0<d&&(Oc(this.b,a),this.H+=d,Kc(this.b,d,!0),Hc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,kb(this.b,e.stack||e.message))}!1!==c&&this.B.ba();this.ba(b||!1);return 0<this.H};h.fa=function(a){this.b&&this.b.fa(a)};h.ba=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?Of(this):Pf(this)}; h.eb=function(a,b,c){if(!Ug(this))return!1;this.H=0;a||Ud(this)&&Vd(this,this.b.u[7],0);try{a=Xc(this.b,a);var d=this.b.eb(a);0<d&&(Yc(this.b,a),this.H+=d,Uc(this.b,d,!0),Rc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,Fb(this.b,e.stack||e.message))}!1!==c&&this.B.aa();this.aa(b||!1);return 0<this.H};h.ea=function(a){this.b&&this.b.ea(a)};h.aa=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?Vg(this):Wg(this)};
function Nf(a,b){var c;(c=!a.b||!ib(a.b))||(c=a.b,c.v.ha?c=!0:(c.g(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ea?(b||a.g("cpu busy or unavailable, command ignored"),!1):!jb(a.b)}h.Aa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.za=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Bf(this);this.R=this.ua=0;this.oa=null;this.H=0;this.K=Z(this.b.u[7]);this.v.ea=!1;Qf(this);a||this.ba()}; function Ug(a,b){var c;(c=!a.b||!qb(a.b))||(c=a.b,c.v.ha?c=!0:(c.g(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.da?(b||a.g("cpu busy or unavailable, command ignored"),!1):!Eb(a.b)}h.Aa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.za=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Ig(this);this.R=this.va=0;this.oa=null;this.H=0;this.K=Z(this.b.u[7]);this.v.da=!1;Xg(this);a||this.aa()};
h.save=function(){var a=new O(this);a.set(0,Jf(this.K));a.set(1,Jf(this.T));a.set(2,[this.i,this.U,this.ia]);a.set(3,this.G);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Kf(a[b++]),this.T=Kf(a[b++]),this.i=a[b][0],"string"==typeof this.i&&(this.i=[this.i]),this.U=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};h.start=function(a,b){this.V||this.g("running");this.v.ea=!0;this.jb=a;this.vb=b}; h.save=function(){var a=new O(this);a.set(0,Qg(this.K));a.set(1,Qg(this.T));a.set(2,[this.i,this.U,this.ia]);a.set(3,this.G);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Rg(a[b++]),this.T=Rg(a[b++]),this.i=a[b][0],"string"==typeof this.i&&(this.i=[this.i]),this.U=a[b][1],this.ia|=a[b][2]);a[3]&&(this.G=a[3]);return!0};h.start=function(a,b){this.V||this.g("running");this.v.da=!0;this.jb=a;this.wb=b};
h.stop=function(a,b){if(this.v.ea){this.v.ea=!1;this.H=b-this.vb;if(!this.V){b="stopped";if(this.H){a-=this.jb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Jd(this)&&(b+=this.R+" opcodes, ",this.ua-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.ba(!0);this.rb();Qf(this,this.b.u[7])}};function Jd(a){return 1<a.f.length||!!a.ma} h.stop=function(a,b){if(this.v.da){this.v.da=!1;this.H=b-this.wb;if(!this.V){b="stopped";if(this.H){a-=this.jb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Ud(this)&&(b+=this.R+" opcodes, ",this.va-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.aa(!0);this.sb();Xg(this,this.b.u[7])}};function Ud(a){return 1<a.f.length||!!a.ma}
function Kd(a,b,c){var d=a.b;if(0<c&&(a.ma&&!--a.ma||yc(a,b,1,a.f)))return!0;0<=c&&a.da.length&&(a.R++,null!=a.b.lb(b)&&(b=a.I[a.ga],b.w=d.u[7],b.ya=!1,++a.ga==a.I.length&&(a.ga=0)));return!1}function Af(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.A;c=a.Y(c);zc(d.W[c>>>d.Z],!1)}a.M=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.A,c=a.Y(c),zc(d.W[c>>>d.Z],!0);a.D=["bw"];a.Ta=0} function Vd(a,b,c){var d=a.b;if(0<c&&(a.ma&&!--a.ma||Ic(a,b,1,a.f)))return!0;0<=c&&a.ca.length&&(a.R++,null!=a.b.lb(b)&&(b=a.I[a.fa],b.w=d.u[7],b.ya=!1,++a.fa==a.I.length&&(a.fa=0)));return!1}function Hg(a){var b,c;a.f=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];var d=a.A;c=a.Y(c);Jc(d.W[c>>>d.ga],!1)}a.M=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.A,c=a.Y(c),Jc(d.W[c>>>d.ga],!0);a.D=["bw"];a.Ta=0}
h.Pa=function(a,b,c){var d=!0;c||Rf(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.g("invalid address: "+J(this,b.w)),d=!1;else{var f=this.A;f.W[e>>>f.Z].Pa(e&f.A,a==this.D)}}d&&(a.push(b),c?b.ya=!0:(Sf(this,a,a.length-1,"set"),Bf(this)));return d};function Rf(a,b,c,d,e){var f=!1;c=a.Y(c);for(var g=1;g<b.length;g++){var l=b[g];if(c==a.Y(l)&&(!d||l.ya)){f=!0;l.ya||e||Sf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.A,zc(d.W[c>>>d.Z],b==a.D));l.ya||Bf(a);break}}return f} h.Pa=function(a,b,c){var d=!0;c||Yg(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.g("invalid address: "+J(this,b.w)),d=!1;else{var f=this.A;f.W[e>>>f.ga].Pa(e&f.A,a==this.D)}}d&&(a.push(b),c?b.ya=!0:(Zg(this,a,a.length-1,"set"),Ig(this)));return d};function Yg(a,b,c,d,e){var f=!1;c=a.Y(c);for(var g=1;g<b.length;g++){var l=b[g];if(c==a.Y(l)&&(!d||l.ya)){f=!0;l.ya||e||Zg(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.A,Jc(d.W[c>>>d.ga],b==a.D));l.ya||Ig(a);break}}return f}
function Tf(a,b){for(var c=1;c<b.length;c++)Sf(a,b,c);return b.length-1}function Sf(a,b,c,d){c=b[c];a.g(b[0]+" "+J(a,c.w)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}function Qf(a,b){if(void 0!==b)yc(a,b,1,a.f,!0),a.V=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.ya){if(!Rf(a,a.f,c,!0))break;b=0}}} function $g(a,b){for(var c=1;c<b.length;c++)Zg(a,b,c);return b.length-1}function Zg(a,b,c,d){c=b[c];a.g(b[0]+" "+J(a,c.w)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}function Xg(a,b){if(void 0!==b)Ic(a,b,1,a.f,!0),a.V=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.ya){if(!Yg(a,a.f,c,!0))break;b=0}}}
function yc(a,b,c,d,e){var f=!1;if(!a.Ta++)for(var g=1;!f&&g<d.length;g++){var l=d[g];if(!e||l.ya)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.ya&&(Rf(a,d,l,!0),e=!0);if(q=l.hc){for(var f=!1,w=0;w<q.length;w++)if(!Uf(a,q[w],!0)){if(q[w].indexOf("if")){f=!0;break}for(var u=w+1;u<q.length&&q[u].indexOf("else");u++)w++;if(u==q.length){f=!0;break}}a.b.v.ea||(f=!0)}if(f){e||Sf(a,d,g,"hit");break}}}a.Ta--;return f} function Ic(a,b,c,d,e){var f=!1;if(!a.Ta++)for(var g=1;!f&&g<d.length;g++){var l=d[g];if(!e||l.ya)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.ya&&(Yg(a,d,l,!0),e=!0);if(q=l.hc){for(var f=!1,v=0;v<q.length;v++)if(!ah(a,q[v],!0)){if(q[v].indexOf("if")){f=!0;break}for(var w=v+1;w<q.length&&q[w].indexOf("else");w++)v++;if(w==q.length){f=!0;break}}a.b.v.da||(f=!0)}if(f){e||Zg(a,d,g,"hit");break}}}a.Ta--;return f}
function Vf(a,b,c,d){var e=Z(b.w),f=a.ka(b,2),g,l;for(l in a.Wa)if(g=a.Wa[l][f&l])break;g||(g=[0]);for(var m=l="",p=Ef[g[0]],q=g.length-1,w=1;w<=q;w++){var u=g[w];if(void 0!==u){var v;v=a;var C=u,u=b,x="",D=C&61440;if(4096==D)u=u.w+((f&255)<<24>>23)&65535,x=J(v,u);else if(8192==D)u=u.w-((f&63)<<1)&65535,x=J(v,u);else if(12288==D)x=J(v,f&7,1);else if(24576==D)x=J(v,f&63,1);else if(D=f&C,C&4032&&(D>>=6,C>>=6),C&63)switch(C=D&7,D&56){case 0:x=Mf(C);break;case 8:x="@"+Mf(C);break;case 16:7>C?x="("+Mf(C)+ function bh(a,b,c,d){var e=Z(b.w),f=a.ka(b,2),g,l;for(l in a.Wa)if(g=a.Wa[l][f&l])break;g||(g=[0]);for(var m=l="",p=Lg[g[0]],q=g.length-1,v=1;v<=q;v++){var w=g[v];if(void 0!==w){var x;x=a;var C=w,w=b,y="",D=C&61440;if(4096==D)w=w.w+((f&255)<<24>>23)&65535,y=J(x,w);else if(8192==D)w=w.w-((f&63)<<1)&65535,y=J(x,w);else if(12288==D)y=J(x,f&7,1);else if(24576==D)y=J(x,f&63,1);else if(D=f&C,C&4032&&(D>>=6,C>>=6),C&63)switch(C=D&7,D&56){case 0:y=Tg(C);break;case 8:y="@"+Tg(C);break;case 16:7>C?y="("+Tg(C)+
")+":(D=v.ka(u,2),x="#"+J(v,D,0,!0));break;case 24:7>C?x="@("+Mf(C)+")+":(D=v.ka(u,2),x="@#"+J(v,D,0,!0));break;case 32:x="-("+Mf(C)+")";break;case 40:x="@-("+Mf(C)+")";break;case 48:D=v.ka(u,2);x=J(v,D,0,!0)+"("+Mf(C)+")";7==C&&(x=[x,J(v,D+u.w&65535)]);break;case 56:D=v.ka(u,2),x="@"+J(v,D)+"("+Mf(C)+")",7==C&&(x=[x,J(v,D+u.w&65535)])}v=x;if(!v||!v.length){l="INVALID";break}"string"!=typeof v&&(m=v[1],v=v[0]);0<l.length&&(l+=",");l+=v||"???"}}f="";g=J(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(f+=" "+ ")+":(D=x.ka(w,2),y="#"+J(x,D,0,!0));break;case 24:7>C?y="@("+Tg(C)+")+":(D=x.ka(w,2),y="@#"+J(x,D,0,!0));break;case 32:y="-("+Tg(C)+")";break;case 40:y="@-("+Tg(C)+")";break;case 48:D=x.ka(w,2);y=J(x,D,0,!0)+"("+Tg(C)+")";7==C&&(y=[y,J(x,D+w.w&65535)]);break;case 56:D=x.ka(w,2),y="@"+J(x,D)+"("+Tg(C)+")",7==C&&(y=[y,J(x,D+w.w&65535)])}x=y;if(!x||!x.length){l="INVALID";break}"string"!=typeof x&&(m=x[1],x=x[0]);0<l.length&&(l+=",");l+=x||"???"}}f="";g=J(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(f+=" "+
J(a,a.ka(e,2)),null==e.w)break;while(e.w!=b.w)}g+=na(f,24);g+=na(p,5);l&&(g+=" "+l);if(c||m)g=na(g,60)+";"+(c||""),g=a.b.v.Xa?g+("cycles="+Ic(a.b).toString()+" cs="+k(a.b.mb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function Wf(a,b){switch(b){case "N":a=a.b.Ca();break;case "Z":a=nd(a.b);break;case "V":a=md(a.b);break;case "C":a=ld(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "} J(a,a.ka(e,2)),null==e.w)break;while(e.w!=b.w)}g+=wa(f,24);g+=wa(p,5);l&&(g+=" "+l);if(c||m)g=wa(g,60)+";"+(c||""),g=a.b.v.Xa?g+("cycles="+Sc(a.b).toString()+" cs="+k(a.b.nb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function ch(a,b){switch(b){case "N":a=a.b.Ca();break;case "Z":a=yd(a.b);break;case "V":a=xd(a.b);break;case "C":a=wd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
function Xf(a,b){var c="",d=a.b;8>b?(c=Mf(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Ea[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.sa[b-16]):20==b&&(c="PS="+J(a,Db(d)));c&&(c+=" ");return c}function Yf(a){var b,c="";for(b=0;6>b;b++)c+=Xf(a,b);c=c+"\n"+(Xf(a,6)+Xf(a,7)+Xf(a,20));return c+=Wf(a,"T")+Wf(a,"N")+Wf(a,"Z")+Wf(a,"V")+Wf(a,"C")}h.Rb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function dh(a,b){var c="",d=a.b;8>b?(c=Tg(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Ea[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.ta[b-16]):20==b&&(c="PS="+J(a,Lb(d)));c&&(c+=" ");return c}function eh(a){var b,c="";for(b=0;6>b;b++)c+=dh(a,b);c=c+"\n"+(dh(a,6)+dh(a,7)+dh(a,20));return c+=ch(a,"T")+ch(a,"N")+ch(a,"Z")+ch(a,"V")+ch(a,"C")}h.Rb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Zf(a,b,c){var d=[],e=a.Y(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.w>>>0,l=f.sc;if(e>=g&&e<g+l){e=qa(f.Qb,[e-g],a.Rb);0<=e?$f(a,b,e,d):c&&(e=~e,$f(a,b,e-1,d),$f(a,b,e,d));break}}return d}function $f(a,b,c,d){var e={},f=a.G[b].Qb,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].Ba[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)} function fh(a,b,c){var d=[],e=a.Y(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.w>>>0,l=f.sc;if(e>=g&&e<g+l){e=za(f.Qb,[e-g],a.Rb);0<=e?gh(a,b,e,d):c&&(e=~e,gh(a,b,e-1,d),gh(a,b,e,d));break}}return d}function gh(a,b,c,d){var e={},f=a.G[b].Qb,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].Ba[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)}
function ag(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return yf(a)||a.g("no variables"),!0;if(!c[2])return yf(a,c[1]);if(!c[3])return delete a.ca[c[1]],!0;b=uf(a,c[3]);return void 0!==b?(a.ca[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1} function hh(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Fg(a)||a.g("no variables"),!0;if(!c[2])return Fg(a,c[1]);if(!c[3])return delete a.ba[c[1]],!0;b=Bg(a,c[3]);return void 0!==b?(a.ba[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
function bg(a,b,c){var d=null;if(b=Hf(a,b,!0)){a.Y(b);var e=Zf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.w-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.w)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d} function ih(a,b,c){var d=null;if(b=Og(a,b,!0)){a.Y(b);var e=fh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.w-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.w)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
function Of(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=uf(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=f&65535;break;case "PC":case "R7":K(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;case "Z":d.X= function Vg(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}f=Bg(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=f&65535;break;case "PC":case "R7":K(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;case "Z":d.X=
f?0:1;break;case "V":d.O=f?32768:0;break;case "C":d.N=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.u[b]=f&65535;break}a.g("unknown register: "+e);return}a.B.ba();a.g("updated registers:")}a.g(Yf(a));c&&(a.K=Z(d.u[7]),Pf(a,J(a,a.K.w)))}}function cg(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):xf(a,null,c[2].charCodeAt(0)):uf(a,b,!0)} f?0:1;break;case "V":d.O=f?32768:0;break;case "C":d.N=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.u[b]=f&65535;break}a.g("unknown register: "+e);return}a.B.aa();a.g("updated registers:")}a.g(eh(a));c&&(a.K=Z(d.u[7]),Wg(a,J(a,a.K.w)))}}function jh(a,b){b=xa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.g(c[2]):Eg(a,null,c[2].charCodeAt(0)):Bg(a,b,!0)}
function dg(a,b,c){var d="t"!=b;c=wf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return gb(a,!0)&&a.eb(e,d,!1)},function(){a.B.ba();gb(a,!1)})} function kh(a,b,c){var d="t"!=b;c=Dg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ma(c,function(){return ob(a,!0)&&a.eb(e,d,!1)},function(){a.B.aa();ob(a,!1)})}
function Pf(a,b,c,d){if(b=Hf(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Hf(a,c,!0);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=hb(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=Zf(a,b),m=b.w;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.g(p)}l[3]&&(g=l[3],f=null);f=Vf(a,b,g,f);a.g(f);a.K=b;e-=b.w-m;c++}}} function Wg(a,b,c,d){if(b=Og(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Og(a,c,!0);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=pb(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=fh(a,b),m=b.w;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.g(p)}l[3]&&(g=l[3],f=null);f=bh(a,b,g,f);a.g(f);a.K=b;e-=b.w-m;c++}}}
function Uf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.U&&(a.g("ended assemble at "+J(a,a.T.w)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.oa=null;if(ib(a)&&0<b.length){a.U&&(b="a "+J(a,a.T.w)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var l=g[0],m=l.charAt(0),p=1;p<l.length;p++){var q=l.charAt(p);if("?"==m||"r"==m||"a">q||"z"<q){g[0]=l.substr(p);g.unshift(l.substr(0,p));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var w= function ah(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.U&&(a.g("ended assemble at "+J(a,a.T.w)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.oa=null;if(qb(a)&&0<b.length){a.U&&(b="a "+J(a,a.T.w)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var l=g[0],m=l.charAt(0),p=1;p<l.length;p++){var q=l.charAt(p);if("?"==m||"r"==m||"a">q||"z"<q){g[0]=l.substr(p);g.unshift(l.substr(0,p));break}}g[0]=g[0].toLowerCase();switch(g[0].charAt(0)){case "a":var v=
Hf(a,g[1],!0);if(w)if(a.T=w,void 0===g[2])a.g("begin assemble at "+J(a,w.w)),a.U=!0,a.B.ba();else{var u;a.g("not supported yet");u=[];if(u.length){for(var v=0;v<u.length;v++)a.Bb(w,u[v],1);a.g(Vf(a,a.T))}}break;case "b":a:{var C=g[0],x=g[1],D=b;if("?"==x)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"), Og(a,g[1],!0);if(v)if(a.T=v,void 0===g[2])a.g("begin assemble at "+J(a,v.w)),a.U=!0,a.B.aa();else{var w;a.g("not supported yet");w=[];if(w.length){for(var x=0;x<w.length;x++)a.Cb(v,w[x],1);a.g(bh(a,a.T))}}break;case "b":a:{var C=g[0],y=g[1],D=b;if("?"==y)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),
a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var ya=C.charAt(1);if("l"==ya){var Rc;Rc=0+Tf(a,a.f);Rc+=Tf(a,a.M);(Rc+=Tf(a,a.D))||a.g("no breakpoints")}else if("n"==ya)a.ma=wf(a,x),a.g("break after "+a.ma+" instruction(s)");else if(void 0===x)a.g("missing breakpoint address");else{var T=Z();if("*"!=x&&(T=Hf(a,x,!0),!T))break a;"c"==ya?null==T.w?(Af(a),a.g("all breakpoints cleared")):Rf(a,a.f,T)||Rf(a,a.M,T)||Rf(a,a.D,T)||a.g("breakpoint missing: "+J(a,T.w)):null!=T.w&&(Lf(a,T,D),"p"==ya?a.Pa(a.f, a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var Ba=C.charAt(1);if("l"==Ba){var Zc;Zc=0+$g(a,a.f);Zc+=$g(a,a.M);(Zc+=$g(a,a.D))||a.g("no breakpoints")}else if("n"==Ba)a.ma=Dg(a,y),a.g("break after "+a.ma+" instruction(s)");else if(void 0===y)a.g("missing breakpoint address");else{var T=Z();if("*"!=y&&(T=Og(a,y,!0),!T))break a;"c"==Ba?null==T.w?(Hg(a),a.g("all breakpoints cleared")):Yg(a,a.f,T)||Yg(a,a.M,T)||Yg(a,a.D,T)||a.g("breakpoint missing: "+J(a,T.w)):null!=T.w&&(Sg(a,T,D),"p"==Ba?a.Pa(a.f,
T):"r"==ya?a.Pa(a.M,T):"w"==ya?a.Pa(a.D,T):a.g("unknown breakpoint command: "+ya))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var Pa,Qa=g[0],ga=g[1],za=g[2],wg=g[3];if("?"==ga){var Ra="";for(Pa in H)a.xa[Pa]&&(Ra&&(Ra+=","),Ra+=Pa);Ra+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ra.length&& T):"r"==Ba?a.Pa(a.M,T):"w"==Ba?a.Pa(a.D,T):a.g("unknown breakpoint command: "+Ba))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var Ua,Va=g[0],ha=g[1],Ca=g[2],Dh=g[3];if("?"==ha){var Wa="";for(Ua in H)a.xa[Ua]&&(Wa&&(Wa+=","),Wa+=Ua);Wa+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Wa.length&&
a.g("dump extension commands:\n\t"+Ra)}else if("state"==ga){var Ae=eg(a.B,!0);"console"==za?console.log(Ae):(a.Qa&&(a.Qa.value=""),a.g(Ae))}else if("symbols"==ga)for(var Sc=0;Sc<a.G.length;Sc++){var Tc=a.G[Sc],Sa;for(Sa in Tc.Ba)if("."!=Sa.charAt(0)){var Be=Tc.Ba[Sa].o;if(void 0!==Be){var Ce=Tc.Ba[Sa].l;Ce&&(Sa=Ce);a.g(J(a,Be)+" "+Sa)}}}else{if("d"==Qa){for(Pa in H)if(g[1]==Pa){var De=a.xa[Pa];De?(g.shift(),g.shift(),De(g)):a.g("no dump registered for "+ga);break a}ga||(Qa=a.xb||"db")}else a.xb=Qa; a.g("dump extension commands:\n\t"+Wa)}else if("state"==ha){var Af=lh(a.B,!0);"console"==Ca?console.log(Af):(a.Qa&&(a.Qa.value=""),a.g(Af))}else if("symbols"==ha)for(var $c=0;$c<a.G.length;$c++){var ad=a.G[$c],Xa;for(Xa in ad.Ba)if("."!=Xa.charAt(0)){var Bf=ad.Ba[Xa].o;if(void 0!==Bf){var Cf=ad.Ba[Xa].l;Cf&&(Xa=Cf);a.g(J(a,Bf)+" "+Xa)}}}else{if("d"==Va){for(Ua in H)if(g[1]==Ua){var Df=a.xa[Ua];Df?(g.shift(),g.shift(),Df(g)):a.g("no dump registered for "+ha);break a}ha||(Va=a.yb||"db")}else a.yb=Va;
if("dh"==Qa){var Ee=ga,Fe=za,Ge="",He=0,ba=a.ga,ha=a.I;if(ha.length){var X=+Ee||a.Va,nb=+Fe||10;isNaN(X)?X=nb:Ge="more ";X>ha.length&&(a.g("note: only "+ha.length+" available"),X=ha.length);ba-=X;0>ba&&(null==ha[ha.length-1].w?(X=ba+X,ba=0):ba+=ha.length);var Uc=[];"call"==Fe&&(nb=1E5,Uc=["CALL"]);for(void 0!==Ee&&a.g(X+" instructions earlier:");0<nb&&ba!=a.ga;){var Ie=ha[ba++];if(null==Ie.w)break;var ob=Z(Ie.w),xg=X--,Je=Vf(a,ob,"history",xg);(!Uc.length||0<=Je.indexOf(Uc[0]))&&a.g(Je);ob.Gb&&(ba+= if("dh"==Va){var Ef=ha,Ff=Ca,Gf="",Hf=0,ba=a.fa,ia=a.I;if(ia.length){var X=+Ef||a.Va,rb=+Ff||10;isNaN(X)?X=rb:Gf="more ";X>ia.length&&(a.g("note: only "+ia.length+" available"),X=ia.length);ba-=X;0>ba&&(null==ia[ia.length-1].w?(X=ba+X,ba=0):ba+=ia.length);var bd=[];"call"==Ff&&(rb=1E5,bd=["CALL"]);for(void 0!==Ef&&a.g(X+" instructions earlier:");0<rb&&ba!=a.fa;){var If=ia[ba++];if(null==If.w)break;var sb=Z(If.w),Eh=X--,Jf=bh(a,sb,"history",Eh);(!bd.length||0<=Jf.indexOf(bd[0]))&&a.g(Jf);sb.Hb&&(ba+=
ob.Gb,nb-=ob.Gb,X-=ob.Gb);ba>=ha.length&&(ba=0);a.Va=X;He++;nb--}}He||(a.g("no "+Ge+"history available"),a.Va=void 0)}else{var pb=Hf(a,ga);if(pb){var Yb=0;za&&("l"==za.charAt(0)&&(za=za.substr(1)||wg),Yb=wf(a,za)>>>0,65536<Yb&&(Yb=65536));for(var qb="",Ta="dd"==Qa?4:"dw"==Qa?2:1,Zb=Ta*Yb||128,yg=Zb+15>>4||1;yg--&&0<Zb;){var $b=0,rb=0,sb,Vc="",Ke="",ga=J(a,pb.w);for(sb=4==Ta?16:a.ja;0<sb&&0<Zb;sb--){var Wc,ac=2==Ta?a.ka(pb,Wc=2):a.kb(pb,Wc=1),$b=$b|ac<<(rb<<3),rb=rb+Wc;rb==Ta&&(Vc+=J(a,$b,Ta),Vc+= sb.Hb,rb-=sb.Hb,X-=sb.Hb);ba>=ia.length&&(ba=0);a.Va=X;Hf++;rb--}}Hf||(a.g("no "+Gf+"history available"),a.Va=void 0)}else{var tb=Og(a,ha);if(tb){var bc=0;Ca&&("l"==Ca.charAt(0)&&(Ca=Ca.substr(1)||Dh),bc=Dg(a,Ca)>>>0,65536<bc&&(bc=65536));for(var ub="",Ya="dd"==Va?4:"dw"==Va?2:1,cc=Ya*bc||128,Fh=cc+15>>4||1;Fh--&&0<cc;){var dc=0,vb=0,wb,cd="",Kf="",ha=J(a,tb.w);for(wb=4==Ya?16:a.ja;0<wb&&0<cc;wb--){var dd,ec=2==Ya?a.ka(tb,dd=2):a.kb(tb,dd=1),dc=dc|ec<<(vb<<3),vb=vb+dd;vb==Ya&&(cd+=J(a,dc,Ya),cd+=
1==Ta?9==sb?"-":" ":" ",$b=rb=0);Ke+=32<=ac&&128>ac?String.fromCharCode(ac):".";Zb--}qb&&(qb+="\n");qb+=ga+" "+Vc+(0==sb?" "+Ke:"")}qb&&a.g(qb);a.Oa=pb}}}}break;case "e":if("else"==g[0])break;var Ua,Xc,Yc,Zc,$c=g[0],ad=g[1];"eb"==$c?(Ua=1,Xc=255,Yc=a.kb,Zc=a.Bb):"e"==$c||"ew"==$c?(Ua=2,Xc=65535,Yc=a.ka,Zc=a.Sa):ad=null;if(null==ad)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var bc=Hf(a,ad);if(bc)for(var cc=2;cc< 1==Ya?9==wb?"-":" ":" ",dc=vb=0);Kf+=32<=ec&&128>ec?String.fromCharCode(ec):".";cc--}ub&&(ub+="\n");ub+=ha+" "+cd+(0==wb?" "+Kf:"")}ub&&a.g(ub);a.Oa=tb}}}}break;case "e":if("else"==g[0])break;var Za,ed,fd,gd,hd=g[0],id=g[1];"eb"==hd?(Za=1,ed=255,fd=a.kb,gd=a.Cb):"e"==hd||"ew"==hd?(Za=2,ed=65535,fd=a.ka,gd=a.Sa):id=null;if(null==id)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var fc=Og(a,id);if(fc)for(var gc=2;gc<
g.length;cc++){var tb=uf(a,g[cc]);if(void 0===tb){a.g("unrecognized value: "+g[cc]);break}tb&~Xc&&a.g("warning: "+k(tb)+" exceeds "+Ua+"-byte value");var zg=Yc.call(a,bc);a.g("changing "+J(a,bc.w)+" from "+J(a,zg,Ua)+" to "+J(a,tb,Ua));Zc.call(a,bc,tb,Ua)}}break;case "g":a:{var Le=g[1],Ag=b;if(void 0!==Le){var bd=Hf(a,Le,!0);if(!bd)break a;Lf(a,bd,Ag);a.Pa(a.f,bd,!0)}a.cb(!0,c)}break;case "h":a.v.ea?(c||a.g("halting"),a.fa()):hb(a,!0)||c||a.g("already halted");break;case "i":if("if"==g[0]){var cd; g.length;gc++){var xb=Bg(a,g[gc]);if(void 0===xb){a.g("unrecognized value: "+g[gc]);break}xb&~ed&&a.g("warning: "+k(xb)+" exceeds "+Za+"-byte value");var Gh=fd.call(a,fc);a.g("changing "+J(a,fc.w)+" from "+J(a,Gh,Za)+" to "+J(a,xb,Za));gd.call(a,fc,xb,Za)}}break;case "g":a:{var Lf=g[1],Hh=b;if(void 0!==Lf){var jd=Og(a,Lf,!0);if(!jd)break a;Sg(a,jd,Hh);a.Pa(a.f,jd,!0)}a.cb(!0,c)}break;case "h":a.v.da?(c||a.g("halting"),a.ea()):pb(a,!0)||c||a.g("already halted");break;case "i":if("if"==g[0]){var kd;
var ub=b.substr(2),ub=oa(ub);uf(a,ub)?(c||a.g("true: "+ub),cd=!0):(c||a.g("false: "+ub),cd=!1);cd||(d=!1);break}f=!0;break;case "k":var Bg=g[0];if("?"==g[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var dd=0,ed=Z(),vb=Z(a.b.u[6]);for(a.g("stack trace for "+J(a,vb.w));10>dd;){for(var Aa=null,Cg=256;65536>vb.w>>>0;){ed.w=a.ka(vb,2);if(null==vb.w||!Cg--)break;if(!(ed.w&1)){for(var Dg=a,dc=ed,Me=null,wb=dc.w,Ne=wb,fd=1;6>=fd&&wb;fd++){if(2< var yb=b.substr(2),yb=xa(yb);Bg(a,yb)?(c||a.g("true: "+yb),kd=!0):(c||a.g("false: "+yb),kd=!1);kd||(d=!1);break}f=!0;break;case "k":var Ih=g[0];if("?"==g[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var ld=0,md=Z(),zb=Z(a.b.u[6]);for(a.g("stack trace for "+J(a,zb.w));10>ld;){for(var Da=null,Jh=256;65536>zb.w>>>0;){md.w=a.ka(zb,2);if(null==zb.w||!Jh--)break;if(!(md.w&1)){for(var Kh=a,hc=md,Mf=null,Ab=hc.w,Nf=Ab,nd=1;6>=nd&&Ab;nd++){if(2<
fd){dc.w=wb;var ec=Vf(Dg,dc);if(0<=ec.indexOf("JSR")){var Oe=ec.indexOf(" ");if(wb+(ec.indexOf(" ",Oe+1)-Oe-1)/2==Ne){Me=ec;break}}}wb-=2}dc.w=Ne;if(Aa=Me)break}}if(!Aa||null==Aa)break;var Pe=null;if("ks"==Bg){var Qe=Aa.match(/[0-9A-F]+$/);Qe&&(Pe=bg(a,Qe[0]))}Aa=na(Aa,50)+" ;"+(Pe||"stack="+J(a,vb.w));a.g(Aa);dd++}dd||a.g("no return addresses found")}break;case "l":if("ln"==g[0]){bg(a,g[1],!0);break}f=!0;break;case "m":a:{var ia,ja=null,F=g[1];"?"==F&&(F=void 0);if(void 0!==F){var sa=0;if("all"== nd){hc.w=Ab;var ic=bh(Kh,hc);if(0<=ic.indexOf("JSR")){var Of=ic.indexOf(" ");if(Ab+(ic.indexOf(" ",Of+1)-Of-1)/2==Nf){Mf=ic;break}}}Ab-=2}hc.w=Nf;if(Da=Mf)break}}if(!Da||null==Da)break;var Pf=null;if("ks"==Ih){var Qf=Da.match(/[0-9A-F]+$/);Qf&&(Pf=ih(a,Qf[0]))}Da=wa(Da,50)+" ;"+(Pf||"stack="+J(a,zb.w));a.g(Da);ld++}ld||a.g("no return addresses found")}break;case "l":if("ln"==g[0]){ih(a,g[1],!0);break}f=!0;break;case "m":a:{var ja,ka=null,F=g[1];"?"==F&&(F=void 0);if(void 0!==F){var va=0;if("all"==
F)sa=1878917119,F=null;else if("on"==F)ja=!0,F=null;else if("off"==F)ja=!1,F=null;else{"keys"==F&&(F="key");"kbd"==F&&(F="keyboard");for(ia in H)if(F==ia){sa=H[ia];ja=!!(a.ia&sa);break}if(!sa){a.g("unknown message category: "+F);break a}}if(sa)if("on"==g[2])a.ia|=sa,ja=!0;else if("off"==g[2]&&(a.ia&=~sa,ja=!1,1073741824==sa)){for(var gd=0;gd<a.ta.length;gd++)a.g(a.ta[gd]);a.ta=[]}}var Eg=0,xb="";for(ia in H)if(!F||F==ia){var Fg=!!(a.ia&H[ia]);if(null===ja||ja==Fg)xb&&(xb+=","),++Eg%10||(xb+="\n\t"), F)va=1878917119,F=null;else if("on"==F)ka=!0,F=null;else if("off"==F)ka=!1,F=null;else{"keys"==F&&(F="key");"kbd"==F&&(F="keyboard");for(ja in H)if(F==ja){va=H[ja];ka=!!(a.ia&va);break}if(!va){a.g("unknown message category: "+F);break a}}if(va)if("on"==g[2])a.ia|=va,ka=!0;else if("off"==g[2]&&(a.ia&=~va,ka=!1,1073741824==va)){for(var od=0;od<a.ua.length;od++)a.g(a.ua[od]);a.ua=[]}}var Lh=0,Bb="";for(ja in H)if(!F||F==ja){var Mh=!!(a.ia&H[ja]);if(null===ka||ka==Mh)Bb&&(Bb+=","),++Lh%10||(Bb+="\n\t"),
"key"==ia&&(ia="keys"),xb+=ia}void 0===F&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==ja?ja?"messages on: ":"messages off: ":"message categories:\n\t")+(xb||"none"));Bf(a)}break;case "p":if("print"==g[0]){cg(a,b.substr(5));break}var Gg="pr"==g[0]?1:0;if(a.V)a.g("step in progress");else{var Re=Z(a.b.u[7]);a.kb(Re);a.V?(a.Pa(a.f,Re,!0),a.cb()||(a.B&&a.B.rb(),a.V=0)):dg(a,Gg?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Of(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var yb= "key"==ja&&(ja="keys"),Bb+=ja}void 0===F&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==ka?ka?"messages on: ":"messages off: ":"message categories:\n\t")+(Bb||"none"));Ig(a)}break;case "p":if("print"==g[0]){jh(a,b.substr(5));break}var Nh="pr"==g[0]?1:0;if(a.V)a.g("step in progress");else{var Rf=Z(a.b.u[7]);a.kb(Rf);a.V?(a.Pa(a.f,Rf,!0),a.cb()||(a.B&&a.B.sb(),a.V=0)):kh(a,Nh?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Vg(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Cb=
+g[2];if(8==yb||10==yb||16==yb)a.ja=yb;else{a.g("invalid base: "+yb);break}}a.g("default base: "+a.ja);break;case "cs":var zb;void 0!==g[3]&&(zb=+g[3]);switch(g[2]){case "int":a.b.Ya=zb;break;case "start":a.b.nb=zb;break;case "stop":a.b.Za=zb;break;default:a.g("unknown cs option");break a}void 0!==zb&&Fc(a.b);a.g("checksums "+(a.b.v.Xa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Jc(a.b,+g[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.Ra.toFixed(2)+ +g[2];if(8==Cb||10==Cb||16==Cb)a.ja=Cb;else{a.g("invalid base: "+Cb);break}}a.g("default base: "+a.ja);break;case "cs":var Db;void 0!==g[3]&&(Db=+g[3]);switch(g[2]){case "int":a.b.Ya=Db;break;case "start":a.b.ob=Db;break;case "stop":a.b.Za=Db;break;default:a.g("unknown cs option");break a}void 0!==Db&&Pc(a.b);a.g("checksums "+(a.b.v.Xa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Tc(a.b,+g[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.Ra.toFixed(2)+
"Mhz")+" ("+a.b.Ka+"x)");break;default:if(g[1]){a.g("unknown option: "+g[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":dg(a,g[0],g[1]);break;case "u":Pf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ag(a,b.substr(3))||(d=!1);break}if("ver"== "Mhz")+" ("+a.b.Ka+"x)");break;default:if(g[1]){a.g("unknown option: "+g[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":kh(a,g[0],g[1]);break;case "u":Wg(a,g[1],g[2],8);break;case "v":if("var"==g[0]){hh(a,b.substr(3))||(d=!1);break}if("ver"==
g[0]){a.g("PDPjs version 1.30.1 ("+a.b.Hb+",RELEASE"+(lb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){cg(a,b.substr(1));break}var hd="commands:",id;for(id in Df)hd+="\n"+na(id,9)+Df[id];Jd(a)||(hd+="\nnote: history disabled if no exec breakpoints");a.g(hd);break;default:f=!0}f&&(a.g("unknown command: "+b),d=!1)}}catch(Se){a.g("debugger error: "+(Se.stack||Se.message)),d=!1}return d} g[0]){a.g("PDPjs version 1.30.1 ("+a.b.mb+",RELEASE"+(Gb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){jh(a,b.substr(1));break}var pd="commands:",qd;for(qd in Kg)pd+="\n"+wa(qd,9)+Kg[qd];Ud(a)||(pd+="\nnote: history disabled if no exec breakpoints");a.g(pd);break;default:f=!0}f&&(a.g("unknown command: "+b),d=!1)}}catch(Sf){a.g("debugger error: "+(Sf.stack||Sf.message)),d=!1}return d}
function Gc(a,b,c){b=sf(a,b,c);for(var d in b)if(!Uf(a,b[+d]))return!1;return!0}La(function(){for(var a=A(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new zf(d);fb(d,c)}}); function Qc(a,b,c){b=zg(a,b,c);for(var d in b)if(!ah(a,b[+d]))return!1;return!0}Ta(function(){for(var a=A(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Gg(d);nb(d,c)}});
function fg(a,b,c){r.call(this,"Computer",a,fg,67108864);this.v.ha=!1;gg(this,b);this.M=Dc(this,"autoPower",a);this.B=0;this.ca=a.busWidth||a.buswidth;this.f=hg;this.I=null;this.G=this.U=!1;this.da=Dc(this,"url")||"";(Math.random()+.1).toString(36);this.i=ig(this);if(this.b=eb("CPU",this.id)){this.j=eb("Debugger",this.id);this.A=new Eb({id:this.Eb+".bus",busWidth:this.ca},this.b,this.j);var d,e=cb(this.id);if((this.C=eb("Panel",this.id))&&this.C.Qa)for(b=0;b<e.length;b++)d=e[b],d.na=this.C.na,d.g= function mh(a,b,c){r.call(this,"Computer",a,mh,67108864);this.v.ha=!1;nh(this,b);this.M=Nc(this,"autoPower",a);this.B=0;this.ba=a.busWidth||a.buswidth;this.f=oh;this.I=null;this.G=this.U=!1;this.ca=Nc(this,"url")||"";(Math.random()+.1).toString(36);this.i=ph(this);if(this.b=mb("CPU",this.id)){this.j=mb("Debugger",this.id);this.A=new Mb({id:this.Fb+".bus",busWidth:this.ba},this.b,this.j);var d,e=kb(this.id);if((this.C=mb("Panel",this.id))&&this.C.Qa)for(b=0;b<e.length;b++)d=e[b],d.na=this.C.na,d.g=
this.C.g,d.Qa=this.C.Qa;this.g("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.g("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.A,this.b,this.j);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Dc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=hg),this.f&& this.C.g,d.Qa=this.C.Qa;this.g("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.g("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.A,this.b,this.j);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Nc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=oh),this.f&&
(this.K=new O(this,"1.30.1"),jg(this.K)?b=null:delete this.K);!b&&this.f&&(b=kg(this))&&(this.G=!0);if(b){var g=this;ua(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.na("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.I=b,g.U=!0);G(g)})}else G(this);this.J.power||(this.M=!0);!c&&this.M&&lg(this,this.ob)}else n("Unable to find CPU component")}y(fg);var hg=0; (this.K=new O(this,"1.30.1"),qh(this.K)?b=null:delete this.K);!b&&this.f&&(b=rh(this))&&(this.G=!0);if(b){var g=this;Fa(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.na("Unable to load machine state from server (error "+c+(b?": "+xa(b):"")+")")):(g.I=b,g.U=!0);G(g)})}else G(this);this.J.power||(this.M=!0);!c&&this.M&&sh(this,this.pb)}else n("Unable to find CPU component")}u(mh);var oh=0;
function gg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.V=b}function Dc(a,b,c){var d=b.toLowerCase(),d=Wa[b]||Wa[d];void 0===d&&a.V&&(d=a.V[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function lg(a,b,c){for(var d=cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ib(f)){ib(f,function(){lg(a,b,c)});return}}b.call(a,c)} function nh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){n(d.message+" ("+c+")")}}a.V=b}function Nc(a,b,c){var d=b.toLowerCase(),d=db[b]||db[d];void 0===d&&a.V&&(d=a.V[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function sh(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!qb(f)){qb(f,function(){sh(a,b,c)});return}}b.call(a,c)}
function mg(a,b){var c=new O(a,"1.30.1","validate");if(jg(c)&&ng(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=fg.prototype; function th(a,b){var c=new O(a,"1.30.1","validate");if(qh(c)&&uh(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.na("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=mh.prototype;
h.ob=function(a){void 0===a&&(a=this.f||(this.I?1:hg));if(!this.B){this.B++;var b=!1,c=!1;this.T=!1;var d=this.K||new O(this,"1.30.1");if(-1==a)b=!0;else if(a>hg){if(jg(d,this.I)){this.D=new O(this,"1.30.1","failsafe");jg(this.D)&&(og(this,d),a=2,pg(this.D));this.D.set("timestamp",ta());qg(this.D);var e=this.f&&!this.G;if(1==a||va("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=ng(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?jg(d,g):("error"== h.pb=function(a){void 0===a&&(a=this.f||(this.I?1:oh));if(!this.B){this.B++;var b=!1,c=!1;this.T=!1;var d=this.K||new O(this,"1.30.1");if(-1==a)b=!0;else if(a>oh){if(qh(d,this.I)){this.D=new O(this,"1.30.1","failsafe");qh(this.D)&&(vh(this,d),a=2,wh(this.D));this.D.set("timestamp",Ea());xh(this.D);var e=this.f&&!this.G;if(1==a||Ga("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=uh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?qh(d,g):("error"==
f&&"no machine state"!=g?(this.na("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.i=null)):this.g(f+": "+g),pg(d),jg(d)?(c=ng(d),e=!0):c=!1))}e&&mg(this,c?d:null)}else 2==a&&d.clear()}else mg(this);delete this.I;delete this.K}e=cb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=rg(this,g,d,b,c));b=[d,a,c];-1!=a?lg(this,this.Tb,b):this.Tb(b)}}; f&&"no machine state"!=g?(this.na("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.i=null)):this.g(f+": "+g),wh(d),qh(d)?(c=uh(d),e=!0):c=!1))}e&&th(this,c?d:null)}else 2==a&&d.clear()}else th(this);delete this.I;delete this.K}e=kb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=yh(this,g,d,b,c));b=[d,a,c];-1!=a?sh(this,this.Tb,b):this.Tb(b)}};
function rg(a,b,c,d,e){if(!b.v.ha){b.v.ha=!0;if(b.Aa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Aa(f,d)&&f&&(n("Unable to restore state for "+b.type),a.R&&!a.U?(c.clear(),a.f=hg,window&&window.location.reload()):a.T=!0,b.Aa(null),e=!1)}if(!d&&b.Ub)for(a=b.Ub.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function yh(a,b,c,d,e){if(!b.v.ha){b.v.ha=!0;if(b.Aa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Aa(f,d)&&f&&(n("Unable to restore state for "+b.type),a.R&&!a.U?(c.clear(),a.f=oh,window&&window.location.reload()):a.T=!0,b.Aa(null),e=!1)}if(!d&&b.Ub)for(a=b.Ub.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.Tb=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.v.ha=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(rg(this,this.b,b,c,a),this.b.hb());this.T&&(og(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0}; h.Tb=function(a){var b=a[0],c=0>a[1];a=a[2];this.fa=!0;this.v.ha=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(yh(this,this.b,b,c,a),this.b.hb());this.T&&(vh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0};
function og(a,b){if(va("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.i||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.da;d.user=c;d.type="bug";d.data=b;ua("http://www.pcjs.org/api/v1/report",d,!0)}} function vh(a,b){if(Ga("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.i||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.ca;d.user=c;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
function eg(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),l=ta();g.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.za&&(c&&a.b.fa(),d=a.b.za(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ha=!1,!1===d&&(e=null)));for(var l=cb(a.id),m=0;m<l.length;m++){var p=l[m];p.v.ha&&(p.za&&(d=p.za(b,c),"object"===typeof d&&f.set(p.id, function lh(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new O(a,"1.30.1"),g=new O(a,"1.30.1","validate"),l=Ea();g.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.za&&(c&&a.b.ea(),d=a.b.za(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ha=!1,!1===d&&(e=null)));for(var l=kb(a.id),m=0;m<l.length;m++){var p=l[m];p.v.ha&&(p.za&&(d=p.za(b,c),"object"===typeof d&&f.set(p.id,
d)),c&&(p.v.ha=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.i&&sg(a,a.i,f.toString()),qg(g)&&qg(f)||(e=null,d=l=!0)):a.f&&(d=!0,l=3==a.f),d&&f.clear(l)):e=f.toString());c&&(a.v.ha=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return e}h.reset=function(){this.A&&this.A.reset&&(B(this,"Resetting "+this.A.type),this.A.reset());for(var a=cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(B(this,"Resetting "+c.type),c.reset())}}; d)),c&&(p.v.ha=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.i&&zh(a,a.i,f.toString()),xh(g)&&xh(f)||(e=null,d=l=!0)):a.f&&(d=!0,l=3==a.f),d&&f.clear(l)):e=f.toString());c&&(a.v.ha=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return e}h.reset=function(){this.A&&this.A.reset&&(B(this,"Resetting "+this.A.type),this.A.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(B(this,"Resetting "+c.type),c.reset())}};
h.start=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ba(!0)};h.stop=function(a,b){for(var c=cb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ba(!0)}; h.start=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.aa(!0)};h.stop=function(a,b){for(var c=kb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.aa(!0)};
h.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ha?eg(d,!1,!0):lg(d,d.ob))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.v.ha&&!d.B)if(d.f&&!d.H){var a=va("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");eg(d,a,!0);!a&&d.R?window&&window.location.reload():d.ob(hg)}else d.reset(),d.b&&d.b.hb()},!0;case "save":if(fa())c.parentNode.removeChild(c);else return this.J[b]= h.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ha?lh(d,!1,!0):sh(d,d.pb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.v.ha&&!d.B)if(d.f&&!d.H){var a=Ga("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lh(d,a,!0);!a&&d.R?window&&window.location.reload():d.pb(oh)}else d.reset(),d.b&&d.b.hb()},!0;case "save":if(ra())c.parentNode.removeChild(c);else return this.J[b]=
c,c.onclick=function(){var a=ig(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=eg(d,b);b?sg(d,a,c):d.na("Resume disabled, machine state not saved")}},!0}return!1}; c,c.onclick=function(){var a=ph(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=lh(d,b);b?zh(d,a,c):d.na("Resume disabled, machine state not saved")}},!0}return!1};
function ig(a,b){var c=a.i;c||((c=Ba("user"),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=tg(a,c))||a.na("The user ID is invalid.")):b&&a.na("Browser local storage is not available"));return c} function ph(a,b){var c=a.i;c||((c=Ja("user"),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=Ah(a,c))||a.na("The user ID is invalid.")):b&&a.na("Browser local storage is not available"));return c}
function tg(a,b){a.i=null;b=ua(ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ca("user",b.data),a.i=b.data)}catch(d){n(d.message+" ("+c+")")}return a.i}function kg(a){var b=null;a.i&&(b=ka()+"/api/v1/user?req=load&user="+a.i+"&state="+ug(a,"1.30.1"));return b} function Ah(a,b){a.i=null;b=Fa(sa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ka("user",b.data),a.i=b.data)}catch(d){n(d.message+" ("+c+")")}return a.i}function rh(a){var b=null;a.i&&(b=sa()+"/api/v1/user?req=load&user="+a.i+"&state="+Bh(a,"1.30.1"));return b}
function sg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ug(a,"1.30.1");d.data=c;b=ua(ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.na("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.na(c),Ca("user",""),a.i=null)}}h.rb=function(){}; function zh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Bh(a,"1.30.1");d.data=c;b=Fa(sa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.na("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.na(c),Ka("user",""),a.i=null)}}h.sb=function(){};
h.ba=function(a){this.b&&this.b.ba(a);this.C&&this.C.ba(a)};La(function(){for(var a=A(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new fg(g,d,!0);fb(g,f);g.M&&lg(g,g.ob)}});Ga.show.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=eb("Computer",c.id))&&c.ga&&!c.v.ha&&c.ob(-1)}}); h.aa=function(a){this.b&&this.b.aa(a);this.C&&this.C.aa(a)};Ta(function(){for(var a=A(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new mh(g,d,!0);nb(g,f);g.M&&sh(g,g.pb)}});Oa.show.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.fa&&!c.v.ha&&c.pb(-1)}});
Ga.exit.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=eb("Computer",c.id))&&c.v.ha&&eg(c,!(!c.f||c.H),!0)}});function O(a,b,c){this.id=a.id;this.key=ug(a,b,c);this.j=a.j;pg(this,a.pc)}function ug(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a} Oa.exit.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.v.ha&&lh(c,!(!c.f||c.H),!0)}});function O(a,b,c){this.id=a.id;this.key=Bh(a,b,c);this.j=a.j;wh(this,a.pc)}function Bh(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
O.prototype={constructor:O,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){pg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c, O.prototype={constructor:O,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){wh(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
1);c=0}}};function pg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function qg(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);Ca(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function ng(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function jg(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:xa()&&(b=Ba(a.key))?(a[a.id]=b,a.b=!0):!1}var vg=0; 1);c=0}}};function wh(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function xh(a){var b=!0;if(Ia()){var c=JSON.stringify(a[a.id]);Ka(a.key,c)||(n("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function uh(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function qh(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ia()&&(b=Ja(a.key))?(a[a.id]=b,a.b=!0):!1}var Ch=0;
function Hg(a,b,c,d,e,f){e("Loading "+a+"...");ua(a,null,!0,function(g,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),f(l,null)):Ig(l,a,b,c,d,e,f)})} function Oh(a,b,c,d,e,f){e("Loading "+a+"...");Fa(a,null,!0,function(g,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),f(l,null)):Ph(l,a,b,c,d,e,f)})}
function Ig(a,b,c,d,e,f,g){function l(a,f){if(f)g(f,null);else{c&&(bb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function Ph(a,b,c,d,e,f,g){function l(a,f){if(f)g(f,null);else{c&&(jb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Jg(a,f,l):l(a,null):g("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Qh(a,f,l):l(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Jg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ua(e,null,!0,function(f,g,l){if(l||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=l[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)m=0>m.indexOf(p[1])?m.replace(">",p[0]+">"):m.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);l[0]!=m&&(g=g.replace(l[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, function Qh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Fa(e,null,!0,function(f,g,l){if(l||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=l[0],p,q=/( [a-z]+=)(['"])(.*?)\2/g;p=q.exec(f);)m=0>m.indexOf(p[1])?m.replace(">",p[0]+">"):m.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);l[0]!=m&&(g=g.replace(l[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Jg(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);Qh(a,b,c)}})}else c(a,null)}
function Kg(a,b,c,d){function e(a){if(void 0===l){var b=g&&A(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ma(a))}function f(a){e("Error: "+a);m&&(--vg||Na(!0));m=!1}var g,l,m=!0;vg++;ab[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=p:w.appendChild(document.createTextNode(p));q.appendChild(w)}c|| function Rh(a,b,c,d){function e(a){if(void 0===l){var b=g&&A(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ua(a))}function f(a){e("Error: "+a);m&&(--Ch||ab(!0));m=!1}var g,l,m=!0;Ch++;ib[a]={};try{if(g=document.getElementById(a)){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)}c||
(c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,l){l?Hg(c,null,null,!1,e,function(d,m){m?(bb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=l.transformNode(m))?(g.outerHTML=m,--vg||Na(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(l,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--vg||Na(!0)):f("invalid machine element: "+ (c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,l){l?Oh(c,null,null,!1,e,function(d,m){m?(jb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(m=l.transformNode(m))?(g.outerHTML=m,--Ch||ab(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(m),(m=d.transformToFragment(l,document))?g.parentNode?(g.parentNode.replaceChild(m,g),--Ch||ab(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Hg(b,a,d,!0,e,p):Ig(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(u){f(u.message)}return m}window.embedPDP11=function(a,b,c,d){Na(!1);return Kg(a,b,c,d)};window.enableEvents=Na;window.sendEvent=Oa;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Oh(b,a,d,!0,e,p):Ph(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(w){f(w.message)}return m}window.embedPDP11=function(a,b,c,d){ab(!1);return Rh(a,b,c,d)};window.enableEvents=ab;window.sendEvent=bb;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map

View file

@ -27,151 +27,155 @@
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016 http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016 http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
*/ */
var g; for(var g,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,ca=["Math","log2"],da=0;da<ca.length-1;da++){var ea=ca[da];ea in ba||(ba[ea]={});ba=ba[ea]}var fa=ca[ca.length-1],ga=ba[fa],ha=ga?ga:function(a){return Math.log(a)/Math.LN2};
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2== ha!=ga&&null!=ha&&aa(ba,fa,{configurable:!0,writable:!0,value:ha});
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function h(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b} function ia(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==
function da(){var a=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function ha(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ja(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function h(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
var ja={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",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"},ka=Date.now||function(){return+new Date}; function ka(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function la(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ma(){var a=na();return-1!==a.indexOf("pcjs.org",a.length-8)}var oa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function pa(a){return a.replace(/[&<>"']/g,function(a){return oa[a]})}function qa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
function la(){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 ra={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",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"},sa=Date.now||function(){return+new Date};
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 m(a,b,c,d){var e=0,f=null,k=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)}),k;var l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"== function m(a,b,c,d){var e=0,f=null,k=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)}),k;var l=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(l.onreadystatechange=function(){4===l.readyState&&(f=l.responseText,200==l.status||!l.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=l.status||-1),d&&d(a,f,e))});if(b&&"object"==
typeof b){var n="",q;for(q in b)b.hasOwnProperty(q)&&(n&&(n+="&"),n+=q+"="+encodeURIComponent(b[q]));n=n.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(n)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),k=[f,e]);return k}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")} typeof b){var n="",r;for(r in b)b.hasOwnProperty(r)&&(n&&(n+="&"),n+=r+"="+encodeURIComponent(b[r]));n=n.replace(/%20/g,"+");l.open("POST",a,!!c);l.setRequestHeader("Content-type","application/x-www-form-urlencoded");l.send(n)}else l.open("GET",a,!!c),"bytes"==b&&l.overrideMimeType("text/plain; charset=x-user-defined"),l.send();c||(f=l.responseText,200!=l.status&&(e=l.status||-1),d&&d(a,f,e),k=[f,e]);return k}function na(){return"http://"+(window?window.location.host:"www.pcjs.org")}
function p(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}var na=null;function oa(){if(null==na){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}na=a}return na}function pa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function p(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var va=null;function wa(){if(null==va){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}va=a}return va}function xa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function qa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ra(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var r={init:[],show:[],exit:[]},sa=!1,ta=!1,ua=!0;function va(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){r.init.push(a)} 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)?!0:!1}return!1}var q={init:[],show:[],exit:[]},Aa=!1,Ba=!1,Ca=!0;function Da(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){q.init.push(a)}
function wa(a){if(ua)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){p(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function xa(a){!ua&&a?(ua=!0,sa&&ya("init"),ta&&ya("show")):ua=a}function ya(a){r[a]&&wa(r[a])}va("onload",function(){sa=!0;wa(r.init)});va("onpageshow",function(){ta=!0;wa(r.show)});va(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){wa(r.exit)}); function Ea(a){if(Ca)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){p(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Fa(a){!Ca&&a?(Ca=!0,Aa&&Ga("init"),Ba&&Ga("show")):Ca=a}function Ga(a){q[a]&&Ea(q[a])}Da("onload",function(){Aa=!0;Ea(q.init)});Da("onpageshow",function(){Ba=!0;Ea(q.show)});Da(za("Opera")||za("iOS")?"onunload":"onbeforeunload",function(){Ea(q.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.hb=b.comment;this.Bb=b;b=this.id.indexOf(".");0>b?this.Ea=this.id:(this.Ta=this.id.substr(0,b),this.Ea=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Yc:!1,Zc:!1,L:!1,error:!1};this.Na=null;this.h.error=!1;this.v={};this.H=null;w.push(this)}var za=void 0,Aa={}; function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.jb=b.comment;this.Bb=b;b=this.id.indexOf(".");0>b?this.Ea=this.id:(this.Ua=this.id.substr(0,b),this.Ea=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Yc:!1,Zc:!1,L:!1,error:!1};this.Oa=null;this.h.error=!1;this.v={};this.G=null;w.push(this)}var Ha=void 0,Ia={};
if(window){za||(za=window.location.search.substr(1));for(var Ba,Ca=/\+/g,Da=/([^&=]+)=?([^&]*)/g;Ba=Da.exec(za);)Aa[decodeURIComponent(Ba[1].replace(Ca," "))]=decodeURIComponent(Ba[2].replace(Ca," "))}function Ea(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){Ha||(Ha=window.location.search.substr(1));for(var Ja,Ka=/\+/g,La=/([^&=]+)=?([^&]*)/g;Ja=La.exec(Ha);)Ia[decodeURIComponent(Ja[1].replace(Ka," "))]=decodeURIComponent(Ja[2].replace(Ka," "))}function Ma(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function x(a,b){b||(b=v);a.prototype=Ea(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Fa=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Fa={},w=[];function Ga(a,b,c){Fa[a]&&b&&(Fa[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c} function x(a,b){b||(b=v);a.prototype=Ma(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Na=window.PCjs.Machines||(window.PCjs.Machines={}),w=window.PCjs.Components||(window.PCjs.Components=[])}else Na={},w=[];function Oa(a,b,c){Na[a]&&b&&(Na[a][b]=c)}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<w.length;b++){var d=w[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Ha(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}function z(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){p(c.message+" ("+a+")")}return b} function Pa(a){if(void 0!==a){var b;for(b=0;b<w.length;b++)if(w[b].id===a)return w[b]}return null}function Qa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<w.length;d++)if(c)c==w[d]&&(c=null);else if(!(a!=w[d].type||b&&w[d].id.indexOf(b)))return w[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){p(c.message+" ("+a+")")}return b}
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var k=f.getAttribute("class");if(k)for(var l=k.split(" "),n=0;n<l.length;n++)switch(k=l[n],k){case "pdp11-binding":(k=A(f))&&k.binding&&a.U(k.type,k.binding,f,k.value),n=l.length}}}} function A(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var k=f.getAttribute("class");if(k)for(var l=k.split(" "),n=0;n<l.length;n++)switch(k=l[n],k){case "pdp11-binding":(k=z(f))&&k.binding&&a.U(k.type,k.binding,f,k.value),n=l.length}}}}
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c} function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},U:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Ra=this.v[b]=c,c.value="",this.O=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c), v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},U:function(a,b,c){switch(b){case "clear":return this.v[b]||(this.v[b]=c,c.onclick=function(a){return function(){a.v.print&&(a.v.print.value="")}}(this)),!0;case "print":return this.v[b]||(this.Sa=this.v[b]=c,c.value="",this.O=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.K=function(a){this.O(a,this.Ea)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.Ea+": "+a)},K:function(a,b,c){c=c||this.type;b||p((c?c+": ":"")+a)},ba:function(){return this.h.L=!0},aa:function(a,b){b&&(this.h.L=!1);return!0}};function D(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.Na;a.Na=null;b&&b()}}function Ia(a,b){b&&(a.h.ready?b():a.Na=b);return a.h.ready} this.K=function(a){this.O(a,this.Ea)}),!0;default:return!1}},log:function(){},O:function(){},status:function(a){this.O(this.Ea+": "+a)},K:function(a,b,c){c=c||this.type;b||p((c?c+": ":"")+a)},ba:function(){return this.h.L=!0},aa:function(a,b){b&&(this.h.L=!1);return!0}};function D(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.Oa;a.Oa=null;b&&b()}}function Ra(a,b){b&&(a.h.ready?b():a.Oa=b);return a.h.ready}
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1}); Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Ja="undefined"!==typeof ArrayBuffer;function Ka(a){v.call(this,"Panel",a,Ka);this.b=0;this.h.eb=!0}x(Ka);g=Ka.prototype; Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Sa="undefined"!==typeof ArrayBuffer;function Ta(a){v.call(this,"Panel",a,Ta);this.b=0;this.h.fb=!0}x(Ta);g=Ta.prototype;
g.U=function(a,b,c,d){if(this.w&&this.w.U(a,b,c,d)||this.a&&this.a.U(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.v[b]=c,this.b++,!0;default:return"rled"==a?(this.v[b]=c,this.b++,!0):this.parent.U.call(this,a,b,c,d)}};g.ka=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.H=d};g.ba=function(a,b){b||La();return!0};g.aa=function(){return!0}; g.U=function(a,b,c,d){if(this.w&&this.w.U(a,b,c,d)||this.a&&this.a.U(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.v[b]=c,this.b++,!0;default:return"rled"==a?(this.v[b]=c,this.b++,!0):this.parent.U.call(this,a,b,c,d)}};g.ka=function(a,b,c,d){this.w=a;this.m=b;this.a=c;this.G=d};g.ba=function(a,b){b||Ua();return!0};g.aa=function(){return!0};
function E(a,b,c,d){if(a.v[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),F(a.a));var e=a.H&&a.H.b||8;if(!a.a.h.T||a.h.eb)if(8==e){e="";d?11<d&&(d=11):d=c&-65536?11:6;if(null==c||isNaN(c))for(;0<d--;)e="?"+e;else for(;0<d--;)e=String.fromCharCode((c&7)+48)+e,c>>=3;d=""+e}else d=h(c,d);else d="--------".substr(0,d||4);a.v[b].textContent!=d&&(a.v[b].textContent=d)}}function Ma(a,b,c,d){for(var e=0;e<d;e++){var f=a.v[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}} function Va(a,b,c,d){if(a.v[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),E(a.a));var e=a.G&&a.G.b||8;c=!a.a.h.T||a.h.fb?8==e?ja(c,d):h(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}}function Wa(a,b,c,d){for(var e=0;e<d;e++){var f=a.v[b+e];f&&(f.style.backgroundColor=c&1<<e?"#ff0000":"#000000")}}
g.ca=function(a){if(this.b&&(a||!this.a.h.T||this.h.eb)){for(a=0;a<this.a.f.length;a++)E(this,"R"+a,this.a.f[a]);a=Na(this.a);E(this,"PS",a);E(this,"NF",a&8?1:0,1);E(this,"ZF",a&4?1:0,1);E(this,"VF",a&2?1:0,1);E(this,"CF",a&1?1:0,1);Ma(this,"D",this.a.f[0],16);Ma(this,"A",this.a.f[7],22)}};function La(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=A(d),f=Ha(e.id);f||(a=!0,f=new Ka(e));B(f,d);a&&D(f)}}u(La); g.ca=function(a){if(this.b&&(a||!this.a.h.T||this.h.fb)){for(a=0;a<this.a.f.length;a++)Va(this,"R"+a,this.a.f[a]);a=Xa(this.a);Va(this,"PS",a);Va(this,"NF",a&8?1:0,1);Va(this,"ZF",a&4?1:0,1);Va(this,"VF",a&2?1:0,1);Va(this,"CF",a&1?1:0,1);Wa(this,"D",this.a.f[0],16);Wa(this,"A",this.a.f[7],22)}};function Ua(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Pa(e.id);f||(a=!0,f=new Ta(e));A(f,d);a&&D(f)}}u(Ua);
function Oa(a,b,c){v.call(this,"Bus",a,Oa);this.a=b;this.H=c;this.A=a.busWidth||16;this.m=0;this.G=[];this.s=null;this.B=Math.pow(2,this.A);this.i=this.B-1|0;this.c=(this.A>>1)+2;10>this.c&&(this.c=10);15<this.c&&(this.c=15);this.l=1<<this.c;this.D=this.l>>2;this.g=this.l-1;this.w=this.B/this.l|0;this.ha=[];this.R=0;this.o=[];this.vb=[Pa,Qa,Ra,Sa];a=new G(this);Ta(a,this.H);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;D(this)}x(Oa); function Ya(a,b,c){v.call(this,"Bus",a,Ya);this.a=b;this.G=c;this.H=a.busWidth||16;this.l=0;this.D=[];this.s=null;this.A=Math.pow(2,this.H);this.i=this.A-1|0;this.c=F;this.m=Math.log2(this.c);this.B=this.c>>2;this.g=this.c-1;this.w=this.A/this.c|0;this.ha=[];this.R=0;this.o=[];this.vb=[Za,$a,ab,bb];a=new G(this);cb(a,this.G);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;D(this)}x(Ya);var F=8192,db=F-1;
function Pa(a,b){var c=-1,d=this.controller,e=d.ha[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.ha[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=Ua(d,b|4186112)}function Qa(a,b,c){var d=!1,e=this.controller,f=e.ha[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ha[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||Ua(e,c|4186112)} function Za(a,b){var c=-1,d=this.controller,e=d.ha[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.ha[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=eb(d,b)}function $a(a,b,c){var d=!1,e=this.controller,f=e.ha[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.ha[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||eb(e,c)}
function Ra(a,b){var c=-1,d=this.controller;(a=d.ha[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=Ua(d,b|4186112)}function Sa(a,b,c){var d=!1,e=this.controller;if(a=e.ha[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||Ua(e,c|4186112)}function Va(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-8192,Wa(a,c,8192,a.G),a.m=0);b&&(a.m=b,c=(1<<b)-8192,a.G=Xa(a,c,8192),a.s?Wa(a,c,8192,a.s):(Ya(a,c,8192,Za,a),a.s=Xa(a,c,8192)))}} function ab(a,b){var c=-1,d=this.controller;(a=d.ha[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=eb(d,b)}function bb(a,b,c){var d=!1,e=this.controller;if(a=e.ha[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||eb(e,c)}function fb(a,b){if(b!=a.l){var c;a.l&&(c=(1<<a.l)-F,gb(a,c,F,a.D),a.l=0);b&&(a.l=b,c=(1<<b)-F,a.D=hb(a,c,F),a.s?gb(a,c,F,a.s):(ib(a,c,F,jb,a),a.s=hb(a,c,F)))}}
Oa.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();Va(this,16)};function Ua(a,b){a.R||H(a.a,4,b);return 0}Oa.prototype.ba=function(a,b){b||this.reset();return!0}; Ya.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();fb(this,16)};function eb(a,b){a.R||H(a.a,4,b);return 0}Ya.prototype.ba=function(a,b){b||this.reset();return!0};
function Ya(a,b,c,d,e){for(var f=b,k=c,l=f>>>a.c;0<k&&l<a.b.length;){var n=a.b[l],q=l*a.l,t=a.l-(f-q);t>k&&(t=k);if(!e&&n&&n.size){if(n.type==d){if(f+k<=n.za)return n.Pa+=n.za-f,n.za=f,!0;if(f>=n.za+n.Pa){t=n.size-(f-q);t>k&&(t=k);n.Pa=f-n.za+t;f=q+a.l;k-=t;l++;continue}}return $a(1,f,k)}f=new G(a,f,t,a.l,d,e);Ta(f,a.H,n);a.b[l++]=f;f=q+a.l;k-=t}return 0>=k?(a.status(Math.floor(c/1024)+"Kb "+ab[d]+" at "+h(b,8,!0)),!0):$a(2,b,c)} function ib(a,b,c,d,e){for(var f=b,k=c,l=f>>>a.m;0<k&&l<a.b.length;){var n=a.b[l],r=l*a.c,t=a.c-(f-r);t>k&&(t=k);if(!e&&n&&n.size){if(n.type==d){if(f+k<=n.za)return n.Qa+=n.za-f,n.za=f,!0;if(f>=n.za+n.Qa){t=n.size-(f-r);t>k&&(t=k);n.Qa=f-n.za+t;f=r+a.c;k-=t;l++;continue}}return kb(1,f,k)}f=new G(a,f,t,a.c,d,e);cb(f,a.G,n);a.b[l++]=f;f=r+a.c;k-=t}if(0>=k){c/=1024;var B;e="";B?10<B&&(B=10):B=c&-65536?10:5;if(null==c||isNaN(c))for(;0<B--;)e="?"+e;else for(;0<B--;)e=String.fromCharCode(c%10+48)+e,c/=
function Xa(a,b,c){var d=[];for(b>>>=a.c;0<c&&b<a.b.length;)d.push(a.b[b++]),c-=a.l;return d}function Wa(a,b,c,d){var e=0;for(b>>>=a.c;0<c&&b<a.b.length;){var f=d[e++];if(!f)break;a.b[b++]=f;c-=a.l}}function bb(a,b){return a.b[(b&a.i)>>>a.c].Xa(b&a.g,b)}function cb(a,b){return a.b[(b&a.i)>>>a.c].S(b&a.g,b)}Oa.prototype.ab=function(a,b){this.R++;this.b[(a&this.i)>>>this.c].sb(a&this.g,b&255,a);this.R--};function db(a,b,c){a.b[(b&a.i)>>>a.c].Qa(b&a.g,c&65535,b)} 10;a.status(e+"Kb "+lb[d]+" at "+ja(b));return!0}return kb(2,b,c)}function hb(a,b,c){var d=[];for(b>>>=a.m;0<c&&b<a.b.length;)d.push(a.b[b++]),c-=a.c;return d}function gb(a,b,c,d){var e=0;for(b>>>=a.m;0<c&&b<a.b.length;){var f=d[e++];if(!f)break;a.b[b++]=f;c-=a.c}}function mb(a,b){return a.b[(b&a.i)>>>a.m].Ya(b&a.g,b)}function nb(a,b){return a.b[(b&a.i)>>>a.m].S(b&a.g,b)}Ya.prototype.bb=function(a,b){this.R++;this.b[(a&this.i)>>>this.m].sb(a&this.g,b&255,a);this.R--};
function eb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.ia||e.xb){c[b++]=d;var f=b++;if(e=e.save()){for(var k=0,l=0,n=[];k<e.length;){for(var q=e[k],t=k+1;t<e.length&&e[t]===q;)t++;n[l++]=t-k;n[l++]=q;k=t}n.length<e.length&&(e=n)}c[f]=e}}return c}function fb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&8191;void 0!==a.ha[n]?p("I/O address already registered: "+h(b,8,!0)):a.ha[n]=[d,e,f,k,l||"unknown",!1]}} function ob(a,b,c){a.b[(b&a.i)>>>a.m].Ra(b&a.g,c&65535,b)}function pb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.ia||e.xb){c[b++]=d;var f=b++;if(e=e.save()){for(var k=0,l=0,n=[];k<e.length;){for(var r=e[k],t=k+1;t<e.length&&e[t]===r;)t++;n[l++]=t-k;n[l++]=r;k=t}n.length<e.length&&(e=n)}c[f]=e}}return c}function qb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&db;void 0!==a.ha[n]?p("I/O address already registered: "+h(b,8,!0)):a.ha[n]=[d,e,f,k,l||"unknown",!1]}}
function gb(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.a.jb)){var k=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,n=f[2]?f[2].bind(b):null,q=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&q&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(q)));fb(a,e,e,k,l,n,q,f[4])}}}function hb(a,b){a.o.push(b)}function ib(a,b){a.R||H(a.a,4,b)} function rb(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.a.Ia)){var k=f[0]?f[0].bind(b):null,l=f[1]?f[1].bind(b):null,n=f[2]?f[2].bind(b):null,r=f[3]?f[3].bind(b):null;65472<=e&&65487>=e&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&r&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(r)));qb(a,e,e,k,l,n,r,f[4])}}}function sb(a,b){a.o.push(b)}function tb(a,b){a.R||H(a.a,4,b)}
function $a(a,b,c){p("Memory block error ("+a+": "+h(b)+","+h(c)+")");return!1}function I(a){v.call(this,"Device",a,I);this.c={data:0,Xc:0,Oa:20,nc:0};this.b={$c:0,bb:-1}}x(I);g=I.prototype;g.ka=function(a,b,c,d){this.l=b;this.a=c;this.H=d;var e=this;this.b.bb=jb(c,function(){e.b.la|=128;e.b.la&64&&(kb(e.a,e.b.oc),lb(e.a,e.b.bb,1E3/60))});this.b.oc=mb(64,6);gb(b,this,J);hb(b,this.reset.bind(this));D(this)};g.Lb=function(){var a=this.b.la;this.b.la&=-129;return a}; function kb(a,b,c){p("Memory block error ("+a+": "+h(b)+","+h(c)+")");return!1}function I(a){v.call(this,"Device",a,I);this.c={data:0,Xc:0,Pa:20,nc:0};this.b={$c:0,cb:-1}}x(I);g=I.prototype;g.ka=function(a,b,c,d){this.m=b;this.a=c;this.G=d;var e=this;this.b.cb=ub(c,function(){e.b.la|=128;e.b.la&64&&(vb(e.a,e.b.oc),wb(e.a,e.b.cb,1E3/60))});this.b.oc=xb(64,6);rb(b,this,J);sb(b,this.reset.bind(this));D(this)};g.Lb=function(){var a=this.b.la;this.b.la&=-129;return a};
g.xc=function(a){this.b.la=a;a&64&&lb(this.a,this.b.bb,1E3/60);this.b.la=a&-129};g.Eb=function(a){return(a?this.c.nc:this.c.data)&65535};g.qc=function(a){this.c.data=a};g.Nb=function(){var a=this.a;return a.A&62337|a.Fa<<5|a.Ga<<1};g.zc=function(a){var b=this.a;a&=62337;if(b.A!=a){b.A=a;b.Fa=a>>5&3;b.Ga=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,nb(b))}ob(this)};g.Ob=function(){var a=this.a.ma;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Pb=function(){return this.a.Za};g.Qb=function(){return this.a.na}; g.xc=function(a){this.b.la=a;a&64&&wb(this.a,this.b.cb,1E3/60);this.b.la=a&-129};g.Eb=function(a){return(a?this.c.nc:this.c.data)&65535};g.qc=function(a){this.c.data=a};g.Nb=function(){var a=this.a;return a.A&62337|a.Fa<<5|a.Ga<<1};g.zc=function(a){var b=this.a;a&=62337;if(b.A!=a){b.A=a;b.Fa=a>>5&3;b.Ga=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ba!=c&&(b.Ba=c,yb(b))}zb(this)};g.Ob=function(){var a=this.a.ma;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Pb=function(){return this.a.$a};g.Qb=function(){return this.a.na};
g.Ac=function(a){var b=this.a;1170>b.jb&&(a&=-49);b.na!=a&&(b.na=a,a&16?(b.Va=4194303,b.Ha=3915776):(b.Va=262143,b.Ha=253952),nb(b));ob(this)};function ob(a){a.c.Oa=a.c.Oa&-8|(a.a.Ba?a.a.na&16?1:2:4)}g.bc=function(a){return this.a.C[1][a>>1&7]};g.Mc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.$b=function(a){return this.a.C[1][(a>>1&7)+8]};g.Kc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.ac=function(a){return this.a.P[1][a>>1&7]};g.Lc=function(a,b){b=b>>1&7;this.a.P[1][b]=a;this.a.C[1][b]&=65295}; g.Ac=function(a){var b=this.a;1170>b.Ia&&(a&=-49);b.na!=a&&(b.na=a,a&16?(b.Wa=4194303,b.Ha=3915776):(b.Wa=262143,b.Ha=253952),yb(b));zb(this)};function zb(a){a.c.Pa=a.c.Pa&-8|(a.a.Ba?a.a.na&16?1:2:4)}g.bc=function(a){return this.a.C[1][a>>1&7]};g.Mc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.$b=function(a){return this.a.C[1][(a>>1&7)+8]};g.Kc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.ac=function(a){return this.a.P[1][a>>1&7]};g.Lc=function(a,b){b=b>>1&7;this.a.P[1][b]=a;this.a.C[1][b]&=65295};
g.Zb=function(a){return this.a.P[1][(a>>1&7)+8]};g.Jc=function(a,b){b=(b>>1&7)+8;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.Kb=function(a){return this.a.C[0][a>>1&7]};g.wc=function(a,b){this.a.C[0][b>>1&7]=a&65295};g.Ib=function(a){return this.a.C[0][(a>>1&7)+8]};g.uc=function(a,b){this.a.C[0][(b>>1&7)+8]=a&65295};g.Jb=function(a){return this.a.P[0][a>>1&7]};g.vc=function(a,b){b=b>>1&7;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.Hb=function(a){return this.a.P[0][(a>>1&7)+8]}; g.Zb=function(a){return this.a.P[1][(a>>1&7)+8]};g.Jc=function(a,b){b=(b>>1&7)+8;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.Kb=function(a){return this.a.C[0][a>>1&7]};g.wc=function(a,b){this.a.C[0][b>>1&7]=a&65295};g.Ib=function(a){return this.a.C[0][(a>>1&7)+8]};g.uc=function(a,b){this.a.C[0][(b>>1&7)+8]=a&65295};g.Jb=function(a){return this.a.P[0][a>>1&7]};g.vc=function(a,b){b=b>>1&7;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.Hb=function(a){return this.a.P[0][(a>>1&7)+8]};
g.tc=function(a,b){b=(b>>1&7)+8;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.hc=function(a){return this.a.C[3][a>>1&7]};g.Sc=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.fc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Qc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.gc=function(a){return this.a.P[3][a>>1&7]};g.Rc=function(a,b){b=b>>1&7;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.ec=function(a){return this.a.P[3][(a>>1&7)+8]};g.Pc=function(a,b){b=(b>>1&7)+8;this.a.P[3][b]=a;this.a.C[3][b]&=65295}; g.tc=function(a,b){b=(b>>1&7)+8;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.hc=function(a){return this.a.C[3][a>>1&7]};g.Sc=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.fc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Qc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.gc=function(a){return this.a.P[3][a>>1&7]};g.Rc=function(a,b){b=b>>1&7;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.ec=function(a){return this.a.P[3][(a>>1&7)+8]};g.Pc=function(a,b){b=(b>>1&7)+8;this.a.P[3][b]=a;this.a.C[3][b]&=65295};
g.ua=function(a){a&=7;return this.a.u&2048?this.a.sa[a]:this.a.f[a]};g.wa=function(a,b){b&=7;this.a.u&2048?this.a.sa[b]=a:this.a.f[b]=a};g.Tb=function(){return this.a.u&49152?this.a.X[0]:this.a.f[6]};g.Dc=function(a){this.a.u&49152?this.a.X[0]=a:this.a.f[6]=a};g.Wb=function(){return this.a.f[7]};g.Gc=function(a){this.a.f[7]=a};g.va=function(a){a&=7;return this.a.u&2048?this.a.f[a]:this.a.sa[a]};g.xa=function(a,b){b&=7;this.a.u&2048?this.a.f[b]=a:this.a.sa[b]=a}; g.ua=function(a){a&=7;return this.a.u&2048?this.a.sa[a]:this.a.f[a]};g.wa=function(a,b){b&=7;this.a.u&2048?this.a.sa[b]=a:this.a.f[b]=a};g.Tb=function(){return this.a.u&49152?this.a.X[0]:this.a.f[6]};g.Dc=function(a){this.a.u&49152?this.a.X[0]=a:this.a.f[6]=a};g.Wb=function(){return this.a.f[7]};g.Gc=function(a){this.a.f[7]=a};g.va=function(a){a&=7;return this.a.u&2048?this.a.f[a]:this.a.sa[a]};g.xa=function(a,b){b&=7;this.a.u&2048?this.a.f[b]=a:this.a.sa[b]=a};
g.Ub=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.X[1]};g.Ec=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.X[1]=a};g.Vb=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.X[3]};g.Fc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.X[3]=a};g.Gb=function(a){return this.a.pb[a-65504>>1]};g.sc=function(a,b){this.a.pb[b-65504>>1]=a};g.nb=function(a){return 65520==a?61183:0};g.ub=function(){};g.dc=function(){return 1};g.Oc=function(){};g.Fb=function(){return this.a.F}; g.Ub=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.X[1]};g.Ec=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.X[1]=a};g.Vb=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.X[3]};g.Fc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.X[3]=a};g.Gb=function(a){return this.a.pb[a-65504>>1]};g.sc=function(a,b){this.a.pb[b-65504>>1]=a};g.nb=function(a){return 65520==a?61183:0};g.ub=function(){};g.dc=function(){return 1};g.Oc=function(){};g.Fb=function(){return this.a.F};
g.rc=function(){this.a.F=0};g.Mb=function(){return this.a.ob};g.yc=function(a,b){b&1||(a&=255);this.a.ob=a};g.Rb=function(a){return a?this.a.$a:0};g.Bc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.$a=a;b.j|=2};g.cc=function(a){return a?this.a.oa&65280:0};g.Nc=function(a){this.a.oa=a|255};g.Sb=function(){return Na(this.a)};g.Cc=function(a){pb(this.a,a&-1809|Na(this.a)&1808);this.a.j|=128};g.tb=function(){};g.reset=function(){this.c.Oa=this.c.Oa&-120|20;this.b.la=0}; g.rc=function(){this.a.F=0};g.Mb=function(){return this.a.ob};g.yc=function(a,b){b&1||(a&=255);this.a.ob=a};g.Rb=function(a){return a?this.a.ab:0};g.Bc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.ab=a;b.j|=2};g.cc=function(a){return a?this.a.oa&65280:0};g.Nc=function(a){this.a.oa=a|255};g.Sb=function(){return Xa(this.a)};g.Cc=function(a){Ab(this.a,a&-1809|Xa(this.a)&1808);this.a.j|=128};g.tb=function(){};g.reset=function(){this.c.Pa=this.c.Pa&-120|20;this.b.la=0};
var K={},J=(K[62592]=[null,null,I.prototype.bc,I.prototype.Mc,"SISDR"],K[62608]=[null,null,I.prototype.$b,I.prototype.Kc,"SDSDR"],K[62624]=[null,null,I.prototype.ac,I.prototype.Lc,"SISAR"],K[62640]=[null,null,I.prototype.Zb,I.prototype.Jc,"SDSAR"],K[62656]=[null,null,I.prototype.Kb,I.prototype.wc,"KISDR"],K[62672]=[null,null,I.prototype.Ib,I.prototype.uc,"KDSDR"],K[62688]=[null,null,I.prototype.Jb,I.prototype.vc,"KISAR"],K[62704]=[null,null,I.prototype.Hb,I.prototype.tc,"KDSAR"],K[62798]=[null,null, var K={},J=(K[62592]=[null,null,I.prototype.bc,I.prototype.Mc,"SISDR",1145],K[62608]=[null,null,I.prototype.$b,I.prototype.Kc,"SDSDR",1145],K[62624]=[null,null,I.prototype.ac,I.prototype.Lc,"SISAR",1145],K[62640]=[null,null,I.prototype.Zb,I.prototype.Jc,"SDSAR",1145],K[62656]=[null,null,I.prototype.Kb,I.prototype.wc,"KISDR",1145],K[62672]=[null,null,I.prototype.Ib,I.prototype.uc,"KDSDR",1145],K[62688]=[null,null,I.prototype.Jb,I.prototype.vc,"KISAR",1145],K[62704]=[null,null,I.prototype.Hb,I.prototype.tc,
I.prototype.Qb,I.prototype.Ac,"MMR3"],K[65382]=[null,null,I.prototype.Lb,I.prototype.xc,"LKS"],K[65400]=[null,null,I.prototype.Eb,I.prototype.qc,"CNSL"],K[65402]=[null,null,I.prototype.Nb,I.prototype.zc,"MMR0"],K[65404]=[null,null,I.prototype.Ob,I.prototype.tb,"MMR1"],K[65406]=[null,null,I.prototype.Pb,I.prototype.tb,"MMR2"],K[65408]=[null,null,I.prototype.hc,I.prototype.Sc,"UISDR"],K[65424]=[null,null,I.prototype.fc,I.prototype.Qc,"UDSDR"],K[65440]=[null,null,I.prototype.gc,I.prototype.Rc,"UISAR"], "KDSAR",1145],K[62798]=[null,null,I.prototype.Qb,I.prototype.Ac,"MMR3",1145],K[65382]=[null,null,I.prototype.Lb,I.prototype.xc,"LKS"],K[65400]=[null,null,I.prototype.Eb,I.prototype.qc,"CNSL"],K[65402]=[null,null,I.prototype.Nb,I.prototype.zc,"MMR0",1145],K[65404]=[null,null,I.prototype.Ob,I.prototype.tb,"MMR1",1145],K[65406]=[null,null,I.prototype.Pb,I.prototype.tb,"MMR2",1145],K[65408]=[null,null,I.prototype.hc,I.prototype.Sc,"UISDR",1145],K[65424]=[null,null,I.prototype.fc,I.prototype.Qc,"UDSDR",
K[65456]=[null,null,I.prototype.ec,I.prototype.Pc,"UDSAR"],K[65472]=[null,null,I.prototype.ua,I.prototype.wa,"R0SET0"],K[65473]=[null,null,I.prototype.ua,I.prototype.wa,"R1SET0"],K[65474]=[null,null,I.prototype.ua,I.prototype.wa,"R2SET0"],K[65475]=[null,null,I.prototype.ua,I.prototype.wa,"R3SET0"],K[65476]=[null,null,I.prototype.ua,I.prototype.wa,"R4SET0"],K[65477]=[null,null,I.prototype.ua,I.prototype.wa,"R5SET0"],K[65478]=[null,null,I.prototype.Tb,I.prototype.Dc,"R6KERNEL"],K[65479]=[null,null, 1145],K[65440]=[null,null,I.prototype.gc,I.prototype.Rc,"UISAR",1145],K[65456]=[null,null,I.prototype.ec,I.prototype.Pc,"UDSAR",1145],K[65472]=[null,null,I.prototype.ua,I.prototype.wa,"R0SET0"],K[65473]=[null,null,I.prototype.ua,I.prototype.wa,"R1SET0"],K[65474]=[null,null,I.prototype.ua,I.prototype.wa,"R2SET0"],K[65475]=[null,null,I.prototype.ua,I.prototype.wa,"R3SET0"],K[65476]=[null,null,I.prototype.ua,I.prototype.wa,"R4SET0"],K[65477]=[null,null,I.prototype.ua,I.prototype.wa,"R5SET0"],K[65478]=
I.prototype.Wb,I.prototype.Gc,"R7KERNEL"],K[65480]=[null,null,I.prototype.va,I.prototype.xa,"R0SET1"],K[65481]=[null,null,I.prototype.va,I.prototype.xa,"R1SET1"],K[65482]=[null,null,I.prototype.va,I.prototype.xa,"R2SET1"],K[65483]=[null,null,I.prototype.va,I.prototype.xa,"R3SET1"],K[65484]=[null,null,I.prototype.va,I.prototype.xa,"R4SET1"],K[65485]=[null,null,I.prototype.va,I.prototype.xa,"R5SET1"],K[65486]=[null,null,I.prototype.Ub,I.prototype.Ec,"R6SUPER"],K[65487]=[null,null,I.prototype.Vb,I.prototype.Fc, [null,null,I.prototype.Tb,I.prototype.Dc,"R6KERNEL"],K[65479]=[null,null,I.prototype.Wb,I.prototype.Gc,"R7KERNEL"],K[65480]=[null,null,I.prototype.va,I.prototype.xa,"R0SET1",1145],K[65481]=[null,null,I.prototype.va,I.prototype.xa,"R1SET1",1145],K[65482]=[null,null,I.prototype.va,I.prototype.xa,"R2SET1",1145],K[65483]=[null,null,I.prototype.va,I.prototype.xa,"R3SET1",1145],K[65484]=[null,null,I.prototype.va,I.prototype.xa,"R4SET1",1145],K[65485]=[null,null,I.prototype.va,I.prototype.xa,"R5SET1",1145],
"R6USER"],K[65504]=[null,null,I.prototype.Gb,I.prototype.sc,"CTRL",1170],K[65520]=[null,null,I.prototype.nb,I.prototype.ub,"LSIZE",1170],K[65522]=[null,null,I.prototype.nb,I.prototype.ub,"HSIZE",1170],K[65524]=[null,null,I.prototype.dc,I.prototype.Oc,"SYSID",1170],K[65526]=[null,null,I.prototype.Fb,I.prototype.rc,"CPUERR",1170],K[65528]=[null,null,I.prototype.Mb,I.prototype.yc,"MB",1170],K[65530]=[null,null,I.prototype.Rb,I.prototype.Bc,"PIR"],K[65532]=[null,null,I.prototype.cc,I.prototype.Nc,"SL"], K[65486]=[null,null,I.prototype.Ub,I.prototype.Ec,"R6SUPER",1145],K[65487]=[null,null,I.prototype.Vb,I.prototype.Fc,"R6USER",1145],K[65504]=[null,null,I.prototype.Gb,I.prototype.sc,"CTRL",1170],K[65520]=[null,null,I.prototype.nb,I.prototype.ub,"LSIZE",1170],K[65522]=[null,null,I.prototype.nb,I.prototype.ub,"HSIZE",1170],K[65524]=[null,null,I.prototype.dc,I.prototype.Oc,"SYSID",1170],K[65526]=[null,null,I.prototype.Fb,I.prototype.rc,"CPUERR",1170],K[65528]=[null,null,I.prototype.Mb,I.prototype.yc,
K[65534]=[null,null,I.prototype.Sb,I.prototype.Cc,"PSW"],K);J[62594]=J[62592];J[62596]=J[62592];J[62598]=J[62592];J[62600]=J[62592];J[62602]=J[62592];J[62604]=J[62592];J[62606]=J[62592];J[62610]=J[62608];J[62612]=J[62608];J[62614]=J[62608];J[62616]=J[62608];J[62618]=J[62608];J[62620]=J[62608];J[62622]=J[62608];J[62626]=J[62624];J[62628]=J[62624];J[62630]=J[62624];J[62632]=J[62624];J[62634]=J[62624];J[62636]=J[62624];J[62638]=J[62624];J[62642]=J[62640];J[62644]=J[62640];J[62646]=J[62640]; "MB",1170],K[65530]=[null,null,I.prototype.Rb,I.prototype.Bc,"PIR"],K[65532]=[null,null,I.prototype.cc,I.prototype.Nc,"SL"],K[65534]=[null,null,I.prototype.Sb,I.prototype.Cc,"PSW"],K);J[62594]=J[62592];J[62596]=J[62592];J[62598]=J[62592];J[62600]=J[62592];J[62602]=J[62592];J[62604]=J[62592];J[62606]=J[62592];J[62610]=J[62608];J[62612]=J[62608];J[62614]=J[62608];J[62616]=J[62608];J[62618]=J[62608];J[62620]=J[62608];J[62622]=J[62608];J[62626]=J[62624];J[62628]=J[62624];J[62630]=J[62624];J[62632]=J[62624];
J[62648]=J[62640];J[62650]=J[62640];J[62652]=J[62640];J[62654]=J[62640];J[62658]=J[62656];J[62660]=J[62656];J[62662]=J[62656];J[62664]=J[62656];J[62666]=J[62656];J[62668]=J[62656];J[62670]=J[62656];J[62674]=J[62672];J[62676]=J[62672];J[62678]=J[62672];J[62680]=J[62672];J[62682]=J[62672];J[62684]=J[62672];J[62686]=J[62672];J[62690]=J[62688];J[62692]=J[62688];J[62694]=J[62688];J[62696]=J[62688];J[62698]=J[62688];J[62700]=J[62688];J[62702]=J[62688];J[62706]=J[62704];J[62708]=J[62704];J[62710]=J[62704]; J[62634]=J[62624];J[62636]=J[62624];J[62638]=J[62624];J[62642]=J[62640];J[62644]=J[62640];J[62646]=J[62640];J[62648]=J[62640];J[62650]=J[62640];J[62652]=J[62640];J[62654]=J[62640];J[62658]=J[62656];J[62660]=J[62656];J[62662]=J[62656];J[62664]=J[62656];J[62666]=J[62656];J[62668]=J[62656];J[62670]=J[62656];J[62674]=J[62672];J[62676]=J[62672];J[62678]=J[62672];J[62680]=J[62672];J[62682]=J[62672];J[62684]=J[62672];J[62686]=J[62672];J[62690]=J[62688];J[62692]=J[62688];J[62694]=J[62688];J[62696]=J[62688];
J[62712]=J[62704];J[62714]=J[62704];J[62716]=J[62704];J[62718]=J[62704];J[65410]=J[65408];J[65412]=J[65408];J[65414]=J[65408];J[65416]=J[65408];J[65418]=J[65408];J[65420]=J[65408];J[65422]=J[65408];J[65426]=J[65424];J[65428]=J[65424];J[65430]=J[65424];J[65432]=J[65424];J[65434]=J[65424];J[65436]=J[65424];J[65438]=J[65424];J[65442]=J[65440];J[65444]=J[65440];J[65446]=J[65440];J[65448]=J[65440];J[65450]=J[65440];J[65452]=J[65440];J[65454]=J[65440];J[65458]=J[65456];J[65460]=J[65456];J[65462]=J[65456]; J[62698]=J[62688];J[62700]=J[62688];J[62702]=J[62688];J[62706]=J[62704];J[62708]=J[62704];J[62710]=J[62704];J[62712]=J[62704];J[62714]=J[62704];J[62716]=J[62704];J[62718]=J[62704];J[65410]=J[65408];J[65412]=J[65408];J[65414]=J[65408];J[65416]=J[65408];J[65418]=J[65408];J[65420]=J[65408];J[65422]=J[65408];J[65426]=J[65424];J[65428]=J[65424];J[65430]=J[65424];J[65432]=J[65424];J[65434]=J[65424];J[65436]=J[65424];J[65438]=J[65424];J[65442]=J[65440];J[65444]=J[65440];J[65446]=J[65440];J[65448]=J[65440];
J[65464]=J[65456];J[65466]=J[65456];J[65468]=J[65456];J[65470]=J[65456];J[65506]=J[65504];J[65508]=J[65504];J[65510]=J[65504];J[65512]=J[65504];J[65514]=J[65504];J[65516]=J[65504];J[65518]=J[65504];u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c);switch(d.name){case "default":d=new I(d),B(d,c)}}});var qb;if(Ja){var rb=new ArrayBuffer(2);(new DataView(rb)).setUint16(0,256,!0);qb=256===(new Uint16Array(rb))[0]}else qb=!1;var sb=qb; J[65450]=J[65440];J[65452]=J[65440];J[65454]=J[65440];J[65458]=J[65456];J[65460]=J[65456];J[65462]=J[65456];J[65464]=J[65456];J[65466]=J[65456];J[65468]=J[65456];J[65470]=J[65456];J[65506]=J[65504];J[65508]=J[65504];J[65510]=J[65504];J[65512]=J[65504];J[65514]=J[65504];J[65516]=J[65504];J[65518]=J[65504];u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=z(c);switch(d.name){case "default":d=new I(d),A(d,c)}}});var Bb;
function G(a,b,c,d,e,f){this.l=a;this.id=tb+=2;this.a=null;this.za=b;this.Pa=c;this.size=d||0;this.type=e||ub;this.v=e==vb;this.controller=null;Ta(this);this.ia=this.xb=!1;if(d)if(f)this.controller=f,this.a=null,wb(this,f.vb);else if(Ja)this.b=new ArrayBuffer(d),this.g=new DataView(this.b,0,d),this.c=new Uint8Array(this.b,0,d),this.o=new Uint16Array(this.b,0,d>>1),this.a=new Int32Array(this.b,0,d>>2),wb(this,sb?xb:yb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;wb(this,zb)}else wb(this)} if(Sa){var Cb=new ArrayBuffer(2);(new DataView(Cb)).setUint16(0,256,!0);Bb=256===(new Uint16Array(Cb))[0]}else Bb=!1;var Db=Bb;
var ub=0,vb=2,Za=4,ab=["NONE","RAM","ROM","VID","H/W"],tb=0; function G(a,b,c,d,e,f){this.m=a;this.id=Eb+=2;this.a=null;this.za=b;this.Qa=c;this.size=d||0;this.type=e||Fb;this.v=e==Gb;this.controller=null;cb(this);this.ia=this.xb=!1;if(d)if(f)this.controller=f,this.a=null,Hb(this,f.vb);else if(Sa)this.b=new ArrayBuffer(d),this.g=new DataView(this.b,0,d),this.c=new Uint8Array(this.b,0,d),this.o=new Uint16Array(this.b,0,d>>1),this.a=new Int32Array(this.b,0,d>>2),Hb(this,Db?Ib:Jb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Hb(this,Kb)}else Hb(this)}
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ja)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ja)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ia=!0}return!1},w:function(){return 255},A:function(){},s:function(a,b){return this.Xa(a++,b++)|this.Xa(a,b)<<8},B:function(a,b,c){this.cb(a++, var Fb=0,Gb=2,jb=4,lb=["NONE","RAM","ROM","VID","H/W"],Eb=0;
b&255,c++);this.cb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},Y:function(a,b){a&1&&ib(this.l,b);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},ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ia=!0},ra:function(a,b,c){a&1&&ib(this.l,c);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ia=!0},G:function(a,b){return this.I(a,b)}, G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Sa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Sa)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ia=!0}return!1},w:function(){return 255},A:function(){},s:function(a,b){return this.Ya(a++,b++)|this.Ya(a,b)<<8},B:function(a,b,c){this.eb(a++,
R:function(a,b){return this.V(a,b)},$:function(a,b,c){this.v||this.sb(a,b,c)},ga:function(a,b,c){this.v||this.pa(a,b,c)},D:function(a){return this.c[a]},J:function(a){return this.c[a]},N:function(a,b){a&1&&ib(this.l,b);return this.g.getUint16(a,!0)},W:function(a,b){a&1&&ib(this.l,b);return this.o[a>>1]},Z:function(a,b){this.c[a]=b;this.ia=!0},da:function(a,b){this.c[a]=b;this.ia=!0},fa:function(a,b,c){a&1&&ib(this.l,c);this.g.setUint16(a,b,!0);this.ia=!0},qa:function(a,b,c){a&1&&ib(this.l,c);this.o[a>> b&255,c++);this.eb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},Y:function(a,b){a&1&&tb(this.m,b);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},ea:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ia=!0},ra:function(a,b,c){a&1&&tb(this.m,c);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ia=!0},H:function(a,b){return this.I(a,b)},
1]=b;this.ia=!0}};function Ta(a,b,c){a.H=b;a.i=a.m=0;c&&((a.i=c.i)&&Ab(a,Bb,!1),(a.m=c.m)&&Cb(a,Bb,!1))}function Cb(a,b,c){c&&a.m||(a.cb=!a.v&&b[1]||a.A,a.Qa=!a.v&&b[3]||a.B);if(c||void 0===c)a.sb=b[1]||a.A,a.pa=b[3]||a.B}function Ab(a,b,c){c&&a.i||(a.Xa=b[0]||a.w,a.S=b[2]||a.s);if(c||void 0===c)a.I=b[0]||a.w,a.V=b[2]||a.s}function wb(a,b){b||(b=Db);Ab(a,b,void 0);Cb(a,b,void 0)} R:function(a,b){return this.V(a,b)},$:function(a,b,c){this.v||this.sb(a,b,c)},ga:function(a,b,c){this.v||this.pa(a,b,c)},D:function(a){return this.c[a]},J:function(a){return this.c[a]},N:function(a,b){a&1&&tb(this.m,b);return this.g.getUint16(a,!0)},W:function(a,b){a&1&&tb(this.m,b);return this.o[a>>1]},Z:function(a,b){this.c[a]=b;this.ia=!0},da:function(a,b){this.c[a]=b;this.ia=!0},fa:function(a,b,c){a&1&&tb(this.m,c);this.g.setUint16(a,b,!0);this.ia=!0},qa:function(a,b,c){a&1&&tb(this.m,c);this.o[a>>
var Db=[],zb=[G.prototype.M,G.prototype.ea,G.prototype.Y,G.prototype.ra],Bb=[G.prototype.G,G.prototype.$,G.prototype.R,G.prototype.ga];if(Ja)var yb=[G.prototype.D,G.prototype.Z,G.prototype.N,G.prototype.fa],xb=[G.prototype.J,G.prototype.da,G.prototype.W,G.prototype.qa]; 1]=b;this.ia=!0}};function cb(a,b,c){a.G=b;a.i=a.l=0;c&&((a.i=c.i)&&Lb(a,Mb,!1),(a.l=c.l)&&Nb(a,Mb,!1))}function Nb(a,b,c){c&&a.l||(a.eb=!a.v&&b[1]||a.A,a.Ra=!a.v&&b[3]||a.B);if(c||void 0===c)a.sb=b[1]||a.A,a.pa=b[3]||a.B}function Lb(a,b,c){c&&a.i||(a.Ya=b[0]||a.w,a.S=b[2]||a.s);if(c||void 0===c)a.I=b[0]||a.w,a.V=b[2]||a.s}function Hb(a,b){b||(b=Ob);Lb(a,b,void 0);Nb(a,b,void 0)}
function Eb(a,b){v.call(this,"CPU",a,Eb);var c=a.multiplier||1;this.Ka=a.cycles||b;this.$=c;this.Ua=Math.round(this.Ka/1E4)/100;this.da=this.Ua*this.$;this.h.T=!1;this.h.qb=!1;this.h.Aa=a.autoStart;this.h.Ma=!1;this.Da=this.fa=0;this.Ja=a.csStart;this.pa=a.csInterval;this.qa=a.csStop;this.G=[];this.mb=this.mc.bind(this);D(this)}x(Eb);var Fb=["power","reset"];g=Eb.prototype; var Ob=[],Kb=[G.prototype.M,G.prototype.ea,G.prototype.Y,G.prototype.ra],Mb=[G.prototype.H,G.prototype.$,G.prototype.R,G.prototype.ga];if(Sa)var Jb=[G.prototype.D,G.prototype.Z,G.prototype.N,G.prototype.fa],Ib=[G.prototype.J,G.prototype.da,G.prototype.W,G.prototype.qa];
g.ka=function(a,b,c,d){this.w=a;this.l=b;this.H=d;for(b=0;b<Fb.length;b++)(c=this.v[Fb[b]])&&this.w.U(null,Fb[b],c);a=Gb(a,"autoStart");null!=a&&(this.h.Aa="true"==a?!0:"false"==a?!1:!!a);D(this)};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.ba=function(a,b){if(!b){if(a&&this.restore){Hb(this);if(!this.restore(a))return!1;Ib(this)}else this.reset();this.O("No debugger detected")}this.w.ca();return!0};g.aa=function(a){return a?this.save():!0}; function Pb(a,b){v.call(this,"CPU",a,Pb);var c=a.multiplier||1;this.La=a.cycles||b;this.$=c;this.Va=Math.round(this.La/1E4)/100;this.da=this.Va*this.$;this.h.T=!1;this.h.qb=!1;this.h.Aa=a.autoStart;this.h.Ma=!1;this.Ja=this.fa=0;this.Ka=a.csStart;this.pa=a.csInterval;this.qa=a.csStop;this.H=[];this.mb=this.mc.bind(this);D(this)}x(Pb);var Qb=["power","reset"];g=Pb.prototype;
g.Aa=function(){return this.h.Aa||void 0===this.v.run?(Jb(this),!0):!1};g.gb=function(){return 0};function Ib(a){void 0===a.Ja&&(a.Ja=0);void 0===a.pa&&(a.pa=-1);void 0===a.qa&&(a.qa=-1);a.h.Ma=0<=a.Ja&&0<a.pa;a.h.Ma&&(a.Da=0,a.fa=a.Ja-a.J)} g.ka=function(a,b,c,d){this.w=a;this.m=b;this.G=d;for(b=0;b<Qb.length;b++)(c=this.v[Qb[b]])&&this.w.U(null,Qb[b],c);a=Rb(a,"autoStart");null!=a&&(this.h.Aa="true"==a?!0:"false"==a?!1:!!a);D(this)};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.ba=function(a,b){if(!b){if(a&&this.restore){Sb(this);if(!this.restore(a))return!1;Tb(this)}else this.reset();this.O("No debugger detected")}this.w.ca();return!0};g.aa=function(a){return a?this.save():!0};
g.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.v[b]=c,!0;case "run":return this.v[b]=c,c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.h.L)a=!0;else{var b=null,c,l=y(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.h.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.h.L);c++);c==l.length&&(b=a);p("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Na?" (waiting for notification)":""))+".");a=!1}a&&(d.h.T?F(d):Jb(d))},!0;case "speed":return this.v[b]= g.Aa=function(){return this.h.Aa||void 0===this.v.run?(Ub(this),!0):!1};g.hb=function(){return 0};function Tb(a){void 0===a.Ka&&(a.Ka=0);void 0===a.pa&&(a.pa=-1);void 0===a.qa&&(a.qa=-1);a.h.Ma=0<=a.Ka&&0<a.pa;a.h.Ma&&(a.Ja=0,a.fa=a.Ka-a.J)}
c,!0;case "setSpeed":return this.v[b]=c,c.onclick=function(){Kb(d,d.$<<1)},c.textContent=this.da.toFixed(2)+"Mhz",!0}return!1};g.ca=function(){var a=this.v.speed;a&&(a.textContent=this.h.T&&this.Y?this.Y.toFixed(2)+"Mhz":"Stopped")};function Lb(a,b){var c=1;b&&1<a.$&&a.Y&&(c=a.Y/a.Ua);a.kb=Math.round(1E3/30);a.La=Math.floor(a.Ka/30*c);b||(a.ra=a.La);a.Wa=0}function Mb(a){return a.J+a.V+a.ea-a.a}function Hb(a){a.Y=0;a.lb=0;a.J=a.V=a.ea=a.a=0;Ib(a);Kb(a,1)} g.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.v[b]=c,!0;case "run":return this.v[b]=c,c.onclick=function(){var a;if(a=d.w)if(a=d.w,a.h.L)a=!0;else{var b=null,c,l=y(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.h.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.h.L);c++);c==l.length&&(b=a);p("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.Oa?" (waiting for notification)":""))+".");a=!1}a&&(d.h.T?E(d):Ub(d))},!0;case "speed":return this.v[b]=
function Kb(a,b){if(void 0!==b&&(.8>a.Y/a.da&&(b=1),a.$=b,b=a.Ua*a.$,a.da!=b)){a.da=b;b=a.da.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.O("target speed: "+b)}a.J+=a.V;a.V=0;a.N=ka();a.Z=0;Lb(a)}function jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function lb(a,b,c){0<=b&&b<a.G.length&&0>a.G[b][0]&&(c*=a.Ka*a.$/1E3,a.G[b][0]=c+Nb(a))}function Nb(a,b){var c=a.ea-=a.a;a.a=0;b&&(a.ea=0);return c} c,!0;case "setSpeed":return this.v[b]=c,c.onclick=function(){Vb(d,d.$<<1)},c.textContent=this.da.toFixed(2)+"Mhz",!0}return!1};g.ca=function(){var a=this.v.speed;a&&(a.textContent=this.h.T&&this.Y?this.Y.toFixed(2)+"Mhz":"Stopped")};function Wb(a,b){var c=1;b&&1<a.$&&a.Y&&(c=a.Y/a.Va);a.kb=Math.round(1E3/30);a.Na=Math.floor(a.La/30*c);b||(a.ra=a.Na);a.Xa=0}function Xb(a){return a.J+a.V+a.ea-a.a}function Sb(a){a.Y=0;a.lb=0;a.J=a.V=a.ea=a.a=0;Tb(a);Vb(a,1)}
g.mc=function(){if(this.h.T){this.Wa>=this.Ka&&Lb(this,!0);this.ya=0;this.Ia=ka();if(this.Z){var a=this.Ia-this.Z;a>this.kb&&(this.N+=a,this.N>this.Ia&&(this.N=this.Ia))}try{do{for(var b,c=this.h.Ma?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.rb(b)}catch(n){if("number"!=typeof n)throw n;}b=Nb(this,!0);this.ya+=b;this.V+=b;a=b;if(this.h.Ma){var f=!1;this.Da=this.Da+this.gb()|0;this.fa-=a;0>=this.fa&&(this.fa+=this.pa,f=!0);0<=this.qa&&this.qa<=Mb(this)&& function Vb(a,b){if(void 0!==b&&(.8>a.Y/a.da&&(b=1),a.$=b,b=a.Va*a.$,a.da!=b)){a.da=b;b=a.da.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.O("target speed: "+b)}a.J+=a.V;a.V=0;a.N=sa();a.Z=0;Wb(a)}function ub(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function wb(a,b,c){0<=b&&b<a.H.length&&0>a.H[b][0]&&(c=a.La*a.$/1E3*c|0,a.H[b][0]=c+Yb(a))}function Yb(a,b){var c=a.ea-=a.a;a.a=0;b&&(a.ea=0);return c}
(this.pa=this.qa=-1,Ib(this),F(this),f=!0);f&&this.O(Mb(this)+" cycles: checksum="+h(this.Da))}for(var a=b,k=this.G.length-1;0<=k;k--){var l=this.G[k];0>l[0]||(l[0]-=a,0>=l[0]&&(l[0]=-1,l[1]()))}this.ra-=b;if(0>=this.ra){this.ra+=this.La;15<=++this.lb&&(this.w&&this.w.ca(),this.lb=0);break}}while(this.h.T)}catch(n){F(this);this.w&&this.w.stop(ka(),Mb(this));b=n.stack||n.message;this.h.error=!0;this.K(b);return}if(this.h.T){b=setTimeout;c=this.mb;this.Z=ka();d=this.kb;this.ya&&(d=Math.round(d*this.ya/ g.mc=function(){if(this.h.T){this.Xa>=this.La&&Wb(this,!0);this.ya=0;this.Da=sa();if(this.Z){var a=this.Da-this.Z;a>this.kb&&(this.N+=a,this.N>this.Da&&(this.N=this.Da))}try{do{for(var b,c=this.h.Ma?1:this.Na,d=this.H.length-1;0<=d;d--){var e=this.H[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.rb(b)}catch(n){if("number"!=typeof n)throw n;}b=Yb(this,!0);this.ya+=b;this.V+=b;a=b;if(this.h.Ma){var f=!1;this.Ja=this.Ja+this.hb()|0;this.fa-=a;0>=this.fa&&(this.fa+=this.pa,f=!0);0<=this.qa&&this.qa<=Xb(this)&&
this.La));d-=this.Z-this.Ia;if(e=this.Z-this.N)this.Y=Math.round(this.V/(10*e))/100,864E5<=e&&(this.J=0,Kb(this));if(0>d||this.Y<this.da)-1E3>d&&(this.N-=d),d=0;this.Wa+=this.ya;this.Z+=d;b(c,d)}}};function Jb(a){var b;a.h.error?(a.O(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.T)a.O(a.toString()+" busy");else{Kb(a);a.h.T=!0;a.h.qb=!0;if(b=a.v.run)b.textContent="Halt";a.w&&a.w.start(a.N,Mb(a));setTimeout(a.mb,0)}}g.rb=function(){return 0}; (this.pa=this.qa=-1,Tb(this),E(this),f=!0);f&&this.O(Xb(this)+" cycles: checksum="+h(this.Ja))}for(var a=b,k=this.H.length-1;0<=k;k--){var l=this.H[k];0>l[0]||(l[0]-=a,0>=l[0]&&(l[0]=-1,l[1]()))}this.ra-=b;if(0>=this.ra){this.ra+=this.Na;15<=++this.lb&&(this.w&&this.w.ca(),this.lb=0);break}}while(this.h.T)}catch(n){E(this);this.w&&this.w.stop(sa(),Xb(this));b=n.stack||n.message;this.h.error=!0;this.K(b);return}if(this.h.T){b=setTimeout;c=this.mb;this.Z=sa();d=this.kb;this.ya&&(d=Math.round(d*this.ya/
function F(a){if(a.h.T){Nb(a);a.J+=a.V;a.V=0;a.h.T=!1;var b=a.v.run;b&&(b.textContent="Run");a.w&&a.w.stop(ka(),Mb(a))}a.h.complete=void 0}function Ob(a){this.jb=+a.model||1170;this.Cb=a.resetAddr||0;Eb.call(this,a,6666667);this.decode=Pb.bind(this);Qb(this);this.R=0;this.W=null;this.h.complete=this.h.wb=!1}x(Ob,Eb);g=Ob.prototype;g.reset=function(){this.h.T&&F(this);Qb(this);Hb(this);this.h.error=!1;this.parent.reset.call(this)}; this.Na));d-=this.Z-this.Da;if(e=this.Z-this.N)this.Y=Math.round(this.V/(10*e))/100,864E5<=e&&(this.J=0,Vb(this));if(0>d||this.Y<this.da)-1E3>d&&(this.N-=d),d=0;this.Xa+=this.ya;this.Z+=d;b(c,d)}}};function Ub(a){var b;a.h.error?(a.O(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.T)a.O(a.toString()+" busy");else{Vb(a);a.h.T=!0;a.h.qb=!0;if(b=a.v.run)b.textContent="Halt";a.w&&a.w.start(a.N,Xb(a));setTimeout(a.mb,0)}}g.rb=function(){return 0};
function Qb(a){a.m=65536;a.g=32768;a.i=65535;a.o=32768;a.u=15;a.f=[0,0,0,0,0,0,0,a.Cb];a.sa=[0,0,0,0,0,0];a.X=[0,0,0,0];a.s=0;a.Ga=0;a.Ab=[4,2,0,1];a.C=[[0,0,0,0,0,0,0,0,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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, function E(a){if(a.h.T){Yb(a);a.J+=a.V;a.V=0;a.h.T=!1;var b=a.v.run;b&&(b.textContent="Run");a.w&&a.w.stop(sa(),Xb(a))}a.h.complete=void 0}function Zb(a){this.Ia=+a.model||1170;this.Cb=a.resetAddr||0;Pb.call(this,a,6666667);this.decode=1120==this.Ia?$b.bind(this):ac.bind(this);bc(this);this.R=0;this.W=null;this.h.complete=this.h.wb=!1}x(Zb,Pb);g=Zb.prototype;g.reset=function(){this.status("model "+this.Ia);this.h.T&&E(this);bc(this);Sb(this);this.h.error=!1;this.parent.reset.call(this)};
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.pb=[0,0,0,0,0,0,0,0];a.ob=0;a.j=0;a.B=a.D=0;a.c=a.b=a.Sa=0;a.ga=-1;Rb(a)}function Rb(a){a.oa=255;a.F=0;a.$a=0;a.A=0;a.ma=0;a.Za=0;a.na=0;a.Ba=0;a.Fa=0;a.Va=262143;a.Ha=253952;a.j|=2;a.l&&nb(a)}function nb(a){a.Ba?(a.M=65536,a.I=a.zb,a.S=a.jc,a.Qa=a.Uc,Va(a.l,a.na&16?22:18)):(a.M=0,a.I=a.yb,a.S=a.ic,a.Qa=a.Tc,Va(a.l,16))}g.gb=function(){return 0}; function bc(a){a.l=65536;a.g=32768;a.i=65535;a.o=32768;a.u=15;a.f=[0,0,0,0,0,0,0,a.Cb];a.sa=[0,0,0,0,0,0];a.X=[0,0,0,0];a.s=0;a.Ga=0;a.Ab=[4,2,0,1];a.C=[[0,0,0,0,0,0,0,0,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],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Db=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
g.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.J,this.$]);a.set(2,eb(this.l));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Kb(this,b[3]);a:{b=this.l;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.D){for(var f=0,k=Array(b.D),l=0;l<e.length-1;)for(var n=e[l++],q=e[l++];n--;)k[f++]=q;e=k}f=b.b[d];if(!f||!f.restore(e)){p("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function M(a){return a.m&65536?1:0} 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.pb=[0,0,0,0,0,0,0,0];a.ob=0;a.j=0;a.B=a.D=0;a.c=a.b=a.Ta=0;a.ga=-1;cc(a)}function cc(a){a.oa=255;a.F=0;a.ab=0;a.A=0;a.ma=0;a.$a=0;a.na=0;a.Ba=0;a.Fa=0;a.Wa=262143;a.Ha=253952;a.j|=2;a.m&&yb(a)}function yb(a){a.Ba?(a.M=65536,a.I=a.zb,a.S=a.jc,a.Ra=a.Uc,fb(a.m,a.na&16?22:18)):(a.M=0,a.I=a.yb,a.S=a.ic,a.Ra=a.Tc,fb(a.m,16))}g.hb=function(){return 0};
g.ja=function(){return this.o&32768?8:0};function Sb(a){var b=a.S(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function mb(a,b){return{pc:a,ta:b,next:null}}function kb(a,b){if(b!=a.W){var c=a.W;if(!c||c.ta<=b.ta)b.next=c,a.W=b;else{do{var d=c.next;if(!d||d.ta<=b.ta){b.next=d;c.next=b;break}c=d}while(c)}}a.j|=2}function Na(a){return a.u=a.u&63728|a.ja()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)} g.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.J,this.$]);a.set(2,pb(this.m));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Vb(this,b[3]);a:{b=this.m;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.B){for(var f=0,k=Array(b.B),l=0;l<e.length-1;)for(var n=e[l++],r=e[l++];n--;)k[f++]=r;e=k}f=b.b[d];if(!f||!f.restore(e)){p("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function M(a){return a.l&65536?1:0}
function pb(a,b){a.o=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.u)&2048)for(var c=a.sa.length;0<=--c;){var d=a.f[c];a.f[c]=a.sa[c];a.sa[c]=d}a.s=b>>14&3;c=a.u>>14&3;a.s!=c&&(a.X[c]=a.f[6],a.f[6]=a.X[a.s]);a.u=b;a.j|=2}function N(a,b){a.j&128||(a.o=a.i=b,a.g=0)}function O(a,b,c){a.j&128||(a.o=a.i=a.m=b,a.g=c||0)}function Tb(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^b)&(d^b))}function P(a,b){a.j&128||(a.o=a.i=a.m=b,a.g=a.o^a.m>>1)}function Ub(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^d)&(d^b))} g.ja=function(){return this.o&32768?8:0};function dc(a){var b=a.S(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function xb(a,b){return{pc:a,ta:b,next:null}}function vb(a,b){if(b!=a.W){var c=a.W;if(!c||c.ta<=b.ta)b.next=c,a.W=b;else{do{var d=c.next;if(!d||d.ta<=b.ta){b.next=d;c.next=b;break}c=d}while(c)}}a.j|=2}function Xa(a){return a.u=a.u&63728|a.ja()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)}
function H(a,b,c){if(!a.R){var d=!1;0>a.ga?a.ga=Na(a):a.s||(b=4,d=!0);a.A&57344||(a.ma=63222,a.Za=b);a.s=0;var e=a.S(b|a.M),f=a.S(b+2&65535|a.M);pb(a,f&-12289|a.ga>>2&12288);d&&(a.F|=4,a.f[6]=4);Vb(a,a.ga);Vb(a,a.f[7]);a.f[7]=e&65535;a.j&=-113;a.ga=-1;if(26!=c)throw b;}}function Wb(a){var b=Xb(a),c=Xb(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);a.f[7]=b&65535;pb(a,c);a.j&=-17} function Ab(a,b){a.o=b<<12;a.i=~b&4;a.g=b<<14;a.l=b<<16;if((b^a.u)&2048)for(var c=a.sa.length;0<=--c;){var d=a.f[c];a.f[c]=a.sa[c];a.sa[c]=d}a.s=b>>14&3;c=a.u>>14&3;a.s!=c&&(a.X[c]=a.f[6],a.f[6]=a.X[a.s]);a.u=b;a.j|=2}function N(a,b){a.j&128||(a.o=a.i=b,a.g=0)}function O(a,b,c){a.j&128||(a.o=a.i=a.l=b,a.g=c||0)}function ec(a,b,c,d){a.j&128||(a.o=a.i=a.l=b,a.g=(c^b)&(d^b))}function P(a,b){a.j&128||(a.o=a.i=a.l=b,a.g=a.o^a.l>>1)}function fc(a,b,c,d){a.j&128||(a.o=a.i=a.l=b,a.g=(c^d)&(d^b))}
function Yb(a,b,c){var d,e,f,k=0;d=b>>13;a.na&a.Ab[a.s]||(d&=7);e=a.C[a.s][d];f=(a.P[a.s][d]<<6)+(b&8191)&a.Va;if(f<a.Ha)f&1&&!(c&1)&&(a.F|=64,H(a,4,10));else if(a.na&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.na&32&&(f=a.Db[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ha&&4186112>f&&(a.F|=32,H(a,4,12))}switch(e&7){case 1:k=4096;case 2:e|=128;c&4&&(k=8192);break;case 4:k=4096;case 5:c&4&&(k=4096);case 6:e|=c&4?192: function H(a,b,c){if(!a.R){var d=!1;0>a.ga?a.ga=Xa(a):a.s||(b=4,d=!0);a.A&57344||(a.ma=63222,a.$a=b);a.s=0;var e=a.S(b|a.M),f=a.S(b+2&65535|a.M);Ab(a,f&-12289|a.ga>>2&12288);d&&(a.F|=4,a.f[6]=4);gc(a,a.ga);gc(a,a.f[7]);a.f[7]=e&65535;a.j&=-113;a.ga=-1;if(26!=c)throw b;}}function hc(a){var b=ic(a),c=ic(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);a.f[7]=b&65535;Ab(a,c);a.j&=-17}
128;break;default:k=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(k|=16384):(b&8128)>(e>>2&8128)&&(k|=16384));a.C[a.s][d]=e;if(4194170!==f||a.s)a.Fa=a.s,a.Ga=d;k&&(k&57344&&(0<=a.ga&&(k|=128),a.A&57344||(a.A=a.A|k|a.Fa<<5|a.Ga<<1),H(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.j|=32)));return f}function Zb(a,b,c){b&1&&a.a--;a=a.l;a.b[(b&a.i)>>>a.c].cb(b&a.g,c&255,b)}function Xb(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return b} function jc(a,b,c){var d,e,f,k=0;d=b>>13;a.na&a.Ab[a.s]||(d&=7);e=a.C[a.s][d];f=(a.P[a.s][d]<<6)+(b&8191)&a.Wa;if(f<a.Ha)f&1&&!(c&1)&&(a.F|=64,H(a,4,10));else if(a.na&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.na&32&&(f=a.Db[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ha&&4186112>f&&(a.F|=32,H(a,4,12))}switch(e&7){case 1:k=4096;case 2:e|=128;c&4&&(k=8192);break;case 4:k=4096;case 5:c&4&&(k=4096);case 6:e|=c&4?192:
function Vb(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.A&57344||(a.ma=a.ma<<8|246);!a.s&&c<=a.oa&&4<c&&(c<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,18)):(a.F|=8,a.j|=4));a.Qa(c,b)} 128;break;default:k=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(k|=16384):(b&8128)>(e>>2&8128)&&(k|=16384));a.C[a.s][d]=e;if(4194170!==f||a.s)a.Fa=a.s,a.Ga=d;k&&(k&57344&&(0<=a.ga&&(k|=128),a.A&57344||(a.A=a.A|k|a.Fa<<5|a.Ga<<1),H(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.j|=32)));return f}function kc(a,b,c){b&1&&a.a--;a=a.m;a.b[(b&a.i)>>>a.m].eb(b&a.g,c&255,b)}function ic(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return b}
function $b(a,b,c,d){var e,f,k=d&8?0:a.M;switch(b){case 0:return H(a,4,20),0;case 1:return 6===c&&!a.s&&d&4&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32||65534<=a.f[6]?(a.F|=4,a.f[6]=4,H(a,4,22)):(a.F|=8,a.j|=64)),a.a-=3,7===c?a.f[c]:a.f[c]|k;case 2:f=2;e=a.f[c];7!==c&&(e|=k,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=k);e=a.S(e);e|=k;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=k);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=k);e=a.S(e)|k;a.a-= function gc(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.A&57344||(a.ma=a.ma<<8|246);!a.s&&c<=a.oa&&4<c&&(c<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,18)):(a.F|=8,a.j|=4));a.Ra(c,b)}
8;break;case 6:return e=Sb(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=Sb(a),e=e+a.f[c]&65535,e=a.S(e|a.M)|k,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!k||a.A&57344||(a.ma=a.ma<<8|f<<3&248|c);6==c&&!a.s&&d&4&&0>=f&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,24)):(a.F|=8,a.j|=64));return e}g.ab=function(a,b){this.Ba?(this.R++,Zb(this,Yb(this,a,5),b),this.R--):this.l.ab(a,b)};g.yb=function(a,b,c){return $b(this,a,b,c)};g.zb=function(a,b,c){return Yb(this,$b(this,a,b,c),c)}; function lc(a,b,c,d){var e,f,k=d&8?0:a.M;switch(b){case 0:return H(a,4,20),0;case 1:return 6===c&&!a.s&&d&4&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32||65534<=a.f[6]?(a.F|=4,a.f[6]=4,H(a,4,22)):(a.F|=8,a.j|=64)),a.a-=3,7===c?a.f[c]:a.f[c]|k;case 2:f=2;e=a.f[c];7!==c&&(e|=k,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.f[c];7!==c&&(e|=k);e=a.S(e);e|=k;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.f[c]+f&65535;7!==c&&(e|=k);a.a-=4;break;case 5:f=-2;e=a.f[c]-2&65535;7!==c&&(e|=k);e=a.S(e)|k;a.a-=
g.ic=function(a){return cb(this.l,a)};g.jc=function(a){return cb(this.l,Yb(this,a,2))};g.Tc=function(a,b){db(this.l,a,b&65535)};g.Uc=function(a,b){db(this.l,Yb(this,a,4),b)};function ac(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=$b(a,b,d,2),c&65536||61440!==(a.u&61440)&&(d&=65535),a.s=a.u>>12&3,c=a.S(d|c&a.M),a.s=a.u>>14&3):c=6!=d||(a.u>>2&12288)===(a.u&12288)?a.f[d]:a.X[a.u>>12&3];return c} 8;break;case 6:return e=dc(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=dc(a),e=e+a.f[c]&65535,e=a.S(e|a.M)|k,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!k||a.A&57344||(a.ma=a.ma<<8|f<<3&248|c);6==c&&!a.s&&d&4&&0>=f&&(a.f[6]<=a.oa||65534<=a.f[6])&&(a.f[6]<=a.oa-32?(a.F|=4,a.f[6]=4,H(a,4,24)):(a.F|=8,a.j|=64));return e}g.bb=function(a,b){this.Ba?(this.R++,kc(this,jc(this,a,5),b),this.R--):this.m.bb(a,b)};g.yb=function(a,b,c){return lc(this,a,b,c)};g.zb=function(a,b,c){return jc(this,lc(this,a,b,c),c)};
function bc(a,b,c,d){a.A&57344||(a.ma=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=$b(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=Yb(a,e|c&65536,4),a.s=a.u>>14&3,db(a.l,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.X[a.u>>12&3]=d}function cc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=bb(a.l,c)):a=a.f[c]&255;return a}function Q(a,b){b>>=6;var c=a.D=b&7;return(b=a.B=(b&56)>>3)?cb(a.l,a.I(b,c,2)):a.f[c]}function dc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return $b(a,b,c,8)} g.ic=function(a){return nb(this.m,a)};g.jc=function(a){return nb(this.m,jc(this,a,2))};g.Tc=function(a,b){ob(this.m,a,b&65535)};g.Uc=function(a,b){ob(this.m,jc(this,a,4),b)};function mc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=lc(a,b,d,2),c&65536||61440!==(a.u&61440)&&(d&=65535),a.s=a.u>>12&3,c=a.S(d|c&a.M),a.s=a.u>>14&3):c=6!=d||(a.u>>2&12288)===(a.u&12288)?a.f[d]:a.X[a.u>>12&3];return c}
function ec(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=bb(a.l,c)):a=a.f[c]&255;return a}function R(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?cb(a.l,a.I(b,c,2)):a.f[c]}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Sa=a.I(b,e,7),Zb(a,e,d.call(a,c,bb(a.l,e)))):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.I(b,e,6),db(a.l,e,d.call(a,c,cb(a.l,e)))):a.f[e]=d.call(a,c,a.f[e])} function nc(a,b,c,d){a.A&57344||(a.ma=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=lc(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=jc(a,e|c&65536,4),a.s=a.u>>14&3,ob(a.m,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.X[a.u>>12&3]=d}function oc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=mb(a.m,c)):a=a.f[c]&255;return a}function Q(a,b){b>>=6;var c=a.D=b&7;return(b=a.B=(b&56)>>3)?nb(a.m,a.I(b,c,2)):a.f[c]}function pc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return lc(a,b,c,8)}
function fc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?Zb(a,a.I(b,e,5),c):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function gc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?db(a.l,a.I(b,d,4),c):a.f[d]=c&65535;return c}function U(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3} function qc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=mb(a.m,c)):a=a.f[c]&255;return a}function rc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?nb(a.m,a.I(b,c,2)):a.f[c]}function R(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Ta=a.I(b,e,7),kc(a,e,d.call(a,c,mb(a.m,e)))):a.f[e]=a.f[e]&65280|d.call(a,c,a.f[e])}function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.I(b,e,6),ob(a.m,e,d.call(a,c,nb(a.m,e)))):a.f[e]=d.call(a,c,a.f[e])}
g.rb=function(a){this.h.complete=!0;this.h.wb=!1;this.h.qb=!1;this.ea=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?H(this,168,28):this.j&64?H(this,4,30):this.j&16&&H(this,12,32),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;var b=160,c=(this.$a&224)>>5;if(a=this.W&&this.W.ta>c?this.W:null)b=a.pc,c=a.ta;c>(this.u&224)>>5?(this.j&4&&(this.f[7]=this.f[7]+2&65535,this.j&=-5),H(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.W,c==a)this.W=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.j& function sc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?kc(a,a.I(b,e,5),c):a.f[e]=c?d&1?c<<24>>24&65535:a.f[e]&-256|c&255:a.f[e]&-256;return c}function tc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?ob(a.m,a.I(b,d,4),c):a.f[d]=c&65535;return c}function T(a,b,c){c&&(a.f[7]=a.f[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
1&&this.j++;this.A&57344||(this.ma=0,this.Za=this.f[7]);this.j=this.j&7|this.u&16;this.decode(Sb(this))}while(0<this.a);return this.h.complete?this.ea-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ob(d);B(d,c)}});function hc(a,b){var c=b+a;Tb(this,c,a,b);return c&65535}function ic(a,b){var c=b+a;Tb(this,c<<8,a<<8,b<<8);return c&255}function jc(a,b){a=b<<1;P(this,a);return a&65535} g.rb=function(a){this.h.complete=!0;this.h.wb=!1;this.h.qb=!1;this.ea=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?H(this,168,28):this.j&64?H(this,4,30):this.j&16&&H(this,12,32),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;var b=160,c=(this.ab&224)>>5;if(a=this.W&&this.W.ta>c?this.W:null)b=a.pc,c=a.ta;c>(this.u&224)>>5?(this.j&4&&(this.f[7]=this.f[7]+2&65535,this.j&=-5),H(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.W,c==a)this.W=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.j&
function kc(a,b){a=b<<1;P(this,a<<8);return a&255}function lc(a,b){a=b&32768|b>>1|b<<16;P(this,a);return a&65535}function mc(a,b){a=b&2048|b>>1|b<<8;P(this,a<<8);return a&255}function nc(a,b){a=b&~a;N(this,a);return a}function oc(a,b){a=b&~a;N(this,a<<8);return a}function pc(a,b){a|=b;N(this,a);return a}function qc(a,b){a|=b;N(this,a<<8);return a}function rc(a,b){a=~b|65536;O(this,a);return a&65535}function sc(a,b){a=~b|256;O(this,a<<8);return a&255} 1&&this.j++;this.A&57344||(this.ma=0,this.$a=this.f[7]);this.j=this.j&7|this.u&16;this.decode(dc(this))}while(0<this.a);return this.h.complete?this.ea-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Zb(d);A(d,c)}});function uc(a,b){var c=b+a;ec(this,c,a,b);return c&65535}function vc(a,b){var c=b+a;ec(this,c<<8,a<<8,b<<8);return c&255}function wc(a,b){a=b<<1;P(this,a);return a&65535}
function tc(a,b){a=b-a;this.j&128||(this.o=this.i=a,this.g=b&(b^a));return a&65535}function uc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.o=this.i=c,this.g=b&(b^c));return a&255}function vc(a,b){a=b+a;this.j&128||(this.o=this.i=a,this.g=a&(b^a));return a&65535}function wc(a,b){a=b+a;var c=a<<8;this.j&128||(this.o=this.i=c,this.g=c&(b<<8^c));return a&255}function xc(a,b){a=-b;O(this,a,a&b&32768);return a&65535}function yc(a,b){a=-b;O(this,a<<8,(a&b&128)<<8);return a&255} function xc(a,b){a=b<<1;P(this,a<<8);return a&255}function yc(a,b){a=b&32768|b>>1|b<<16;P(this,a);return a&65535}function zc(a,b){a=b&2048|b>>1|b<<8;P(this,a<<8);return a&255}function Ac(a,b){a=b&~a;N(this,a);return a}function Bc(a,b){a=b&~a;N(this,a<<8);return a}function Cc(a,b){a|=b;N(this,a);return a}function Dc(a,b){a|=b;N(this,a<<8);return a}function Ec(a,b){a=~b|65536;O(this,a);return a&65535}function Fc(a,b){a=~b|256;O(this,a<<8);return a&255}
function zc(a,b){a=b<<1|this.m>>16&1;P(this,a);return a&65535}function Ac(a,b){a=b<<1|this.m>>16&1;P(this,a<<8);return a&255}function Bc(a,b){a=(this.m&65536|b)>>1|b<<16;P(this,a);return a&65535}function Cc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;P(this,a<<8);return a&255}function Dc(a,b){var c=b-a;Ub(this,c,a,b);return c&65535}function Ec(a,b){var c=b-a;Ub(this,c<<8,a<<8,b<<8);return c&255}function Fc(a,b){this.j&128||(this.o=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535} function Gc(a,b){a=b-a;this.j&128||(this.o=this.i=a,this.g=b&(b^a));return a&65535}function Hc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.o=this.i=c,this.g=b&(b^c));return a&255}function Ic(a,b){a=b+a;this.j&128||(this.o=this.i=a,this.g=a&(b^a));return a&65535}function Jc(a,b){a=b+a;var c=a<<8;this.j&128||(this.o=this.i=c,this.g=c&(b<<8^c));return a&255}function Kc(a,b){a=-b;O(this,a,a&b&32768);return a&65535}function Lc(a,b){a=-b;O(this,a<<8,(a&b&128)<<8);return a&255}
function Gc(a,b){a^=b;N(this,a);return a&65535}function Hc(a){var b=R(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.o=this.i=c;this.a-=(this.c?6:7)+b} function Mc(a,b){a=b<<1|this.l>>16&1;P(this,a);return a&65535}function Nc(a,b){a=b<<1|this.l>>16&1;P(this,a<<8);return a&255}function Oc(a,b){a=(this.l&65536|b)>>1|b<<16;P(this,a);return a&65535}function Pc(a,b){a=((this.l&65536)>>8|b)>>1|b<<8;P(this,a<<8);return a&255}function Qc(a,b){var c=b-a;fc(this,c,a,b);return c&65535}function Rc(a,b){var c=b-a;fc(this,c<<8,a<<8,b<<8);return c&255}function Sc(a,b){this.j&128||(this.o=this.i=b&65280,this.g=this.l=0);return(b<<8|b>>8)&65535}
function Ic(a){var b=R(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.f[a]=d>>16&65535;this.f[a|1]=d&65535;this.o=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function V(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.o=0);this.a-=5} function Tc(a,b){a^=b;N(this,a);return a&65535}function Uc(a){S(this,a,Q(this,a),uc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Vc(a){var b=rc(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.l=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.l=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.l=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.o=this.i=c;this.a-=(this.c?6:7)+b}
function Kc(a){var b=R(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.o=d>>16):(this.g=32768,this.i=d>>15|d,this.o=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.o=0,this.g=32768,this.m=65536,this.a-=7}var Lc=[0,7,7,10,7,11,9,13];function Mc(a){var b=this.a;a=dc(this,a);this.f[7]=a&65535;this.a=b-Lc[this.c]} function Wc(a){var b=rc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.l=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.l=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.l=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.f[a]=d>>16&65535;this.f[a|1]=d&65535;this.o=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function Xc(a){T(this,a,!M(this))}function Yc(a){T(this,a,M(this))}
var Nc=[0,14,14,17,14,18,16,20];function Oc(a){var b=this.a,c=dc(this,a);a=a>>6&7;Vb(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Nc[this.c]}var Pc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Qc=[7,13,13,17,14,18,17,21];function Rc(a){var b=R(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.j&128||(this.o=b>>16,this.i=this.o|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23} function Zc(a){S(this,a,Q(this,a),Ac);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function $c(a){R(this,a,oc(this,a),Bc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function ad(a){S(this,a,Q(this,a),Cc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function bd(a){R(this,a,oc(this,a),Dc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
function Sc(){this.a-=5}function W(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.o=32768);this.a-=5}function Tc(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Uc(a){T(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)}function Vc(a){T(this,a,Q(this,a),Gc);this.a-=this.c?9:3+(7==this.b?2:0)}function X(){H(this,8,6)}function Pb(a){Wc[a>>12].call(this,a)} function cd(a){N(this,Q(this,a)&rc(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function dd(a){N(this,(oc(this,a)&qc(this,a))<<8);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ed(a){T(this,a,this.i&65535?0:4)}function fd(a){T(this,a,!this.ja()==!(this.g&32768))}function gd(a){T(this,a,!!(this.i&65535)&&!this.ja()==!(this.g&32768))}function hd(a){T(this,a,!M(this)&&!!(this.i&65535))}
var Wc=[function(a){Xc[a>>8&15].call(this,a)},function(a){var b=Q(this,a),c=this.a;N(this,gc(this,a,b));this.a=c-Pc[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)},function(a){var b=Q(this,a);a=R(this,a);Ub(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)},function(a){N(this,Q(this,a)&R(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)},function(a){T(this,a,Q(this,a),nc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b? function id(a){T(this,a,(this.i&65535?0:4)||!this.ja()!=!(this.g&32768))}function jd(a){T(this,a,M(this)||(this.i&65535?0:4))}function kd(a){T(this,a,!this.ja()!=!(this.g&32768))}function ld(a){T(this,a,this.ja())}function md(a){T(this,a,!!(this.i&65535))}function nd(a){T(this,a,!this.ja())}function od(){H(this,12,1);this.a-=5}function pd(a){T(this,a,!0)}function qd(a){T(this,a,!(this.g&32768))}function rd(a){T(this,a,this.g&32768?2:0)}
2:0)},function(a){T(this,a,Q(this,a),pc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},function(a){T(this,a,Q(this,a),hc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},function(a){Yc[a>>8&15].call(this,a)},function(a){Zc[a>>8&15].call(this,a)},function(a){var b=cc(this,a);N(this,fc(this,a,b,1)<<8);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},function(a){var b=cc(this,a)<<8;a=ec(this,a)<<8;Ub(this,b-a,a,b);this.a-=this.c?4+ function U(a){a&1&&(this.l=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.o=0);this.a-=5}function sd(a){var b=Q(this,a);a=rc(this,a);fc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function td(a){var b=oc(this,a)<<8;a=qc(this,a)<<8;fc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}
(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)},function(a){N(this,(cc(this,a)&ec(this,a))<<8);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)},function(a){S(this,a,cc(this,a),oc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},function(a){S(this,a,cc(this,a),qc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},function(a){T(this,a,Q(this,a),Dc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)},X],Xc=[function(a){$c[a>> function ud(a){var b=rc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.l=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.f[a]=d&65535,this.f[a|1]=c-d*b&65535,this.i=d>>16|d,this.o=d>>16):(this.g=32768,this.i=d>>15|d,this.o=c>>16,-1===b&&65534===this.f[a]&&(this.f[a]=this.f[a|1]=1));this.a-=53}else this.i=this.o=0,this.g=32768,this.l=65536,this.a-=7}function vd(){H(this,24,2);this.a-=25}function wd(){this.u&49152?(this.F|=128,H(this,4,3)):E(this);this.a-=7}
4&15].call(this,a)},function(a){U(this,a,!0)},function(a){U(this,a,!!(this.i&65535))},function(a){U(this,a,this.i&65535?0:4)},function(a){U(this,a,!this.ja()==!(this.g&32768))},function(a){U(this,a,!this.ja()!=!(this.g&32768))},function(a){U(this,a,!!(this.i&65535)&&!this.ja()==!(this.g&32768))},function(a){U(this,a,(this.i&65535?0:4)||!this.ja()!=!(this.g&32768))},Oc,Oc,function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>>6&3].call(this,a)},function(a){dd[a>> function xd(){H(this,16,4);this.a-=25}var yd=[0,7,7,10,7,11,9,13];function V(a){var b=this.a;a=pc(this,a);this.f[7]=a&65535;this.a=b-yd[this.c]}var zd=[0,14,14,17,14,18,16,20];function Ad(a){var b=this.a,c=pc(this,a);a=a>>6&7;gc(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-zd[this.c]}var Bd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Cd(a){var b=Q(this,a),c=this.a;N(this,tc(this,a,b));this.a=c-Bd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}
6&3].call(this,a)},X,X],ad=[function(a){O(this,gc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,tc);this.a-=this.c?9:3+(7==this.b?2:0)}],bd=[function(a){T(this,a,0,xc);this.a-=this.c?11:6},function(a){T(this,a,M(this)?1:0,hc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,M(this)?1:0,Dc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=R(this, function Dd(a){var b=oc(this,a);N(this,sc(this,a,b,1)<<8);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}var Ed=[7,13,13,17,14,18,17,21];function Fd(a){var b=rc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.f[a];c&32768&&(c|=-65536);b=~~(b*c);this.f[a]=b>>16&65535;this.f[a|1]=b&65535;this.j&128||(this.o=b>>16,this.i=this.o|b,this.g=0,this.l=-32768>b||32767<b?65536:0);this.a-=23}function Gd(){this.a-=5}function Hd(){this.u&49152||(cc(this),this.m.reset());this.a-=667}
a);O(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],cd=[function(a){T(this,a,0,Bc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,lc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,jc);this.a-=this.c?9:3+(7==this.b?2:0)}],dd=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.S(a|this.M);this.f[7]=this.f[5]&65535;this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=ac(this,a,0);Vb(this,a);N(this,a);this.a-= function Id(){hc(this);this.j|=this.u&16;this.a-=13}function Jd(a){if(a&8)H(this,8,6);else{var b=ic(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}}function W(a){a&1&&(this.l=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.o=32768);this.a-=5}function Kd(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)this.f[7]=this.f[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Md(a){S(this,a,Q(this,a),Qc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
11},function(a){var b=Xb(this),c=this.a;bc(this,a,0,b);N(this,b);this.a=c-Qc[this.c]},function(a){N(this,gc(this,a,this.ja?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],$c=[function(a){ed[a&15].call(this,a)},X,X,X,Mc,Mc,Mc,Mc,function(a){if(a&8)H(this,8,6);else{var b=Xb(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}},function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.j|=1),this.a-=5):H(this,8,6)},function(a){fd[a&15].call(this,a)},function(a){gd[a&15].call(this,a)},Uc, function X(a){S(this,a,0,Sc);this.a-=this.c?9:3+(7==this.b?2:0)}function Nd(){H(this,28,5);this.a-=5}function Od(){this.j&4||this.w.ca();this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3}function Pd(a){S(this,a,Q(this,a),Tc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){H(this,8,6)}function $b(a){Qd[a>>12].call(this,a)}function Rd(a){Sd[a>>6&3].call(this,a)}function Td(a){Ud[a>>6&3].call(this,a)}function Vd(a){Wd[a>>6&3].call(this,a)}function Xd(a){Yd[a&15].call(this,a)}
Uc,Uc,Uc],ed=[function(){this.u&49152?(this.F|=128,H(this,4,3)):F(this);this.a-=7},function(){this.j&4||this.w.ca();this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3},function(){Wb(this);this.j|=this.u&16;this.a-=13},function(){H(this,12,1);this.a-=5},function(){H(this,16,4);this.a-=25},function(){this.u&49152||(Rb(this),this.l.reset());this.a-=667},function(){Wb(this);this.a-=13},X,X,X,X,X,X,X,X,X],fd=[Sc,function(){this.m=0;this.a-=5},function(){this.g=0;this.a-=5},V,function(){this.i=1;this.a-= function Zd(a){$d[a&15].call(this,a)}function ae(a){be[a>>6&3].call(this,a)}function ce(a){de[a>>6&3].call(this,a)}function ee(a){fe[a>>6&3].call(this,a)}
5},V,V,V,function(){this.o=0;this.a-=5},V,V,V,V,V,V,V],gd=[Sc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},W,function(){this.i=0;this.a-=5},W,W,W,function(){this.o=32768;this.a-=5},W,W,W,W,W,W,W],Yc=[Rc,Rc,Kc,Kc,Hc,Hc,Ic,Ic,Vc,Vc,X,X,X,X,Tc,Tc],Zc=[function(a){U(this,a,!this.ja())},function(a){U(this,a,this.ja())},function(a){U(this,a,!M(this)&&!!(this.i&65535))},function(a){U(this,a,M(this)||(this.i&65535?0:4))},function(a){U(this,a,!(this.g&32768))},function(a){U(this,a, var Qd=[function(a){ge[a>>8&15].call(this,a)},Cd,sd,cd,Zc,ad,Uc,Y,function(a){he[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Md,Y],ge=[function(a){ie[a>>4&15].call(this,a)},pd,md,ed,fd,kd,gd,id,Ad,Ad,Rd,Td,Vd,Y,Y,Y],Sd=[function(a){O(this,tc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Ec);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Ic);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Gc);this.a-=this.c?9:3+(7==this.b?2:0)}],Ud=[function(a){S(this,a,0,Kc);
this.g&32768?2:0)},function(a){U(this,a,!M(this))},function(a){U(this,a,M(this))},function(){H(this,24,2);this.a-=25},function(){H(this,28,5);this.a-=5},function(a){hd[a>>6&3].call(this,a)},function(a){id[a>>6&3].call(this,a)},function(a){jd[a>>6&3].call(this,a)},function(a){kd[a>>6&3].call(this,a)},X,X],hd=[function(a){O(this,fc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,wc);this.a-=this.c?9:3+(7==this.b?2: this.a-=this.c?11:6},function(a){S(this,a,M(this)?1:0,uc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,M(this)?1:0,Qc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=rc(this,a);O(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],Wd=[function(a){S(this,a,0,Oc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Mc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,yc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,wc);this.a-=this.c?9:3+(7==this.b?2:0)}],ie=[function(a){je[a&
0)},function(a){S(this,a,1,uc);this.a-=this.c?9:3+(7==this.b?2:0)}],id=[function(a){S(this,a,0,yc);this.a-=this.c?11:6},function(a){S(this,a,M(this)?1:0,ic);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,M(this)?1:0,Ec);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ec(this,a);O(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],jd=[function(a){S(this,a,0,Cc);this.a-=this.c?9+(this.Sa&1):3+(7==this.b?2:0)},function(a){S(this,a,0,Ac);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this, 15].call(this,a)},Y,Y,Y,V,V,V,V,Jd,Y,Xd,Zd,X,X,X,X],je=[wd,Od,Id,od,xd,Hd,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Yd=[Gd,function(){this.l=0;this.a-=5},function(){this.g=0;this.a-=5},U,function(){this.i=1;this.a-=5},U,U,U,function(){this.o=0;this.a-=5},U,U,U,U,U,U,U],$d=[Gd,function(){this.l=65536;this.a-=5},function(){this.g=32768;this.a-=5},W,function(){this.i=0;this.a-=5},W,W,W,function(){this.o=32768;this.a-=5},W,W,W,W,W,W,W],he=[nd,ld,hd,jd,qd,rd,Xc,Yc,vd,Nd,ae,ce,ee,Y,Y,Y],be=[function(a){O(this,sc(this,a,0));
a,0,mc);this.a-=this.c?9+(this.Sa&1):3+(7==this.b?2:0)},function(a){S(this,a,0,kc);this.a-=this.c?9:3+(7==this.b?2:0)}],kd=[X,function(a){a=ac(this,a,65536);Vb(this,a);N(this,a);this.a-=11},function(a){var b=Xb(this),c=this.a;bc(this,a,65536,b);N(this,b);this.a=c-Qc[this.c]},X]; this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Jc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Hc);this.a-=this.c?9:3+(7==this.b?2:0)}],de=[function(a){R(this,a,0,Lc);this.a-=this.c?11:6},function(a){R(this,a,M(this)?1:0,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,M(this)?1:0,Rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=qc(this,a);O(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],fe=
function ld(a){v.call(this,"ROM",a,ld);this.b=null;this.o=a.addr;this.c=a.size;this.w=a.writable;this.g=a.alias;this.i=a.file;this.s=ba(this.i);if(this.i){a=this.i;var b=ca(this.s);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;m(a,null,!0,function(a,b,f){md(c,a,b,f)})}}x(ld);ld.prototype.ka=function(a,b,c,d){this.l=b;this.a=c;this.H=d;nd(this)};ld.prototype.ba=function(){this.m&&(this.H&&this.H.a(this.id,this.o,this.c,this.m),delete this.m);return!0}; [function(a){R(this,a,0,Pc);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,Nc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,zc);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,xc);this.a-=this.c?9:3+(7==this.b?2:0)}];function ac(a){ke[a>>12].call(this,a)}
ld.prototype.aa=function(){return!0}; var ke=[function(a){le[a>>8&15].call(this,a)},Cd,sd,cd,Zc,ad,Uc,function(a){me[a>>8&15].call(this,a)},function(a){ne[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Md,Y],le=[function(a){oe[a>>4&15].call(this,a)},pd,md,ed,fd,kd,gd,id,Ad,Ad,Rd,Td,Vd,function(a){pe[a>>6&3].call(this,a)},Y,Y],pe=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.S(a|this.M);this.f[7]=this.f[5]&65535;this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=mc(this,a,0);gc(this,a);N(this,a);this.a-=11},function(a){var b=ic(this),
function md(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Ga(a.Ta,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,k,l=eval("("+c+")");if(f=l.bytes)a.b=f;else if(f=l.words)for(a.b=Array(2*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255;else if(f=l.data)for(a.b=Array(4*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255,a.b[k++]=f[e]>>16&255,a.b[k++]=f[e]>>24&255;else a.b=l;a.m=l.symbols;if(!a.b.length){p("Empty ROM: "+b); c=this.a;nc(this,a,0,b);N(this,b);this.a=c-Ed[this.c]},function(a){N(this,tc(this,a,this.ja?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],oe=[function(a){qe[a&15].call(this,a)},Y,Y,Y,V,V,V,V,Jd,function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.j|=1),this.a-=5):H(this,8,6)},Xd,Zd,X,X,X,X],qe=[wd,Od,Id,od,xd,Hd,function(){hc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],me=[Fd,Fd,ud,ud,Vc,Vc,Wc,Wc,Pd,Pd,Y,Y,Y,Y,Kd,Kd],ne=[nd,ld,hd,jd,qd,rd,Xc,Yc,vd,Nd,ae,ce,ee,function(a){re[a>>6&3].call(this,
return}if(1==a.b.length){p(a.b[0]);return}}catch(n){a.K("ROM data error: "+n.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);nd(a)}} a)},Y,Y],re=[Y,function(a){a=mc(this,a,65536);gc(this,a);N(this,a);this.a-=11},function(a){var b=ic(this),c=this.a;nc(this,a,65536,b);N(this,b);this.a=c-Ed[this.c]},Y];function se(a){v.call(this,"ROM",a,se);this.b=null;this.o=a.addr;this.c=a.size;this.w=a.writable;this.g=a.alias;this.i=a.file;this.s=ka(this.i);if(this.i){a=this.i;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;m(a,null,!0,function(a,b,f){te(c,a,b,f)})}}x(se);
function nd(a){if(!Ia(a))if(!a.i)D(a);else if(a.b&&a.l){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+h(a.b.length,8,!0)+") does not match specified size ("+h(a.c,8,!0)+")";a.h.error=!0;a.K(b)}else{b=a.o;if(Ya(a.l,b,a.c,a.w?1:vb)){var c;for(c=0;c<a.b.length;c++)a.l.ab(b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Xa(d.l,d.o,d.c);Wa(d.l,e,d.c,f)}delete a.b}}D(a)}} se.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.G=d;ue(this)};se.prototype.ba=function(){this.l&&(this.G&&this.G.a(this.id,this.o,this.c,this.l),delete this.l);return!0};se.prototype.aa=function(){return!0};
u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ld(d);B(d,c)}});function Y(a){v.call(this,"RAM",a,Y);this.g=a.addr;this.c=a.size;this.b=!1}x(Y);Y.prototype.ka=function(a,b,c,d){this.l=b;this.a=c;this.H=d;!this.b&&this.c&&Ya(this.l,this.g,this.c,1)&&(this.b=!0);this.b||p("No RAM allocated");D(this)};Y.prototype.ba=function(){return!0};Y.prototype.aa=function(){return!0};Y.prototype.reset=function(){}; function te(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{Oa(a.Ua,b,c);var e;if("["==c.charAt(0)||"{"==c.charAt(0))try{var f,k,l=eval("("+c+")");if(f=l.bytes)a.b=f;else if(f=l.words)for(a.b=Array(2*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255;else if(f=l.data)for(a.b=Array(4*f.length),k=e=0;e<f.length;e++)a.b[k++]=f[e]&255,a.b[k++]=f[e]>>8&255,a.b[k++]=f[e]>>16&255,a.b[k++]=f[e]>>24&255;else a.b=l;a.l=l.symbols;if(!a.b.length){p("Empty ROM: "+b);
u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}});function od(a){v.call(this,"Keyboard",a,od);D(this)}x(od);od.prototype.U=function(){return!1};od.prototype.ka=function(a,b,c,d){this.w=a;this.a=c;this.H=d};u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new od(d);B(d,c)}}); return}if(1==a.b.length){p(a.b[0]);return}}catch(n){a.K("ROM data error: "+n.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=ia(b[e]);ue(a)}}
function Z(a){this.g=this.m=null;this.G=a.tabSize;this.B=a.charBOL;this.o=0;v.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.m="";else{var c;a=pd;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.v[b])&&this.U(null,a,b))}this.s=this.A=null;this.exports={connect:this.ib,receiveData:this.Ya}}x(Z);var pd="buffer";g=Z.prototype; function ue(a){if(!Ra(a))if(!a.i)D(a);else if(a.b&&a.m){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+h(a.b.length,8,!0)+") does not match specified size ("+h(a.c,8,!0)+")";a.h.error=!0;a.K(b)}else{b=a.o;if(ib(a.m,b,a.c,a.w?1:Gb)){var c;for(c=0;c<a.b.length;c++)a.m.bb(b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){var d=a,e=b[c],f=hb(d.m,d.o,d.c);gb(d.m,e,d.c,f)}delete a.b}}D(a)}}
g.U=function(a,b,c){var d=this;switch(b){case pd:return this.v[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<b&&(b-=64),d.Ya(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Ya(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1}; u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new se(d);A(d,c)}});function ve(a){v.call(this,"RAM",a,ve);this.g=a.addr;this.c=a.size;this.b=!1}x(ve);ve.prototype.ka=function(a,b,c,d){this.m=b;this.a=c;this.G=d;!this.b&&this.c&&ib(this.m,this.g,this.c,1)&&(this.b=!0);this.b||p("No RAM allocated");D(this)};ve.prototype.ba=function(){return!0};ve.prototype.aa=function(){return!0};ve.prototype.reset=function(){};
g.ka=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.H=d;var e=this;this.M=mb(48,4);this.I=jb(this.a,function(){e.b&128||!e.i.length||(e.D=e.i.shift(),e.b|=128,e.b&64&&kb(e.a,e.M))});this.N=mb(52,4);this.J=jb(this.a,function(){e.c|=128;e.c&64&&kb(e.a,e.N)});gb(b,this,qd);D(this)}; u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ve(d);A(d,c)}});function we(a){v.call(this,"Keyboard",a,we);D(this)}x(we);we.prototype.U=function(){return!1};we.prototype.ka=function(a,b,c,d){this.w=a;this.a=c;this.G=d};u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new we(d);A(d,c)}});
g.ib=function(){if(!this.s){var a=Gb(this.w,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ha(b[0]);if(c!=this.Ea)return;b=ha(b[1]);if(this.s=Ha(b)){var d=this.s.exports;if(d){var e=d.connect;e&&e.call(this.s);if(this.A=d.receiveData){this.status(this.Ta+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};g.ba=function(a,b){if(!b)if(this.ib(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; function Z(a){this.g=this.l=null;this.H=a.tabSize;this.B=a.charBOL;this.o=0;v.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.l="";else{var c;a=xe;b&&(void 0===c&&(c="Panel"),(c=Qa(c,this.id))&&(b=c.v[b])&&this.U(null,a,b))}this.s=this.A=null;this.exports={connect:this.ib,receiveData:this.Za}}x(Z);var xe="buffer";g=Z.prototype;
g.aa=function(a){return a?this.save():!0};g.reset=function(){rd(this)};g.save=function(){var a=new L(this);a.set(0,[]);return a.data()};g.restore=function(){return rd(this)};function rd(a){a.D=0;a.b=0;a.c=128;a.i=[];return!0}g.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);lb(this.a,this.I,1);return!0};g.Yb=function(){return this.b&65535};g.Ic=function(a){this.b=this.b&-112|a&111}; g.U=function(a,b,c){var d=this;switch(b){case xe:return this.v[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<b&&(b-=64),d.Za(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Za(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
g.Xb=function(){this.b&=-129;0<this.i.length&&lb(this.a,this.I,1);return this.D};g.Hc=function(){};g.lc=function(){return this.c};g.Wc=function(a){128==(this.c&192)&&a&64&&lb(this.a,this.J,1);this.c=this.c&-70|a&69};g.kc=function(){return 0}; g.ka=function(a,b,c,d){this.w=a;this.m=b;this.a=c;this.G=d;var e=this;this.M=xb(48,4);this.I=ub(this.a,function(){e.b&128||!e.i.length||(e.D=e.i.shift(),e.b|=128,e.b&64&&vb(e.a,e.M))});this.N=xb(52,4);this.J=ub(this.a,function(){e.c|=128;e.c&64&&vb(e.a,e.N)});rb(b,this,ye);D(this)};
g.Vc=function(a){if(a&=255){this.A&&this.A.call(this.s,a);if(this.g)if(13==a)this.o=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.o&&this.o--;else{var b;b=(b=ja[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.G||8,c=a-this.o%a,this.G&&(b=" ".slice(0,c)));this.B&&!this.o&&c&&(b=String.fromCharCode(this.B)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.o+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.O(this.m), g.ib=function(){if(!this.s){var a=Rb(this.w,"connection");if(a){var b=a.split("->");if(2==b.length){var c=qa(b[0]);if(c!=this.Ea)return;b=qa(b[1]);if(this.s=Pa(b)){var d=this.s.exports;if(d){var e=d.connect;e&&e.call(this.s);if(this.A=d.receiveData){this.status(this.Ua+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};g.ba=function(a,b){if(!b)if(this.ib(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;lb(this.a,this.J,1)}};var sd={},qd=(sd[65392]=[null,null,Z.prototype.Yb,Z.prototype.Ic,"RCSR"],sd[65394]=[null,null,Z.prototype.Xb,Z.prototype.Hc,"RBUF"],sd[65396]=[null,null,Z.prototype.lc,Z.prototype.Wc,"XCSR"],sd[65398]=[null,null,Z.prototype.kc,Z.prototype.Vc,"XBUF"],sd);u(function(){for(var a=C(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Z(d);B(d,c)}}); g.aa=function(a){return a?this.save():!0};g.reset=function(){ze(this)};g.save=function(){var a=new L(this);a.set(0,[]);return a.data()};g.restore=function(){return ze(this)};function ze(a){a.D=0;a.b=0;a.c=128;a.i=[];return!0}g.Za=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);wb(this.a,this.I,1);return!0};g.Yb=function(){return this.b&65535};g.Ic=function(a){this.b=this.b&-112|a&111};
function td(a,b,c){v.call(this,"Computer",a,td);this.h.L=!1;ud(this,b);this.B=Gb(this,"autoPower",a);this.g=0;this.M=a.busWidth||a.buswidth;this.b=vd;this.s=null;this.o=this.I=!1;this.N=Gb(this,"url")||"";(Math.random()+.1).toString(36);this.c=wd(this);if(this.a=z("CPU",this.id)){this.H=z("Debugger",this.id);this.l=new Oa({id:this.Ta+".bus",busWidth:this.M},this.a,this.H);var d,e=y(this.id);if((this.i=z("Panel",this.id))&&this.i.Ra)for(b=0;b<e.length;b++)d=e[b],d.K=this.i.K,d.O=this.i.O,d.Ra=this.i.Ra; g.Xb=function(){this.b&=-129;0<this.i.length&&wb(this.a,this.I,1);return this.D};g.Hc=function(){};g.lc=function(){return this.c};g.Wc=function(a){128==(this.c&192)&&a&64&&wb(this.a,this.J,1);this.c=this.c&-70|a&69};g.kc=function(){return 0};
this.O("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.O("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ka&&d.ka(this,this.l,this.a,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=Gb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=vd),this.b&&(this.A=new L(this, g.Vc=function(a){if(a&=255){this.A&&this.A.call(this.s,a);if(this.g)if(13==a)this.o=0;else if(8==a)this.g.value=this.g.value.slice(0,-1),0<this.o&&this.o--;else{var b;b=(b=ra[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.H||8,c=a-this.o%a,this.H&&(b=" ".slice(0,c)));this.B&&!this.o&&c&&(b=String.fromCharCode(this.B)+b);this.g.value+=b;this.g.scrollTop=this.g.scrollHeight;this.o+=c}else if(null!=this.l){if(10==a||1024<=this.l.length)this.O(this.l),
"1.30.1"),xd(this.A)?b=null:delete this.A);!b&&this.b&&(b=yd(this))&&(this.o=!0);if(b){var k=this;m(b,null,!0,function(a,b,c){c?(k.w=null,k.o=!1,k.K("Unable to load machine state from server (error "+c+(b?": "+ha(b):"")+")")):(k.s=b,k.I=!0);D(k)})}else D(this);this.v.power||(this.B=!0);!c&&this.B&&zd(this,this.Ca)}else p("Unable to find CPU component")}x(td);var vd=0; this.l="";10!=a&&(this.l+=String.fromCharCode(a))}this.c&=-129;wb(this.a,this.J,1)}};var Ae={},ye=(Ae[65392]=[null,null,Z.prototype.Yb,Z.prototype.Ic,"RCSR"],Ae[65394]=[null,null,Z.prototype.Xb,Z.prototype.Hc,"RBUF"],Ae[65396]=[null,null,Z.prototype.lc,Z.prototype.Wc,"XCSR"],Ae[65398]=[null,null,Z.prototype.kc,Z.prototype.Vc,"XBUF"],Ae);u(function(){for(var a=C(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});
function ud(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){p(d.message+" ("+c+")")}}a.J=b}function Gb(a,b,c){var d=b.toLowerCase(),d=Aa[b]||Aa[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function zd(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ia(f)){Ia(f,function(){zd(a,b,c)});return}}b.call(a,c)} function Be(a,b,c){v.call(this,"Computer",a,Be);this.h.L=!1;Ce(this,b);this.B=Rb(this,"autoPower",a);this.g=0;this.M=a.busWidth||a.buswidth;this.b=De;this.s=null;this.o=this.I=!1;this.N=Rb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Ee(this);if(this.a=Qa("CPU",this.id)){this.G=Qa("Debugger",this.id);this.m=new Ya({id:this.Ua+".bus",busWidth:this.M},this.a,this.G);var d,e=y(this.id);if((this.i=Qa("Panel",this.id))&&this.i.Sa)for(b=0;b<e.length;b++)d=e[b],d.K=this.i.K,d.O=this.i.O,d.Sa=this.i.Sa;
function Ad(a,b){var c=new L(a,"1.30.1","validate");if(xd(c)&&Bd(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}g=td.prototype; this.O("PDPjs v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.O("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ka&&d.ka(this,this.m,this.a,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.w=d:this.b=parseInt(d,10));var f;if(a=Rb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=De),this.b&&(this.A=new L(this,
g.Ca=function(a){void 0===a&&(a=this.b||(this.s?1:vd));if(!this.g){this.g++;var b=!1,c=!1;this.G=!1;var d=this.A||new L(this,"1.30.1");if(-1==a)b=!0;else if(a>vd){if(xd(d,this.s)){this.m=new L(this,"1.30.1","failsafe");xd(this.m)&&(Cd(this,d),a=2,Dd(this.m));this.m.set("timestamp",la());Ed(this.m);var e=this.b&&!this.o;if(1==a||ma("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Bd(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?xd(d,k):("error"== "1.30.1"),Fe(this.A)?b=null:delete this.A);!b&&this.b&&(b=Ge(this))&&(this.o=!0);if(b){var k=this;m(b,null,!0,function(a,b,c){c?(k.w=null,k.o=!1,k.K("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(k.s=b,k.I=!0);D(k)})}else D(this);this.v.power||(this.B=!0);!c&&this.B&&He(this,this.Ca)}else p("Unable to find CPU component")}x(Be);var De=0;
f&&"no machine state"!=k?(this.K("Error: "+k),"unable to verify user"==k&&(qa("user",""),this.c=null)):this.O(f+": "+k),Dd(d),xd(d)?(c=Bd(d),e=!0):c=!1))}e&&Ad(this,c?d:null)}else 2==a&&d.clear()}else Ad(this);delete this.s;delete this.A}e=y(this.id);for(f=0;f<e.length;f++)k=e[f],k!==this&&k!=this.a&&(c=Fd(this,k,d,b,c));b=[d,a,c];-1!=a?zd(this,this.fb,b):this.fb(b)}}; function Ce(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){p(d.message+" ("+c+")")}}a.J=b}function Rb(a,b,c){var d=b.toLowerCase(),d=Ia[b]||Ia[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function He(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){He(a,b,c)});return}}b.call(a,c)}
function Fd(a,b,c,d,e){if(!b.h.L){b.h.L=!0;if(b.ba){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ba(f,d)&&f&&(p("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=vd,window&&window.location.reload()):a.G=!0,b.ba(null),e=!1)}if(!d&&b.hb)for(a=b.hb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Ie(a,b){var c=new L(a,"1.30.1","validate");if(Fe(c)&&Je(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.K("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}g=Be.prototype;
g.fb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.h.L=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(Fd(this,this.a,b,c,a),this.a.Aa());this.G&&(Cd(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.g=0}; g.Ca=function(a){void 0===a&&(a=this.b||(this.s?1:De));if(!this.g){this.g++;var b=!1,c=!1;this.H=!1;var d=this.A||new L(this,"1.30.1");if(-1==a)b=!0;else if(a>De){if(Fe(d,this.s)){this.l=new L(this,"1.30.1","failsafe");Fe(this.l)&&(Ke(this,d),a=2,Le(this.l));this.l.set("timestamp",ta());Me(this.l);var e=this.b&&!this.o;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Je(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?Fe(d,k):("error"==
function Cd(a,b){if(ma("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.N;d.user=c;d.type="bug";d.data=b;m("http://www.pcjs.org/api/v1/report",d,!0)}} f&&"no machine state"!=k?(this.K("Error: "+k),"unable to verify user"==k&&(ya("user",""),this.c=null)):this.O(f+": "+k),Le(d),Fe(d)?(c=Je(d),e=!0):c=!1))}e&&Ie(this,c?d:null)}else 2==a&&d.clear()}else Ie(this);delete this.s;delete this.A}e=y(this.id);for(f=0;f<e.length;f++)k=e[f],k!==this&&k!=this.a&&(c=Ne(this,k,d,b,c));b=[d,a,c];-1!=a?He(this,this.gb,b):this.gb(b)}};
function Gd(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new L(a,"1.30.1"),k=new L(a,"1.30.1","validate"),l=la();k.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.aa&&(c&&F(a.a),d=a.a.aa(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.h.L=!1,!1===d&&(e=null)));for(var l=y(a.id),n=0;n<l.length;n++){var q=l[n];q.h.L&&(q.aa&&(d=q.aa(b,c),"object"===typeof d&&f.set(q.id, function Ne(a,b,c,d,e){if(!b.h.L){b.h.L=!0;if(b.ba){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ba(f,d)&&f&&(p("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=De,window&&window.location.reload()):a.H=!0,b.ba(null),e=!1)}if(!d&&b.jb)for(a=b.jb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
d)),c&&(q.h.L=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Hd(a,a.c,f.toString()),Ed(k)&&Ed(f)||(e=null,d=l=!0)):a.b&&(d=!0,l=3==a.b),d&&f.clear(l)):e=f.toString());c&&(a.h.L=!1,b=a.v.power)&&(b.textContent="Power");a.g=0;return e}g.reset=function(){this.l&&this.l.reset&&this.l.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ca(!0)}; g.gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.h.L=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(Ne(this,this.a,b,c,a),this.a.Aa());this.H&&(Ke(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
function Ke(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.N;d.user=c;d.type="bug";d.data=b;m("http://www.pcjs.org/api/v1/report",d,!0)}}
function Oe(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new L(a,"1.30.1"),k=new L(a,"1.30.1","validate"),l=ta();k.set("timestamp",l);f.set("timestamp",l);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.aa&&(c&&E(a.a),d=a.a.aa(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.h.L=!1,!1===d&&(e=null)));for(var l=y(a.id),n=0;n<l.length;n++){var r=l[n];r.h.L&&(r.aa&&(d=r.aa(b,c),"object"===typeof d&&f.set(r.id,
d)),c&&(r.h.L=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Pe(a,a.c,f.toString()),Me(k)&&Me(f)||(e=null,d=l=!0)):a.b&&(d=!0,l=3==a.b),d&&f.clear(l)):e=f.toString());c&&(a.h.L=!1,b=a.v.power)&&(b.textContent="Power");a.g=0;return e}g.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};g.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ca(!0)};
g.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ca(!0)}; g.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ca(!0)};
g.U=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.g||(d.h.L?Gd(d,!1,!0):zd(d,d.Ca))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.h.L&&!d.g)if(d.b&&!d.w){var a=ma("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Gd(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ca(vd)}else d.reset(),d.a&&d.a.Aa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.v[b]= g.U=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.g||(d.h.L?Oe(d,!1,!0):He(d,d.Ca))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.h.L&&!d.g)if(d.b&&!d.w){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Oe(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ca(De)}else d.reset(),d.a&&d.a.Aa()},!0;case "save":if(ma())c.parentNode.removeChild(c);else return this.v[b]=
c,c.onclick=function(){var a=wd(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Gd(d,b);b?Hd(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1}; c,c.onclick=function(){var a=Ee(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Oe(d,b);b?Pe(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1};
function wd(a,b){var c=a.c;c||((c=pa("user"),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=Id(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c} function Ee(a,b){var c=a.c;c||((c=xa("user"),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=Qe(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c}
function Id(a,b){a.c=null;b=m(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&&(qa("user",b.data),a.c=b.data)}catch(d){p(d.message+" ("+c+")")}return a.c}function yd(a){var b=null;a.c&&(b=ea()+"/api/v1/user?req=load&user="+a.c+"&state="+Jd(a,"1.30.1"));return b} function Qe(a,b){a.c=null;b=m(na()+"/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("user",b.data),a.c=b.data)}catch(d){p(d.message+" ("+c+")")}return a.c}function Ge(a){var b=null;a.c&&(b=na()+"/api/v1/user?req=load&user="+a.c+"&state="+Re(a,"1.30.1"));return b}
function Hd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Jd(a,"1.30.1");d.data=c;b=m(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.K(c),qa("user",""),a.c=null)}} function Pe(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Re(a,"1.30.1");d.data=c;b=m(na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.K("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.K(c),ya("user",""),a.c=null)}}
g.ca=function(a){this.a&&this.a.ca(a);this.i&&this.i.ca(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],k=A(f),k=new td(k,d,!0);B(k,f);k.B&&zd(k,k.Ca)}});r.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.R&&!c.h.L&&c.Ca(-1)}}); g.ca=function(a){this.a&&this.a.ca(a);this.i&&this.i.ca(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=C(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],k=z(f),k=new Be(k,d,!0);A(k,f);k.B&&He(k,k.Ca)}});q.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.R&&!c.h.L&&c.Ca(-1)}});
r.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.h.L&&Gd(c,!(!c.b||c.w),!0)}});function L(a,b,c){this.id=a.id;this.key=Jd(a,b,c);this.H=a.H;Dd(this,a.Bb)}function Jd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a} q.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.h.L&&Oe(c,!(!c.b||c.w),!0)}});function L(a,b,c){this.id=a.id;this.key=Re(a,b,c);this.G=a.G;Le(this,a.Bb)}function Re(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Dd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c, L.prototype={constructor:L,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Le(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
1);c=0}}};function Dd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Ed(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(p("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Bd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){p(c.message||c),b=!1}return b}function xd(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:oa()&&(b=pa(a.key))?(a[a.id]=b,a.a=!0):!1}var Kd=0; 1);c=0}}};function Le(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Me(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);ya(a.key,c)||(p("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Je(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){p(c.message||c),b=!1}return b}function Fe(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=xa(a.key))?(a[a.id]=b,a.a=!0):!1}var Se=0;
function Ld(a,b,c,d,e,f){e("Loading "+a+"...");m(a,null,!0,function(k,l,n){n?(l||(l="unable to load "+a+" ("+n+")"),f(l,null)):Md(l,a,b,c,d,e,f)})} function Te(a,b,c,d,e,f){e("Loading "+a+"...");m(a,null,!0,function(k,l,n){n?(l||(l="unable to load "+a+" ("+n+")"),f(l,null)):Ue(l,a,b,c,d,e,f)})}
function Md(a,b,c,d,e,f,k){function l(a,f){if(f)k(f,null);else{c&&(Ga(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function Ue(a,b,c,d,e,f,k){function l(a,f){if(f)k(f,null);else{c&&(Oa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,f)}}a?e?Nd(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){f=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);k(a,f)}}a?e?Ve(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
function Nd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");m(e,null,!0,function(f,k,l){if(l||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=l[0],q,t=/( [a-z]+=)(['"])(.*?)\2/g;q=t.exec(f);)n=0>n.indexOf(q[1])?n.replace(">",q[0]+">"):n.replace(new RegExp(q[1]+"(['\"])(.*?)\\1"),q[0]);l[0]!=n&&(k=k.replace(l[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, function Ve(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");m(e,null,!0,function(f,k,l){if(l||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+l+")");else{if(f=d[3])if(l=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=l[0],r,t=/( [a-z]+=)(['"])(.*?)\2/g;r=t.exec(f);)n=0>n.indexOf(r[1])?n.replace(">",r[0]+">"):n.replace(new RegExp(r[1]+"(['\"])(.*?)\\1"),r[0]);l[0]!=n&&(k=k.replace(l[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],k);Nd(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],k);Ve(a,b,c)}})}else c(a,null)}
function Od(a,b,c,d){function e(a){if(void 0===l){var b=k&&C(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=ga(a))}function f(a){e("Error: "+a);n&&(--Kd||xa(!0));n=!1}var k,l,n=!0;Kd++;Fa[a]={};try{if(k=document.getElementById(a)){var q;if("object"==typeof resources&&(q=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],ia=document.createElement("style");ia.type="text/css";ia.styleSheet?ia.styleSheet.cssText=q:ia.appendChild(document.createTextNode(q));t.appendChild(ia)}c|| function We(a,b,c,d){function e(a){if(void 0===l){var b=k&&C(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--Se||Fa(!0));n=!1}var k,l,n=!0;Se++;Na[a]={};try{if(k=document.getElementById(a)){var r;if("object"==typeof resources&&(r=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=r:B.appendChild(document.createTextNode(r));t.appendChild(B)}c||
(c="/versions/pdpjs/1.30.1/components.xsl");q=function(d,l){l?Ld(c,null,null,!1,e,function(d,n){n?(Ga(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(k.outerHTML=n,--Kd||xa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(n),(n=d.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(n,k),--Kd||xa(!0)):f("invalid machine element: "+ (c="/versions/pdpjs/1.30.1/components.xsl");r=function(d,l){l?Te(c,null,null,!1,e,function(d,n){n?(Oa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(k.outerHTML=n,--Se||Fa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(n),(n=d.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(n,k),--Se||Fa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Ld(b,a,d,!0,e,q):Md(b,null,a,d,!1,e,q)}else f("missing machine element: "+a)}catch(Jc){f(Jc.message)}return n}window.embedPDP11=function(a,b,c,d){xa(!1);return Od(a,b,c,d)};window.enableEvents=xa;window.sendEvent=ya;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Te(b,a,d,!0,e,r):Ue(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(Ld){f(Ld.message)}return n}window.embedPDP11=function(a,b,c,d){Fa(!1);return We(a,b,c,d)};window.enableEvents=Fa;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map