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:
parent
342746f2bc
commit
3a7b769fa3
31 changed files with 1117 additions and 751 deletions
12
devices/pdp11/machine/1120/README.md
Normal file
12
devices/pdp11/machine/1120/README.md
Normal 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/))
|
||||||
10
devices/pdp11/machine/1120/test/README.md
Normal file
10
devices/pdp11/machine/1120/test/README.md
Normal 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" %}
|
||||||
11
devices/pdp11/machine/1120/test/debugger/README.md
Normal file
11
devices/pdp11/machine/1120/test/debugger/README.md
Normal 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" %}
|
||||||
13
devices/pdp11/machine/1120/test/debugger/machine.xml
Normal file
13
devices/pdp11/machine/1120/test/debugger/machine.xml
Normal 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>
|
||||||
12
devices/pdp11/machine/1120/test/machine.xml
Normal file
12
devices/pdp11/machine/1120/test/machine.xml
Normal 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>
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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/)
|
||||||
|
|
|
||||||
|
|
@ -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*/]
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
7
devices/pdp11/rom/custom/makefile
Normal file
7
devices/pdp11/rom/custom/makefile
Normal 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
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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],
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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={"&":"&","<":"<",">":">",'"':""","'":"'"};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={"&":"&","<":"<",">":">",'"':""","'":"'"};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
|
||||||
|
|
|
||||||
|
|
@ -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={"&":"&","<":"<",">":">",'"':""","'":"'"};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={"&":"&","<":"<",">":">",'"':""","'":"'"};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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue