Updated PC8080 and PDPjs to support RAM images, eliminating the need for the old "writable ROM" kludge; RAM images can include their own load and exec addresses as part of the JSON file, but the RAM component can provide explicit overrides (if no load address is specified either way, the default load address is the starting RAM address)
This commit is contained in:
parent
4cfaa5ef6e
commit
980c2ac5ab
64 changed files with 1479 additions and 1154 deletions
|
|
@ -13,8 +13,8 @@ All our [8080-Based Machines](machine/) are built from a collection of devices,
|
||||||
* [Control Panels](panel/)
|
* [Control Panels](panel/)
|
||||||
* CPU (8080)
|
* CPU (8080)
|
||||||
* [Machines](machine/)
|
* [Machines](machine/)
|
||||||
* RAM
|
* [RAM Images](ram/)
|
||||||
* [ROMs](rom/)
|
* [ROM Images](rom/)
|
||||||
* Video Adapters
|
* Video Adapters
|
||||||
|
|
||||||
Complete [machine configurations](machine/) are constructed from those devices. A machine configuration is a single XML file
|
Complete [machine configurations](machine/) are constructed from those devices. A machine configuration is a single XML file
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ PCjs Project.
|
||||||
|
|
||||||
The test machine below loads a copy of the
|
The test machine below loads a copy of the
|
||||||
[8080 Exerciser](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html)
|
[8080 Exerciser](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html)
|
||||||
(specifically, [8080EX1](/devices/pc8080/rom/exerciser/8080EX1.MAC)) and intercepts the exerciser's CP/M console
|
(specifically, [8080EX1](/devices/pc8080/ram/exerciser/8080EX1.MAC)) and intercepts the exerciser's CP/M console
|
||||||
calls so that you can see its progress in the Control Panel window. This is a "headless" test machine
|
calls so that you can see its progress in the Control Panel window. This is a "headless" test machine
|
||||||
(no keyboard or display), so that's all you get.
|
(no keyboard or display), so that's all you get.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
<name pos="center">8080 Exerciser Test Machine</name>
|
<name pos="center">8080 Exerciser Test Machine</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
||||||
<rom id="romTest" addr="0x0100" size="0x1200" file="/devices/pc8080/rom/exerciser/8080EX1.json" writable="true"/>
|
<ram id="ram64K" addr="0x0000" size="0x10000" file="/devices/pc8080/ram/exerciser/8080EX1.json" load="0x100" exec="0x100"/>
|
||||||
<ram id="ramTest" addr="0x1300" size="0xED00"/>
|
|
||||||
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
||||||
<debugger id="debugger"/>
|
<debugger id="debugger"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
<name pos="center">8080 Exerciser Preliminary Test Machine</name>
|
<name pos="center">8080 Exerciser Preliminary Test Machine</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
||||||
<rom id="romTest" addr="0x0100" size="0x0400" file="/devices/pc8080/rom/exerciser/8080PRE.json" writable="true"/>
|
<ram id="ram64K" addr="0x0000" size="0x10000" file="/devices/pc8080/ram/exerciser/8080PRE.json" load="0x100" exec="0x100"/>
|
||||||
<ram id="ramTest" addr="0x0500" size="0xFB00"/>
|
|
||||||
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
||||||
<debugger id="debugger"/>
|
<debugger id="debugger"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
<name pos="center">8080 CPUTEST Machine</name>
|
<name pos="center">8080 CPUTEST Machine</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
||||||
<rom id="romTest" addr="0x0100" size="0x4B00" file="/devices/pc8080/rom/exerciser/CPUTEST.json" writable="true"/>
|
<ram id="ram64K" addr="0x0000" size="0x10000" file="/devices/pc8080/ram/exerciser/CPUTEST.json" load="0x100" exec="0x100"/>
|
||||||
<ram id="ramTest" addr="0x4C00" size="0xB400"/>
|
|
||||||
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
||||||
<debugger id="debugger"/>
|
<debugger id="debugger"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
<name pos="center">8080 "Kelly Smith" Test Machine</name>
|
<name pos="center">8080 "Kelly Smith" Test Machine</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
||||||
<rom id="romTest" addr="0x0100" size="0x0701" file="/devices/pc8080/rom/exerciser/TEST.json" writable="true"/>
|
<ram id="ram64K" addr="0x0000" size="0x10000" file="/devices/pc8080/ram/exerciser/TEST.json" load="0x100" exec="0x100"/>
|
||||||
<ram id="ramTest" addr="0x0801" size="0xF7FF"/>
|
|
||||||
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
||||||
<debugger id="debugger"/>
|
<debugger id="debugger"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
<name pos="center">8080 Exerciser Test Machine</name>
|
<name pos="center">8080 Exerciser Test Machine</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
<cpu id="cpu8080" model="8080" cycles="2000000"/>
|
||||||
<rom id="romTest" addr="0x0100" size="0x1200" file="/devices/pc8080/rom/exerciser/8080EX1.json" writable="true"/>
|
<ram id="ram64K" addr="0x0000" size="0x10000" file="/devices/pc8080/ram/exerciser/8080EX1.json" load="0x100" exec="0x100"/>
|
||||||
<ram id="ramTest" addr="0x1300" size="0xED00"/>
|
|
||||||
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
<panel ref="/devices/pc8080/panel/wide.xml"/>
|
||||||
<debugger id="debugger"/>
|
<debugger id="debugger"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
21
devices/pc8080/ram/README.md
Normal file
21
devices/pc8080/ram/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: 8080-Based RAM Images
|
||||||
|
permalink: /devices/pc8080/ram/
|
||||||
|
---
|
||||||
|
|
||||||
|
8080-Based RAM Images
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
RAM images are added to machines by including a *<ram>* component in the machine XML configuration file
|
||||||
|
with the *file* attribute set to the filename of the image; eg:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<ram id="romH" addr="0x0000" size="0x0800" file="/devices/pc8080/rom/invaders/INVADERS-H.json"/>
|
||||||
|
```
|
||||||
|
|
||||||
|
The project currently contains the following 8080-based ROMs:
|
||||||
|
|
||||||
|
* [8080 Exerciser Tests](exerciser/)
|
||||||
|
* [Space Invaders (1978)](invaders/)
|
||||||
|
* [DEC VT100 Terminal](vt100/)
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: 8080 Exerciser Tests
|
title: 8080 Exerciser Tests
|
||||||
permalink: /devices/pc8080/rom/exerciser/
|
permalink: /devices/pc8080/ram/exerciser/
|
||||||
|
redirect_from:
|
||||||
|
- /devices/pc8080/rom/exerciser/
|
||||||
---
|
---
|
||||||
|
|
||||||
8080 Exerciser Tests
|
8080 Exerciser Tests
|
||||||
|
|
@ -12,4 +14,4 @@ permalink: /devices/pc8080/rom/exerciser/
|
||||||
* [8080PRE](8080PRE.MAC)
|
* [8080PRE](8080PRE.MAC)
|
||||||
|
|
||||||
Our [8080 Exerciser Test Machine](/devices/pc8080/machine/exerciser/) runs [8080EX1](8080EX1.MAC),
|
Our [8080 Exerciser Test Machine](/devices/pc8080/machine/exerciser/) runs [8080EX1](8080EX1.MAC),
|
||||||
since it is the most comprehensive test and verifies strict compatibilty with the original Intel 8080.
|
since it is the most comprehensive test and verifies strict compatibility with the original Intel 8080.
|
||||||
|
|
@ -9,10 +9,10 @@ PDP-11 Device Configurations
|
||||||
|
|
||||||
[PDP-11 Machines](/devices/pdp11/machine/) powered by [PDPjs](/modules/pdp11/) rely on a variety of devices and resources, including:
|
[PDP-11 Machines](/devices/pdp11/machine/) powered by [PDPjs](/modules/pdp11/) rely on a variety of devices and resources, including:
|
||||||
|
|
||||||
* [Loaders](loader/)
|
|
||||||
* [Machines](machine/)
|
* [Machines](machine/)
|
||||||
* [Panels](panel/)
|
* [Panels](panel/)
|
||||||
* [ROMs](rom/)
|
* [RAM Images](ram/)
|
||||||
|
* [ROM Images](rom/)
|
||||||
|
|
||||||
Our collection of sample machines includes a
|
Our collection of sample machines includes a
|
||||||
[PDP-11/70 with Front Panel](/devices/pdp11/machine/1170/panel/) and [PDP-11/70 with VT100 Terminal](/devices/pdp11/machine/1170/vt100/).
|
[PDP-11/70 with Front Panel](/devices/pdp11/machine/1170/panel/) and [PDP-11/70 with VT100 Terminal](/devices/pdp11/machine/1170/vt100/).
|
||||||
|
|
|
||||||
|
|
@ -10,3 +10,4 @@ PDP-11/20 Machine Configurations
|
||||||
PCjs is adding support the following PDP-11/20 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/))
|
* [PDP-11/20 Test Machine](/devices/pdp11/machine/1120/test/) ([Debugger](/devices/pdp11/machine/1120/test/debugger/))
|
||||||
|
* [PDP-11/20 with 16Kb and Bootstrap Loader](/devices/pdp11/machine/1120/bootstrap/) ([Debugger](/devices/pdp11/machine/1120/bootstrap/debugger/))
|
||||||
|
|
|
||||||
10
devices/pdp11/machine/1120/bootstrap/README.md
Normal file
10
devices/pdp11/machine/1120/bootstrap/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PDP-11/20 with 16Kb and Bootstrap Loader
|
||||||
|
permalink: /devices/pdp11/machine/1120/bootstrap/
|
||||||
|
machines:
|
||||||
|
- id: test1120
|
||||||
|
type: pdp11
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include machine.html id="test1120" %}
|
||||||
11
devices/pdp11/machine/1120/bootstrap/debugger/README.md
Normal file
11
devices/pdp11/machine/1120/bootstrap/debugger/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PDP-11/20 with 16Kb, Bootstrap Loader, and Debugger
|
||||||
|
permalink: /devices/pdp11/machine/1120/bootstrap/debugger/
|
||||||
|
machines:
|
||||||
|
- id: test1120
|
||||||
|
type: pdp11
|
||||||
|
debugger: true
|
||||||
|
---
|
||||||
|
|
||||||
|
{% include machine.html id="test1120" %}
|
||||||
13
devices/pdp11/machine/1120/bootstrap/debugger/machine.xml
Normal file
13
devices/pdp11/machine/1120/bootstrap/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: 16Kb, Bootstrap Loader, Debugger</name>
|
||||||
|
<computer id="computer" busWidth="16"/>
|
||||||
|
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||||
|
<ram id="ram" addr="0x0000" size="0x4000" file="/devices/pdp11/ram/bootstrap/bootstrap.json"/>
|
||||||
|
<device id="default" type="default"/>
|
||||||
|
<device id="pc11" type="pc11"/>
|
||||||
|
<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/bootstrap/machine.xml
Normal file
12
devices/pdp11/machine/1120/bootstrap/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: 16Kb, Bootstrap Loader</name>
|
||||||
|
<computer id="computer" busWidth="16"/>
|
||||||
|
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||||
|
<ram id="ram" addr="0x0000" size="0x4000" file="/devices/pdp11/ram/bootstrap/bootstrap.json"/>
|
||||||
|
<device id="default" type="default"/>
|
||||||
|
<device id="pc11" type="pc11"/>
|
||||||
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
|
||||||
|
</machine>
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/20 Test Machine with Debugger</name>
|
<name pos="center">PDP-11/20 Test Machine with 56Kb and Debugger</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000"/>
|
<cpu id="cpu" model="1120" cycles="6666667"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<device id="pc11" type="pc11"/>
|
<device id="pc11" type="pc11"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.1/machine.xsl"?>
|
||||||
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1120" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/20 Test Machine</name>
|
<name pos="center">PDP-11/20 Test Machine with 56Kb</name>
|
||||||
<computer id="computer" busWidth="16"/>
|
<computer id="computer" busWidth="16"/>
|
||||||
<cpu id="cpu" model="1120" cycles="6666667" resetAddr="0xC000" autoStart="true"/>
|
<cpu id="cpu" model="1120" cycles="6666667" autoStart="true"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
|
<device id="pc11" type="pc11"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
|
<panel ref="/devices/pdp11/panel/test/terminal.xml"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 with Front Panel and Debugger</name>
|
<name pos="center">PDP-11/70 with Front Panel and Debugger</name>
|
||||||
<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"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||||
<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" autoStart="true"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 Test Machine with Debugger</name>
|
<name pos="center">PDP-11/70 Test Machine with Debugger</name>
|
||||||
<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"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 Test Machine</name>
|
<name pos="center">PDP-11/70 Test Machine</name>
|
||||||
<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" autoStart="true"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0" binding="print"/>
|
<serial id="dl11" adapter="0" binding="print"/>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||||
<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" autoStart="true"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0"/>
|
<serial id="dl11" adapter="0"/>
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
|
||||||
<name pos="center">PDP-11/70 with Front Panel</name>
|
<name pos="center">PDP-11/70 with Front Panel</name>
|
||||||
<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" autoStart="true"/>
|
||||||
<ram id="ram" addr="0x0000" size="0xC000"/>
|
<ram id="ram" addr="0x0000" size="0xE000" file="/devices/pdp11/ram/bootdemo/bootdemo.json" load="0xC000" exec="0xC000"/>
|
||||||
<rom id="rom" addr="0xC000" file="/devices/pdp11/rom/test/boot.json" writable="true"/>
|
|
||||||
<ram id="ram" addr="0x10000" size="0x34000"/>
|
<ram id="ram" addr="0x10000" size="0x34000"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0"/>
|
<serial id="dl11" adapter="0"/>
|
||||||
|
|
|
||||||
11
devices/pdp11/ram/README.md
Normal file
11
devices/pdp11/ram/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PDP-11 RAM Images
|
||||||
|
permalink: /devices/pdp11/ram/
|
||||||
|
---
|
||||||
|
|
||||||
|
PDP-11 RAM Images
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* [PDP-11 Boot Demo](bootdemo/)
|
||||||
|
* [PDP-11 Bootstrap Loader](bootstrap/)
|
||||||
15
devices/pdp11/ram/bootdemo/README.md
Normal file
15
devices/pdp11/ram/bootdemo/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PDP-11 Boot Demo
|
||||||
|
permalink: /devices/pdp11/ram/bootdemo/
|
||||||
|
redirect_from:
|
||||||
|
- /devices/pdp11/rom/test/
|
||||||
|
---
|
||||||
|
|
||||||
|
PDP-11 Boot Demo
|
||||||
|
----------------
|
||||||
|
|
||||||
|
[BOOTDEMO.MAC](bootdemo.mac) is based on [BOOT.MAC](http://skn.noip.me/pdp11/boot.mac) written by [Paul Nankervis](mailto:paulnank@hotmail.com))
|
||||||
|
|
||||||
|
[BOOTDEMO.MAC](bootdemo.mac) was cross-assembled with [MACRO11](https://github.com/shattered/macro11) to produce [BOOTDEMO.LST](bootdemo.lst),
|
||||||
|
which was then processed by [FileDump](/modules/filedump/) to produce [BOOTDEMO.JSON](bootdemo.json).
|
||||||
11
devices/pdp11/ram/bootdemo/makefile
Normal file
11
devices/pdp11/ram/bootdemo/makefile
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#
|
||||||
|
# Don't have macro11? Make yourself a copy from https://github.com/shattered/macro11
|
||||||
|
#
|
||||||
|
|
||||||
|
all: bootdemo.json
|
||||||
|
|
||||||
|
bootdemo.lst: bootdemo.mac
|
||||||
|
macro11 bootdemo.mac -l bootdemo.lst
|
||||||
|
|
||||||
|
bootdemo.json: bootdemo.lst
|
||||||
|
node ../../../../modules/filedump/bin/filedump --file=bootdemo.lst --format=octal --output=bootdemo.json --overwrite
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PDP-11 Loaders
|
title: PDP-11 Bootstrap Loader
|
||||||
permalink: /devices/pdp11/loader/
|
permalink: /devices/pdp11/ram/bootstrap/
|
||||||
---
|
---
|
||||||
|
|
||||||
PDP-11 Loaders
|
PDP-11 Bootstrap Loader
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
The blog post "[PDP-11 Paper Tape BASIC](http://avitech.com.au/?page_id=709)" describes the *Bootstrap Loader*,
|
The blog post "[PDP-11 Paper Tape BASIC](http://avitech.com.au/?page_id=709)" describes the *Bootstrap Loader*,
|
||||||
a small program used to load the *Absolute Loader*, which in turn loads the *PDP-11 BASIC Paper Tape*.
|
a small program used to load the *Absolute Loader*, which in turn loads the *PDP-11 BASIC Paper Tape*.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{"words":[
|
{"load":0x3FE4,"exec":0x3FE4,"words":[
|
||||||
0x1DC1 /*016701*/,0x0016 /*000026*/,0x15C2 /*012702*/,0x00EA /*000352*/,0x0A89 /*005211*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x9C72 /*116162*/,
|
0x1DC1 /*016701*/,0x0016 /*000026*/,0x15C2 /*012702*/,0x00EA /*000352*/,0x0A89 /*005211*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x9C72 /*116162*/,
|
||||||
0x0002 /*000002*/,0x3F00 /*037400*/,0x0AB7 /*005267*/,0xFFEE /*177756*/,0x01F5 /*000765*/,0xFF68 /*177550*/]
|
0x0002 /*000002*/,0x3F00 /*037400*/,0x0AB7 /*005267*/,0xFFEE /*177756*/,0x01F5 /*000765*/,0xFF68 /*177550*/]
|
||||||
}
|
}
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PDP-11 ROMs
|
title: PDP-11 ROM Images
|
||||||
permalink: /devices/pdp11/rom/
|
permalink: /devices/pdp11/rom/
|
||||||
---
|
---
|
||||||
|
|
||||||
PDP-11 ROMs
|
PDP-11 ROM Images
|
||||||
-----------
|
-----------------
|
||||||
|
|
||||||
* [Test ROM](test/) (based on [BOOT.MAC](http://skn.noip.me/pdp11/boot.mac) written by [Paul Nankervis](mailto:paulnank@hotmail.com))
|
Any ROM images added to the project will be stored here.
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
layout: page
|
|
||||||
title: PDP-11 Test ROM
|
|
||||||
permalink: /devices/pdp11/rom/test/
|
|
||||||
---
|
|
||||||
|
|
||||||
PDP-11 Test ROM
|
|
||||||
---------------
|
|
||||||
|
|
||||||
This isn't a ROM so much as a read-only image that can be loaded in RAM by the ROM component.
|
|
||||||
|
|
||||||
[BOOT.MAC](boot.mac) was cross-assembled with [MACRO11](https://github.com/shattered/macro11) to produce [BOOT.LST](boot.lst),
|
|
||||||
which was then processed by [FileDump](/modules/filedump/) to produce [BOOT.JSON](boot.json).
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#
|
|
||||||
# Don't have macro11? Make yourself a copy from https://github.com/shattered/macro11
|
|
||||||
#
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
}
|
}
|
||||||
.pcjs-description, .pcjs-status {
|
.pcjs-description, .pcjs-status {
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 2em;
|
line-height: 2.8em;
|
||||||
}
|
}
|
||||||
.pcjs-key {
|
.pcjs-key {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
|
|
|
||||||
|
|
@ -580,9 +580,9 @@
|
||||||
<xsl:otherwise>null</xsl:otherwise>
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="resetAddr">
|
<xsl:variable name="addrReset">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
|
<xsl:when test="@addrReset"><xsl:value-of select="@addrReset"/></xsl:when>
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
@ -610,7 +610,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class" select="'cpu'"/>
|
<xsl:with-param name="class" select="'cpu'"/>
|
||||||
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,addrReset:<xsl:value-of select="$addrReset"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -931,16 +931,10 @@
|
||||||
<xsl:otherwise/>
|
<xsl:otherwise/>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="writable">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
|
||||||
<xsl:otherwise>false</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:variable>
|
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">rom</xsl:with-param>
|
<xsl:with-param name="class">rom</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -964,6 +958,24 @@
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="file">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@file"><xsl:value-of select="@file"/></xsl:when>
|
||||||
|
<xsl:otherwise/>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="load">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@load"><xsl:value-of select="@load"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="exec">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@exec"><xsl:value-of select="@exec"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
<xsl:variable name="test">
|
<xsl:variable name="test">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
||||||
|
|
@ -973,7 +985,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">ram</xsl:with-param>
|
<xsl:with-param name="class">ram</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,file:'<xsl:value-of select="$file"/>',load:<xsl:value-of select="$load"/>,exec:<xsl:value-of select="$exec"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,12 @@
|
||||||
if (NODE) {
|
if (NODE) {
|
||||||
var str = require("../../shared/lib/strlib");
|
var str = require("../../shared/lib/strlib");
|
||||||
var web = require("../../shared/lib/weblib");
|
var web = require("../../shared/lib/weblib");
|
||||||
|
var DumpAPI = require("../../shared/lib/dumpapi");
|
||||||
var Component = require("../../shared/lib/component");
|
var Component = require("../../shared/lib/component");
|
||||||
var State = require("../../shared/lib/state");
|
var State = require("../../shared/lib/state");
|
||||||
var PC8080 = require("./defines");
|
var PC8080 = require("./defines");
|
||||||
|
var CPUDef8080 = require("./cpudef");
|
||||||
var Memory8080 = require("./memory");
|
var Memory8080 = require("./memory");
|
||||||
var ROM8080 = require("./rom");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -45,6 +46,9 @@ if (NODE) {
|
||||||
*
|
*
|
||||||
* addr: starting physical address of RAM (default is 0)
|
* addr: starting physical address of RAM (default is 0)
|
||||||
* size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings)
|
* size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings)
|
||||||
|
* file: name of optional data file to load into RAM (default is "")
|
||||||
|
* load: optional file load address (overrides any load address specified in the data file; default is null)
|
||||||
|
* exec: optional file exec address (overrides any exec address specified in the data file; default is null)
|
||||||
*
|
*
|
||||||
* NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the
|
* NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the
|
||||||
* Computer component calls powerUp().
|
* Computer component calls powerUp().
|
||||||
|
|
@ -57,14 +61,66 @@ function RAM8080(parmsRAM)
|
||||||
{
|
{
|
||||||
Component.call(this, "RAM", parmsRAM, RAM8080);
|
Component.call(this, "RAM", parmsRAM, RAM8080);
|
||||||
|
|
||||||
|
this.abInit = null;
|
||||||
|
this.aSymbols = null;
|
||||||
|
|
||||||
this.addrRAM = parmsRAM['addr'];
|
this.addrRAM = parmsRAM['addr'];
|
||||||
this.sizeRAM = parmsRAM['size'];
|
this.sizeRAM = parmsRAM['size'];
|
||||||
|
this.nFileLoad = parmsRAM['load'];
|
||||||
|
this.nFileExec = parmsRAM['exec'];
|
||||||
|
|
||||||
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
|
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
|
||||||
this.fAllocated = false;
|
this.fAllocated = false;
|
||||||
|
|
||||||
|
this.sFilePath = parmsRAM['file'];
|
||||||
|
this.sFileName = str.getBaseName(this.sFilePath);
|
||||||
|
|
||||||
|
if (this.sFilePath) {
|
||||||
|
var sFileURL = this.sFilePath;
|
||||||
|
if (DEBUG) this.log('load("' + sFileURL + '")');
|
||||||
|
/*
|
||||||
|
* If the selected data file has a ".json" extension, then we assume it's pre-converted
|
||||||
|
* JSON-encoded data, so we load it as-is; ditto for ROM files with a ".hex" extension.
|
||||||
|
* Otherwise, we ask our server-side converter to return the file in a JSON-compatible format.
|
||||||
|
*/
|
||||||
|
var sFileExt = str.getExtension(this.sFileName);
|
||||||
|
if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) {
|
||||||
|
sFileURL = web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true';
|
||||||
|
}
|
||||||
|
var ram = this;
|
||||||
|
web.getResource(sFileURL, null, true, function(sURL, sResponse, nErrorCode) {
|
||||||
|
ram.doneLoad(sURL, sResponse, nErrorCode);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.subclass(RAM8080);
|
Component.subclass(RAM8080);
|
||||||
|
|
||||||
|
RAM8080.CPM = {
|
||||||
|
BIOS: {
|
||||||
|
VECTOR: 0x0000
|
||||||
|
},
|
||||||
|
BDOS: {
|
||||||
|
VECTOR: 0x0005,
|
||||||
|
FUNC: { // function number (specified in regC)
|
||||||
|
RESET: 0x00,
|
||||||
|
CON_READ: 0x01, // output: A = L = ASCII character
|
||||||
|
CON_WRITE: 0x02, // input: E = ASCII character
|
||||||
|
AUX_READ: 0x03, // output: A = L = ASCII character
|
||||||
|
AUX_WRITE: 0x04, // input: E = ASCII character
|
||||||
|
PRN_WRITE: 0x05, // input: E = ASCII character
|
||||||
|
MEM_SIZE: 0x06, // output: base address of CCP (Console Command Processor), but which register? (perhaps moot if this was CP/M 1.3 only...)
|
||||||
|
CON_IO: 0x06, // input: E = ASCII character (or 0xFF to return ASCII character in A)
|
||||||
|
GET_IOBYTE: 0x07,
|
||||||
|
SET_IOBYTE: 0x08,
|
||||||
|
STR_WRITE: 0x09 // input: DE = address of string
|
||||||
|
}
|
||||||
|
},
|
||||||
|
INIT: 0x100
|
||||||
|
};
|
||||||
|
|
||||||
|
RAM8080.CPM.VECTORS = [RAM8080.CPM.BIOS.VECTOR, RAM8080.CPM.BDOS.VECTOR];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* initBus(cmp, bus, cpu, dbg)
|
* initBus(cmp, bus, cpu, dbg)
|
||||||
*
|
*
|
||||||
|
|
@ -79,7 +135,7 @@ RAM8080.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
this.bus = bus;
|
this.bus = bus;
|
||||||
this.cpu = cpu;
|
this.cpu = cpu;
|
||||||
this.dbg = dbg;
|
this.dbg = dbg;
|
||||||
this.setReady();
|
this.initRAM();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -92,15 +148,12 @@ RAM8080.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
*/
|
*/
|
||||||
RAM8080.prototype.powerUp = function(data, fRepower)
|
RAM8080.prototype.powerUp = function(data, fRepower)
|
||||||
{
|
{
|
||||||
if (!fRepower) {
|
|
||||||
/*
|
/*
|
||||||
* The Computer powers up the CPU last, at which point CPUState state is restored,
|
* The Computer powers up the CPU last, at which point CPUState state is restored,
|
||||||
* which includes the Bus state, and since we use the Bus to allocate all our memory,
|
* which includes the Bus state, and since we use the Bus to allocate all our memory,
|
||||||
* memory contents are already restored for us, so we don't need the usual restore
|
* memory contents are already restored for us, so we don't need the usual restore
|
||||||
* logic. We just need to call reset(), to allocate memory for the RAM.
|
* logic.
|
||||||
*/
|
*/
|
||||||
this.reset();
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -120,7 +173,98 @@ RAM8080.prototype.powerDown = function(fSave, fShutdown)
|
||||||
* our memory, memory contents are already saved for us, so we don't need the usual
|
* our memory, memory contents are already saved for us, so we don't need the usual
|
||||||
* save logic.
|
* save logic.
|
||||||
*/
|
*/
|
||||||
return (fSave)? this.save() : true;
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* doneLoad(sURL, sData, nErrorCode)
|
||||||
|
*
|
||||||
|
* @this {RAM8080}
|
||||||
|
* @param {string} sURL
|
||||||
|
* @param {string} sData
|
||||||
|
* @param {number} nErrorCode (response from server if anything other than 200)
|
||||||
|
*/
|
||||||
|
RAM8080.prototype.doneLoad = function(sURL, sData, nErrorCode)
|
||||||
|
{
|
||||||
|
if (nErrorCode) {
|
||||||
|
this.notice("Unable to load RAM resource (error " + nErrorCode + ": " + sURL + ")");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.addMachineResource(this.idMachine, sURL, sData);
|
||||||
|
|
||||||
|
var resource = web.parseMemoryResource(sURL, sData);
|
||||||
|
if (resource) {
|
||||||
|
this.abInit = resource.aBytes;
|
||||||
|
this.aSymbols = resource.aSymbols;
|
||||||
|
if (this.nFileLoad == null && resource.nLoad != null) this.nFileLoad = resource.nLoad;
|
||||||
|
if (this.nFileExec == null && resource.nExec != null) this.nFileExec = resource.nExec;
|
||||||
|
} else {
|
||||||
|
this.sFilePath = null;
|
||||||
|
}
|
||||||
|
this.initRAM();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initRAM()
|
||||||
|
*
|
||||||
|
* This function is called by both initBus() and doneLoad(), but it cannot copy the initial data into place
|
||||||
|
* until after initBus() has received the Bus component AND doneLoad() has received the data. When both those
|
||||||
|
* criteria are satisfied, the component becomes "ready".
|
||||||
|
*
|
||||||
|
* @this {RAM8080}
|
||||||
|
*/
|
||||||
|
RAM8080.prototype.initRAM = function()
|
||||||
|
{
|
||||||
|
if (!this.fAllocated && this.sizeRAM) {
|
||||||
|
if (this.bus.addMemory(this.addrRAM, this.sizeRAM, Memory8080.TYPE.RAM)) {
|
||||||
|
this.fAllocated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.isReady()) {
|
||||||
|
if (!this.fAllocated) {
|
||||||
|
Component.error("No RAM allocated");
|
||||||
|
}
|
||||||
|
else if (this.sFilePath) {
|
||||||
|
/*
|
||||||
|
* Too early...
|
||||||
|
*/
|
||||||
|
if (!this.abInit || !this.bus) return;
|
||||||
|
|
||||||
|
var addr = this.addrRAM;
|
||||||
|
if (this.nFileLoad !== null) addr = this.nFileLoad;
|
||||||
|
for (var i = 0; i < this.abInit.length; i++) {
|
||||||
|
this.bus.setByteDirect(addr + i, this.abInit[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.nFileExec !== null) {
|
||||||
|
/*
|
||||||
|
* Here's where we enable our "Fake CP/M" support, triggered by the user loading a "writable" ROM image
|
||||||
|
* at offset 0x100. Fake CP/M support works by installing HLT opcodes at well-known CP/M addresses
|
||||||
|
* (namely, 0x0000, which is the CP/M reset vector, and 0x0005, which is the CP/M system call vector) and
|
||||||
|
* then telling the CPU to call us whenever a HLT occurs, so we can check PC for one of these addresses.
|
||||||
|
*/
|
||||||
|
if (this.nFileExec == RAM8080.CPM.INIT) {
|
||||||
|
for (i = 0; i < RAM8080.CPM.VECTORS.length; i++) {
|
||||||
|
this.bus.setByteDirect(RAM8080.CPM.VECTORS[i], CPUDef8080.OPCODE.HLT);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.cpu.addHaltCheck(function(rom) {
|
||||||
|
return function(addr) {
|
||||||
|
return rom.checkCPMVector(addr)
|
||||||
|
};
|
||||||
|
}(this));
|
||||||
|
}
|
||||||
|
this.cpu.setReset(this.nFileExec);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: Consider an option to retain this data and give the user a way of restoring the initial contents.
|
||||||
|
*/
|
||||||
|
delete this.abInit;
|
||||||
|
}
|
||||||
|
this.setReady();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -130,41 +274,99 @@ RAM8080.prototype.powerDown = function(fSave, fShutdown)
|
||||||
*/
|
*/
|
||||||
RAM8080.prototype.reset = function()
|
RAM8080.prototype.reset = function()
|
||||||
{
|
{
|
||||||
if (!this.fAllocated && this.sizeRAM) {
|
/*
|
||||||
if (this.bus.addMemory(this.addrRAM, this.sizeRAM, Memory8080.TYPE.RAM)) {
|
* If you want to zero RAM on reset, then this would be a good place to do it.
|
||||||
this.fAllocated = true;
|
*/
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!this.fAllocated) {
|
|
||||||
Component.error("No RAM allocated");
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* save()
|
* checkCPMVector(addr)
|
||||||
*
|
|
||||||
* This implements save support for the RAM8080 component.
|
|
||||||
*
|
*
|
||||||
* @this {RAM8080}
|
* @this {RAM8080}
|
||||||
* @return {Object}
|
* @param {number} addr (of the HLT opcode)
|
||||||
|
* @return {boolean} true if special processing performed, false if not
|
||||||
*/
|
*/
|
||||||
RAM8080.prototype.save = function()
|
RAM8080.prototype.checkCPMVector = function(addr)
|
||||||
{
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* restore(data)
|
|
||||||
*
|
|
||||||
* This implements restore support for the RAM8080 component.
|
|
||||||
*
|
|
||||||
* @this {RAM8080}
|
|
||||||
* @param {Object} data
|
|
||||||
* @return {boolean} true if successful, false if failure
|
|
||||||
*/
|
|
||||||
RAM8080.prototype.restore = function(data)
|
|
||||||
{
|
{
|
||||||
|
var i = RAM8080.CPM.VECTORS.indexOf(addr);
|
||||||
|
if (i >= 0) {
|
||||||
|
var fCPM = false;
|
||||||
|
var cpu = this.cpu;
|
||||||
|
var dbg = this.dbg;
|
||||||
|
if (addr == RAM8080.CPM.BDOS.VECTOR) {
|
||||||
|
fCPM = true;
|
||||||
|
switch(cpu.regC) {
|
||||||
|
case RAM8080.CPM.BDOS.FUNC.CON_WRITE:
|
||||||
|
this.writeCPMString(this.getCPMChar(cpu.regE));
|
||||||
|
break;
|
||||||
|
case RAM8080.CPM.BDOS.FUNC.STR_WRITE:
|
||||||
|
this.writeCPMString(this.getCPMString(cpu.getDE(), '$'));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fCPM = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fCPM) {
|
||||||
|
CPUDef8080.opRET.call(cpu); // for recognized calls, automatically return
|
||||||
|
}
|
||||||
|
else if (dbg) {
|
||||||
|
this.println("\nCP/M vector " + str.toHexWord(addr));
|
||||||
|
cpu.setPC(addr); // this is purely for the Debugger's benefit, to show the HLT
|
||||||
|
dbg.stopCPU();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getCPMChar(ch)
|
||||||
|
*
|
||||||
|
* @this {RAM8080}
|
||||||
|
* @param {number} ch
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
RAM8080.prototype.getCPMChar = function(ch)
|
||||||
|
{
|
||||||
|
return String.fromCharCode(ch);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getCPMString(addr, chEnd)
|
||||||
|
*
|
||||||
|
* @this {RAM8080}
|
||||||
|
* @param {number} addr (of a string)
|
||||||
|
* @param {string|number} [chEnd] (terminating character, default is 0)
|
||||||
|
* @return {string}
|
||||||
|
*/
|
||||||
|
RAM8080.prototype.getCPMString = function(addr, chEnd)
|
||||||
|
{
|
||||||
|
var s = "";
|
||||||
|
var cchMax = 255;
|
||||||
|
var bEnd = chEnd && chEnd.length && chEnd.charCodeAt(0) || chEnd || 0;
|
||||||
|
while (cchMax--) {
|
||||||
|
var b = this.cpu.getByte(addr++);
|
||||||
|
if (b == bEnd) break;
|
||||||
|
s += String.fromCharCode(b);
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* writeCPMString(s)
|
||||||
|
*
|
||||||
|
* @this {RAM8080}
|
||||||
|
* @param {string} s
|
||||||
|
*/
|
||||||
|
RAM8080.prototype.writeCPMString = function(s)
|
||||||
|
{
|
||||||
|
s = s.replace(/\r/g, '');
|
||||||
|
if (this.controlPrint) {
|
||||||
|
this.controlPrint.value += s;
|
||||||
|
this.controlPrint.scrollTop = this.controlPrint.scrollHeight;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ if (NODE) {
|
||||||
var DumpAPI = require("../../shared/lib/dumpapi");
|
var DumpAPI = require("../../shared/lib/dumpapi");
|
||||||
var Component = require("../../shared/lib/component");
|
var Component = require("../../shared/lib/component");
|
||||||
var PC8080 = require("./defines");
|
var PC8080 = require("./defines");
|
||||||
var CPUDef8080 = require("./cpudef");
|
|
||||||
var Memory8080 = require("./memory");
|
var Memory8080 = require("./memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -47,7 +46,6 @@ if (NODE) {
|
||||||
* size: amount of ROM, in bytes
|
* size: amount of ROM, in bytes
|
||||||
* alias: physical alias address (null if none)
|
* alias: physical alias address (null if none)
|
||||||
* file: name of ROM data file
|
* file: name of ROM data file
|
||||||
* writable: true to make ROM writable (default is false)
|
|
||||||
*
|
*
|
||||||
* NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND the
|
* NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND the
|
||||||
* ROM data file has finished loading (see doneLoad()).
|
* ROM data file has finished loading (see doneLoad()).
|
||||||
|
|
@ -55,13 +53,6 @@ if (NODE) {
|
||||||
* Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM you received
|
* Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM you received
|
||||||
* is the ROM you expected.
|
* is the ROM you expected.
|
||||||
*
|
*
|
||||||
* Finally, while making ROM "writable" may seem a contradiction in terms, I want to be able to load selected
|
|
||||||
* binary files into memory purely for testing purposes, and the RAM component has no "file" option, so the
|
|
||||||
* simplest solution was to add the option to load binary files into memory as "writable" ROMs.
|
|
||||||
*
|
|
||||||
* Moreover, if a "writable" ROM is installed at addr 0x100, that triggers our "Fake CP/M" support, providing
|
|
||||||
* a quick-and-dirty means of loading simple CP/M test binaries. See addROM() for details.
|
|
||||||
*
|
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends Component
|
* @extends Component
|
||||||
* @param {Object} parmsROM
|
* @param {Object} parmsROM
|
||||||
|
|
@ -73,7 +64,7 @@ function ROM8080(parmsROM)
|
||||||
this.abROM = null;
|
this.abROM = null;
|
||||||
this.addrROM = parmsROM['addr'];
|
this.addrROM = parmsROM['addr'];
|
||||||
this.sizeROM = parmsROM['size'];
|
this.sizeROM = parmsROM['size'];
|
||||||
this.fWritable = parmsROM['writable'];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of
|
* The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of
|
||||||
|
|
@ -112,30 +103,6 @@ function ROM8080(parmsROM)
|
||||||
|
|
||||||
Component.subclass(ROM8080);
|
Component.subclass(ROM8080);
|
||||||
|
|
||||||
ROM8080.CPM = {
|
|
||||||
BIOS: {
|
|
||||||
VECTOR: 0x0000
|
|
||||||
},
|
|
||||||
BDOS: {
|
|
||||||
VECTOR: 0x0005,
|
|
||||||
FUNC: { // function number (specified in regC)
|
|
||||||
RESET: 0x00,
|
|
||||||
CON_READ: 0x01, // output: A = L = ASCII character
|
|
||||||
CON_WRITE: 0x02, // input: E = ASCII character
|
|
||||||
AUX_READ: 0x03, // output: A = L = ASCII character
|
|
||||||
AUX_WRITE: 0x04, // input: E = ASCII character
|
|
||||||
PRN_WRITE: 0x05, // input: E = ASCII character
|
|
||||||
MEM_SIZE: 0x06, // output: base address of CCP (Console Command Processor), but which register? (perhaps moot if this was CP/M 1.3 only...)
|
|
||||||
CON_IO: 0x06, // input: E = ASCII character (or 0xFF to return ASCII character in A)
|
|
||||||
GET_IOBYTE: 0x07,
|
|
||||||
SET_IOBYTE: 0x08,
|
|
||||||
STR_WRITE: 0x09 // input: DE = address of string
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
ROM8080.CPM.VECTORS = [ROM8080.CPM.BIOS.VECTOR, ROM8080.CPM.BDOS.VECTOR];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE: There's currently no need for this component to have a reset() function, since
|
* NOTE: There's currently no need for this component to have a reset() function, since
|
||||||
* once the ROM data is loaded, it can't be changed, so there's nothing to reinitialize.
|
* once the ROM data is loaded, it can't be changed, so there's nothing to reinitialize.
|
||||||
|
|
@ -350,31 +317,12 @@ ROM8080.prototype.copyROM = function()
|
||||||
*/
|
*/
|
||||||
ROM8080.prototype.addROM = function(addr)
|
ROM8080.prototype.addROM = function(addr)
|
||||||
{
|
{
|
||||||
if (this.bus.addMemory(addr, this.sizeROM, this.fWritable? Memory8080.TYPE.RAM : Memory8080.TYPE.ROM)) {
|
if (this.bus.addMemory(addr, this.sizeROM, Memory8080.TYPE.ROM)) {
|
||||||
if (DEBUG) this.log("addROM(): copying ROM to " + str.toHexLong(addr) + " (" + str.toHexLong(this.abROM.length) + " bytes)");
|
if (DEBUG) this.log("addROM(): copying ROM to " + str.toHexLong(addr) + " (" + str.toHexLong(this.abROM.length) + " bytes)");
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < this.abROM.length; i++) {
|
for (i = 0; i < this.abROM.length; i++) {
|
||||||
this.bus.setByteDirect(addr + i, this.abROM[i]);
|
this.bus.setByteDirect(addr + i, this.abROM[i]);
|
||||||
}
|
}
|
||||||
if (this.fWritable && addr == 0x100) {
|
|
||||||
/*
|
|
||||||
* Here's where we enable our "Fake CP/M" support, triggered by the user loading a "writable" ROM image
|
|
||||||
* at offset 0x100. Fake CP/M support works by installing HLT opcodes at well-known CP/M addresses
|
|
||||||
* (namely, 0x0000, which is the CP/M reset vector, and 0x0005, which is the CP/M system call vector) and
|
|
||||||
* then telling the CPU to call us whenever a HLT occurs, so we can check PC for one of these addresses.
|
|
||||||
*/
|
|
||||||
for (i = 0; i < ROM8080.CPM.VECTORS.length; i++) {
|
|
||||||
this.bus.setByteDirect(ROM8080.CPM.VECTORS[i], CPUDef8080.OPCODE.HLT);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.cpu.addHaltCheck(function(rom) {
|
|
||||||
return function(addr) {
|
|
||||||
return rom.checkCPMVector(addr)
|
|
||||||
};
|
|
||||||
}(this));
|
|
||||||
|
|
||||||
this.cpu.setReset(addr);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
@ -383,96 +331,6 @@ ROM8080.prototype.addROM = function(addr)
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* checkCPMVector(addr)
|
|
||||||
*
|
|
||||||
* @this {ROM8080}
|
|
||||||
* @param {number} addr (of the HLT opcode)
|
|
||||||
* @return {boolean} true if special processing performed, false if not
|
|
||||||
*/
|
|
||||||
ROM8080.prototype.checkCPMVector = function(addr)
|
|
||||||
{
|
|
||||||
var i = ROM8080.CPM.VECTORS.indexOf(addr);
|
|
||||||
if (i >= 0) {
|
|
||||||
var fCPM = false;
|
|
||||||
var cpu = this.cpu;
|
|
||||||
var dbg = this.dbg;
|
|
||||||
if (addr == ROM8080.CPM.BDOS.VECTOR) {
|
|
||||||
fCPM = true;
|
|
||||||
switch(cpu.regC) {
|
|
||||||
case ROM8080.CPM.BDOS.FUNC.CON_WRITE:
|
|
||||||
this.writeCPMString(this.getCPMChar(cpu.regE));
|
|
||||||
break;
|
|
||||||
case ROM8080.CPM.BDOS.FUNC.STR_WRITE:
|
|
||||||
this.writeCPMString(this.getCPMString(cpu.getDE(), '$'));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fCPM = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (fCPM) {
|
|
||||||
CPUDef8080.opRET.call(cpu); // for recognized calls, automatically return
|
|
||||||
}
|
|
||||||
else if (dbg) {
|
|
||||||
this.println("\nCP/M vector " + str.toHexWord(addr));
|
|
||||||
cpu.setPC(addr); // this is purely for the Debugger's benefit, to show the HLT
|
|
||||||
dbg.stopCPU();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* getCPMChar(ch)
|
|
||||||
*
|
|
||||||
* @this {ROM8080}
|
|
||||||
* @param {number} ch
|
|
||||||
* @return {string}
|
|
||||||
*/
|
|
||||||
ROM8080.prototype.getCPMChar = function(ch)
|
|
||||||
{
|
|
||||||
return String.fromCharCode(ch);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* getCPMString(addr, chEnd)
|
|
||||||
*
|
|
||||||
* @this {ROM8080}
|
|
||||||
* @param {number} addr (of a string)
|
|
||||||
* @param {string|number} [chEnd] (terminating character, default is 0)
|
|
||||||
* @return {string}
|
|
||||||
*/
|
|
||||||
ROM8080.prototype.getCPMString = function(addr, chEnd)
|
|
||||||
{
|
|
||||||
var s = "";
|
|
||||||
var cchMax = 255;
|
|
||||||
var bEnd = chEnd && chEnd.length && chEnd.charCodeAt(0) || chEnd || 0;
|
|
||||||
while (cchMax--) {
|
|
||||||
var b = this.cpu.getByte(addr++);
|
|
||||||
if (b == bEnd) break;
|
|
||||||
s += String.fromCharCode(b);
|
|
||||||
}
|
|
||||||
return s;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* writeCPMString(s)
|
|
||||||
*
|
|
||||||
* @this {ROM8080}
|
|
||||||
* @param {string} s
|
|
||||||
*/
|
|
||||||
ROM8080.prototype.writeCPMString = function(s)
|
|
||||||
{
|
|
||||||
s = s.replace(/\r/g, '');
|
|
||||||
if (this.controlPrint) {
|
|
||||||
this.controlPrint.value += s;
|
|
||||||
this.controlPrint.scrollTop = this.controlPrint.scrollHeight;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cloneROM(addr)
|
* cloneROM(addr)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ if (NODE) {
|
||||||
* The CPUStatePDP11 class uses the following (parmsCPU) properties:
|
* The CPUStatePDP11 class uses the following (parmsCPU) properties:
|
||||||
*
|
*
|
||||||
* model: a number (eg, 1170) that should match one of the PDP11.MODEL_* values
|
* model: a number (eg, 1170) that should match one of the PDP11.MODEL_* values
|
||||||
* resetAddr: reset address (default is 0)
|
* addrReset: reset address (default is 0)
|
||||||
*
|
*
|
||||||
* This extends the CPU class and passes any remaining parmsCPU properties to the CPU class
|
* This extends the CPU class and passes any remaining parmsCPU properties to the CPU class
|
||||||
* constructor, along with a default speed (cycles per second) based on the specified (or default)
|
* constructor, along with a default speed (cycles per second) based on the specified (or default)
|
||||||
|
|
@ -63,7 +63,7 @@ if (NODE) {
|
||||||
function CPUStatePDP11(parmsCPU)
|
function CPUStatePDP11(parmsCPU)
|
||||||
{
|
{
|
||||||
this.model = +parmsCPU['model'] || PDP11.MODEL_1170;
|
this.model = +parmsCPU['model'] || PDP11.MODEL_1170;
|
||||||
this.resetAddr = parmsCPU['resetAddr'] || 0;
|
this.addrReset = parmsCPU['addrReset'] || 0;
|
||||||
|
|
||||||
var nCyclesDefault = 0;
|
var nCyclesDefault = 0;
|
||||||
switch(this.model) {
|
switch(this.model) {
|
||||||
|
|
@ -175,7 +175,7 @@ CPUStatePDP11.prototype.initRegs = function()
|
||||||
this.flagN = 0x8000; // PSW N bit
|
this.flagN = 0x8000; // PSW N bit
|
||||||
this.regPSW = 0x000f; // PSW other bits (TODO: What's the point of setting the flag bits here, too?)
|
this.regPSW = 0x000f; // PSW other bits (TODO: What's the point of setting the flag bits here, too?)
|
||||||
this.regsGen = [ // General R0 - R7
|
this.regsGen = [ // General R0 - R7
|
||||||
0, 0, 0, 0, 0, 0, 0, this.resetAddr
|
0, 0, 0, 0, 0, 0, 0, this.addrReset
|
||||||
];
|
];
|
||||||
this.regsAlt = [ // Alternate R0 - R5
|
this.regsAlt = [ // Alternate R0 - R5
|
||||||
0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0
|
||||||
|
|
@ -359,6 +359,18 @@ CPUStatePDP11.prototype.setMMR3 = function(newMMR3)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* setReset(addr)
|
||||||
|
*
|
||||||
|
* @this {CPUStatePDP11}
|
||||||
|
* @param {number} addr
|
||||||
|
*/
|
||||||
|
CPUStatePDP11.prototype.setReset = function(addr)
|
||||||
|
{
|
||||||
|
this.addrReset = addr;
|
||||||
|
this.setPC(addr);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getChecksum()
|
* getChecksum()
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@
|
||||||
if (NODE) {
|
if (NODE) {
|
||||||
var str = require("../../shared/lib/strlib");
|
var str = require("../../shared/lib/strlib");
|
||||||
var web = require("../../shared/lib/weblib");
|
var web = require("../../shared/lib/weblib");
|
||||||
|
var DumpAPI = require("../../shared/lib/dumpapi");
|
||||||
var Component = require("../../shared/lib/component");
|
var Component = require("../../shared/lib/component");
|
||||||
var State = require("../../shared/lib/state");
|
var State = require("../../shared/lib/state");
|
||||||
var PDP11 = require("./defines");
|
var PDP11 = require("./defines");
|
||||||
var MemoryPDP11 = require("./memory");
|
var MemoryPDP11 = require("./memory");
|
||||||
var ROMPDP11 = require("./rom");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -49,6 +49,9 @@ if (NODE) {
|
||||||
*
|
*
|
||||||
* addr: starting physical address of RAM (default is 0)
|
* addr: starting physical address of RAM (default is 0)
|
||||||
* size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings)
|
* size: amount of RAM, in bytes (default is 0, which means defer to motherboard switch settings)
|
||||||
|
* file: name of optional data file to load into RAM (default is "")
|
||||||
|
* load: optional file load address (overrides any load address specified in the data file; default is null)
|
||||||
|
* exec: optional file exec address (overrides any exec address specified in the data file; default is null)
|
||||||
*
|
*
|
||||||
* NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the
|
* NOTE: We make a note of the specified size, but no memory is initially allocated for the RAM until the
|
||||||
* Computer component calls powerUp().
|
* Computer component calls powerUp().
|
||||||
|
|
@ -61,10 +64,37 @@ function RAMPDP11(parmsRAM)
|
||||||
{
|
{
|
||||||
Component.call(this, "RAM", parmsRAM, RAMPDP11);
|
Component.call(this, "RAM", parmsRAM, RAMPDP11);
|
||||||
|
|
||||||
|
this.abInit = null;
|
||||||
|
this.aSymbols = null;
|
||||||
|
|
||||||
this.addrRAM = parmsRAM['addr'];
|
this.addrRAM = parmsRAM['addr'];
|
||||||
this.sizeRAM = parmsRAM['size'];
|
this.sizeRAM = parmsRAM['size'];
|
||||||
|
this.nFileLoad = parmsRAM['load'];
|
||||||
|
this.nFileExec = parmsRAM['exec'];
|
||||||
|
|
||||||
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
|
this.fInstalled = (!!this.sizeRAM); // 0 is the default value for 'size' when none is specified
|
||||||
this.fAllocated = false;
|
this.fAllocated = false;
|
||||||
|
|
||||||
|
this.sFilePath = parmsRAM['file'];
|
||||||
|
this.sFileName = str.getBaseName(this.sFilePath);
|
||||||
|
|
||||||
|
if (this.sFilePath) {
|
||||||
|
var sFileURL = this.sFilePath;
|
||||||
|
if (DEBUG) this.log('load("' + sFileURL + '")');
|
||||||
|
/*
|
||||||
|
* If the selected data file has a ".json" extension, then we assume it's pre-converted
|
||||||
|
* JSON-encoded data, so we load it as-is; ditto for ROM files with a ".hex" extension.
|
||||||
|
* Otherwise, we ask our server-side converter to return the file in a JSON-compatible format.
|
||||||
|
*/
|
||||||
|
var sFileExt = str.getExtension(this.sFileName);
|
||||||
|
if (sFileExt != DumpAPI.FORMAT.JSON && sFileExt != DumpAPI.FORMAT.HEX) {
|
||||||
|
sFileURL = web.getHost() + DumpAPI.ENDPOINT + '?' + DumpAPI.QUERY.FILE + '=' + this.sFilePath + '&' + DumpAPI.QUERY.FORMAT + '=' + DumpAPI.FORMAT.BYTES + '&' + DumpAPI.QUERY.DECIMAL + '=true';
|
||||||
|
}
|
||||||
|
var ram = this;
|
||||||
|
web.getResource(sFileURL, null, true, function(sURL, sResponse, nErrorCode) {
|
||||||
|
ram.doneLoad(sURL, sResponse, nErrorCode);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.subclass(RAMPDP11);
|
Component.subclass(RAMPDP11);
|
||||||
|
|
@ -86,24 +116,6 @@ RAMPDP11.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
this.initRAM();
|
this.initRAM();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* initRAM()
|
|
||||||
*
|
|
||||||
* @this {RAMPDP11}
|
|
||||||
*/
|
|
||||||
RAMPDP11.prototype.initRAM = function()
|
|
||||||
{
|
|
||||||
if (!this.fAllocated && this.sizeRAM) {
|
|
||||||
if (this.bus.addMemory(this.addrRAM, this.sizeRAM, MemoryPDP11.TYPE.RAM)) {
|
|
||||||
this.fAllocated = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!this.fAllocated) {
|
|
||||||
Component.error("No RAM allocated");
|
|
||||||
}
|
|
||||||
this.setReady();
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* powerUp(data, fRepower)
|
* powerUp(data, fRepower)
|
||||||
*
|
*
|
||||||
|
|
@ -142,6 +154,80 @@ RAMPDP11.prototype.powerDown = function(fSave, fShutdown)
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* doneLoad(sURL, sData, nErrorCode)
|
||||||
|
*
|
||||||
|
* @this {RAMPDP11}
|
||||||
|
* @param {string} sURL
|
||||||
|
* @param {string} sData
|
||||||
|
* @param {number} nErrorCode (response from server if anything other than 200)
|
||||||
|
*/
|
||||||
|
RAMPDP11.prototype.doneLoad = function(sURL, sData, nErrorCode)
|
||||||
|
{
|
||||||
|
if (nErrorCode) {
|
||||||
|
this.notice("Unable to load RAM resource (error " + nErrorCode + ": " + sURL + ")");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.addMachineResource(this.idMachine, sURL, sData);
|
||||||
|
|
||||||
|
var resource = web.parseMemoryResource(sURL, sData);
|
||||||
|
if (resource) {
|
||||||
|
this.abInit = resource.aBytes;
|
||||||
|
this.aSymbols = resource.aSymbols;
|
||||||
|
if (this.nFileLoad == null && resource.nLoad != null) this.nFileLoad = resource.nLoad;
|
||||||
|
if (this.nFileExec == null && resource.nExec != null) this.nFileExec = resource.nExec;
|
||||||
|
} else {
|
||||||
|
this.sFilePath = null;
|
||||||
|
}
|
||||||
|
this.initRAM();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initRAM()
|
||||||
|
*
|
||||||
|
* This function is called by both initBus() and doneLoad(), but it cannot copy the initial data into place
|
||||||
|
* until after initBus() has received the Bus component AND doneLoad() has received the data. When both those
|
||||||
|
* criteria are satisfied, the component becomes "ready".
|
||||||
|
*
|
||||||
|
* @this {RAMPDP11}
|
||||||
|
*/
|
||||||
|
RAMPDP11.prototype.initRAM = function()
|
||||||
|
{
|
||||||
|
if (!this.fAllocated && this.sizeRAM) {
|
||||||
|
if (this.bus.addMemory(this.addrRAM, this.sizeRAM, MemoryPDP11.TYPE.RAM)) {
|
||||||
|
this.fAllocated = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.isReady()) {
|
||||||
|
if (!this.fAllocated) {
|
||||||
|
Component.error("No RAM allocated");
|
||||||
|
}
|
||||||
|
else if (this.sFilePath) {
|
||||||
|
/*
|
||||||
|
* Too early...
|
||||||
|
*/
|
||||||
|
if (!this.abInit || !this.bus) return;
|
||||||
|
|
||||||
|
var addr = this.addrRAM;
|
||||||
|
if (this.nFileLoad !== null) addr = this.nFileLoad;
|
||||||
|
for (var i = 0; i < this.abInit.length; i++) {
|
||||||
|
this.bus.setByteDirect(addr + i, this.abInit[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.nFileExec !== null) {
|
||||||
|
this.cpu.setReset(this.nFileExec);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: Consider an option to retain this data and give the user a way of restoring the initial contents.
|
||||||
|
*/
|
||||||
|
delete this.abInit;
|
||||||
|
}
|
||||||
|
this.setReady();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reset()
|
* reset()
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,6 @@ if (NODE) {
|
||||||
* size: amount of ROM, in bytes
|
* size: amount of ROM, in bytes
|
||||||
* alias: physical alias address (null if none)
|
* alias: physical alias address (null if none)
|
||||||
* file: name of ROM data file
|
* file: name of ROM data file
|
||||||
* writable: true to make ROM writable (default is false)
|
|
||||||
*
|
*
|
||||||
* NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND the
|
* NOTE: The ROM data will not be copied into place until the Bus is ready (see initBus()) AND the
|
||||||
* ROM data file has finished loading (see doneLoad()).
|
* ROM data file has finished loading (see doneLoad()).
|
||||||
|
|
@ -58,10 +57,6 @@ if (NODE) {
|
||||||
* Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM you received
|
* Also, while the size parameter may seem redundant, I consider it useful to confirm that the ROM you received
|
||||||
* is the ROM you expected.
|
* is the ROM you expected.
|
||||||
*
|
*
|
||||||
* Finally, while making ROM "writable" may seem a contradiction in terms, I want to be able to load selected
|
|
||||||
* binary files into memory purely for testing purposes, and the RAM component has no "file" option, so the
|
|
||||||
* simplest solution was to add the option to load binary files into memory as "writable" ROMs.
|
|
||||||
*
|
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends Component
|
* @extends Component
|
||||||
* @param {Object} parmsROM
|
* @param {Object} parmsROM
|
||||||
|
|
@ -70,10 +65,11 @@ function ROMPDP11(parmsROM)
|
||||||
{
|
{
|
||||||
Component.call(this, "ROM", parmsROM, ROMPDP11);
|
Component.call(this, "ROM", parmsROM, ROMPDP11);
|
||||||
|
|
||||||
this.abROM = null;
|
this.abInit = null;
|
||||||
|
this.aSymbols = null;
|
||||||
|
|
||||||
this.addrROM = parmsROM['addr'];
|
this.addrROM = parmsROM['addr'];
|
||||||
this.sizeROM = parmsROM['size'];
|
this.sizeROM = parmsROM['size'];
|
||||||
this.fWritable = parmsROM['writable'];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of
|
* The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of
|
||||||
|
|
@ -184,87 +180,28 @@ ROMPDP11.prototype.powerDown = function(fSave, fShutdown)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* doneLoad(sURL, sROMData, nErrorCode)
|
* doneLoad(sURL, sData, nErrorCode)
|
||||||
*
|
*
|
||||||
* @this {ROMPDP11}
|
* @this {ROMPDP11}
|
||||||
* @param {string} sURL
|
* @param {string} sURL
|
||||||
* @param {string} sROMData
|
* @param {string} sData
|
||||||
* @param {number} nErrorCode (response from server if anything other than 200)
|
* @param {number} nErrorCode (response from server if anything other than 200)
|
||||||
*/
|
*/
|
||||||
ROMPDP11.prototype.doneLoad = function(sURL, sROMData, nErrorCode)
|
ROMPDP11.prototype.doneLoad = function(sURL, sData, nErrorCode)
|
||||||
{
|
{
|
||||||
if (nErrorCode) {
|
if (nErrorCode) {
|
||||||
this.notice("Unable to load system ROM (error " + nErrorCode + ": " + sURL + ")");
|
this.notice("Unable to load ROM resource (error " + nErrorCode + ": " + sURL + ")");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.addMachineResource(this.idMachine, sURL, sROMData);
|
Component.addMachineResource(this.idMachine, sURL, sData);
|
||||||
|
|
||||||
var i;
|
var resource = web.parseMemoryResource(sURL, sData);
|
||||||
if (sROMData.charAt(0) == "[" || sROMData.charAt(0) == "{") {
|
if (resource) {
|
||||||
try {
|
this.abInit = resource.aBytes;
|
||||||
/*
|
this.aSymbols = resource.aSymbols;
|
||||||
* The most likely source of any exception will be here: parsing the JSON-encoded ROM.
|
} else {
|
||||||
*/
|
this.sFilePath = null;
|
||||||
var a, ib;
|
|
||||||
var rom = eval("(" + sROMData + ")");
|
|
||||||
|
|
||||||
if (a = rom['bytes']) {
|
|
||||||
this.abROM = a;
|
|
||||||
}
|
|
||||||
else if (a = rom['words']) {
|
|
||||||
/*
|
|
||||||
* Convert all WORDs into BYTEs, so that subsequent code only has to deal with abROM.
|
|
||||||
*/
|
|
||||||
this.abROM = new Array(a.length * 2);
|
|
||||||
for (i = 0, ib = 0; i < a.length; i++) {
|
|
||||||
this.abROM[ib++] = a[i] & 0xff;
|
|
||||||
this.abROM[ib++] = (a[i] >> 8) & 0xff;
|
|
||||||
this.assert(!(a[i] & ~0xffff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (a = rom['data']) {
|
|
||||||
/*
|
|
||||||
* Convert all DWORDs into BYTEs, so that subsequent code only has to deal with abROM.
|
|
||||||
*/
|
|
||||||
this.abROM = new Array(a.length * 4);
|
|
||||||
for (i = 0, ib = 0; i < a.length; i++) {
|
|
||||||
this.abROM[ib++] = a[i] & 0xff;
|
|
||||||
this.abROM[ib++] = (a[i] >> 8) & 0xff;
|
|
||||||
this.abROM[ib++] = (a[i] >> 16) & 0xff;
|
|
||||||
this.abROM[ib++] = (a[i] >> 24) & 0xff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.abROM = rom;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.aSymbols = rom['symbols'];
|
|
||||||
|
|
||||||
if (!this.abROM.length) {
|
|
||||||
Component.error("Empty ROM: " + sURL);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (this.abROM.length == 1) {
|
|
||||||
Component.error(this.abROM[0]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
this.notice("ROM data error: " + e.message);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
/*
|
|
||||||
* Parse the ROM data manually; we assume it's in "simplified" hex form (a series of hex byte-values
|
|
||||||
* separated by whitespace).
|
|
||||||
*/
|
|
||||||
var sHexData = sROMData.replace(/\n/gm, " ").replace(/ +$/, "");
|
|
||||||
var asHexData = sHexData.split(" ");
|
|
||||||
this.abROM = new Array(asHexData.length);
|
|
||||||
for (i = 0; i < asHexData.length; i++) {
|
|
||||||
this.abROM[i] = str.parseInt(asHexData[i], 16);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this.initROM();
|
this.initROM();
|
||||||
};
|
};
|
||||||
|
|
@ -272,33 +209,35 @@ ROMPDP11.prototype.doneLoad = function(sURL, sROMData, nErrorCode)
|
||||||
/**
|
/**
|
||||||
* initROM()
|
* initROM()
|
||||||
*
|
*
|
||||||
* This function is called by both initBus() and doneLoad(), but it cannot copy the the ROM data into place
|
* This function is called by both initBus() and doneLoad(), but it cannot copy the initial data into place
|
||||||
* until after initBus() has received the Bus component AND doneLoad() has received the abROM data. When both
|
* until after initBus() has received the Bus component AND doneLoad() has received the data. When both those
|
||||||
* those criteria are satisfied, the component becomes "ready".
|
* criteria are satisfied, the component becomes "ready".
|
||||||
*
|
*
|
||||||
* @this {ROMPDP11}
|
* @this {ROMPDP11}
|
||||||
*/
|
*/
|
||||||
ROMPDP11.prototype.initROM = function()
|
ROMPDP11.prototype.initROM = function()
|
||||||
{
|
{
|
||||||
if (!this.isReady()) {
|
if (!this.isReady()) {
|
||||||
if (!this.sFilePath) {
|
if (this.sFilePath) {
|
||||||
this.setReady();
|
/*
|
||||||
}
|
* Too early...
|
||||||
else if (this.abROM && this.bus) {
|
*/
|
||||||
|
if (!this.abInit || !this.bus) return;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If no explicit size was specified, then use whatever the actual size is.
|
* If no explicit size was specified, then use whatever the actual size is.
|
||||||
*/
|
*/
|
||||||
if (!this.sizeROM) {
|
if (!this.sizeROM) {
|
||||||
this.sizeROM = this.abROM.length;
|
this.sizeROM = this.abInit.length;
|
||||||
}
|
}
|
||||||
if (this.abROM.length != this.sizeROM) {
|
if (this.abInit.length != this.sizeROM) {
|
||||||
/*
|
/*
|
||||||
* Note that setError() sets the component's fError flag, which in turn prevents setReady() from
|
* Note that setError() sets the component's fError flag, which in turn prevents setReady() from
|
||||||
* marking the component ready. TODO: Revisit this decision. On the one hand, it sounds like a
|
* marking the component ready. TODO: Revisit this decision. On the one hand, it sounds like a
|
||||||
* good idea to stop the machine in its tracks whenever a setError() occurs, but there may also be
|
* good idea to stop the machine in its tracks whenever a setError() occurs, but there may also be
|
||||||
* times when we'd like to forge ahead anyway.
|
* times when we'd like to forge ahead anyway.
|
||||||
*/
|
*/
|
||||||
this.setError("ROM size (" + str.toHexLong(this.abROM.length) + ") does not match specified size (" + str.toHexLong(this.sizeROM) + ")");
|
this.setError("ROM size (" + str.toHexLong(this.abInit.length) + ") does not match specified size (" + str.toHexLong(this.sizeROM) + ")");
|
||||||
}
|
}
|
||||||
else if (this.addROM(this.addrROM)) {
|
else if (this.addROM(this.addrROM)) {
|
||||||
|
|
||||||
|
|
@ -312,7 +251,7 @@ ROMPDP11.prototype.initROM = function()
|
||||||
this.cloneROM(aliases[i]);
|
this.cloneROM(aliases[i]);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* We used to hang onto the original ROM data so that we could restore any bytes the CPU overwrote,
|
* We used to hang onto the initial ROM data so that we could restore any bytes the CPU overwrote,
|
||||||
* using memory write-notification handlers, but with the introduction of read-only memory blocks, that's
|
* using memory write-notification handlers, but with the introduction of read-only memory blocks, that's
|
||||||
* no longer necessary.
|
* no longer necessary.
|
||||||
*
|
*
|
||||||
|
|
@ -321,11 +260,11 @@ ROMPDP11.prototype.initROM = function()
|
||||||
* whether they're ROM or RAM. However, the only way to modify a machine's ROM is with the Debugger,
|
* whether they're ROM or RAM. However, the only way to modify a machine's ROM is with the Debugger,
|
||||||
* and Debugger users should know better.
|
* and Debugger users should know better.
|
||||||
*/
|
*/
|
||||||
delete this.abROM;
|
delete this.abInit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.setReady();
|
this.setReady();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -337,11 +276,11 @@ ROMPDP11.prototype.initROM = function()
|
||||||
*/
|
*/
|
||||||
ROMPDP11.prototype.addROM = function(addr)
|
ROMPDP11.prototype.addROM = function(addr)
|
||||||
{
|
{
|
||||||
if (this.bus.addMemory(addr, this.sizeROM, this.fWritable? MemoryPDP11.TYPE.RAM : MemoryPDP11.TYPE.ROM)) {
|
if (this.bus.addMemory(addr, this.sizeROM, MemoryPDP11.TYPE.ROM)) {
|
||||||
if (DEBUG) this.log("addROM(): copying ROM to " + str.toHexLong(addr) + " (" + str.toHexLong(this.abROM.length) + " bytes)");
|
if (DEBUG) this.log("addROM(): copying ROM to " + str.toHexLong(addr) + " (" + str.toHexLong(this.abInit.length) + " bytes)");
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < this.abROM.length; i++) {
|
for (i = 0; i < this.abInit.length; i++) {
|
||||||
this.bus.setByteDirect(addr + i, this.abROM[i]);
|
this.bus.setByteDirect(addr + i, this.abInit[i]);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -283,6 +283,90 @@ web.getResource = function(sURL, dataPost, fAsync, done)
|
||||||
return response;
|
return response;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* parseMemoryResource(sURL, sData)
|
||||||
|
*
|
||||||
|
* @param {string} sData
|
||||||
|
* @return {Object|null} (resource)
|
||||||
|
*/
|
||||||
|
web.parseMemoryResource = function(sURL, sData)
|
||||||
|
{
|
||||||
|
var i;
|
||||||
|
var resource = {
|
||||||
|
aBytes: null,
|
||||||
|
aSymbols: null,
|
||||||
|
nLoad: null,
|
||||||
|
nExec: null
|
||||||
|
};
|
||||||
|
if (sData.charAt(0) == "[" || sData.charAt(0) == "{") {
|
||||||
|
try {
|
||||||
|
var a, ib;
|
||||||
|
var data = eval("(" + sData + ")");
|
||||||
|
|
||||||
|
resource.nLoad = data['load'];
|
||||||
|
resource.nExec = data['exec'];
|
||||||
|
|
||||||
|
if (a = data['bytes']) {
|
||||||
|
resource.aBytes = a;
|
||||||
|
}
|
||||||
|
else if (a = data['words']) {
|
||||||
|
/*
|
||||||
|
* Convert all words into bytes
|
||||||
|
*/
|
||||||
|
resource.aBytes = new Array(a.length * 2);
|
||||||
|
for (i = 0, ib = 0; i < a.length; i++) {
|
||||||
|
resource.aBytes[ib++] = a[i] & 0xff;
|
||||||
|
resource.aBytes[ib++] = (a[i] >> 8) & 0xff;
|
||||||
|
Component.assert(!(a[i] & ~0xffff));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (a = data['data']) {
|
||||||
|
/*
|
||||||
|
* Convert all dwords (longs) into bytes
|
||||||
|
*/
|
||||||
|
resource.aBytes = new Array(a.length * 4);
|
||||||
|
for (i = 0, ib = 0; i < a.length; i++) {
|
||||||
|
resource.aBytes[ib++] = a[i] & 0xff;
|
||||||
|
resource.aBytes[ib++] = (a[i] >> 8) & 0xff;
|
||||||
|
resource.aBytes[ib++] = (a[i] >> 16) & 0xff;
|
||||||
|
resource.aBytes[ib++] = (a[i] >> 24) & 0xff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
resource.aBytes = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
resource.aSymbols = data['symbols'];
|
||||||
|
|
||||||
|
if (!resource.aBytes.length) {
|
||||||
|
Component.error("Empty resource: " + sURL);
|
||||||
|
resource = null;
|
||||||
|
}
|
||||||
|
else if (resource.aBytes.length == 1) {
|
||||||
|
Component.error(resource.aBytes[0]);
|
||||||
|
resource = null;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Component.error("Resource data error: " + e.message);
|
||||||
|
resource = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/*
|
||||||
|
* Parse the data manually; we'll assume it's in "simplified" hex form
|
||||||
|
* (a series of hex byte-values separated by whitespace).
|
||||||
|
*/
|
||||||
|
var sHexData = sData.replace(/\n/gm, " ").replace(/ +$/, "");
|
||||||
|
var asHexData = sHexData.split(" ");
|
||||||
|
resource.aBytes = new Array(asHexData.length);
|
||||||
|
for (i = 0; i < asHexData.length; i++) {
|
||||||
|
resource.aBytes[i] = parseInt(asHexData[i], 16);
|
||||||
|
Component.assert(!isNaN(resource.aBytes[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resource;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sendReport(sApp, sVer, sURL, sUser, sType, sReport, sHostName)
|
* sendReport(sApp, sVer, sURL, sUser, sType, sReport, sHostName)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -582,9 +582,9 @@
|
||||||
<xsl:otherwise>null</xsl:otherwise>
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="resetAddr">
|
<xsl:variable name="addrReset">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
|
<xsl:when test="@addrReset"><xsl:value-of select="@addrReset"/></xsl:when>
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
@ -612,7 +612,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class" select="'cpu'"/>
|
<xsl:with-param name="class" select="'cpu'"/>
|
||||||
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,addrReset:<xsl:value-of select="$addrReset"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -933,16 +933,10 @@
|
||||||
<xsl:otherwise/>
|
<xsl:otherwise/>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="writable">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
|
||||||
<xsl:otherwise>false</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:variable>
|
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">rom</xsl:with-param>
|
<xsl:with-param name="class">rom</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -966,6 +960,24 @@
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="file">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@file"><xsl:value-of select="@file"/></xsl:when>
|
||||||
|
<xsl:otherwise/>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="load">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@load"><xsl:value-of select="@load"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="exec">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@exec"><xsl:value-of select="@exec"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
<xsl:variable name="test">
|
<xsl:variable name="test">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
||||||
|
|
@ -975,7 +987,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">ram</xsl:with-param>
|
<xsl:with-param name="class">ram</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,file:'<xsl:value-of select="$file"/>',load:<xsl:value-of select="$load"/>,exec:<xsl:value-of select="$exec"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
}
|
}
|
||||||
.pcjs-description, .pcjs-status {
|
.pcjs-description, .pcjs-status {
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 2em;
|
line-height: 2.8em;
|
||||||
}
|
}
|
||||||
.pcjs-key {
|
.pcjs-key {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
|
|
|
||||||
|
|
@ -580,9 +580,9 @@
|
||||||
<xsl:otherwise>null</xsl:otherwise>
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="resetAddr">
|
<xsl:variable name="addrReset">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
|
<xsl:when test="@addrReset"><xsl:value-of select="@addrReset"/></xsl:when>
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
@ -610,7 +610,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class" select="'cpu'"/>
|
<xsl:with-param name="class" select="'cpu'"/>
|
||||||
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,addrReset:<xsl:value-of select="$addrReset"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -931,16 +931,10 @@
|
||||||
<xsl:otherwise/>
|
<xsl:otherwise/>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="writable">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
|
||||||
<xsl:otherwise>false</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:variable>
|
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">rom</xsl:with-param>
|
<xsl:with-param name="class">rom</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -964,6 +958,24 @@
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="file">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@file"><xsl:value-of select="@file"/></xsl:when>
|
||||||
|
<xsl:otherwise/>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="load">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@load"><xsl:value-of select="@load"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="exec">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@exec"><xsl:value-of select="@exec"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
<xsl:variable name="test">
|
<xsl:variable name="test">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
||||||
|
|
@ -973,7 +985,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">ram</xsl:with-param>
|
<xsl:with-param name="class">ram</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,file:'<xsl:value-of select="$file"/>',load:<xsl:value-of select="$load"/>,exec:<xsl:value-of select="$exec"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@
|
||||||
http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/pc8080/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 l,m={me:1,ne:3,oe:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Ub:65,Hc:66,Jc:67,Xb:68,E:69,Mc:70,Nc:71,Oc:72,Pc:73,Wc:74,Xc:75,Zb:76,dd:77,ed:78,gd:79,hd:80,Q:81,od:82,rd:83,xd:84,yd:85,zd:86,Ad:87,Cd:88,Dd:89,Ed:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ve:97,We:98,Xe:99,d:100,e:101,Ye:102,Ze:103,$e:104,af:105,bf:106,k:107,cf:108,
|
var l,m={pe:1,qe:3,re:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,Xb:65,Kc:66,Mc:67,$b:68,E:69,Pc:70,Qc:71,Rc:72,Sc:73,Zc:74,$c:75,bc:76,gd:77,hd:78,kd:79,ld:80,Q:81,rd:82,ud:83,Ad:84,Bd:85,Cd:86,Dd:87,Fd:88,Gd:89,Hd:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Ye:97,Ze:98,$e:99,d:100,e:101,af:102,bf:103,cf:104,df:105,ef:106,k:107,ff:108,
|
||||||
df:109,n:110,ef:111,p:112,q:113,r:114,ff:115,t:116,hf:117,jf:118,kf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126};
|
gf:109,n:110,hf:111,p:112,q:113,r:114,jf:115,t:116,lf:117,mf:118,nf:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126};
|
||||||
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&&
|
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&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ba(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 t(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 ca(a){return t(a,2,!0)}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ba(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 t(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 ca(a){return t(a,2,!0)}
|
||||||
function u(a){return t(a,4,!0)}function ea(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 fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ha(){var a=ja();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
|
function u(a){return t(a,4,!0)}function ea(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 fa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ha(){var a=ja();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}
|
||||||
|
|
@ -38,245 +38,250 @@ function ma(a,b){return(a+" ").slice(0,b)
|
||||||
function pa(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,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var qa=Date.now||function(){return+new Date};function ra(){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 pa(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,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var qa=Date.now||function(){return+new Date};function ra(){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 sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
function sa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
||||||
function va(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function va(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function wa(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function xa(a){var b=!1;window&&(b=window.confirm(a));return b}var ya=null;function za(){if(null==ya){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}ya=a}return ya}
|
function wa(a,b){var c,d={za:null,Ea:null,Rb:null,Qb:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g=eval("("+b+")");d.Rb=g.load;d.Qb=g.exec;if(e=g.bytes)d.za=e;else if(e=g.words)for(d.za=Array(2*e.length),f=c=0;c<e.length;c++)d.za[f++]=e[c]&255,d.za[f++]=e[c]>>8&255;else if(e=g.data)for(d.za=Array(4*e.length),f=c=0;c<e.length;c++)d.za[f++]=e[c]&255,d.za[f++]=e[c]>>8&255,d.za[f++]=e[c]>>16&255,d.za[f++]=e[c]>>24&255;else d.za=g;d.Ea=g.symbols;d.za.length?1==d.za.length&&(w(d.za[0]),d=null):
|
||||||
function Aa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ba(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ca(a){if(window){var b=wa();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 Da(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
(w("Empty resource: "+a),d=null)}catch(h){w("Resource data error: "+h.message),d=null}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),d.za=Array(a.length),c=0;c<a.length;c++)d.za[c]=parseInt(a[c],16);return d}function ja(){return"http://"+(window?window.location.host:"www.pcjs.org")}function xa(){return window?window.navigator.userAgent:""}function w(a){window&&window.alert(a)}function ya(a){var b=!1;window&&(b=window.confirm(a));return b}var za=null;
|
||||||
function Ea(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 Ia={init:[],show:[],exit:[]},Ja=!1,Ka=!1,La=!0;function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Na(a){Ia.init.push(a)}
|
function Aa(){if(null==za){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}za=a}return za}function Ba(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ca(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||||
function Oa(a){if(La)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Pa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Qa(a){!La&&a?(La=!0,Ja&&Sa("init"),Ka&&Sa("show")):La=a}function Sa(a){Ia[a]&&Oa(Ia[a])}Ma("onload",function(){Ja=!0;Oa(Ia.init)});Ma("onpageshow",function(){Ka=!0;Oa(Ia.show)});Ma(Ca("Opera")||Ca("iOS")?"onunload":"onbeforeunload",function(){Oa(Ia.exit)});
|
function Da(a){if(window){var b=xa();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 z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ec=b.comment;this.Ld=b;b=this.id.indexOf(".");0>b?this.cb=this.id:(this.Bb=this.id.substr(0,b),this.cb=this.id.substr(b+1));this[a]=c;this.C={ready:!1,sb:!1,Kb:!1,xa:!1,error:!1};this.Eb=null;this.C.error=!1;this.N={};this.H=null;this.ta=d||0;Ta.push(this)}var Ua=void 0,Va={};
|
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 Ja={init:[],show:[],exit:[]},Ka=!1,La=!1,Ma=!0;function Na(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Oa(a){Ja.init.push(a)}
|
||||||
if(window){Ua||(Ua=window.location.search.substr(1));for(var Wa,Ya=/\+/g,Za=/([^&=]+)=?([^&]*)/g;Wa=Za.exec(Ua);)Va[decodeURIComponent(Wa[1].replace(Ya," "))]=decodeURIComponent(Wa[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 Pa(a){if(Ma)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Qa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Sa(a){!Ma&&a?(Ma=!0,Ka&&Ta("init"),La&&Ta("show")):Ma=a}function Ta(a){Ja[a]&&Pa(Ja[a])}Na("onload",function(){Ka=!0;Pa(Ja.init)});Na("onpageshow",function(){La=!0;Pa(Ja.show)});Na(Da("Opera")||Da("iOS")?"onunload":"onbeforeunload",function(){Pa(Ja.exit)});
|
||||||
function A(a,b){b||(b=z);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={}),Ta=window.PCjs.Components||(window.PCjs.Components=[])}else ab={},Ta=[];function bb(a,b,c){ab[a]&&b&&(ab[a][b]=c)}function Pa(a,b,c){b||w((c?c+": ":"")+a)}
|
function z(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.hc=b.comment;this.Od=b;b=this.id.indexOf(".");0>b?this.eb=this.id:(this.fb=this.id.substr(0,b),this.eb=this.id.substr(b+1));this[a]=c;this.D={ready:!1,ub:!1,Lb:!1,xa:!1,error:!1};this.Fb=null;this.D.error=!1;this.N={};this.I=null;this.ta=d||0;Ua.push(this)}var Va=void 0,Wa={};
|
||||||
function cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ta.length;b++){var d=Ta[b];a&&d.id.indexOf(a)||c.push(d)}return c}function db(a){if(void 0!==a){var b;for(b=0;b<Ta.length;b++)if(Ta[b].id===a)return Ta[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<Ta.length;d++)if(c)c==Ta[d]&&(c=null);else if(!(a!=Ta[d].type||b&&Ta[d].id.indexOf(b)))return Ta[d]}return null}
|
if(window){Va||(Va=window.location.search.substr(1));for(var Xa,Ya=/\+/g,$a=/([^&=]+)=?([^&]*)/g;Xa=$a.exec(Va);)Wa[decodeURIComponent(Xa[1].replace(Ya," "))]=decodeURIComponent(Xa[2].replace(Ya," "))}function ab(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 B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}function fb(a,b){b=D(b.parentNode,"pc8080-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 h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pc8080-binding":(g=B(f))&&g.binding&&a.pa(g.type,g.binding,f,g.value),k=h.length}}}}
|
function A(a,b){b||(b=z);a.prototype=ab(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var bb=window.PCjs.Machines||(window.PCjs.Machines={}),Ua=window.PCjs.Components||(window.PCjs.Components=[])}else bb={},Ua=[];function cb(a,b,c){bb[a]&&b&&(bb[a][b]=c)}function Qa(a,b,c){b||w((c?c+": ":"")+a)}
|
||||||
|
function db(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ua.length;b++){var d=Ua[b];a&&d.id.indexOf(a)||c.push(d)}return c}function eb(a){if(void 0!==a){var b;for(b=0;b<Ua.length;b++)if(Ua[b].id===a)return Ua[b]}return null}function fb(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<Ua.length;d++)if(c)c==Ua[d]&&(c=null);else if(!(a!=Ua[d].type||b&&Ua[d].id.indexOf(b)))return Ua[d]}return null}
|
||||||
|
function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){w(c.message+" ("+a+")")}return b}function gb(a,b){b=D(b.parentNode,"pc8080-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 h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pc8080-binding":(g=B(f))&&g.binding&&a.qa(g.type,g.binding,f,g.value),k=h.length}}}}
|
||||||
function D(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 D(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}
|
||||||
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},pa:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Ga=this.N[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),
|
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},qa:function(a,b,c){switch(b){case "clear":return this.N[b]||(this.N[b]=c,c.onclick=function(a){return function(){a.N.print&&(a.N.print.value="")}}(this)),!0;case "print":return this.N[b]||(this.Ia=this.N[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.ka=function(a){this.g(a,this.cb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.cb+": "+a)},ka:function(a,b,c){Pa(a,b,c||this.type)},Ea:function(){return this.C.xa=!0},Ia:function(a,b){b&&(this.C.xa=!1);return!0}};function E(a,b,c,d,e,f,g){a.H&&(!0===g?g=0:null==g&&(g=a.ta),gb(a.H,a,b,c,d,e,f,g))}function hb(a,b){a.H&&ib(a,0)&&a.H.message(b,void 0)}function ib(a,b){if(a.H){a===a.H?b|=0:b=b||a.ta;var c=a.H.ta&b;return!!b&&c===b||!!(c&a.H.Id)}return!1}
|
this.ka=function(a){this.g(a,this.eb)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.eb+": "+a)},ka:function(a,b,c){Qa(a,b,c||this.type)},Ga:function(){return this.D.xa=!0},Ka:function(a,b){b&&(this.D.xa=!1);return!0}};function E(a,b,c,d,e,f,g){a.I&&(!0===g?g=0:null==g&&(g=a.ta),hb(a.I,a,b,c,d,e,f,g))}function ib(a,b){a.I&&jb(a,0)&&a.I.message(b,void 0)}function jb(a,b){if(a.I){a===a.I?b|=0:b=b||a.ta;var c=a.I.ta&b;return!!b&&c===b||!!(c&a.I.Ld)}return!1}
|
||||||
function jb(a,b){if(a.C.Kb)return a.C.sb=!1,a.C.Kb=!1;if(a.C.error)return a.g(a.toString()+" error"),!1;a.C.sb=b;return a.C.sb}function kb(a,b){a.C.sb&&(b?a.C.Kb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.sb}function F(a){if(!a.C.error&&(a.C.ready=!0,a.C.ready)){var b=a.Eb;a.Eb=null;b&&b()}}function lb(a,b){b&&(a.C.ready?b():a.Eb=b);return a.C.ready}function ob(a,b){a.C.error=!0;a.ka(b)}
|
function kb(a,b){if(a.D.Lb)return a.D.ub=!1,a.D.Lb=!1;if(a.D.error)return a.g(a.toString()+" error"),!1;a.D.ub=b;return a.D.ub}function lb(a,b){a.D.ub&&(b?a.D.Lb=!0:void 0===b&&a.g(a.toString()+" busy"));return a.D.ub}function F(a){if(!a.D.error&&(a.D.ready=!0,a.D.ready)){var b=a.Fb;a.Fb=null;b&&b()}}function mb(a,b){b&&(a.D.ready?b():a.Fb=b);return a.D.ready}function nb(a,b){a.D.error=!0;a.ka(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 pb="undefined"!==typeof ArrayBuffer,qb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
|
var qb="undefined"!==typeof ArrayBuffer,rb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
|
||||||
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],rb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function sb(a){z.call(this,"Panel",a,sb)}A(sb);l=sb.prototype;
|
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1],sb={cpu:1,bus:64,mem:128,port:256,nvr:16384,chipset:32768,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function tb(a){z.call(this,"Panel",a,tb)}A(tb);l=tb.prototype;
|
||||||
l.pa=function(a,b,c,d){return this.B&&this.B.pa(a,b,c,d)||this.b&&this.b.pa(a,b,c,d)||this.J&&this.J.pa(a,b,c,d)||this.H&&this.H.pa(a,b,c,d)?!0:this.parent.pa.call(this,a,b,c,d)};l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;this.J=tb(a,"Keyboard")};l.Ea=function(a,b){b||ub();return!0};l.Ia=function(){return!0};l.Ja=function(){};function ub(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=db(e.id);f||(a=!0,f=new sb(e));fb(f,d);a&&F(f)}}Na(ub);
|
l.qa=function(a,b,c,d){return this.A&&this.A.qa(a,b,c,d)||this.b&&this.b.qa(a,b,c,d)||this.K&&this.K.qa(a,b,c,d)||this.I&&this.I.qa(a,b,c,d)?!0:this.parent.qa.call(this,a,b,c,d)};l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.b=c;this.I=d;this.K=ub(a,"Keyboard")};l.Ga=function(a,b){b||vb();return!0};l.Ka=function(){return!0};l.La=function(){};function vb(){for(var a=!1,b=D(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=eb(e.id);f||(a=!0,f=new tb(e));gb(f,d);a&&F(f)}}Oa(vb);
|
||||||
function vb(a,b,c){z.call(this,"Bus",a,vb);this.b=b;this.H=c;this.K=a.busWidth||16;this.L=Math.pow(2,this.K);this.w=this.L-1|0;this.ia=(this.K>>1)+2;10>this.ia&&(this.ia=10);15<this.ia&&(this.ia=15);this.Ha=1<<this.ia;this.M=this.Ha>>2;this.u=this.Ha-1;this.J=this.L/this.Ha|0;this.G=this.J-1;this.B=[];this.j=[];this.I=this.D=!1;this.O=[];this.P=[];a=new H;wb(a,this.H);this.X=Array(this.J);for(b=0;b<this.J;b++)this.X[b]=a;F(this)}A(vb);l=vb.prototype;l.reset=function(){};
|
function wb(a,b,c){z.call(this,"Bus",a,wb);this.b=b;this.I=c;this.J=a.busWidth||16;this.L=Math.pow(2,this.J);this.w=this.L-1|0;this.ia=(this.J>>1)+2;10>this.ia&&(this.ia=10);15<this.ia&&(this.ia=15);this.Ja=1<<this.ia;this.M=this.Ja>>2;this.u=this.Ja-1;this.K=this.L/this.Ja|0;this.G=this.K-1;this.A=[];this.j=[];this.F=this.C=!1;this.O=[];this.P=[];a=new G;xb(a,this.I);this.X=Array(this.K);for(b=0;b<this.K;b++)this.X[b]=a;F(this)}A(wb);l=wb.prototype;l.reset=function(){};
|
||||||
l.Ea=function(a,b){b||this.reset();return!0};function xb(a,b,c,d){for(var e=b,f=c,g=e>>>a.ia;0<f&&g<a.X.length;){var h=a.X[g],k=g*a.Ha,n=a.Ha-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.F)return h.yb+=h.F-e,h.F=e,!0;if(e>=h.F+h.yb){n=h.size-(e-k);n>f&&(n=f);h.yb=e-h.F+n;e=k+a.Ha;f-=n;g++;continue}}return yb(1,e,f)}e=new H(e,n,a.Ha,d);wb(e,a.H,h);a.X[g++]=e;e=k+a.Ha;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+zb[d]+" at "+u(b)),!0):yb(2,b,c)}
|
l.Ga=function(a,b){b||this.reset();return!0};function yb(a,b,c,d){for(var e=b,f=c,g=e>>>a.ia;0<f&&g<a.X.length;){var h=a.X[g],k=g*a.Ja,n=a.Ja-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.H)return h.Ab+=h.H-e,h.H=e,!0;if(e>=h.H+h.Ab){n=h.size-(e-k);n>f&&(n=f);h.Ab=e-h.H+n;e=k+a.Ja;f-=n;g++;continue}}return zb(1,e,f)}e=new G(e,n,a.Ja,d);xb(e,a.I,h);a.X[g++]=e;e=k+a.Ja;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Ab[d]+" at "+u(b)),!0):zb(2,b,c)}
|
||||||
l.aa=function(a){return this.X[(a&this.w)>>>this.ia].jb(a&this.u,a)};function Ab(a,b){return a.X[(b&a.w)>>>a.ia].wb(b&a.u,b)}l.$a=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Ac(b,a):this.X[c++].jb(b,a)|this.X[c&this.G].jb(0,a+1)<<8};function Bb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Pb(c,b):a.X[d++].wb(c,b)|a.X[d&a.G].wb(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].lb(a&this.u,b&255,a)};
|
l.aa=function(a){return this.X[(a&this.w)>>>this.ia].lb(a&this.u,a)};function Bb(a,b){return a.X[(b&a.w)>>>a.ia].yb(b&a.u,b)}l.ab=function(a){var b=a&this.u,c=(a&this.w)>>>this.ia;return b!=this.u?this.X[c].Dc(b,a):this.X[c++].lb(b,a)|this.X[c&this.G].lb(0,a+1)<<8};function Cb(a,b){var c=b&a.u,d=(b&a.w)>>>a.ia;return c!=a.u?a.X[d].Sb(c,b):a.X[d++].yb(c,b)|a.X[d&a.G].yb(0,b+1)<<8}l.va=function(a,b){this.X[(a&this.w)>>>this.ia].nb(a&this.u,b&255,a)};
|
||||||
function Db(a,b,c){a.X[(b&a.w)>>>a.ia].zb(b&a.u,c&255,b)}l.Ib=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Cc(c,b&65535,a):(this.X[d++].lb(c,b&255,a),this.X[d&this.G].lb(0,b>>8&255,a+1))};function Eb(a){for(var b=0,c=[],d=0;d<a.J;d++){var e=a.X[d];if(e.Na||e.xc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
function Db(a,b,c){a.X[(b&a.w)>>>a.ia].Bb(b&a.u,c&255,b)}l.Jb=function(a,b){var c=a&this.u,d=(a&this.w)>>>this.ia;c!=this.u?this.X[d].Fc(c,b&65535,a):(this.X[d++].nb(c,b&255,a),this.X[d&this.G].nb(0,b>>8&255,a+1))};function Fb(a){for(var b=0,c=[],d=0;d<a.K;d++){var e=a.X[d];if(e.Pa||e.Ac){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||||
function Fb(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function Pb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}
|
function Gb(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.A[k]?w("Input port "+u(k)+" already registered"):f.A[k]=[h,!1]}}
|
||||||
function Qb(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.B[b],h=a.O[b]||1,k=1==h?255:2==h?65535:-1,n=k;void 0!==g?(g[0]&&(n=g[0](b,c),void 0===n?n=k:n&=k),a.H&&a.I!=g[1]&&Rb(a.H,b,n)):a.H&&(gb(a.H,a,b,null,c),a.I&&Rb(a.H,b,n));e|=n<<f;f+=h<<3;b+=h;d-=h}return e}function Sb(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.j[b]&&(a.j[b]=[null,!1]);a.j[b][1]=!a.j[b][1];return a.j[b][1]}
|
function Rb(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.A[b],h=a.O[b]||1,k=1==h?255:2==h?65535:-1,n=k;void 0!==g?(g[0]&&(n=g[0](b,c),void 0===n?n=k:n&=k),a.I&&a.F!=g[1]&&Sb(a.I,b,n)):a.I&&(hb(a.I,a,b,null,c),a.F&&Sb(a.I,b,n));e|=n<<f;f+=h<<3;b+=h;d-=h}return e}function Tb(a,b){if(void 0===b)return a.C=!a.C,a.C;void 0===a.j[b]&&(a.j[b]=[null,!1]);a.j[b][1]=!a.j[b][1];return a.j[b][1]}
|
||||||
function Tb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.j[k]?w("Output port "+u(k)+" already registered"):f.j[k]=[h,!1]}}function Ub(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.j[b],h=a.P[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.H&&a.D!=g[1]&&Vb(a.H,b,k)}else a.H&&(gb(a.H,a,b,k,d),a.D&&Vb(a.H,b,k));f+=h<<3;b+=h;e-=h}}
|
function Ub(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.j[k]?w("Output port "+u(k)+" already registered"):f.j[k]=[h,!1]}}function Vb(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.j[b],h=a.P[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.I&&a.C!=g[1]&&Wb(a.I,b,k)}else a.I&&(hb(a.I,a,b,k,d),a.C&&Wb(a.I,b,k));f+=h<<3;b+=h;e-=h}}
|
||||||
function yb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Wb;if(pb){var Xb=new ArrayBuffer(2);(new DataView(Xb)).setUint16(0,256,!0);Wb=256===(new Uint16Array(Xb))[0]}else Wb=!1;var Yb=Wb;
|
function zb(a,b,c){w("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}var Xb;if(qb){var Yb=new ArrayBuffer(2);(new DataView(Yb)).setUint16(0,256,!0);Xb=256===(new Uint16Array(Yb))[0]}else Xb=!1;var Zb=Xb;
|
||||||
function H(a,b,c,d){this.id=Zb+=2;this.b=null;this.F=a;this.yb=b;this.size=c||0;this.type=d||$b;this.N=d==ac;wb(this);this.Na=this.xc=!1;if(c)if(pb)this.I=new ArrayBuffer(c),this.D=new DataView(this.I,0,c),this.u=new Uint8Array(this.I,0,c),this.J=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),bc(this,Yb?cc:dc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;bc(this,ec)}else bc(this)}var $b=0,ac=2,zb=["NONE","RAM","ROM","VID","H/W"],Zb=0;
|
function G(a,b,c,d){this.id=$b+=2;this.b=null;this.H=a;this.Ab=b;this.size=c||0;this.type=d||ac;this.N=d==bc;xb(this);this.Pa=this.Ac=!1;if(c)if(qb)this.F=new ArrayBuffer(c),this.C=new DataView(this.F,0,c),this.u=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),cc(this,Zb?dc:ec);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;cc(this,fc)}else cc(this)}var ac=0,bc=2,Ab=["NONE","RAM","ROM","VID","H/W"],$b=0;
|
||||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(pb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.D.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(pb)for(b=0;b<a.length;b++)this.D.setInt32(b<<2,a[b],!0);else this.b=a;return this.Na=!0}return!1},Za:function(a,b){b?this.j++||fc(this,gc,!1):this.B++||hc(this,gc,!1)},K:function(){this.H&&ib(this.H,129)&&this.H.message("attempt to read invalid block %"+t(this.F),!0);return 255},
|
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(qb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.C.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(qb)for(b=0;b<a.length;b++)this.C.setInt32(b<<2,a[b],!0);else this.b=a;return this.Pa=!0}return!1},$a:function(a,b){b?this.j++||gc(this,hc,!1):this.A++||ic(this,hc,!1)},J:function(){this.I&&jb(this.I,129)&&this.I.message("attempt to read invalid block %"+t(this.H),!0);return 255},
|
||||||
w:function(a,b){this.H&&ib(this.H,129)&&this.H.message("attempt to write "+u(b)+" to invalid block %"+t(this.F),!0)},L:function(a,b){return this.jb(a++,b++)|this.jb(a,b)<<8},G:function(a,b,c){this.lb(a++,b&255,c++);this.lb(a,b>>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},la:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Na=!0},za:function(a,b){var c=a>>
|
w:function(a,b){this.I&&jb(this.I,129)&&this.I.message("attempt to write "+u(b)+" to invalid block %"+t(this.H),!0)},L:function(a,b){return this.lb(a++,b++)|this.lb(a,b)<<8},G:function(a,b,c){this.nb(a++,b&255,c++);this.nb(a,b>>8,c)},Y:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},fa:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},fb:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Pa=!0},wa:function(a,b){var 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.Na=!0},O:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,1,c.O)&&c.qa(!0)}return this.wb(a,b)},ca:function(a,b){if(this.H&&null!=this.F){var c=this.H;ic(c,this.F+a,2,c.O)&&c.qa(!0)}return this.Pb(a,b)},ja:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;ic(d,this.F+a,1,d.D)&&d.qa(!0)}this.N?this.w(a,b,c):this.zb(a,b,c)},ma:function(a,b,c){if(this.H&&
|
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.Pa=!0},O:function(a,b){if(this.I&&null!=this.H){var c=this.I;jc(c,this.H+a,1,c.O)&&c.ra(!0)}return this.yb(a,b)},ca:function(a,b){if(this.I&&null!=this.H){var c=this.I;jc(c,this.H+a,2,c.O)&&c.ra(!0)}return this.Sb(a,b)},ja:function(a,b,c){if(this.I&&null!=this.H){var d=this.I;jc(d,this.H+a,1,d.C)&&d.ra(!0)}this.N?this.w(a,b,c):this.Bb(a,b,c)},ma:function(a,b,c){if(this.I&&
|
||||||
null!=this.F){var d=this.H;ic(d,this.F+a,2,d.D)&&d.qa(!0)}this.N?this.w(a,b,c):this.Tb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.D.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.J[a>>1]},ha:function(a,b){this.u[a]=b;this.Na=!0},cb:function(a,b){this.u[a]=b;this.Na=!0},ra:function(a,b){this.D.setUint16(a,b,!0);this.Na=!0},wa:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.J[a>>1]=b;this.Na=!0}};
|
null!=this.H){var d=this.I;jc(d,this.H+a,2,d.C)&&d.ra(!0)}this.N?this.w(a,b,c):this.Wb(a,b,c)},M:function(a){return this.u[a]},P:function(a){return this.u[a]},ba:function(a){return this.C.getUint16(a,!0)},ea:function(a){return a&1?this.u[a]|this.u[a+1]<<8:this.K[a>>1]},ha:function(a,b){this.u[a]=b;this.Pa=!0},eb:function(a,b){this.u[a]=b;this.Pa=!0},la:function(a,b){this.C.setUint16(a,b,!0);this.Pa=!0},na:function(a,b){a&1?(this.u[a]=b,this.u[a+1]=b>>8):this.K[a>>1]=b;this.Pa=!0}};
|
||||||
function wb(a,b,c){a.H=b;a.B=a.j=0;c&&((a.B=c.B)&&hc(a,gc,!1),(a.j=c.j)&&fc(a,gc,!1))}function jc(a,b){b?--a.j||(a.lb=a.N?a.w:a.zb,a.Cc=a.N?a.G:a.Tb):--a.B||(a.jb=a.wb,a.Ac=a.Pb)}function fc(a,b,c){c&&a.j||(a.lb=!a.N&&b[1]||a.w,a.Cc=!a.N&&b[3]||a.G);if(c||void 0===c)a.zb=b[1]||a.w,a.Tb=b[3]||a.G}function hc(a,b,c){c&&a.B||(a.jb=b[0]||a.K,a.Ac=b[2]||a.L);if(c||void 0===c)a.wb=b[0]||a.K,a.Pb=b[2]||a.L}function bc(a,b){b||(b=kc);hc(a,b,void 0);fc(a,b,void 0)}
|
function xb(a,b,c){a.I=b;a.A=a.j=0;c&&((a.A=c.A)&&ic(a,hc,!1),(a.j=c.j)&&gc(a,hc,!1))}function kc(a,b){b?--a.j||(a.nb=a.N?a.w:a.Bb,a.Fc=a.N?a.G:a.Wb):--a.A||(a.lb=a.yb,a.Dc=a.Sb)}function gc(a,b,c){c&&a.j||(a.nb=!a.N&&b[1]||a.w,a.Fc=!a.N&&b[3]||a.G);if(c||void 0===c)a.Bb=b[1]||a.w,a.Wb=b[3]||a.G}function ic(a,b,c){c&&a.A||(a.lb=b[0]||a.J,a.Dc=b[2]||a.L);if(c||void 0===c)a.yb=b[0]||a.J,a.Sb=b[2]||a.L}function cc(a,b){b||(b=lc);ic(a,b,void 0);gc(a,b,void 0)}
|
||||||
var kc=[],ec=[H.prototype.Y,H.prototype.la,H.prototype.fa,H.prototype.za],gc=[H.prototype.O,H.prototype.ja,H.prototype.ca,H.prototype.ma];if(pb)var dc=[H.prototype.M,H.prototype.ha,H.prototype.ba,H.prototype.ra],cc=[H.prototype.P,H.prototype.cb,H.prototype.ea,H.prototype.wa];
|
var lc=[],fc=[G.prototype.Y,G.prototype.fb,G.prototype.fa,G.prototype.wa],hc=[G.prototype.O,G.prototype.ja,G.prototype.ca,G.prototype.ma];if(qb)var ec=[G.prototype.M,G.prototype.ha,G.prototype.ba,G.prototype.la],dc=[G.prototype.P,G.prototype.eb,G.prototype.ea,G.prototype.na];
|
||||||
function lc(a,b){z.call(this,"CPU",a,lc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Ra=c;this.ha=Math.round(this.Y/1E4)/100;this.ab=this.ha*this.Ra;this.C.Aa=!1;this.C.Sb=!1;this.C.rb=a.autoStart;this.C.vc=!1;this.C.fb=!1;this.tb=this.O=0;this.ub=a.csStart;this.hb=a.csInterval;this.ib=a.csStop;this.w=[];this.Fa=this.bb.bind(this);F(this)}A(lc);var mc=["power","reset"];l=lc.prototype;
|
function mc(a,b){z.call(this,"CPU",a,mc,1);var c=a.multiplier||1;this.Y=a.cycles||b;this.Sa=c;this.ha=Math.round(this.Y/1E4)/100;this.bb=this.ha*this.Sa;this.D.Aa=!1;this.D.Vb=!1;this.D.tb=a.autoStart;this.D.yc=!1;this.D.hb=!1;this.vb=this.O=0;this.wb=a.csStart;this.jb=a.csInterval;this.kb=a.csStop;this.w=[];this.Ha=this.cb.bind(this);F(this)}A(mc);var nc=["power","reset"];l=mc.prototype;
|
||||||
l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.H=d;for(b=0;b<mc.length;b++)(c=this.N[mc[b]])&&this.B.pa(null,mc[b],c);this.I=tb(a,"ChipSet");a=zc(a,"autoStart");null!=a&&(this.C.rb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.I=d;for(b=0;b<nc.length;b++)(c=this.N[nc[b]])&&this.A.qa(null,nc[b],c);this.F=ub(a,"ChipSet");a=Ac(a,"autoStart");null!=a&&(this.D.tb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||||
l.Ea=function(a,b){if(!b){if(a&&this.restore){Ac(this);if(!this.restore(a))return!1;Bc(this)}else this.reset();this.H?(a=this.H,a.g("Type ? for help with PC8080 Debugger commands"),a.Ja(),a.za&&(b=a.za,a.za=null,Cc(a,b))):this.g("No debugger detected")}Dc(this);return!0};l.Ia=function(a){return a?this.save():!0};l.rb=function(){return this.C.rb||!this.H&&void 0===this.N.run?(this.bb(!0),!0):!1};l.yc=function(){return 0};
|
l.Ga=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.I?(a=this.I,a.g("Type ? for help with PC8080 Debugger commands"),a.La(),a.Ba&&(b=a.Ba,a.Ba=null,Dc(a,b))):this.g("No debugger detected")}Ec(this);return!0};l.Ka=function(a){return a?this.save():!0};l.tb=function(){return this.D.tb||!this.I&&void 0===this.N.run?(this.cb(!0),!0):!1};l.Bc=function(){return 0};
|
||||||
function Bc(a){void 0===a.ub&&(a.ub=0);void 0===a.hb&&(a.hb=-1);void 0===a.ib&&(a.ib=-1);a.C.fb=0<=a.ub&&0<a.hb;a.C.fb&&(a.tb=0,a.O=a.ub-a.M)}function Ec(a,b){if(a.C.fb){var c=!1;a.tb=a.tb+a.yc()|0;a.O-=b;0>=a.O&&(a.O+=a.hb,c=!0);0<=a.ib&&a.ib<=Fc(a)&&(a.hb=a.ib=-1,Bc(a),a.qa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.tb))}}
|
function Cc(a){void 0===a.wb&&(a.wb=0);void 0===a.jb&&(a.jb=-1);void 0===a.kb&&(a.kb=-1);a.D.hb=0<=a.wb&&0<a.jb;a.D.hb&&(a.vb=0,a.O=a.wb-a.M)}function Fc(a,b){if(a.D.hb){var c=!1;a.vb=a.vb+a.Bc()|0;a.O-=b;0>=a.O&&(a.O+=a.jb,c=!0);0<=a.kb&&a.kb<=Gc(a)&&(a.jb=a.kb=-1,Cc(a),a.ra(),c=!0);c&&a.g(Gc(a)+" cycles: checksum="+t(a.vb))}}
|
||||||
l.pa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.xa)a=!0;else{var b=null,c,h=cb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.C.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.C.xa);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.Eb?" (waiting for notification)":""))+".");a=!1}a&&(d.C.Aa?d.qa():d.bb())};
|
l.qa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.N[b]=c;a=!0;break;case "run":this.N[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.D.xa)a=!0;else{var b=null,c,h=db(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.D.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.D.xa);c++);c==h.length&&(b=a);w("The "+b.type+" component ("+b.id+") is not "+(b.D.ready?"powered yet":"ready yet"+(b.Fb?" (waiting for notification)":""))+".");a=!1}a&&(d.D.Aa?d.ra():d.cb())};
|
||||||
a=!0;break;case "speed":this.N[b]=c;a=!0;break;case "setSpeed":this.N[b]=c,c.onclick=function(){Gc(d,d.Ra<<1,!0)},c.textContent=this.ab.toFixed(2)+"Mhz",a=!0}return a};function Hc(a,b,c){a.M+=b;c&&(a.L=a.b=0)}function Ic(a,b){var c=1;b&&1<a.Ra&&a.J&&(c=a.J/a.ha);a.wa=Math.round(1E3/30);a.fa=Math.floor(a.Y/30*c);b||(a.P=a.fa);a.ja=0}function Fc(a){return a.M+a.G+a.L-a.b}function Ac(a){a.J=0;a.za=0;a.M=a.G=a.L=a.b=0;Bc(a);Gc(a,1)}
|
a=!0;break;case "speed":this.N[b]=c;a=!0;break;case "setSpeed":this.N[b]=c,c.onclick=function(){Hc(d,d.Sa<<1,!0)},c.textContent=this.bb.toFixed(2)+"Mhz",a=!0}return a};function Ic(a,b,c){a.M+=b;c&&(a.L=a.b=0)}function Jc(a,b){var c=1;b&&1<a.Sa&&a.K&&(c=a.K/a.ha);a.wa=Math.round(1E3/30);a.fa=Math.floor(a.Y/30*c);b||(a.P=a.fa);a.ja=0}function Gc(a){return a.M+a.G+a.L-a.b}function Bc(a){a.K=0;a.Ba=0;a.M=a.G=a.L=a.b=0;Cc(a);Hc(a,1)}
|
||||||
function Gc(a,b,c){var d=!1;if(void 0!==b){.8>a.J/a.ab?b=1:d=!0;a.Ra=b;b=a.ha*a.Ra;if(a.ab!=b){a.ab=b;b=a.ab.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.xb()}Hc(a,a.G);a.G=0;a.D=qa();a.K=0;Ic(a);return d}function Jc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Kc(a,b,c){0<=b&&b<a.w.length&&0>a.w[b][0]&&(c*=a.Y*a.Ra/1E3,a.w[b][0]=c+Lc(a))}function Lc(a,b){var c=a.L-=a.b;a.b=0;b&&(a.L=0);return c}
|
function Hc(a,b,c){var d=!1;if(void 0!==b){.8>a.K/a.bb?b=1:d=!0;a.Sa=b;b=a.ha*a.Sa;if(a.bb!=b){a.bb=b;b=a.bb.toFixed(2)+"Mhz";var e=a.N.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.A&&a.A.zb()}Ic(a,a.G);a.G=0;a.C=qa();a.J=0;Jc(a);return d}function Kc(a,b){var c=a.w.length;a.w.push([-1,b]);return c}function Lc(a,b,c){0<=b&&b<a.w.length&&0>a.w[b][0]&&(c*=a.Y*a.Sa/1E3,a.w[b][0]=c+Mc(a))}function Mc(a,b){var c=a.L-=a.b;a.b=0;b&&(a.L=0);return c}
|
||||||
l.bb=function(a){if(jb(this,!0)){if(!this.C.Aa){Gc(this);this.B&&this.B.start(this.D,Fc(this));this.C.Aa=!0;this.C.Sb=!0;this.I&&this.I.start();var b=this.N.run;b&&(b.textContent="Halt");this.B&&(this.B.Ja(!0),a&&this.B.xb(!0))}this.ja>=this.Y&&Ic(this,!0);this.ba=0;this.ea=qa();this.K&&(a=this.ea-this.K,a>this.wa&&(this.D+=a,this.D>this.ea&&(this.D=this.ea)));try{do{for(var c,d=this.C.fb?1:this.fa,e=this.w.length-1;0<=e;e--){var f=this.w[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.kb(c);c=Lc(this,!0);this.ba+=
|
l.cb=function(a){if(kb(this,!0)){if(!this.D.Aa){Hc(this);this.A&&this.A.start(this.C,Gc(this));this.D.Aa=!0;this.D.Vb=!0;this.F&&this.F.start();var b=this.N.run;b&&(b.textContent="Halt");this.A&&(this.A.La(!0),a&&this.A.zb(!0))}this.ja>=this.Y&&Jc(this,!0);this.ba=0;this.ea=qa();this.J&&(a=this.ea-this.J,a>this.wa&&(this.C+=a,this.C>this.ea&&(this.C=this.ea)));try{do{for(var c,d=this.D.hb?1:this.fa,e=this.w.length-1;0<=e;e--){var f=this.w[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.mb(c);c=Mc(this,!0);this.ba+=
|
||||||
c;this.G+=c;Ec(this,c);a=c;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.P-=c;if(0>=this.P){this.P+=this.fa;15<=++this.za&&(this.B&&this.B.Ja(),this.za=0);break}}while(this.C.Aa)}catch(k){this.qa();Dc(this);this.B&&this.B.stop(qa(),Fc(this));jb(this,!1);ob(this,k.stack||k.message);return}c=setTimeout;d=this.Fa;this.K=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.K-this.ea;if(f=this.K-this.D)this.J=Math.round(this.G/(10*f))/
|
c;this.G+=c;Fc(this,c);a=c;for(var g=this.w.length-1;0<=g;g--){var h=this.w[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.P-=c;if(0>=this.P){this.P+=this.fa;15<=++this.Ba&&(this.A&&this.A.La(),this.Ba=0);break}}while(this.D.Aa)}catch(k){this.ra();Ec(this);this.A&&this.A.stop(qa(),Gc(this));kb(this,!1);nb(this,k.stack||k.message);return}c=setTimeout;d=this.Ha;this.J=qa();e=this.wa;this.ba&&(e=Math.round(e*this.ba/this.fa));e-=this.J-this.ea;if(f=this.J-this.C)this.K=Math.round(this.G/(10*f))/
|
||||||
100,864E5<=f&&(this.M=0,Gc(this));if(0>e||this.J<this.ab)-1E3>e&&(this.D-=e),e=0;this.ja+=this.ba;this.K+=e;c(d,e)}else Dc(this),this.B&&this.B.stop(qa(),Fc(this))};l.kb=function(){return 0};l.qa=function(a){kb(this,!0);Lc(this);Hc(this,this.G);this.G=0;if(this.C.Aa){this.C.Aa=!1;this.I&&this.I.stop();var b=this.N.run;b&&(b.textContent="Run")}this.C.complete=a};function Dc(a,b){if(a.B){for(var c=a.B,d=0;d<c.G.length;d++)Mc(c.G[d],b);a.B.Ja(b)}}
|
100,864E5<=f&&(this.M=0,Hc(this));if(0>e||this.K<this.bb)-1E3>e&&(this.C-=e),e=0;this.ja+=this.ba;this.J+=e;c(d,e)}else Ec(this),this.A&&this.A.stop(qa(),Gc(this))};l.mb=function(){return 0};l.ra=function(a){lb(this,!0);Mc(this);Ic(this,this.G);this.G=0;if(this.D.Aa){this.D.Aa=!1;this.F&&this.F.stop();var b=this.N.run;b&&(b.textContent="Run")}this.D.complete=a};function Ec(a,b){if(a.A){for(var c=a.A,d=0;d<c.G.length;d++)Nc(c.G[d],b);a.A.La(b)}}
|
||||||
function Nc(a){this.Wd=+a.model||8080;lc.call(this,a,1E6);this.la=Oc;Ac(this);this.C.complete=this.C.Kd=!1;this.ma=0;this.ca=[];this.ra=0;Pc(this)}A(Nc,lc);function Qc(a,b){a.ca.push(b)}l=Nc.prototype;l.reset=function(){this.C.Aa&&this.qa();Pc(this);Ac(this);this.C.error=!1;this.parent.reset.call(this)};function Pc(a){a.i=0;a.S=0;a.T=0;a.U=0;a.V=0;a.W=0;a.Z=0;a.oa=0;I(a,a.ra);Rc(a,0);a.j=0}function Sc(a,b){a.ra=b;I(a,b)}
|
function Oc(a){this.Zd=+a.model||8080;mc.call(this,a,1E6);this.la=Pc;Bc(this);this.D.complete=this.D.Nd=!1;this.na=0;this.ca=[];this.ma=0;Qc(this)}A(Oc,mc);function Rc(a,b){a.ca.push(b)}l=Oc.prototype;l.reset=function(){this.D.Aa&&this.ra();Qc(this);Bc(this);this.D.error=!1;this.parent.reset.call(this)};function Qc(a){a.i=0;a.S=0;a.T=0;a.U=0;a.V=0;a.W=0;a.Z=0;a.pa=0;I(a,a.ma);Sc(a,0);a.j=0}function Tc(a,b){a.ma=b;I(a,b)}
|
||||||
l.yc=function(){var a=this.i+this.S+this.T+this.U+this.V+this.W+this.Z|0;return a=a+this.oa+this.R+Tc(this)|0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.S,this.T,this.U,this.V,this.W,this.Z,this.oa,this.R,Tc(this)]);a.set(1,[this.j,this.M,this.Ra]);a.set(2,Eb(this.u));return a.data()};
|
l.Bc=function(){var a=this.i+this.S+this.T+this.U+this.V+this.W+this.Z|0;return a=a+this.pa+this.R+Uc(this)|0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.S,this.T,this.U,this.V,this.W,this.Z,this.pa,this.R,Uc(this)]);a.set(1,[this.j,this.M,this.Sa]);a.set(2,Fb(this.u));return a.data()};
|
||||||
l.restore=function(a){var b=a[0];this.i=b[0];this.S=b[1];this.T=b[2];this.U=b[3];this.V=b[4];this.W=b[5];this.Z=b[6];this.oa=b[7]&65535;I(this,b[8]);Rc(this,b[9]);b=a[1];this.j=b[0];this.M=b[1];Gc(this,b[3]);a:{b=this.u;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.M){for(var f=0,g=Array(b.M),h=0;h<e.length-1;)for(var k=e[h++],n=e[h++];k--;)g[f++]=n;e=g}f=b.X[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
l.restore=function(a){var b=a[0];this.i=b[0];this.S=b[1];this.T=b[2];this.U=b[3];this.V=b[4];this.W=b[5];this.Z=b[6];this.pa=b[7]&65535;I(this,b[8]);Sc(this,b[9]);b=a[1];this.j=b[0];this.M=b[1];Hc(this,b[3]);a:{b=this.u;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.M){for(var f=0,g=Array(b.M),h=0;h<e.length-1;)for(var k=e[h++],n=e[h++];k--;)g[f++]=n;e=g}f=b.X[d];if(!f||!f.restore(e)){w("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
l.pa=function(a,b,c){switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.N[b]=c;this.ma++;a=!0;break;default:a=this.parent.pa.call(this,a,b,c)}return a};function Uc(a){return a.S<<8|a.T}function Vc(a,b){a.S=b>>8&255;a.T=b&255}function Wc(a){return a.U<<8|a.V}function Xc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z}
|
l.qa=function(a,b,c){switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.N[b]=c;this.na++;a=!0;break;default:a=this.parent.qa.call(this,a,b,c)}return a};function Vc(a){return a.S<<8|a.T}function Wc(a,b){a.S=b>>8&255;a.T=b&255}function Xc(a){return a.U<<8|a.V}function Yc(a,b){a.U=b>>8&255;a.V=b&255}function K(a){return a.W<<8|a.Z}
|
||||||
function Yc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function Zc(a){return a.da&256?1:0}function $c(a,b){a.da=a.da&255|b}function ad(a){return qb[a.ga&255]?4:0}function bd(a){return(a.ga^a.ya)&16?16:0}function cd(a){return a.da&255?0:64}function dd(a){return a.ga&128?128:0}function Tc(a){return a.ua&-214|dd(a)|cd(a)|bd(a)|ad(a)|Zc(a)}function Rc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2}
|
function Zc(a,b){a.W=b>>8&255;a.Z=b&255}function I(a,b){a.R=b&65535}function $c(a){return a.da&256?1:0}function ad(a,b){a.da=a.da&255|b}function bd(a){return rb[a.ga&255]?4:0}function cd(a){return(a.ga^a.ya)&16?16:0}function dd(a){return a.da&255?0:64}function ed(a){return a.ga&128?128:0}function Uc(a){return a.ua&-214|ed(a)|dd(a)|cd(a)|bd(a)|$c(a)}function Sc(a,b){a.da=a.ga=a.ya=0;b&1&&(a.da|=256);b&4||(a.ga|=1);b&16&&(a.ya|=16);b&64||(a.da|=255);b&128&&(a.ga^=192);a.ua=a.ua&-726|b&512|2}
|
||||||
function ed(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function gd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function hd(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function id(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Dd(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255}
|
function fd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b)&255}function gd(a,b){a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?1:0))&255}function hd(a,b){a.da=a.ga=a.ya=a.i&b;(a.i|b)&8&&(a.ya^=16);return a.da}function id(a,b){a.ya=b^255;b=a.ga=b+255&255;a.da=a.da&-256|b;return b}function jd(a,b){a.ya=b;b=a.ga=b+1&255;a.da=a.da&-256|b;return b}function Ed(a,b){return a.ga=a.da=a.ya=a.i|b}function L(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+1^256)&255}
|
||||||
function Ed(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Fd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.$a(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.$a(a.oa);a.oa=a.oa+2&65535;return b}function Q(a,b){a.oa=a.oa-2&65535;a.u.Ib(a.oa,b)}
|
function Fd(a,b){b^=255;a.ya=a.i^b;return a.ga=(a.da=a.i+b+(a.da&256?0:1)^256)&255}function Gd(a,b){return a.ga=a.da=a.ya=a.i^b}l.aa=function(a){return this.u.aa(a)};l.va=function(a,b){this.u.va(a,b)};function M(a){var b=a.aa(a.R);I(a,a.R+1);return b}function O(a){var b=a.u.ab(a.R);I(a,a.R+2);return b}function P(a){var b=a.u.ab(a.pa);a.pa=a.pa+2&65535;return b}function Q(a,b){a.pa=a.pa-2&65535;a.u.Jb(a.pa,b)}
|
||||||
function Gd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<<b);b++);a.j&=~(0>b?255:1<<b);a.ua&=-513;a.j&=-257;a.la[199|b<<3].call(a)}return a.j&256?(Lc(a),!1):!0}function Hd(a,b){a.j|=1<<b;a.ua&512&&Lc(a)}function R(a,b,c,d){d=d||2;a.N[b]&&(void 0===c&&(ob(a,"Value for "+b+" is invalid"),a.qa()),c=!a.C.Aa||a.C.vc?t(c,d):"--------".substr(0,d),a.N[b].textContent!=c&&(a.N[b].textContent=c))}
|
function Hd(a){if(a.b&&a.j&255&&a.ua&512){for(var b=0;8>b&&!(a.j&1<<b);b++);a.j&=~(0>b?255:1<<b);a.ua&=-513;a.j&=-257;a.la[199|b<<3].call(a)}return a.j&256?(Mc(a),!1):!0}function Id(a,b){a.j|=1<<b;a.ua&512&&Mc(a)}function R(a,b,c,d){d=d||2;a.N[b]&&(void 0===c&&(nb(a,"Value for "+b+" is invalid"),a.ra()),c=!a.D.Aa||a.D.yc?t(c,d):"--------".substr(0,d),a.N[b].textContent!=c&&(a.N[b].textContent=c))}
|
||||||
l.Ja=function(a){this.ma&&(a||!this.C.Aa||this.C.vc)&&(R(this,"A",this.i),R(this,"B",this.S),R(this,"C",this.T),R(this,"BC",Uc(this),4),R(this,"D",this.U),R(this,"E",this.V),R(this,"DE",Wc(this),4),R(this,"H",this.W),R(this,"L",this.Z),R(this,"HL",K(this),4),R(this,"SP",this.oa,4),R(this,"PC",this.R,4),a=Tc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.N.speed)a.textContent=
|
l.La=function(a){this.na&&(a||!this.D.Aa||this.D.yc)&&(R(this,"A",this.i),R(this,"B",this.S),R(this,"C",this.T),R(this,"BC",Vc(this),4),R(this,"D",this.U),R(this,"E",this.V),R(this,"DE",Xc(this),4),R(this,"H",this.W),R(this,"L",this.Z),R(this,"HL",K(this),4),R(this,"SP",this.pa,4),R(this,"PC",this.R,4),a=Uc(this),R(this,"PS",a,4),R(this,"IF",a&512?1:0,1),R(this,"SF",a&128?1:0,1),R(this,"ZF",a&64?1:0,1),R(this,"AF",a&16?1:0,1),R(this,"PF",a&4?1:0,1),R(this,"CF",a&1?1:0,1));if(a=this.N.speed)a.textContent=
|
||||||
this.C.Aa&&this.J?this.J.toFixed(2)+"Mhz":"Stopped"};l.kb=function(a){this.C.complete=!0;var b=this.C.Kd=this.H&&Id(this.H),c=a?this.C.Sb?0:1:-1;this.C.Sb=!1;this.L=this.b=a;if(Gd(this)){do{if(b){if(Jd(this.H,this.R,c)){this.qa();break}c=1}this.la[M(this)].call(this)}while(0<this.b)}return this.C.complete?this.L-this.b:void 0===this.C.complete?0:-1};Na(function(){for(var a=D(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Nc(d);fb(d,c)}});function Kd(){this.b-=4}
|
this.D.Aa&&this.K?this.K.toFixed(2)+"Mhz":"Stopped"};l.mb=function(a){this.D.complete=!0;var b=this.D.Nd=this.I&&Jd(this.I),c=a?this.D.Vb?0:1:-1;this.D.Vb=!1;this.L=this.b=a;if(Hd(this)){do{if(b){if(Kd(this.I,this.R,c)){this.ra();break}c=1}this.la[M(this)].call(this)}while(0<this.b)}return this.D.complete?this.L-this.b:void 0===this.D.complete?0:-1};Oa(function(){for(var a=D(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Oc(d);gb(d,c)}});function Ld(){this.b-=4}
|
||||||
function Ld(){I(this,O(this));this.b-=10}function Md(){I(this,P(this));this.b-=10}function Nd(){var a=O(this);Q(this,this.R);I(this,a);this.b-=17}
|
function Md(){I(this,O(this));this.b-=10}function Nd(){I(this,P(this));this.b-=10}function Od(){var a=O(this);Q(this,this.R);I(this,a);this.b-=17}
|
||||||
var Oc=[Kd,function(){Vc(this,O(this));this.b-=10},function(){this.va(Uc(this),this.i);this.b-=7},function(){Vc(this,Uc(this)+1);this.b-=5},function(){this.S=id(this,this.S);this.b-=5},function(){this.S=hd(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|a>>8;$c(this,a&256);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+Uc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Uc(this));this.b-=7},function(){Vc(this,Uc(this)-1);this.b-=
|
var Pc=[Ld,function(){Wc(this,O(this));this.b-=10},function(){this.va(Vc(this),this.i);this.b-=7},function(){Wc(this,Vc(this)+1);this.b-=5},function(){this.S=jd(this,this.S);this.b-=5},function(){this.S=id(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|a>>8;ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Vc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Vc(this));this.b-=7},function(){Wc(this,Vc(this)-1);this.b-=
|
||||||
5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=hd(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;$c(this,a);this.b-=4},Kd,function(){Xc(this,O(this));this.b-=10},function(){this.va(Wc(this),this.i);this.b-=7},function(){Xc(this,Wc(this)+1);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=hd(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|
|
5},function(){this.T=jd(this,this.T);this.b-=5},function(){this.T=id(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.i<<8&256;this.i=(a|this.i)>>1;ad(this,a);this.b-=4},Ld,function(){Yc(this,O(this));this.b-=10},function(){this.va(Xc(this),this.i);this.b-=7},function(){Yc(this,Xc(this)+1);this.b-=5},function(){this.U=jd(this,this.U);this.b-=5},function(){this.U=id(this,this.U);this.b-=5},function(){this.U=M(this);this.b-=7},function(){var a=this.i<<1;this.i=a&255|
|
||||||
Zc(this);$c(this,a&256);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+Wc(this));$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Wc(this));this.b-=7},function(){Xc(this,Wc(this)-1);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=hd(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=(Zc(this)<<8|this.i)>>1;$c(this,a&256);this.b-=4},Kd,function(){Yc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Ib(a,K(this));
|
$c(this);ad(this,a&256);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+Xc(this));ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(Xc(this));this.b-=7},function(){Yc(this,Xc(this)-1);this.b-=5},function(){this.V=jd(this,this.V);this.b-=5},function(){this.V=id(this,this.V);this.b-=5},function(){this.V=M(this);this.b-=7},function(){var a=this.i<<8;this.i=($c(this)<<8|this.i)>>1;ad(this,a&256);this.b-=4},Ld,function(){Zc(this,O(this));this.b-=10},function(){var a=O(this);this.u.Jb(a,K(this));
|
||||||
this.b-=16},function(){Yc(this,K(this)+1);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=hd(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=Zc(this);if(bd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=ed(this,a);$c(this,b?256:0);this.b-=4},Kd,function(){var a;Yc(this,a=K(this)+K(this));$c(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.$a(a);Yc(this,a);this.b-=16},function(){Yc(this,K(this)-1);this.b-=5},function(){this.Z=
|
this.b-=16},function(){Zc(this,K(this)+1);this.b-=5},function(){this.W=jd(this,this.W);this.b-=5},function(){this.W=id(this,this.W);this.b-=5},function(){this.W=M(this);this.b-=7},function(){var a=0,b=$c(this);if(cd(this)||9<(this.i&15))a|=6;if(b||154<=this.i)a|=96,b=1;this.i=fd(this,a);ad(this,b?256:0);this.b-=4},Ld,function(){var a;Zc(this,a=K(this)+K(this));ad(this,a>>8&256);this.b-=10},function(){var a;a=O(this);a=this.u.ab(a);Zc(this,a);this.b-=16},function(){Zc(this,K(this)-1);this.b-=5},function(){this.Z=
|
||||||
id(this,this.Z);this.b-=5},function(){this.Z=hd(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Kd,function(){this.oa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.oa=this.oa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,hd(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-=
|
jd(this,this.Z);this.b-=5},function(){this.Z=id(this,this.Z);this.b-=5},function(){this.Z=M(this);this.b-=7},function(){this.i=~this.i&255;this.b-=4},Ld,function(){this.pa=O(this)&65535;this.b-=10},function(){this.va(O(this),this.i);this.b-=13},function(){this.pa=this.pa+1&65535;this.b-=5},function(){var a=K(this);this.va(a,jd(this,this.aa(a)));this.b-=10},function(){var a=K(this);this.va(a,id(this,this.aa(a)));this.b-=10},function(){this.va(K(this),M(this));this.b-=10},function(){this.da|=256;this.b-=
|
||||||
4},Kd,function(){var a;Yc(this,a=K(this)+this.oa);$c(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.oa=this.oa-1&65535;this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=hd(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){$c(this,Zc(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W;
|
4},Ld,function(){var a;Zc(this,a=K(this)+this.pa);ad(this,a>>8&256);this.b-=10},function(){this.i=this.aa(O(this));this.b-=13},function(){this.pa=this.pa-1&65535;this.b-=5},function(){this.i=jd(this,this.i);this.b-=5},function(){this.i=id(this,this.i);this.b-=5},function(){this.i=M(this);this.b-=7},function(){ad(this,$c(this)?0:256);this.b-=4},function(){this.b-=5},function(){this.S=this.T;this.b-=5},function(){this.S=this.U;this.b-=5},function(){this.S=this.V;this.b-=5},function(){this.S=this.W;
|
||||||
this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=
|
this.b-=5},function(){this.S=this.Z;this.b-=5},function(){this.S=this.aa(K(this));this.b-=7},function(){this.S=this.i;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T=this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.W;this.b-=5},function(){this.T=this.Z;this.b-=5},function(){this.T=this.aa(K(this));this.b-=7},function(){this.T=this.i;this.b-=5},function(){this.U=this.S;this.b-=5},function(){this.U=this.T;this.b-=5},function(){this.b-=
|
||||||
5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S;
|
5},function(){this.U=this.V;this.b-=5},function(){this.U=this.W;this.b-=5},function(){this.U=this.Z;this.b-=5},function(){this.U=this.aa(K(this));this.b-=7},function(){this.U=this.i;this.b-=5},function(){this.V=this.S;this.b-=5},function(){this.V=this.T;this.b-=5},function(){this.V=this.U;this.b-=5},function(){this.b-=5},function(){this.V=this.W;this.b-=5},function(){this.V=this.Z;this.b-=5},function(){this.V=this.aa(K(this));this.b-=7},function(){this.V=this.i;this.b-=5},function(){this.W=this.S;
|
||||||
this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-=
|
this.b-=5},function(){this.W=this.T;this.b-=5},function(){this.W=this.U;this.b-=5},function(){this.W=this.V;this.b-=5},function(){this.b-=5},function(){this.W=this.Z;this.b-=5},function(){this.W=this.aa(K(this));this.b-=7},function(){this.W=this.i;this.b-=5},function(){this.Z=this.S;this.b-=5},function(){this.Z=this.T;this.b-=5},function(){this.Z=this.U;this.b-=5},function(){this.Z=this.V;this.b-=5},function(){this.Z=this.W;this.b-=5},function(){this.b-=5},function(){this.Z=this.aa(K(this));this.b-=
|
||||||
7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b<this.ca.length;b++)if(this.ca[b](a))return;this.b-=7;this.j|=256;Lc(this);this.H&&ib(this,-2147483648)?(I(this,a),this.H.qa()):this.ua&
|
7},function(){this.Z=this.i;this.b-=5},function(){this.va(K(this),this.S);this.b-=7},function(){this.va(K(this),this.T);this.b-=7},function(){this.va(K(this),this.U);this.b-=7},function(){this.va(K(this),this.V);this.b-=7},function(){this.va(K(this),this.W);this.b-=7},function(){this.va(K(this),this.Z);this.b-=7},function(){var a=this.R-1;if(this.ca.length)for(var b=0;b<this.ca.length;b++)if(this.ca[b](a))return;this.b-=7;this.j|=256;Mc(this);this.I&&jb(this,-2147483648)?(I(this,a),this.I.ra()):this.ua&
|
||||||
512||(this.H&&I(this,a),this.qa())},function(){this.va(K(this),this.i);this.b-=7},function(){this.i=this.S;this.b-=5},function(){this.i=this.T;this.b-=5},function(){this.i=this.U;this.b-=5},function(){this.i=this.V;this.b-=5},function(){this.i=this.W;this.b-=5},function(){this.i=this.Z;this.b-=5},function(){this.i=this.aa(K(this));this.b-=7},function(){this.b-=5},function(){this.i=ed(this,this.S);this.b-=4},function(){this.i=ed(this,this.T);this.b-=4},function(){this.i=ed(this,this.U);this.b-=4},
|
512||(this.I&&I(this,a),this.ra())},function(){this.va(K(this),this.i);this.b-=7},function(){this.i=this.S;this.b-=5},function(){this.i=this.T;this.b-=5},function(){this.i=this.U;this.b-=5},function(){this.i=this.V;this.b-=5},function(){this.i=this.W;this.b-=5},function(){this.i=this.Z;this.b-=5},function(){this.i=this.aa(K(this));this.b-=7},function(){this.b-=5},function(){this.i=fd(this,this.S);this.b-=4},function(){this.i=fd(this,this.T);this.b-=4},function(){this.i=fd(this,this.U);this.b-=4},
|
||||||
function(){this.i=ed(this,this.V);this.b-=4},function(){this.i=ed(this,this.W);this.b-=4},function(){this.i=ed(this,this.Z);this.b-=4},function(){this.i=ed(this,this.aa(K(this)));this.b-=7},function(){this.i=ed(this,this.i);this.b-=4},function(){this.i=fd(this,this.S);this.b-=4},function(){this.i=fd(this,this.T);this.b-=4},function(){this.i=fd(this,this.U);this.b-=4},function(){this.i=fd(this,this.V);this.b-=4},function(){this.i=fd(this,this.W);this.b-=4},function(){this.i=fd(this,this.Z);this.b-=
|
function(){this.i=fd(this,this.V);this.b-=4},function(){this.i=fd(this,this.W);this.b-=4},function(){this.i=fd(this,this.Z);this.b-=4},function(){this.i=fd(this,this.aa(K(this)));this.b-=7},function(){this.i=fd(this,this.i);this.b-=4},function(){this.i=gd(this,this.S);this.b-=4},function(){this.i=gd(this,this.T);this.b-=4},function(){this.i=gd(this,this.U);this.b-=4},function(){this.i=gd(this,this.V);this.b-=4},function(){this.i=gd(this,this.W);this.b-=4},function(){this.i=gd(this,this.Z);this.b-=
|
||||||
4},function(){this.i=fd(this,this.aa(K(this)));this.b-=7},function(){this.i=fd(this,this.i);this.b-=4},function(){this.i=L(this,this.S);this.b-=4},function(){this.i=L(this,this.T);this.b-=4},function(){this.i=L(this,this.U);this.b-=4},function(){this.i=L(this,this.V);this.b-=4},function(){this.i=L(this,this.W);this.b-=4},function(){this.i=L(this,this.Z);this.b-=4},function(){this.i=L(this,this.aa(K(this)));this.b-=7},function(){this.i=L(this,this.i);this.b-=4},function(){this.i=Ed(this,this.S);this.b-=
|
4},function(){this.i=gd(this,this.aa(K(this)));this.b-=7},function(){this.i=gd(this,this.i);this.b-=4},function(){this.i=L(this,this.S);this.b-=4},function(){this.i=L(this,this.T);this.b-=4},function(){this.i=L(this,this.U);this.b-=4},function(){this.i=L(this,this.V);this.b-=4},function(){this.i=L(this,this.W);this.b-=4},function(){this.i=L(this,this.Z);this.b-=4},function(){this.i=L(this,this.aa(K(this)));this.b-=7},function(){this.i=L(this,this.i);this.b-=4},function(){this.i=Fd(this,this.S);this.b-=
|
||||||
4},function(){this.i=Ed(this,this.T);this.b-=4},function(){this.i=Ed(this,this.U);this.b-=4},function(){this.i=Ed(this,this.V);this.b-=4},function(){this.i=Ed(this,this.W);this.b-=4},function(){this.i=Ed(this,this.Z);this.b-=4},function(){this.i=Ed(this,this.aa(K(this)));this.b-=7},function(){this.i=Ed(this,this.i);this.b-=4},function(){this.i=gd(this,this.S);this.b-=4},function(){this.i=gd(this,this.T);this.b-=4},function(){this.i=gd(this,this.U);this.b-=4},function(){this.i=gd(this,this.V);this.b-=
|
4},function(){this.i=Fd(this,this.T);this.b-=4},function(){this.i=Fd(this,this.U);this.b-=4},function(){this.i=Fd(this,this.V);this.b-=4},function(){this.i=Fd(this,this.W);this.b-=4},function(){this.i=Fd(this,this.Z);this.b-=4},function(){this.i=Fd(this,this.aa(K(this)));this.b-=7},function(){this.i=Fd(this,this.i);this.b-=4},function(){this.i=hd(this,this.S);this.b-=4},function(){this.i=hd(this,this.T);this.b-=4},function(){this.i=hd(this,this.U);this.b-=4},function(){this.i=hd(this,this.V);this.b-=
|
||||||
4},function(){this.i=gd(this,this.W);this.b-=4},function(){this.i=gd(this,this.Z);this.b-=4},function(){this.i=gd(this,this.aa(K(this)));this.b-=7},function(){this.i=gd(this,this.i);this.b-=4},function(){this.i=Fd(this,this.S);this.b-=4},function(){this.i=Fd(this,this.T);this.b-=4},function(){this.i=Fd(this,this.U);this.b-=4},function(){this.i=Fd(this,this.V);this.b-=4},function(){this.i=Fd(this,this.W);this.b-=4},function(){this.i=Fd(this,this.Z);this.b-=4},function(){this.i=Fd(this,this.aa(K(this)));
|
4},function(){this.i=hd(this,this.W);this.b-=4},function(){this.i=hd(this,this.Z);this.b-=4},function(){this.i=hd(this,this.aa(K(this)));this.b-=7},function(){this.i=hd(this,this.i);this.b-=4},function(){this.i=Gd(this,this.S);this.b-=4},function(){this.i=Gd(this,this.T);this.b-=4},function(){this.i=Gd(this,this.U);this.b-=4},function(){this.i=Gd(this,this.V);this.b-=4},function(){this.i=Gd(this,this.W);this.b-=4},function(){this.i=Gd(this,this.Z);this.b-=4},function(){this.i=Gd(this,this.aa(K(this)));
|
||||||
this.b-=7},function(){this.i=Fd(this,this.i);this.b-=4},function(){this.i=Dd(this,this.S);this.b-=4},function(){this.i=Dd(this,this.T);this.b-=4},function(){this.i=Dd(this,this.U);this.b-=4},function(){this.i=Dd(this,this.V);this.b-=4},function(){this.i=Dd(this,this.W);this.b-=4},function(){this.i=Dd(this,this.Z);this.b-=4},function(){this.i=Dd(this,this.aa(K(this)));this.b-=7},function(){this.i=Dd(this,this.i);this.b-=4},function(){L(this,this.S);this.b-=4},function(){L(this,this.T);this.b-=4},function(){L(this,
|
this.b-=7},function(){this.i=Gd(this,this.i);this.b-=4},function(){this.i=Ed(this,this.S);this.b-=4},function(){this.i=Ed(this,this.T);this.b-=4},function(){this.i=Ed(this,this.U);this.b-=4},function(){this.i=Ed(this,this.V);this.b-=4},function(){this.i=Ed(this,this.W);this.b-=4},function(){this.i=Ed(this,this.Z);this.b-=4},function(){this.i=Ed(this,this.aa(K(this)));this.b-=7},function(){this.i=Ed(this,this.i);this.b-=4},function(){L(this,this.S);this.b-=4},function(){L(this,this.T);this.b-=4},function(){L(this,
|
||||||
this.U);this.b-=4},function(){L(this,this.V);this.b-=4},function(){L(this,this.W);this.b-=4},function(){L(this,this.Z);this.b-=4},function(){L(this,this.aa(K(this)));this.b-=7},function(){L(this,this.i);this.b-=4},function(){cd(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Vc(this,P(this));this.b-=10},function(){var a=O(this);cd(this)||I(this,a);this.b-=10},Ld,function(){var a=O(this);cd(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Uc(this));this.b-=11},function(){this.i=
|
this.U);this.b-=4},function(){L(this,this.V);this.b-=4},function(){L(this,this.W);this.b-=4},function(){L(this,this.Z);this.b-=4},function(){L(this,this.aa(K(this)));this.b-=7},function(){L(this,this.i);this.b-=4},function(){dd(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Wc(this,P(this));this.b-=10},function(){var a=O(this);dd(this)||I(this,a);this.b-=10},Md,function(){var a=O(this);dd(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Vc(this));this.b-=11},function(){this.i=
|
||||||
ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,0);this.b-=11},function(){cd(this)&&(I(this,P(this)),this.b-=6);this.b-=5},Md,function(){var a=O(this);cd(this)&&I(this,a);this.b-=10},Ld,function(){var a=O(this);cd(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Nd,function(){this.i=fd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,8);this.b-=11},function(){Zc(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Xc(this,P(this));this.b-=10},function(){var a=O(this);
|
fd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,0);this.b-=11},function(){dd(this)&&(I(this,P(this)),this.b-=6);this.b-=5},Nd,function(){var a=O(this);dd(this)&&I(this,a);this.b-=10},Md,function(){var a=O(this);dd(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){this.i=gd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,8);this.b-=11},function(){$c(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Yc(this,P(this));this.b-=10},function(){var a=O(this);
|
||||||
Zc(this)||I(this,a);this.b-=10},function(){var a=M(this);Ub(this.u,a,this.i,this.R+-2&65535);this.b-=10},function(){var a=O(this);Zc(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Wc(this));this.b-=11},function(){this.i=L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,16);this.b-=11},function(){Zc(this)&&(I(this,P(this)),this.b-=6);this.b-=5},Md,function(){var a=O(this);Zc(this)&&I(this,a);this.b-=10},function(){var a=M(this);this.i=Qb(this.u,a,this.R+-2&65535)&
|
$c(this)||I(this,a);this.b-=10},function(){var a=M(this);Vb(this.u,a,this.i,this.R+-2&65535);this.b-=10},function(){var a=O(this);$c(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Xc(this));this.b-=11},function(){this.i=L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,16);this.b-=11},function(){$c(this)&&(I(this,P(this)),this.b-=6);this.b-=5},Nd,function(){var a=O(this);$c(this)&&I(this,a);this.b-=10},function(){var a=M(this);this.i=Rb(this.u,a,this.R+-2&65535)&
|
||||||
255;this.b-=10},function(){var a=O(this);Zc(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Nd,function(){this.i=Ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,24);this.b-=11},function(){ad(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Yc(this,P(this));this.b-=10},function(){var a=O(this);ad(this)||I(this,a);this.b-=10},function(){var a=P(this);Q(this,K(this));Yc(this,a);this.b-=18},function(){var a=O(this);ad(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},
|
255;this.b-=10},function(){var a=O(this);$c(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){this.i=Fd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,24);this.b-=11},function(){bd(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){Zc(this,P(this));this.b-=10},function(){var a=O(this);bd(this)||I(this,a);this.b-=10},function(){var a=P(this);Q(this,K(this));Zc(this,a);this.b-=18},function(){var a=O(this);bd(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},
|
||||||
function(){Q(this,K(this));this.b-=11},function(){this.i=gd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,32);this.b-=11},function(){ad(this)&&(I(this,P(this)),this.b-=6);this.b-=5},function(){I(this,K(this));this.b-=5},function(){var a=O(this);ad(this)&&I(this,a);this.b-=10},function(){var a=K(this);Yc(this,Wc(this));Xc(this,a);this.b-=5},function(){var a=O(this);ad(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Nd,function(){this.i=Fd(this,M(this));this.b-=7},function(){Q(this,
|
function(){Q(this,K(this));this.b-=11},function(){this.i=hd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,32);this.b-=11},function(){bd(this)&&(I(this,P(this)),this.b-=6);this.b-=5},function(){I(this,K(this));this.b-=5},function(){var a=O(this);bd(this)&&I(this,a);this.b-=10},function(){var a=K(this);Zc(this,Xc(this));Yc(this,a);this.b-=5},function(){var a=O(this);bd(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){this.i=Gd(this,M(this));this.b-=7},function(){Q(this,
|
||||||
this.R);I(this,40);this.b-=11},function(){dd(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Rc(this,a&255|this.ua&-256);this.i=a>>8;this.b-=10},function(){var a=O(this);dd(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);dd(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Tc(this)&255|this.i<<8);this.b-=11},function(){this.i=Dd(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){dd(this)&&
|
this.R);I(this,40);this.b-=11},function(){ed(this)||(I(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Sc(this,a&255|this.ua&-256);this.i=a>>8;this.b-=10},function(){var a=O(this);ed(this)||I(this,a);this.b-=10},function(){this.ua&=-513;this.b-=4},function(){var a=O(this);ed(this)||(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},function(){Q(this,Uc(this)&255|this.i<<8);this.b-=11},function(){this.i=Ed(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,48);this.b-=11},function(){ed(this)&&
|
||||||
(I(this,P(this)),this.b-=6);this.b-=5},function(){this.oa=K(this)&65535;this.b-=5},function(){var a=O(this);dd(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Gd(this)},function(){var a=O(this);dd(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Nd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}];
|
(I(this,P(this)),this.b-=6);this.b-=5},function(){this.pa=K(this)&65535;this.b-=5},function(){var a=O(this);ed(this)&&I(this,a);this.b-=10},function(){this.ua|=512;this.b-=4;Hd(this)},function(){var a=O(this);ed(this)&&(Q(this,this.R),I(this,a),this.b-=6);this.b-=11},Od,function(){L(this,M(this));this.b-=7},function(){Q(this,this.R);I(this,56);this.b-=11}];
|
||||||
function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Od[b]&&Pa("Unrecognized ChipSet model: "+b);this.w=Od[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S);
|
function S(a){z.call(this,"ChipSet",a,S,32768);var b=a.model;b&&!Pd[b]&&Qa("Unrecognized ChipSet model: "+b);this.w=Pd[b]||{};a.sound&&(this.fa=null,window&&(this.fa=window.AudioContext||window.webkitAudioContext),this.fa&&new this.fa);F(this)}A(S);
|
||||||
var U={Ba:1978.1,vd:{Ca:0,qe:1,ue:16,Be:32,Ke:64,Je:128,mb:14},Ya:{Ca:1,Kc:1,nd:2,jd:4,kd:16,ld:32,md:64,mb:8},wd:{Ca:2,pe:3,Se:4,re:8,Fe:16,Ge:32,He:64,se:128,mb:0},Oe:{Ca:3},Me:{Ca:2,Ce:7},Qe:{Ca:3,Te:1,Pe:2,Ie:4,ze:8,te:16,je:32},Ne:{Ca:4},Re:{Ca:5,ve:1,we:2,xe:4,ye:8,Ue:16}},V={Ba:100,Ka:{Ca:66,mc:1,bc:2,fd:4,Ee:8,De:16,dc:32,cc:64,Yb:128},Ic:{Ca:66,INIT:0},Ta:{Ca:194,le:0,Wb:16,pd:32,ic:48,Sc:0,Tc:32},Ab:{Ca:162,Le:0,Vc:0,Rc:0,Uc:0,Qc:0},La:{Ae:{Ca:98},Sa:{Fc:0,Ec:1,sd:2,Bd:4,Lc:5,qd:6,td:7},
|
var U={Ca:1978.1,yd:{Da:0,te:1,xe:16,Ee:32,Ne:64,Me:128,ob:14},Za:{Da:1,Nc:1,qd:2,md:4,nd:16,od:32,pd:64,ob:8},zd:{Da:2,se:3,Ve:4,ue:8,Ie:16,Je:32,Ke:64,ve:128,ob:0},Re:{Da:3},Pe:{Da:2,Fe:7},Te:{Da:3,We:1,Se:2,Le:4,Ce:8,we:16,me:32},Qe:{Da:4},Ue:{Da:5,ye:1,ze:2,Ae:4,Be:8,Xe:16}},V={Ca:100,Ma:{Da:66,pc:1,ec:2,jd:4,He:8,Ge:16,gc:32,fc:64,ac:128},Lc:{Da:66,INIT:0},Ua:{Da:194,oe:0,Zb:16,sd:32,lc:48,Vc:0,Wc:32},Cb:{Da:162,Oe:0,Yc:0,Uc:0,Xc:0,Tc:0},Na:{De:{Da:98},Ta:{Ic:0,Hc:1,vd:2,Ed:4,Oc:5,td:6,wd:7},
|
||||||
Cb:16383}},Od={SI1978:U,VT100:V};S.prototype.pa=function(){return!1};S.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;this.B=a;this.J=tb(a,"Keyboard");this.Fa=tb(a,"SerialPort");this.video=tb(a,"Video");Pb(b,this,this.w.Gb);Tb(b,this,this.w.Hb);if(d){var e=this;Pd(d,16384,function(){for(var a="",b=0;b<e.I.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=u(e.I[b]);e.H.g(a)})}};S.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
Db:16383}},Pd={SI1978:U,VT100:V};S.prototype.qa=function(){return!1};S.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;this.A=a;this.K=ub(a,"Keyboard");this.Ha=ub(a,"SerialPort");this.video=ub(a,"Video");Hb(b,this,this.w.Hb);Ub(b,this,this.w.Ib);if(d){var e=this;Qd(d,16384,function(){for(var a="",b=0;b<e.F.length;b++)a&&(a+=b&&b%10?", ":",\n"),a+=u(e.F[b]);e.I.g(a)})}};S.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
S.prototype.Ia=function(a){return a?this.save():!0};U.INIT=[[U.vd.mb,U.Ya.mb,U.wd.mb,0,0,0,0]];
|
S.prototype.Ka=function(a){return a?this.save():!0};U.INIT=[[U.yd.ob,U.Za.ob,U.zd.ob,0,0,0,0]];
|
||||||
V.INIT=[[V.Ic.INIT,V.Ka.bc|V.Ka.fd],[V.Ta.Sc,V.Ta.Tc],[V.Ab.Vc,V.Ab.Rc,V.Ab.Uc,V.Ab.Qc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
V.INIT=[[V.Lc.INIT,V.Ma.ec|V.Ma.jd],[V.Ua.Vc,V.Ua.Wc],[V.Cb.Yc,V.Cb.Uc,V.Cb.Xc,V.Cb.Tc],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||||||
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=S.prototype;l.reset=function(){this.w.INIT&&!this.restore(this.w.INIT)&&this.ka("reset error")};
|
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];l=S.prototype;l.reset=function(){this.w.INIT&&!this.restore(this.w.INIT)&&this.ka("reset error")};
|
||||||
l.save=function(){var a=new J(this);switch(this.w.Ba){case U.Ba:a.set(0,[this.wa,this.G,this.za,this.Y,this.ea,this.ra,this.ma]);break;case V.Ba:a.set(0,[this.ha,this.K]),a.set(1,[this.L,this.M]),a.set(2,[this.D,this.ba,this.la,this.ja]),a.set(3,[this.P,this.j,this.O,this.ca,this.I])}return a.data()};
|
l.save=function(){var a=new J(this);switch(this.w.Ca){case U.Ca:a.set(0,[this.wa,this.G,this.Ba,this.Y,this.ea,this.ma,this.na]);break;case V.Ca:a.set(0,[this.ha,this.J]),a.set(1,[this.L,this.M]),a.set(2,[this.C,this.ba,this.la,this.ja]),a.set(3,[this.P,this.j,this.O,this.ca,this.F])}return a.data()};
|
||||||
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Ba){case U.Ba:return this.wa=b[0],this.G=b[1],this.za=b[2],this.Y=b[3],this.ea=b[4],this.ra=b[5],this.ma=b[6],!0;case V.Ba:return this.ha=b[0],this.K=b[1],b=a[1],this.L=b[0],this.M=b[1],b=a[2],this.D=b[0],this.ba=b[1],this.la=b[2],this.ja=b[3],b=a[3],this.P=b[0],this.j=b[1],this.O=b[2],this.ca=b[3],this.I=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Qd=function(a,b){var c=this.wa;E(this,a,null,b,"STATUS0",c,!0);return c};
|
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.w.Ca){case U.Ca:return this.wa=b[0],this.G=b[1],this.Ba=b[2],this.Y=b[3],this.ea=b[4],this.ma=b[5],this.na=b[6],!0;case V.Ca:return this.ha=b[0],this.J=b[1],b=a[1],this.L=b[0],this.M=b[1],b=a[2],this.C=b[0],this.ba=b[1],this.la=b[2],this.ja=b[3],b=a[3],this.P=b[0],this.j=b[1],this.O=b[2],this.ca=b[3],this.F=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.Td=function(a,b){var c=this.wa;E(this,a,null,b,"STATUS0",c,!0);return c};
|
||||||
l.Rd=function(a,b){var c=this.G;E(this,a,null,b,"STATUS1",c,!0);return c};l.Sd=function(a,b){var c=this.za;E(this,a,null,b,"STATUS2",c,!0);return c};l.Pd=function(a,b){var c=this.Y>>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.$d=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.be=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ra=b};l.ae=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8};
|
l.Ud=function(a,b){var c=this.G;E(this,a,null,b,"STATUS1",c,!0);return c};l.Vd=function(a,b){var c=this.Ba;E(this,a,null,b,"STATUS2",c,!0);return c};l.Sd=function(a,b){var c=this.Y>>8-this.ea&255;E(this,a,null,b,"SHIFT.RESULT",c,!0);return c};l.ce=function(a,b,c){E(this,a,b,c,"SHIFT.COUNT",null,!0);this.ea=b};l.ee=function(a,b,c){E(this,a,b,c,"SOUND1",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"SHIFT.DATA",null,!0);this.Y=b<<8|this.Y>>8};
|
||||||
l.ce=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.ma=b};l.de=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Qd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
l.fe=function(a,b,c){E(this,a,b,c,"SOUND2",null,!0);this.na=b};l.ge=function(a,b,c){E(this,a,b,c,"WATCHDOG",null,!0)};function Rd(a){var b=0,c=0,d=~a.P;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
||||||
l.Td=function(a,b){var c=this.K,c=c&~V.Ka.cc;if((Fc(this.b)&64)<<1&&(c|=V.Ka.cc,c!=this.K)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.La.Sa.td:break;case V.La.Sa.Ec:this.P=this.P<<1|d;break;case V.La.Sa.Lc:d=Qd(this);this.I[d]=V.La.Cb;hb(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.La.Sa.Fc:this.j=this.j<<1|d;break;case V.La.Sa.Bd:d=Qd(this);e=this.j&V.La.Cb;this.I[d]=e;hb(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.La.Sa.qd:d=Qd(this);e=this.I[d];
|
l.Wd=function(a,b){var c=this.J,c=c&~V.Ma.fc;if((Gc(this.b)&64)<<1&&(c|=V.Ma.fc,c!=this.J)){var d,e;d=this.O&1;e=this.O>>1&7;switch(e){case V.Na.Ta.wd:break;case V.Na.Ta.Hc:this.P=this.P<<1|d;break;case V.Na.Ta.Oc:d=Rd(this);this.F[d]=V.Na.Db;ib(this,"doNVRCommand(): erase data at addr "+u(d));break;case V.Na.Ta.Ic:this.j=this.j<<1|d;break;case V.Na.Ta.Ed:d=Rd(this);e=this.j&V.Na.Db;this.F[d]=e;ib(this,"doNVRCommand(): write data "+u(e)+" to addr "+u(d));break;case V.Na.Ta.td:d=Rd(this);e=this.F[d];
|
||||||
null==e&&(e=V.La.Cb);this.j=e;hb(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.La.Sa.sd:this.j<<=1;this.ca=this.j&V.La.Cb+1;break;default:hb(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ka.dc;this.ca&&(c|=V.Ka.dc);c&=~V.Ka.Yb;if(d=this.J){d=this.J;if(e=d.D)e=d.b,e=Fc(d.b)>=d.K+e.Y*e.Ra/1E3*1.2731488;e&&(d.D=!1);d=!d.D}d&&(c|=V.Ka.Yb);c&=~V.Ka.mc;this.Fa&&this.Fa.Da&1&&(c|=V.Ka.mc);this.K=c;E(this,a,null,b,"FLAGS",c);return c};
|
null==e&&(e=V.Na.Db);this.j=e;ib(this,"doNVRCommand(): read data "+u(e)+" from addr "+u(d));break;case V.Na.Ta.vd:this.j<<=1;this.ca=this.j&V.Na.Db+1;break;default:ib(this,"doNVRCommand(): unrecognized command "+ca(e))}}c&=~V.Ma.gc;this.ca&&(c|=V.Ma.gc);c&=~V.Ma.ac;if(d=this.K){d=this.K;if(e=d.C)e=d.b,e=Gc(d.b)>=d.J+e.Y*e.Sa/1E3*1.2731488;e&&(d.C=!1);d=!d.C}d&&(c|=V.Ma.ac);c&=~V.Ma.pc;this.Ha&&this.Ha.Fa&1&&(c|=V.Ma.pc);this.J=c;E(this,a,null,b,"FLAGS",c);return c};
|
||||||
l.ee=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.he=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.ge=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.D=this.D&-4|a;break;case 1:this.D=this.D&-13|a<<2;this.video&&(b=this.video,a=this.D,hb(b,"updateScrollOffset("+a+")"),b.eb!==a&&((b.eb=a)?Mc(b,!0):b.ob=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}};
|
l.he=function(a,b,c){E(this,a,b,c,"BRIGHTNESS");this.ha=b};l.ke=function(a,b,c){E(this,a,b,c,"NVR.LATCH");this.O=b};l.je=function(a,b,c){E(this,a,b,c,"DC012");a=b&3;switch(b>>2&3){case 0:this.C=this.C&-4|a;break;case 1:this.C=this.C&-13|a<<2;this.video&&(b=this.video,a=this.C,ib(b,"updateScrollOffset("+a+")"),b.gb!==a&&((b.gb=a)?Nc(b,!0):b.qb=!0));break;case 2:switch(a){case 0:this.ba=~this.ba;break;case 2:case 3:this.la=3-a}break;case 3:this.ja=a}};
|
||||||
l.fe=function(a,b,c){E(this,a,b,c,"DC011");b&V.Ta.pd?(b&=V.Ta.ic,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Ta.ic?50:60,hb(a,"updateRate("+b+")"),a.qc=b))):(b&=V.Ta.Wb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Ta.Wb?132:80,b=this.video,hb(b,"updateDimensions("+a+","+(80<a&&this.K&V.Ka.bc?14:24)+")"),b.ca=a,b.sa=b.fc,80<a&&b.sa--,Rd(b)&&Sd(b))))};U.Gb={0:S.prototype.Qd,1:S.prototype.Rd,2:S.prototype.Sd,3:S.prototype.Pd};
|
l.ie=function(a,b,c){E(this,a,b,c,"DC011");b&V.Ua.sd?(b&=V.Ua.lc,this.M!=b&&(this.M=b,this.video&&(a=this.video,b=this.M==V.Ua.lc?50:60,ib(a,"updateRate("+b+")"),a.tc=b))):(b&=V.Ua.Zb,this.L!=b&&(this.L=b,this.video&&(a=this.L==V.Ua.Zb?132:80,b=this.video,ib(b,"updateDimensions("+a+","+(80<a&&this.J&V.Ma.ec?14:24)+")"),b.ca=a,b.sa=b.ic,80<a&&b.sa--,Sd(b)&&Td(b))))};U.Hb={0:S.prototype.Td,1:S.prototype.Ud,2:S.prototype.Vd,3:S.prototype.Sd};
|
||||||
U.Hb={2:S.prototype.$d,3:S.prototype.be,4:S.prototype.ae,5:S.prototype.ce,6:S.prototype.de};V.Gb={66:S.prototype.Td};V.Hb={66:S.prototype.ee,98:S.prototype.he,162:S.prototype.ge,194:S.prototype.fe};Na(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new S(d);fb(d,c)}});
|
U.Ib={2:S.prototype.ce,3:S.prototype.ee,4:S.prototype.de,5:S.prototype.fe,6:S.prototype.ge};V.Hb={66:S.prototype.Wd};V.Ib={66:S.prototype.he,98:S.prototype.ke,162:S.prototype.je,194:S.prototype.ie};Oa(function(){for(var a=D(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new S(d);gb(d,c)}});
|
||||||
function Td(a){z.call(this,"ROM",a,Td);this.B=null;this.D=a.addr;this.j=a.size;this.G=a.writable;this.w=a.alias;this.I=a.file;this.J=ea(this.I);if(this.I){a=this.I;var b=fa(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.I+"&format=bytes&decimal=true");var c=this;va(a,null,!0,function(a,b,f){Ud(c,a,b,f)})}}A(Td);var Vd=[0,5];Td.prototype.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;Wd(this)};
|
function Ud(a){z.call(this,"ROM",a,Ud);this.A=null;this.C=a.addr;this.j=a.size;this.F=a.alias;this.w=a.file;this.G=ea(this.w);if(this.w){a=this.w;var b=fa(this.G);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;va(a,null,!0,function(a,b,f){Vd(c,a,b,f)})}}A(Ud);Ud.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;Wd(this)};
|
||||||
Td.prototype.Ea=function(){if(this.Qa){if(this.H){var a=this.H,b=this.id,c=this.D,d=this.j,e=this.Qa,f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],q=pa(p,k,a.uc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.G.push({gf:b,F:c,Vd:d,Qa:e,tc:f})}delete this.Qa}return!0};Td.prototype.Ia=function(){return!0};
|
Ud.prototype.Ga=function(){if(this.Ea){if(this.I){var a=this.I,b=this.id,c=this.C,d=this.j,e=this.Ea,f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],q=pa(p,k,a.xc);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.G.push({kf:b,H:c,Yd:d,Ea:e,wc:f})}delete this.Ea}return!0};Ud.prototype.Ka=function(){return!0};
|
||||||
function Ud(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{bb(a.Bb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.B=f;else if(g)for(a.B=Array(4*g.length),d=c=0;c<g.length;c++)a.B[d++]=g[c]&255,a.B[d++]=g[c]>>8&255,a.B[d++]=g[c]>>16&255,a.B[d++]=g[c]>>24&255;else a.B=e;a.Qa=e.symbols;if(!a.B.length){w("Empty ROM: "+b);return}if(1==a.B.length){w(a.B[0]);return}}catch(h){a.ka("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
|
function Vd(a,b,c,d){if(d)a.ka("Unable to load system ROM (error "+d+": "+b+")");else{cb(a.fb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Ea=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.ka("ROM data error: "+h.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],16);Wd(a)}}
|
" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=aa(b[e],16);Wd(a)}}
|
||||||
function Wd(a){if(!lb(a))if(!a.I)F(a);else if(a.B&&a.u){a.j||(a.j=a.B.length);if(a.B.length!=a.j)ob(a,"ROM size ("+t(a.B.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else if(Xd(a,a.D)){var b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,g=d.j,h=[],k=d.D>>>f.ia;0<g&&k<f.X.length;)h.push(f.X[k++]),g-=f.Ha;f=d.u;d=d.j;g=0;for(e>>>=f.ia;0<d&&e<f.X.length;){k=h[g++];if(!k)break;f.X[e++]=k;d-=f.Ha}}delete a.B}F(a)}}
|
function Wd(a){if(!mb(a))if(!a.w)F(a);else if(a.A&&a.u){a.j||(a.j=a.A.length);if(a.A.length!=a.j)nb(a,"ROM size ("+t(a.A.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.C;if(yb(a.u,b,a.j,bc)){var c;for(c=0;c<a.A.length;c++)Db(a.u,b+c,a.A[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.F?b.push(a.F):null!=a.F&&a.F.length&&(b=a.F);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.u,g=d.j,h=[],k=d.C>>>f.ia;0<g&&k<f.X.length;)h.push(f.X[k++]),g-=f.Ja;f=d.u;d=d.j;g=0;for(e>>>=
|
||||||
function Xd(a,b){if(xb(a.u,b,a.j,a.G?1:ac)){var c;for(c=0;c<a.B.length;c++)Db(a.u,b+c,a.B[c]);if(a.G&&256==b){for(c=0;c<Vd.length;c++)Db(a.u,Vd[c],118);Qc(a.b,function(a){return function(b){if(0<=Vd.indexOf(b)){var c=!1,d=a.b,e=a.H;if(5==b)switch(c=!0,d.T){case 2:Yd(a,String.fromCharCode(d.V));break;case 9:for(var k=Wc(d),n="",p=255;p--;){var q=a.b.aa(k++);if(36==q)break;n+=String.fromCharCode(q)}Yd(a,n);break;default:c=!1}c?Md.call(d):e&&(a.g("\nCP/M vector "+u(b)),I(d,b),e.qa());b=!0}else b=!1;
|
f.ia;0<d&&e<f.X.length;){k=h[g++];if(!k)break;f.X[e++]=k;d-=f.Ja}}delete a.A}}F(a)}}Oa(function(){for(var a=D(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ud(d);gb(d,c)}});
|
||||||
return b}}(a));Sc(a.b,b)}return!0}return!1}function Yd(a,b){b=b.replace(/\r/g,"");a.Ga&&(a.Ga.value+=b,a.Ga.scrollTop=a.Ga.scrollHeight)}Na(function(){for(var a=D(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Td(d);fb(d,c)}});function Zd(a){z.call(this,"RAM",a,Zd);this.w=a.addr;this.j=a.size;this.B=!1}A(Zd);l=Zd.prototype;l.Pa=function(a,b,c,d){this.u=b;this.b=c;this.H=d;F(this)};l.Ea=function(a,b){b||this.reset();return!0};l.Ia=function(a){return a?this.save():!0};
|
function Xd(a){z.call(this,"RAM",a,Xd);this.Ea=this.j=null;this.G=a.addr;this.K=a.size;this.F=a.load;this.w=a.exec;this.C=!1;this.A=a.file;this.J=ea(this.A);if(this.A){a=this.A;var b=fa(this.J);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;va(a,null,!0,function(a,b,f){f?c.ka("Unable to load RAM resource (error "+f+": "+a+")"):(cb(c.fb,a,b),(a=wa(a,b))?(c.j=a.za,c.Ea=a.Ea,null==c.F&&null!=a.Rb&&(c.F=a.Rb),null==c.w&&null!=a.Qb&&(c.w=a.Qb)):c.A=null,
|
||||||
l.reset=function(){!this.B&&this.j&&xb(this.u,this.w,this.j,1)&&(this.B=!0);this.B||w("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Na(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Zd(d);fb(d,c)}});function $d(a){z.call(this,"Keyboard",a,$d,65536);(a=a.model)&&!ae[a]&&Pa("Unrecognized Keyboard8080 model: "+a);this.u=ae[a]||{};this.reset();F(this)}A($d);var be={};be[m.Ub]=37;be[m.Xb]=39;be[m.Zb]=32;
|
Yd(c))})}}A(Xd);var Zd=[0,5];Xd.prototype.Ra=function(a,b,c,d){this.u=b;this.b=c;this.I=d;Yd(this)};Xd.prototype.Ga=function(){return!0};Xd.prototype.Ka=function(){return!0};
|
||||||
var ce={Ba:1978.1,A:{},Vb:be,pb:{},Xa:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},W={Ba:100,A:{},Vb:{},pb:{},Xa:{setup:120},Gc:{Ca:130,INIT:127},Ma:{Ca:130,bd:1,ad:2,$c:4,Zc:8,cd:16,ac:32,$b:63,ud:64,ke:128,INIT:0},Yc:127};W.A[46]=3;W.A[m.hd]=5;W.A[m.gd]=6;W.A[m.Dd]=7;W.A[m.xd]=8;W.A[m.Ad]=9;W.A[m.Q]=10;W.A[39]=16;W.A[221]=20;W.A[219]=21;W.A[m.Pc]=22;W.A[m.yd]=23;W.A[m.od]=24;W.A[m.E]=25;W.A[49]=26;W.A[37]=32;W.A[40]=34;W.A[117]=35;W.A[19]=35;W.A[192]=36;W.A[189]=37;W.A[57]=38;W.A[55]=39;
|
function Yd(a){!a.C&&a.K&&yb(a.u,a.G,a.K,1)&&(a.C=!0);if(!mb(a)){if(!a.C)w("No RAM allocated");else if(a.A){if(!a.j||!a.u)return;var b=a.G;null!==a.F&&(b=a.F);for(var c=0;c<a.j.length;c++)Db(a.u,b+c,a.j[c]);if(null!==a.w){if(256==a.w){for(c=0;c<Zd.length;c++)Db(a.u,Zd[c],118);Rc(a.b,function(a){return function(b){if(0<=Zd.indexOf(b)){var c=!1,d=a.b,e=a.I;if(5==b)switch(c=!0,d.T){case 2:$d(a,String.fromCharCode(d.V));break;case 9:for(var k=Xc(d),n="",p=255;p--;){var q=a.b.aa(k++);if(36==q)break;n+=
|
||||||
W.A[52]=40;W.A[51]=41;W.A[27]=42;W.A[38]=48;W.A[114]=49;W.A[112]=50;W.A[8]=51;W.A[187]=52;W.A[48]=53;W.A[56]=54;W.A[54]=55;W.A[53]=56;W.A[50]=57;W.A[9]=58;W.A[103]=64;W.A[115]=65;W.A[113]=66;W.A[96]=67;W.A[118]=68;W.A[220]=69;W.A[m.Zb]=70;W.A[m.Xc]=71;W.A[m.Nc]=72;W.A[m.Mc]=73;W.A[m.Ub]=74;W.A[104]=80;W.A[2013]=81;W.A[98]=82;W.A[97]=83;W.A[222]=85;W.A[186]=86;W.A[m.Wc]=87;W.A[m.Oc]=88;W.A[m.Xb]=89;W.A[m.rd]=90;W.A[110]=96;W.A[116]=97;W.A[101]=98;W.A[100]=99;W.A[13]=100;W.A[190]=101;W.A[188]=102;
|
String.fromCharCode(q)}$d(a,n);break;default:c=!1}c?Nd.call(d):e&&(a.g("\nCP/M vector "+u(b)),I(d,b),e.ra());b=!0}else b=!1;return b}}(a))}Tc(a.b,a.w)}delete a.j}F(a)}}Xd.prototype.reset=function(){};function $d(a,b){b=b.replace(/\r/g,"");a.Ia&&(a.Ia.value+=b,a.Ia.scrollTop=a.Ia.scrollHeight)}Oa(function(){for(var a=D(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Xd(d);gb(d,c)}});
|
||||||
W.A[m.ed]=103;W.A[m.Hc]=104;W.A[m.Cd]=105;W.A[119]=106;W.A[105]=112;W.A[99]=113;W.A[102]=114;W.A[109]=115;W.A[191]=117;W.A[m.dd]=118;W.A[m[" "]]=119;W.A[m.zd]=120;W.A[m.Jc]=121;W.A[m.Ed]=122;W.A[120]=123;W.A[17]=124;W.A[16]=125;W.A[20]=126;W.pb={l4:W.Ma.bd,l3:W.Ma.ad,l2:W.Ma.$c,l1:W.Ma.Zc,locked:W.Ma.cd,local:W.Ma.ac,online:~W.Ma.ac};var ae={SI1978:ce,VT100:W};
|
function ae(a){z.call(this,"Keyboard",a,ae,65536);(a=a.model)&&!be[a]&&Qa("Unrecognized Keyboard8080 model: "+a);this.u=be[a]||{};this.reset();F(this)}A(ae);var ce={};ce[m.Xb]=37;ce[m.$b]=39;ce[m.bc]=32;var de={Ca:1978.1,B:{},Yb:ce,rb:{},Ya:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},W={Ca:100,B:{},Yb:{},rb:{},Ya:{setup:120},Jc:{Da:130,INIT:127},Oa:{Da:130,ed:1,dd:2,cd:4,bd:8,fd:16,dc:32,cc:63,xd:64,ne:128,INIT:0},ad:127};W.B[46]=3;W.B[m.ld]=5;W.B[m.kd]=6;W.B[m.Gd]=7;W.B[m.Ad]=8;
|
||||||
$d.prototype.pa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.N[e]){if("led"==a&&this.u.pb[b])return this.N[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return de(d,a,!0)},c.onkeyup=function(a){return de(d,a,!1)},!0;default:if(this.u.Xa&&void 0!==this.u.Xa[b])return this.N[e]=c,a=function(a,b){return function(c){c.preventDefault();ee(a,b,!0)}}(this,this.u.Xa[b]),b=function(a,b){return function(){ee(a,b,!1)}}(this,this.u.Xa[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
|
W.B[m.Dd]=9;W.B[m.Q]=10;W.B[39]=16;W.B[221]=20;W.B[219]=21;W.B[m.Sc]=22;W.B[m.Bd]=23;W.B[m.rd]=24;W.B[m.E]=25;W.B[49]=26;W.B[37]=32;W.B[40]=34;W.B[117]=35;W.B[19]=35;W.B[192]=36;W.B[189]=37;W.B[57]=38;W.B[55]=39;W.B[52]=40;W.B[51]=41;W.B[27]=42;W.B[38]=48;W.B[114]=49;W.B[112]=50;W.B[8]=51;W.B[187]=52;W.B[48]=53;W.B[56]=54;W.B[54]=55;W.B[53]=56;W.B[50]=57;W.B[9]=58;W.B[103]=64;W.B[115]=65;W.B[113]=66;W.B[96]=67;W.B[118]=68;W.B[220]=69;W.B[m.bc]=70;W.B[m.$c]=71;W.B[m.Qc]=72;W.B[m.Pc]=73;W.B[m.Xb]=74;
|
||||||
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};$d.prototype.Pa=function(a,b,c,d){this.B=a;this.b=c;this.H=d;this.I=tb(a,"ChipSet");Pb(b,this,this.u.Gb);Tb(b,this,this.u.Hb)};$d.prototype.Ea=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};$d.prototype.Ia=function(a){return a?this.save():!0};W.INIT=[[W.Ma.INIT,W.Gc.INIT,!1,0,-1]];l=$d.prototype;l.reset=function(){this.j=[];this.u.INIT&&!this.restore(this.u.INIT)&&this.ka("reset error")};
|
W.B[104]=80;W.B[2013]=81;W.B[98]=82;W.B[97]=83;W.B[222]=85;W.B[186]=86;W.B[m.Zc]=87;W.B[m.Rc]=88;W.B[m.$b]=89;W.B[m.ud]=90;W.B[110]=96;W.B[116]=97;W.B[101]=98;W.B[100]=99;W.B[13]=100;W.B[190]=101;W.B[188]=102;W.B[m.hd]=103;W.B[m.Kc]=104;W.B[m.Fd]=105;W.B[119]=106;W.B[105]=112;W.B[99]=113;W.B[102]=114;W.B[109]=115;W.B[191]=117;W.B[m.gd]=118;W.B[m[" "]]=119;W.B[m.Cd]=120;W.B[m.Mc]=121;W.B[m.Hd]=122;W.B[120]=123;W.B[17]=124;W.B[16]=125;W.B[20]=126;
|
||||||
l.save=function(){var a=new J(this);switch(this.u.Ba){case W.Ba:a.set(0,[this.J,this.G,this.D,this.K,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.Ba){case ce.Ba:return!0;case W.Ba:return this.J=b[0],fe(this,this.J&W.Ma.$b),this.G=b[1],this.D=b[2],this.K=b[3],this.w=b[4],!0}return!1};function fe(a,b){for(var c in a.u.pb){var d=a.N["led-"+c];if(d){var e=a.u.pb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
|
W.rb={l4:W.Oa.ed,l3:W.Oa.dd,l2:W.Oa.cd,l1:W.Oa.bd,locked:W.Oa.fd,local:W.Oa.dc,online:~W.Oa.dc};var be={SI1978:de,VT100:W};
|
||||||
function de(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.u.Vb[e]||e,!a.u.A[e]){for(var f in a.u.Xa)if(a.u.Xa[f]===e){e=f;break a}e=null}e&&(d=ee(a,e,c),b.preventDefault());return d}
|
ae.prototype.qa=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.N[e]){if("led"==a&&this.u.rb[b])return this.N[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return ee(d,a,!0)},c.onkeyup=function(a){return ee(d,a,!1)},!0;default:if(this.u.Ya&&void 0!==this.u.Ya[b])return this.N[e]=c,a=function(a,b){return function(c){c.preventDefault();fe(a,b,!0)}}(this,this.u.Ya[b]),b=function(a,b){return function(){fe(a,b,!1)}}(this,this.u.Ya[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
|
||||||
function ee(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].Rb==b)break a;d=-1}if(c)0>d?a.j.push({Rb:b,Ob:Date.now(),Db:!1}):(a.j[d].Ob=Date.now(),a.j[d].Db=!1);else if(0<=d){if(!a.j[d].Db){var e=a.j[d].Ob;if(e&&100>Date.now()-e)return a.j[d].Db=!0,ge(a),!0}a.j.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=U.Ya.jd;break;case "2p":d=U.Ya.nd;break;case "coin":d=U.Ya.Kc;break;case "left":d=U.Ya.ld;break;case "right":d=U.Ya.md;break;case "fire":d=U.Ya.kd}d&&(a=a.I,b=d,a.G&=~b,c&&(a.G|=b))}return!0}
|
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};ae.prototype.Ra=function(a,b,c,d){this.A=a;this.b=c;this.I=d;this.F=ub(a,"ChipSet");Hb(b,this,this.u.Hb);Ub(b,this,this.u.Ib)};ae.prototype.Ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};ae.prototype.Ka=function(a){return a?this.save():!0};W.INIT=[[W.Oa.INIT,W.Jc.INIT,!1,0,-1]];l=ae.prototype;l.reset=function(){this.j=[];this.u.INIT&&!this.restore(this.u.INIT)&&this.ka("reset error")};
|
||||||
function ge(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].Db){var d=a.j[b].Rb,e=100-(Date.now()-a.j[b].Ob);if(0<e){if(0>c||c>e)c=e}else{ee(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){ge(a)},c)}l.Ud=function(a,b){var c=this.G;0<=this.w&&(this.w<this.j.length?(c=this.j[this.w],this.w++,c=W.A[c.Rb],c&128&&(c&=127)):(this.w=-1,c=W.Yc),this.G=c,Hd(this.b,1));E(this,a,null,b,"KBDUART.ADDRESS",c);return c};
|
l.save=function(){var a=new J(this);switch(this.u.Ca){case W.Ca:a.set(0,[this.K,this.G,this.C,this.J,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.Ca){case de.Ca:return!0;case W.Ca:return this.K=b[0],ge(this,this.K&W.Oa.cc),this.G=b[1],this.C=b[2],this.J=b[3],this.w=b[4],!0}return!1};function ge(a,b){for(var c in a.u.rb){var d=a.N["led-"+c];if(d){var e=a.u.rb[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
|
||||||
l.ie=function(a,b,c){E(this,a,b,c,"KBDUART.STATUS");this.J=b;this.D=!0;this.K=Fc(this.b);fe(this,b&W.Ma.$b);b&W.Ma.ud&&(this.w=0,Hd(this.b,1))};W.Gb={130:$d.prototype.Ud};W.Hb={130:$d.prototype.ie};Na(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new $d(d);fb(d,c)}});
|
function ee(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.u.Yb[e]||e,!a.u.B[e]){for(var f in a.u.Ya)if(a.u.Ya[f]===e){e=f;break a}e=null}e&&(d=fe(a,e,c),b.preventDefault());return d}
|
||||||
function he(a,b,c,d,e){var f=this;this.kc=Ca("Gecko/");var g=["","moz","ms","webkit"];z.call(this,"Video",a,he,262144);this.Y=a.screenWidth;this.O=a.screenHeight;this.Ua=a.bufferAddr;this.Hd=a.bufferRAM;var h=a.bufferFormat;this.ma=h&&ie[h.toUpperCase()]||je;this.ca=a.bufferCols;this.wa=a.bufferRows;this.fc=this.sa=a.cellWidth||1;this.na=a.cellHeight||1;this.za=null;this.jc=!1;this.Va=a.bufferBits||1;this.Jd=a.bufferLeft||0;if(this.w=a.bufferRotate)this.w=this.w%360,0<this.w&&(this.w-=360),-90!=this.w&&
|
function fe(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].Ub==b)break a;d=-1}if(c)0>d?a.j.push({Ub:b,Pb:Date.now(),Eb:!1}):(a.j[d].Pb=Date.now(),a.j[d].Eb=!1);else if(0<=d){if(!a.j[d].Eb){var e=a.j[d].Pb;if(e&&100>Date.now()-e)return a.j[d].Eb=!0,he(a),!0}a.j.splice(d,1)}if(a.F){d=0;switch(b){case "1p":d=U.Za.md;break;case "2p":d=U.Za.qd;break;case "coin":d=U.Za.Nc;break;case "left":d=U.Za.od;break;case "right":d=U.Za.pd;break;case "fire":d=U.Za.nd}d&&(a=a.F,b=d,a.G&=~b,c&&(a.G|=b))}return!0}
|
||||||
(this.ka("unsupported buffer rotation: "+this.w),this.w=0);this.Wa=a.interruptRate;this.rc=a.refreshRate||60;this.M=b;this.I=c;this.la=(this.Md=d)||b||null;this.Dc=this.Y;this.Gd=this.O;this.gc=this.Y/this.ca|0;this.hc=this.O/this.wa|0;1<this.na&&(this.wa++,this.eb=0,this.ob=!1);b=a.smoothing;(c=Va.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.D=a.screenRotate)this.D=this.D%
|
function he(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].Eb){var d=a.j[b].Ub,e=100-(Date.now()-a.j[b].Pb);if(0<e){if(0>c||c>e)c=e}else{fe(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){he(a)},c)}l.Xd=function(a,b){var c=this.G;0<=this.w&&(this.w<this.j.length?(c=this.j[this.w],this.w++,c=W.B[c.Ub],c&128&&(c&=127)):(this.w=-1,c=W.ad),this.G=c,Id(this.b,1));E(this,a,null,b,"KBDUART.ADDRESS",c);return c};
|
||||||
360,0<this.D&&(this.D-=360),-90!=this.D?(this.ka("unsupported screen rotation: "+this.D),this.D=0):(this.I.translate(0,this.O),this.I.rotate(this.D*Math.PI/180),this.I.scale(this.O/this.Y,this.Y/this.O));if(this.j=e)if(this.j.gb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.j.gb){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){ke(f,document.fullscreenElement||document.msFullscreenElement||
|
l.le=function(a,b,c){E(this,a,b,c,"KBDUART.STATUS");this.K=b;this.C=!0;this.J=Gc(this.b);ge(this,b&W.Oa.cc);b&W.Oa.xd&&(this.w=0,Id(this.b,1))};W.Hb={130:ae.prototype.Xd};W.Ib={130:ae.prototype.le};Oa(function(){for(var a=D(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ae(d);gb(d,c)}});
|
||||||
document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){ke(f,null)},!1);break}}if(this.ea=a.fontROM)"json"!=fa(this.ea)&&(this.ea=ja()+"/api/v1/dump?file="+this.ea+"&format=bytes"),va(this.ea,null,!0,function(a,b,c){le(f,a,b,c)});this.Jb={}}A(he);var je=0,ie={SI1978:1,VT100:2};
|
function ie(a,b,c,d,e){var f=this;this.nc=Da("Gecko/");var g=["","moz","ms","webkit"];z.call(this,"Video",a,ie,262144);this.Y=a.screenWidth;this.O=a.screenHeight;this.Va=a.bufferAddr;this.Kd=a.bufferRAM;var h=a.bufferFormat;this.na=h&&je[h.toUpperCase()]||ke;this.ca=a.bufferCols;this.wa=a.bufferRows;this.ic=this.sa=a.cellWidth||1;this.oa=a.cellHeight||1;this.Ba=null;this.mc=!1;this.Wa=a.bufferBits||1;this.Md=a.bufferLeft||0;if(this.w=a.bufferRotate)this.w=this.w%360,0<this.w&&(this.w-=360),-90!=this.w&&
|
||||||
function Rd(a){a.K=a.ca*a.sa;a.ba=a.wa*a.na;var b=a.K,c=a.ba;a.w&&(b=a.ba,c=a.K);a.P=0;if(!a.Hd&&(a.P=(a.K*a.Va>>3)*a.ba,!xb(a.u,a.Ua,a.P,3)))return!1;a.P?(a.lc=a.I.createImageData(b,c),a.oc=16/a.Va|0,me(a,a.P>>1)):me(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.nb=a.L.getContext("2d");a.fa={};a.ra=1<<a.Va;a.ha=Array(a.ra+2);a.ha[0]=[0,0,0,255];a.ha[1]=[255,255,255,255];1==a.ma&&(a.ha[a.ra+0]=[255,255,0,255],a.ha[a.ra+1]=[0,255,0,255]);2==a.ma&&(a.qc=60,a.qb=!1,
|
(this.ka("unsupported buffer rotation: "+this.w),this.w=0);this.Xa=a.interruptRate;this.uc=a.refreshRate||60;this.M=b;this.F=c;this.la=(this.Pd=d)||b||null;this.Gc=this.Y;this.Jd=this.O;this.jc=this.Y/this.ca|0;this.kc=this.O/this.wa|0;1<this.oa&&(this.wa++,this.gb=0,this.qb=!1);b=a.smoothing;(c=Wa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.F[d]){this.F[d]=b;break}if(this.C=a.screenRotate)this.C=this.C%
|
||||||
a.Fa=Array(a.ca));return!0}he.prototype.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;Rd(this);if(this.J=tb(a,"Keyboard")){for(var e in this.Jb)this.J.pa("led",e,this.Jb[e]);this.M&&this.J.pa(this.Md?"textarea":"canvas","kbd",this.la)}var f=this;this.sc=Jc(this.b,function(){Mc(f)});Kc(this.b,this.sc,1E3/Math.max(this.rc,this.Wa));this.pc=0;this.ea||F(this)};
|
360,0<this.C&&(this.C-=360),-90!=this.C?(this.ka("unsupported screen rotation: "+this.C),this.C=0):(this.F.translate(0,this.O),this.F.rotate(this.C*Math.PI/180),this.F.scale(this.O/this.Y,this.Y/this.O));if(this.j=e)if(this.j.ib=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.j.ib){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){le(f,document.fullscreenElement||document.msFullscreenElement||
|
||||||
function le(a,b,c,d){if(d)a.ka("Unable to load font ROM (error "+d+": "+b+")");else{bb(a.Bb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.za=f,Sd(a);else{a.ka("Unrecognized font data length ("+f.length+")");return}}catch(g){a.ka("Font ROM data error: "+g.message);return}(a.I||a.H)&&F(a)}}
|
document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){le(f,null)},!1);break}}if(this.ea=a.fontROM)"json"!=fa(this.ea)&&(this.ea=ja()+"/api/v1/dump?file="+this.ea+"&format=bytes"),va(this.ea,null,!0,function(a,b,c){me(f,a,b,c)});this.Kb={}}A(ie);var ke=0,je={SI1978:1,VT100:2};
|
||||||
function Sd(a){a.za&&(a.jc=2==a.ma,a.fa[96]=[ne(a,a.sa,a.na),ne(a,a.sa,a.na,a.qb)],a.fa[64]=[ne(a,2*a.sa,a.na),ne(a,2*a.sa,a.na,a.qb)],a.fa[32]=a.fa[0]=[ne(a,2*a.sa,2*a.na),ne(a,2*a.sa,2*a.na,a.qb)])}
|
function Sd(a){a.J=a.ca*a.sa;a.ba=a.wa*a.oa;var b=a.J,c=a.ba;a.w&&(b=a.ba,c=a.J);a.P=0;if(!a.Kd&&(a.P=(a.J*a.Wa>>3)*a.ba,!yb(a.u,a.Va,a.P,3)))return!1;a.P?(a.oc=a.F.createImageData(b,c),a.rc=16/a.Wa|0,ne(a,a.P>>1)):ne(a,(a.ca+1)*a.wa);a.L=document.createElement("canvas");a.L.width=b;a.L.height=c;a.pb=a.L.getContext("2d");a.fa={};a.ma=1<<a.Wa;a.ha=Array(a.ma+2);a.ha[0]=[0,0,0,255];a.ha[1]=[255,255,255,255];1==a.na&&(a.ha[a.ma+0]=[255,255,0,255],a.ha[a.ma+1]=[0,255,0,255]);2==a.na&&(a.tc=60,a.sb=!1,
|
||||||
function ne(a,b,c,d){var e=8>=a.fc?8:16,f=8<e?15:0,g=a.za.length/e,h=!1===d,k={sa:b,na:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=g/16*c;k.context=k.canvas.getContext("2d");for(var n=k.context.createImageData(b,c),p=0;p<g;p++){for(var q=0,x=q;q<a.na;q++)for(var v=p*e+(f+q&e-1),v=d&&8==q?255:a.za[v],r=0;r<c/a.na;r++){for(var y=0,G=0,ga=G;G<a.sa;G++){for(var C=v&128>>(7<G?7:G),y=a.jc&&!C&&y?y:C,T=0;T<b/a.sa;T++)h&&(y=!y),oe(a,n,ga,x,y?1:0),ga++;y=C}x++}k.context.putImageData(n,
|
a.Ha=Array(a.ca));return!0}ie.prototype.Ra=function(a,b,c,d){this.A=a;this.u=b;this.b=c;this.I=d;Sd(this);if(this.K=ub(a,"Keyboard")){for(var e in this.Kb)this.K.qa("led",e,this.Kb[e]);this.M&&this.K.qa(this.Pd?"textarea":"canvas","kbd",this.la)}var f=this;this.vc=Kc(this.b,function(){Nc(f)});Lc(this.b,this.vc,1E3/Math.max(this.uc,this.Xa));this.sc=0;this.ea||F(this)};
|
||||||
(p&15)*b,(p>>4)*c)}return k}he.prototype.Ea=function(){return!0};he.prototype.pa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Jb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.gb?c.onclick=function(){d.gb()}:c.parentNode.removeChild(c),!0}return!1};
|
function me(a,b,c,d){if(d)a.ka("Unable to load font ROM (error "+d+": "+b+")");else{cb(a.fb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(2048==f.length)a.Ba=f,Td(a);else{a.ka("Unrecognized font data length ("+f.length+")");return}}catch(g){a.ka("Font ROM data error: "+g.message);return}(a.F||a.I)&&F(a)}}
|
||||||
he.prototype.gb=function(){var a=!1;if(this.j){if(this.j.gb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.kc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.gb();a=!0}this.la&&this.la.focus()}return a};
|
function Td(a){a.Ba&&(a.mc=2==a.na,a.fa[96]=[oe(a,a.sa,a.oa),oe(a,a.sa,a.oa,a.sb)],a.fa[64]=[oe(a,2*a.sa,a.oa),oe(a,2*a.sa,a.oa,a.sb)],a.fa[32]=a.fa[0]=[oe(a,2*a.sa,2*a.oa),oe(a,2*a.sa,2*a.oa,a.sb)])}
|
||||||
function ke(a,b){!b&&a.j&&(a.kc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");hb(a,"notifyFullScreen("+b+")")}function me(a,b){a.nc=b;a.ja=!1;if(void 0===a.G||a.G.length!=a.nc)a.G=Array(a.nc)}function oe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ma&&(208<=c&&236>c?e=a.ra+0:28<=c&&72>c&&(e=a.ra+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
function oe(a,b,c,d){var e=8>=a.ic?8:16,f=8<e?15:0,g=a.Ba.length/e,h=!1===d,k={sa:b,oa:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=g/16*c;k.context=k.canvas.getContext("2d");for(var n=k.context.createImageData(b,c),p=0;p<g;p++){for(var q=0,x=q;q<a.oa;q++)for(var v=p*e+(f+q&e-1),v=d&&8==q?255:a.Ba[v],r=0;r<c/a.oa;r++){for(var y=0,H=0,ga=H;H<a.sa;H++){for(var C=v&128>>(7<H?7:H),y=a.mc&&!C&&y?y:C,T=0;T<b/a.sa;T++)h&&(y=!y),pe(a,n,ga,x,y?1:0),ga++;y=C}x++}k.context.putImageData(n,
|
||||||
function Mc(a,b){var c=!0;if(!b){a.Wa&&(120==a.Wa?a.pc&1?(Hd(a.b,2),c=!1):Hd(a.b,1):Hd(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Ua>>>d.ia;0<e&&g<d.X.length;)d.X[g].Na&&(d.X[g].Na=f=!1,d.X[g].xc=!0),e-=d.Ha,g++;f&&(c=!1)}Kc(a.b,a.sc,1E3/Math.max(a.rc,a.Wa));a.pc++}if(c)if(1<a.sa)switch(a.ma){case 2:for(var c=a.Ua,d=-1,e=0,f=60==a.qc?2:5,h=g=0,k=-1;e<a.wa;){var n=0,p=c,q=d,x=a.ca;for(96!=q&&(x>>=1);;){var v=Ab(a.u,p++);if(127==(v&127)){var r=Ab(a.u,p++),d=r&96,c=(r&15)<<8|Ab(a.u,p),c=c+
|
(p&15)*b,(p>>4)*c)}return k}ie.prototype.Ga=function(){return!0};ie.prototype.qa=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.Kb[b]=c,!0;switch(b){case "fullScreen":return this.N[b]=c,this.j&&this.j.ib?c.onclick=function(){d.ib()}:c.parentNode.removeChild(c),!0}return!1};
|
||||||
(r&16?8192:16384);break}if(n<x)a.Fa[n++]=v;else break}if(f)f--;else{for(;n<a.Fa.length;)a.Fa[n++]=0;if(0<=q)for(p=a.ja&&a.G[g]==x,a.G[g++]=x,x=0;x<n;x++){v=a.Fa[x];if(!p||v!==a.G[g]){a.G[k=g]=v;var r=a,y=a.nb,G=v&127;if(v=r.fa[q][v&128?1:0]){var ga=(G&15)*v.sa,G=(G>>4)*v.na,C,T,da,X,ta=v.sa,Cb=v.na;y?(C=x*r.sa,T=e*r.na,da=r.sa,X=r.na):(C=x*r.gc,T=e*r.hc,da=r.gc,X=r.hc);v.sa>r.sa&&(C*=2,da*=2);v.na>r.na&&(q||(G+=r.na),Cb=r.na);y?y.drawImage(v.canvas,ga,G,ta,Cb,C,T,da,X):(C+=0,T+=0,r.I.drawImage(v.canvas,
|
ie.prototype.ib=function(){var a=!1;if(this.j){if(this.j.ib){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.Y/this.O;b>c&&(a=Math.round(c/b*100)+"%")}this.nc?(this.M.style.width=a,this.M.style.width=a,this.M.style.display="block",this.M.style.margin="auto"):(this.j.style.width=a,this.j.style.height="auto");this.j.style.backgroundColor="black";this.j.ib();a=!0}this.la&&this.la.focus()}return a};
|
||||||
ga,G,ta,Cb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.ob&&1==h&&(a.G[k]=-1,h=0);a.ob=!1;(h||b)&&a.nb&&a.I.drawImage(a.L,0,a.eb,a.K,a.ba-a.na,0,0,a.Dc,a.Gd)}else{e=a.Ua;f=e+a.P;k=h=g=0;b=a.K;n=0;c=a.ba;q=d=0;p=a.Va;x=(1<<p)-1;a.Jd&&(p=-p,q=16+p);for(;e<f;){r=Bb(a.u,e);if(a.ja&&r===a.G[g])h+=a.oc;else{a.G[g]=r;(y=q)&&(r=r>>8|(r&255)<<8);h<b&&(b=h);for(v=a.oc;v--;)ga=r>>y&x,oe(a,a.lc,h++,k,ga),y+=p;h>n&&(n=h);k<c&&(c=k);k>=d&&(d=k+1)}e+=2;g++;if(h>=a.K&&(h=0,k++,k>a.ba))break}a.ja=!0;b<a.K&&(e=n-b,d-=c,a.w&&
|
function le(a,b){!b&&a.j&&(a.nc?a.M.style.width=a.M.style.height="":a.j.style.width=a.j.style.height="");ib(a,"notifyFullScreen("+b+")")}function ne(a,b){a.qc=b;a.ja=!1;if(void 0===a.G||a.G.length!=a.qc)a.G=Array(a.qc)}function pe(a,b,c,d,e){d=a.w?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.na&&(208<=c&&236>c?e=a.ma+0:28<=c&&72>c&&(e=a.ma+1));a=a.ha[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
||||||
(f=b,g=e,b=c,e=d,c=a.K-(f+g),d=g),a.nb.putImageData(a.lc,0,0,b,c,e,d),a.I.drawImage(a.L,0,0,a.L.width,a.L.height,0,0,a.Y,a.O))}}
|
function Nc(a,b){var c=!0;if(!b){a.Xa&&(120==a.Xa?a.sc&1?(Id(a.b,2),c=!1):Id(a.b,1):Id(a.b,4));if(c&&a.ja&&a.P){for(var d=a.u,e=a.P,f=!0,g=a.Va>>>d.ia;0<e&&g<d.X.length;)d.X[g].Pa&&(d.X[g].Pa=f=!1,d.X[g].Ac=!0),e-=d.Ja,g++;f&&(c=!1)}Lc(a.b,a.vc,1E3/Math.max(a.uc,a.Xa));a.sc++}if(c)if(1<a.sa)switch(a.na){case 2:for(var c=a.Va,d=-1,e=0,f=60==a.tc?2:5,h=g=0,k=-1;e<a.wa;){var n=0,p=c,q=d,x=a.ca;for(96!=q&&(x>>=1);;){var v=Bb(a.u,p++);if(127==(v&127)){var r=Bb(a.u,p++),d=r&96,c=(r&15)<<8|Bb(a.u,p),c=c+
|
||||||
Na(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=wa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
(r&16?8192:16384);break}if(n<x)a.Ha[n++]=v;else break}if(f)f--;else{for(;n<a.Ha.length;)a.Ha[n++]=0;if(0<=q)for(p=a.ja&&a.G[g]==x,a.G[g++]=x,x=0;x<n;x++){v=a.Ha[x];if(!p||v!==a.G[g]){a.G[k=g]=v;var r=a,y=a.pb,H=v&127;if(v=r.fa[q][v&128?1:0]){var ga=(H&15)*v.sa,H=(H>>4)*v.oa,C,T,da,X,ta=v.sa,Eb=v.oa;y?(C=x*r.sa,T=e*r.oa,da=r.sa,X=r.oa):(C=x*r.jc,T=e*r.kc,da=r.jc,X=r.kc);v.sa>r.sa&&(C*=2,da*=2);v.oa>r.oa&&(q||(H+=r.oa),Eb=r.oa);y?y.drawImage(v.canvas,ga,H,ta,Eb,C,T,da,X):(C+=0,T+=0,r.F.drawImage(v.canvas,
|
||||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(Ma("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ca("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new he(d,e,g,f,c);fb(d,c)}});
|
ga,H,ta,Eb,C,T,da,X))}h++}g++}e++}}a.ja=!0;!b&&a.qb&&1==h&&(a.G[k]=-1,h=0);a.qb=!1;(h||b)&&a.pb&&a.F.drawImage(a.L,0,a.gb,a.J,a.ba-a.oa,0,0,a.Gc,a.Jd)}else{e=a.Va;f=e+a.P;k=h=g=0;b=a.J;n=0;c=a.ba;q=d=0;p=a.Wa;x=(1<<p)-1;a.Md&&(p=-p,q=16+p);for(;e<f;){r=Cb(a.u,e);if(a.ja&&r===a.G[g])h+=a.rc;else{a.G[g]=r;(y=q)&&(r=r>>8|(r&255)<<8);h<b&&(b=h);for(v=a.rc;v--;)ga=r>>y&x,pe(a,a.oc,h++,k,ga),y+=p;h>n&&(n=h);k<c&&(c=k);k>=d&&(d=k+1)}e+=2;g++;if(h>=a.J&&(h=0,k++,k>a.ba))break}a.ja=!0;b<a.J&&(e=n-b,d-=c,a.w&&
|
||||||
function pe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.D=0;this.ba=!1;z.call(this,"SerialPort",a,pe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=qe;b&&(void 0===c&&(c="Panel"),(c=eb(c,this.id))&&(b=c.N[b])&&this.pa(null,a,b))}this.G="";this.J=this.M=null;this.exports={connect:this.zc,receiveData:this.Qb}}A(pe);
|
(f=b,g=e,b=c,e=d,c=a.J-(f+g),d=g),a.pb.putImageData(a.oc,0,0,b,c,e,d),a.F.drawImage(a.L,0,0,a.L.width,a.L.height,0,0,a.Y,a.O))}}
|
||||||
var re=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],se=[!1,0,0,133,142,39,238],qe="buffer";l=pe.prototype;
|
Oa(function(){for(var a=D(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=B(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=xa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
||||||
l.pa=function(a,b,c,d){var e=this;switch(b){case qe:return this.N[b]=this.j=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),te(e,b);return!0},c.onkeypress=function(a){a=a||window.event;te(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.N[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.Qb(d);return!0},
|
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Wa.aspect);f&&.3<=f&&3.33>=f&&(Na("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Da("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new ie(d,e,g,f,c);gb(d,c)}});
|
||||||
!0}return!1};l.Pa=function(a,b,c,d){this.B=a;this.u=b;this.b=c;this.H=d;var e=this;this.ra=Jc(this.b,function(){e.Qb()});this.ma=Jc(this.b,function(){e.Da|=5});this.I=tb(a,"ChipSet");Pb(b,this,ue,this.ha);Tb(b,this,ve,this.ha);F(this)};
|
function qe(a){this.fa=+a.adapter;switch(this.fa){case 0:this.ha=0;this.la=2;break;default:w("Unrecognized serial adapter #"+this.fa);return}this.j=this.w=null;this.ja=a.tabSize;this.ea=a.charBOL;this.C=0;this.ba=!1;z.call(this,"SerialPort",a,qe,8388608);var b=a.binding;if("console"==b)this.w="";else{var c;a=re;b&&(void 0===c&&(c="Panel"),(c=fb(c,this.id))&&(b=c.N[b])&&this.qa(null,a,b))}this.G="";this.K=this.M=null;this.exports={connect:this.Cc,receiveData:this.Tb}}A(qe);
|
||||||
l.zc=function(){if(!this.J){var a=zc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=na(b[0]);if(c!=this.cb)return;b=na(b[1]);if(this.J=db(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.M=d.receiveData){this.status(this.Bb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ea=function(a,b){if(!b)if(this.zc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
var se=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],te=[!1,0,0,133,142,39,238],re="buffer";l=qe.prototype;
|
||||||
l.Ia=function(a){return a?this.save():!0};l.reset=function(){we(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Da;c[b++]=this.K;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return we(this,a[0])};function we(a,b){var c=0;b||(b=se);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Da=b[c++];a.K=b[c++];a.P=b[c++];a.O=b[c];return!0}
|
l.qa=function(a,b,c,d){var e=this;switch(b){case re:return this.N[b]=this.j=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),ue(e,b);return!0},c.onkeypress=function(a){a=a||window.event;ue(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.N[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.Tb(d);return!0},
|
||||||
function xe(a,b){var c=a.O&b;b&15||(c>>=4);b=re[c];c=((a.K&12)>>2)+6;a.K&16&&c++;c+=((a.K&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function te(a,b){hb(a,"receiveByte("+ca(b)+"), status="+ca(a.Da));return a.ba||a.Da&2?!1:(a.Y=b,a.Da|=2,Hd(a.b,a.la),!0)}l.Qb=function(a){null!=a&&(this.G="number"!=typeof a?a:this.G+String.fromCharCode(a));this.G&&(te(this,this.G.charCodeAt(0))&&(this.G=this.G.substr(1)),this.G&&this.b&&Kc(this.b,this.ra,xe(this,15)));return!0};
|
!0}return!1};l.Ra=function(a,b,c,d){this.A=a;this.u=b;this.b=c;this.I=d;var e=this;this.ma=Kc(this.b,function(){e.Tb()});this.na=Kc(this.b,function(){e.Fa|=5});this.F=ub(a,"ChipSet");Hb(b,this,ve,this.ha);Ub(b,this,we,this.ha);F(this)};
|
||||||
l.Od=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Da&=-3;return c};l.Nd=function(a,b){var c=this.Da;E(this,a,null,b,"STATUS",c);return c};
|
l.Cc=function(){if(!this.K){var a=Ac(this.A,"connection");if(a){var b=a.split("->");if(2==b.length){var c=na(b[0]);if(c!=this.eb)return;b=na(b[1]);if(this.K=eb(b)){var d=this.K.exports;if(d){var e=d.connect;e&&e.call(this.K);if(this.M=d.receiveData){this.status(this.fb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};l.Ga=function(a,b){if(!b)if(this.Cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
l.Zd=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Da&=-6;hb(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.J,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0<this.D&&this.D--):(a=(a=oa[b])?"<"+a+">":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.D%b,this.ja&&(a=ma("",c))):13==b&&(this.D=c=0,a="\n"),this.ea&&!this.D&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight,
|
l.Ka=function(a){return a?this.save():!0};l.reset=function(){xe(this)};l.save=function(){var a=new J(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Y;c[b++]=this.ca;c[b++]=this.Fa;c[b++]=this.J;c[b++]=this.P;c[b]=this.O;a.set(0,c);return a.data()};l.restore=function(a){return xe(this,a[0])};function xe(a,b){var c=0;b||(b=te);a.L=b[c++];a.Y=b[c++];a.ca=b[c++];a.Fa=b[c++];a.J=b[c++];a.P=b[c++];a.O=b[c];return!0}
|
||||||
this.D+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Kc(this.b,this.ma,xe(this,240))};l.Yd=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.K=b,this.L=!0)};l.Xd=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ue={0:pe.prototype.Od,1:pe.prototype.Nd},ve={0:pe.prototype.Zd,1:pe.prototype.Yd,2:pe.prototype.Xd};
|
function ye(a,b){var c=a.O&b;b&15||(c>>=4);b=se[c];c=((a.J&12)>>2)+6;a.J&16&&c++;c+=((a.J&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function ue(a,b){ib(a,"receiveByte("+ca(b)+"), status="+ca(a.Fa));return a.ba||a.Fa&2?!1:(a.Y=b,a.Fa|=2,Id(a.b,a.la),!0)}l.Tb=function(a){null!=a&&(this.G="number"!=typeof a?a:this.G+String.fromCharCode(a));this.G&&(ue(this,this.G.charCodeAt(0))&&(this.G=this.G.substr(1)),this.G&&this.b&&Lc(this.b,this.ma,ye(this,15)));return!0};
|
||||||
Na(function(){for(var a=D(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new pe(d);fb(d,c)}});function ye(a){z.call(this,"Debugger",a,ye);this.Va=a.base||16;this.ba=this.ma=this.K=0;this.P=!1;this.j=-1;this.w=[];this.ea={}}A(ye);var ze={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ye.prototype.Mb=function(){return-1};ye.prototype.Nb=function(){};
|
l.Rd=function(a,b){var c=this.Y;E(this,a,null,b,"DATA",c);this.Fa&=-3;return c};l.Qd=function(a,b){var c=this.Fa;E(this,a,null,b,"STATUS",c);return c};
|
||||||
ye.prototype.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
l.be=function(a,b,c){E(this,a,b,c,"DATA");this.ca=b;this.Fa&=-6;ib(this,"transmitByte("+ca(b)+")");if(19==b)this.ba=!0;else if(17==b)this.ba=!1;else if(this.M&&this.M.call(this.K,b),this.j)8==b?(this.j.value=this.j.value.slice(0,-1),0<this.C&&this.C--):(a=(a=oa[b])?"<"+a+">":String.fromCharCode(b),c=a.length,9==b?(b=this.ja||8,c=b-this.C%b,this.ja&&(a=ma("",c))):13==b&&(this.C=c=0,a="\n"),this.ea&&!this.C&&c&&(a=String.fromCharCode(this.ea)+a),this.j.value+=a,this.j.scrollTop=this.j.scrollHeight,
|
||||||
function Ae(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.C+=c);else if(null!=this.w){if(10==b||1024<=this.w.length)this.g(this.w),this.w="";10!=b&&(this.w+=String.fromCharCode(b))}this.b&&Lc(this.b,this.na,ye(this,240))};l.ae=function(a,b,c){E(this,a,b,c,"CONTROL");this.L?(this.P=b,this.P&64&&(this.L=!1)):(this.J=b,this.L=!0)};l.$d=function(a,b,c){E(this,a,b,c,"BAUDRATES");this.O=b};var ve={0:qe.prototype.Rd,1:qe.prototype.Qd},we={0:qe.prototype.be,1:qe.prototype.ae,2:qe.prototype.$d};
|
||||||
|
Oa(function(){for(var a=D(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new qe(d);gb(d,c)}});function ze(a){z.call(this,"Debugger",a,ze);this.Wa=a.base||16;this.ba=this.na=this.J=0;this.P=!1;this.j=-1;this.w=[];this.ea={}}A(ze);var Ae={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ze.prototype.Nb=function(){return-1};ze.prototype.Ob=function(){};
|
||||||
|
ze.prototype.Gb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
||||||
|
function Be(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),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 Be(a,b,c){var d;if(b){b=Ce(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],q=p.length,p=na(p);if(!p){f=!0;break}p=De(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],x=p.length;k.length&&ze[p]<ze[k[k.length-1]]&&Ae(h,k,1);k.push(p);b=b.substr(q+x)}Ae(h,k)&&1==h.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ee(a,null,
|
function Ce(a,b,c){var d;if(b){b=De(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],q=p.length,p=na(p);if(!p){f=!0;break}p=Ee(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],x=p.length;k.length&&Ae[p]<Ae[k[k.length-1]]&&Be(h,k,1);k.push(p);b=b.substr(q+x)}Be(h,k)&&1==h.length||(f=!0);f?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Fe(a,null,
|
||||||
d))}return d}function Ce(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Be(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Fe(a,e):"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.ba-a.ma}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
d))}return d}function De(a,b){for(var c,d=/\{(.*?)\}/;(c=b.match(d))&&!(0<=c[1].indexOf("{"));){var e=Ce(a,c[1]);b=b.replace("{"+c[1]+"}",null!=e?Ge(a,e):"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.ba-a.na}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||||
function De(a,b,c,d){var e;null!=b?(e=a.Mb(b),0<=e?e=a.Nb(e):(e=a.ea[b],null==e&&(e=aa(b,a.Va))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
function Ee(a,b,c,d){var e;null!=b?(e=a.Nb(b),0<=e?e=a.Ob(e):(e=a.ea[b],null==e&&(e=aa(b,a.Wa))),null!=e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
|
||||||
function Ee(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 h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=8,p="";n?32<n&&(n=32):n=32;if(null==k||isNaN(k))for(;0<n--;)p="?"+p;else for(;0<n--;)p=(k&1?"1":"0")+p,k>>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function Ge(a,b){if(b)return Ee(a,b,a.ea[b]);var c=0;for(b in a.ea)Ee(a,b,a.ea[b]),c++;return 0<c}
|
function Fe(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 h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=8,p="";n?32<n&&(n=32):n=32;if(null==k||isNaN(k))for(;0<n--;)p="?"+p;else for(;0<n--;)p=(k&1?"1":"0")+p,k>>=1;g=p+g;d>>=8}d=t(c,0,!0)+" "+c+". "+ba(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.g((null!=b?b+": ":"")+d);return e}function He(a,b){if(b)return Fe(a,b,a.ea[b]);var c=0;for(b in a.ea)Fe(a,b,a.ea[b]),c++;return 0<c}
|
||||||
function Fe(a,b){switch(a.Va){case 8:a=ba(b,NaN);break;case 10:a=b.toString();break;default:a=t(b,NaN)}return a}function He(a){ye.call(this,a);this.style=Ie;this.M=Y();this.Ua=Y();this.ca=Y();this.G=[];this.I=this.O=this.D=[];Je(this);this.ja=0;Ke(this);this.wa={};Le(this,a.messages);this.za=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Cc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Cc(b,a)})}A(He,ye);
|
function Ge(a,b){switch(a.Wa){case 8:a=ba(b,NaN);break;case 10:a=b.toString();break;default:a=t(b,NaN)}return a}function Ie(a){ze.call(this,a);this.style=Je;this.M=Y();this.Va=Y();this.ca=Y();this.G=[];this.F=this.O=this.C=[];Ke(this);this.ja=0;Le(this);this.wa={};Me(this,a.messages);this.Ba=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Dc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Dc(b,a)})}A(Ie,ze);
|
||||||
var Me={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},
|
var Ne={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble",v:"print version","var":"assign variable"},
|
||||||
Ie=8080,Ne="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Oe="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
Je=8080,Oe="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "),Pe="NONE ADC ADC ADD ADD AND AND CALL CALLC CALLS CALLNC CALLNZ CALLNS CALLP CALLNP CALLZ NOT CMC CMP CMP DAA ADD DEC DEC CLI STI HLT IN INC INC JMP JC JS JNC JNZ JNS JP JNP JZ MOV MOV MOV MOV MOV MOV NOP OR OR OUT JMP POP PUSH RCL RCR RET RETC RETS RETNC RETNZ RETNS RETP RETNP RETZ ROL ROR RST SBB SBB MOV MOV MOV MOV STC SUB SUB XCHG XOR XOR XCHG".split(" "),
|
||||||
Pe="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Qe=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,
|
Qe="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Re=[[45],[42,2067,32],[71,2131,18193],[29,2067],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,18963,2067],[40,18193,2131],[23,2067],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2323,32],[71,2387,18193],[29,2323],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,18963,2323],[40,18193,2387],[23,2323],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2579,32],[68,115,18963],[29,2579],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,18963,
|
||||||
2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617],[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,
|
2579],[41,18963,115],[23,2579],[28,1297],[22,1297],[44,1297,32],[16,18193],[45,32768],[42,2835,32],[70,115,18193],[29,2835],[28,1617],[22,1617],[44,1617,32],[72],[45,32768],[21,18963,2835],[39,18193,115],[23,2835],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1617],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1617],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,
|
||||||
785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],
|
785],[43,529,1041],[43,529,1297],[43,529,1617],[43,529,1809],[43,785,17],[43,785,273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,785,1617],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1617],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1617],[43,1297,1809],[43,1617,17],[43,1617,273],[43,1617,529],[43,1617,785],[43,1617,1041],[43,1617,1297],[26],[43,1617,1809],
|
||||||
[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273],[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,
|
[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041],[43,1809,1297],[43,1809,1617],[43,1809,1809],[3,18193,17],[3,18193,273],[3,18193,529],[3,18193,785],[3,18193,1041],[3,18193,1297],[3,18193,1617],[3,18193,1809],[2,18193,17],[2,18193,273],[2,18193,529],[2,18193,785],[2,18193,1041],[2,18193,1297],[2,18193,1617],[2,18193,1809],[73,18193,17],[73,18193,273],[73,18193,529],[73,18193,785],[73,18193,1041],[73,18193,1297],[73,18193,1617],[73,18193,1809],[66,18193,17],[66,18193,273],[66,
|
||||||
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
|
18193,529],[66,18193,785],[66,18193,1041],[66,18193,1297],[66,18193,1617],[66,18193,1809],[5,18193,17],[5,18193,273],[5,18193,529],[5,18193,785],[5,18193,1041],[5,18193,1297],[5,18193,1617],[5,18193,1809],[76,18193,17],[76,18193,273],[76,18193,529],[76,18193,785],[76,18193,1041],[76,18193,1297],[76,18193,1617],[76,18193,1809],[46,18193,17],[46,18193,273],[46,18193,529],[46,18193,785],[46,18193,1041],[46,18193,1297],[46,18193,1617],[46,18193,1809],[18,18193,17],[18,18193,273],[18,18193,529],[18,18193,
|
||||||
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
|
785],[18,18193,1041],[18,18193,1297],[18,18193,1617],[18,18193,1809],[58],[50,2067],[34,51],[30,51],[11,51],[51,2067],[4,18193,33],[65,128],[62],[54],[38,51],[30,32819],[15,51],[7,51],[1,18193,33],[65,128],[57],[50,2323],[33,51],[48,33,18193],[10,51],[51,2323],[74,18193,33],[65,128],[55],[54,32768],[31,51],[27,18193,33],[8,51],[7,32819],[67,18193,33],[65,128],[61],[50,2579],[37,51],[78,19283,18963],[14,51],[51,2579],[6,18193,33],[65,128],[60],[49,2579],[36,51],[75,18963,18707],[13,51],[7,32819],[77,
|
||||||
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]];l=He.prototype;
|
18193,33],[65,128],[59],[50,3603],[35,51],[24],[12,51],[51,3603],[47,18193,33],[65,128],[56],[69,19219,18963],[32,51],[25],[9,51],[7,32819],[19,18193,33],[65,128]];l=Ie.prototype;
|
||||||
l.Pa=function(a,b,c,d){this.u=b;this.b=c;this.B=a;(a=zc(a,"messages"))&&Le(this,a);this.Fa=Qe;Pd(this,64,function(a){a:{var b=d.u.X,c=a[0],e=a=0,k=b.length;if(c){a=Re(Se(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=zb[c],p&&d.g(t(p.id)+" %"+t(e<<d.u.ia)+" %%"+t(p.F)+" "+u(p.yb)+" "+
|
l.Ra=function(a,b,c,d){this.u=b;this.b=c;this.A=a;(a=Ac(a,"messages"))&&Me(this,a);this.Ha=Re;Qd(this,64,function(a){a:{var b=d.u.X,c=a[0],e=a=0,k=b.length;if(c){a=Se(Te(d,c));if(-1===a){d.g("invalid address: "+c);break a}e=a>>>d.u.ia;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.g("..."):(c=p.type,n=Ab[c],p&&d.g(t(p.id)+" %"+t(e<<d.u.ia)+" %%"+t(p.H)+" "+u(p.Ab)+" "+
|
||||||
u(p.size)+" "+n),c!=$b&&(c=-1),n=0);a+=d.u.Ha;e++}}});F(this)};
|
u(p.size)+" "+n),c!=ac&&(c=-1),n=0);a+=d.u.Ja;e++}}});F(this)};
|
||||||
l.pa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ha=this.N[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Cc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.j<d.w.length-1&&(b=d.w[++d.j])):40==a.keyCode&&(0<d.j?b=d.w[--d.j]:(b="",d.j=-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.N[b]=c,Ea(c,function(){if(d.ha){var a=d.ha.value;
|
l.qa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ha=this.N[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.j<d.w.length-1&&(b=d.w[++d.j])):40==a.keyCode&&(0<d.j?b=d.w[--d.j]:(b="",d.j=-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.N[b]=c,Fa(c,function(){if(d.ha){var a=d.ha.value;
|
||||||
d.ha.value="";Cc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Ea(c,function(a){var b=!1;kb(d,!0)||(jb(d,!0),b=d.kb(a?1:0),jb(d,!1));return b}),!0}return!1};l.xb=function(){this.ha&&this.ha.focus()};function Re(a){a=a&&a.F;null==a&&(a=-1);return a}l.aa=function(a,b){var c=255,d=Re(a);-1!==d&&(c=Ab(this.u,d),b&&sf(a,b));return c};l.$a=function(a,b){var c=65535,d=Re(a);-1!==d&&(c=Bb(this.u,d),b&&sf(a,b));return c};
|
d.ha.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.N[b]=c,Fa(c,function(a){var b=!1;lb(d,!0)||(kb(d,!0),b=d.mb(a?1:0),kb(d,!1));return b}),!0}return!1};l.zb=function(){this.ha&&this.ha.focus()};function Se(a){a=a&&a.H;null==a&&(a=-1);return a}l.aa=function(a,b){var c=255,d=Se(a);-1!==d&&(c=Bb(this.u,d),b&&Ue(a,b));return c};l.ab=function(a,b){var c=65535,d=Se(a);-1!==d&&(c=Cb(this.u,d),b&&Ue(a,b));return c};
|
||||||
l.va=function(a,b,c){var d=Re(a);-1!==d&&(Db(this.u,d,b),c&&sf(a,c),Dc(this.b,!0))};l.Ib=function(a,b,c){var d=Re(a);if(-1!==d){var e=this.u,f=d&e.u,g=(d&e.w)>>>e.ia;f!=e.u?e.X[g].Tb(f,b&65535,d):(e.X[g++].zb(f,b&255,d),e.X[g&e.G].zb(0,b>>8&255,d+1));c&&sf(a,c);Dc(this.b,!0)}};function Y(a){return{F:a,Oa:!1}}function tf(a){return[a.F,a.Oa]}function uf(a){return{F:a[0],Oa:a[1]}}
|
l.va=function(a,b,c){var d=Se(a);-1!==d&&(Db(this.u,d,b),c&&Ue(a,c),Ec(this.b,!0))};l.Jb=function(a,b,c){var d=Se(a);if(-1!==d){var e=this.u,f=d&e.u,g=(d&e.w)>>>e.ia;f!=e.u?e.X[g].Wb(f,b&65535,d):(e.X[g++].Bb(f,b&255,d),e.X[g&e.G].Bb(0,b>>8&255,d+1));c&&Ue(a,c);Ec(this.b,!0)}};function Y(a){return{H:a,Qa:!1}}function uf(a){return[a.H,a.Qa]}function vf(a){return{H:a[0],Qa:a[1]}}
|
||||||
function Se(a,b,c){var d;c=(c?a.M:a.Ua).F;if(void 0!==b){d=b=Ce(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].Qa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=Y(d));break}}if(d=e)return d;c=Be(a,b,void 0)}null!=c&&(d=Y(c));return d}function vf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Fd=a.Fb(b.Bc=c[2]))}function sf(a,b){null!=a.F&&(a.F+=b||1)}function Z(a){return t(a,4)}
|
function Te(a,b,c){var d;c=(c?a.M:a.Va).H;if(void 0!==b){d=b=De(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].Ea[d];if(void 0!==f){d=f.o;void 0!==d&&(e=Y(d));break}}if(d=e)return d;c=Ce(a,b,void 0)}null!=c&&(d=Y(c));return d}function wf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Id=a.Gb(b.Ec=c[2]))}function Ue(a,b){null!=a.H&&(a.H+=b||1)}function Z(a){return t(a,4)}
|
||||||
function wf(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Le(a,b){a.H=a;a.ta=a.Id=536870912;a.la=null;a.ra=[];b=a.Fb(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in rb)0<=sa(b,c)&&(a.ta|=rb[c],a.g(c+" messages enabled"))}function Pd(a,b,c){for(var d in rb)if(b==rb[d]){a.wa[d]=c;break}}
|
function xf(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.aa(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function Me(a,b){a.I=a;a.ta=a.Ld=536870912;a.la=null;a.ma=[];b=a.Gb(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in sb)0<=sa(b,c)&&(a.ta|=sb[c],a.g(c+" messages enabled"))}function Qd(a,b,c){for(var d in sb)if(b==sb[d]){a.wa[d]=c;break}}
|
||||||
l.Mb=function(a,b){var c;a=a.toUpperCase();null==b?c=sa(Pe,a):(c=sa(Pe,a.substr(b,2)),0>c&&(c=sa(Pe,a.substr(b,1))));return c};function xf(a,b){var c=0;a=a.Nb(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"}
|
l.Nb=function(a,b){var c;a=a.toUpperCase();null==b?c=sa(Qe,a):(c=sa(Qe,a.substr(b,2)),0>c&&(c=sa(Qe,a.substr(b,1))));return c};function yf(a,b){var c=0;a=a.Ob(b);if(void 0!==a)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 6:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?t(a,c):"??"}
|
||||||
l.Nb=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Uc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Wc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.oa;break;case 12:b=c.R;break;case 13:b=Tc(c);break;case 14:b=Tc(c)&255|c.i<<8}}return b};
|
l.Ob=function(a){var b;if(0<=a){var c=this.b;switch(a){case 7:b=c.i;break;case 0:b=c.S;break;case 1:b=c.T;break;case 8:b=Vc(c);break;case 2:b=c.U;break;case 3:b=c.V;break;case 9:b=Xc(c);break;case 4:b=c.W;break;case 5:b=c.Z;break;case 10:b=K(c);break;case 6:b=c.aa(K(c));break;case 11:b=c.pa;break;case 12:b=c.R;break;case 13:b=Uc(c);break;case 14:b=Uc(c)&255|c.i<<8}}return b};
|
||||||
function yf(a,b){b=Ce(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Mb(b,c+1),0<=e&&(b=b.substr(0,c)+xf(a,e)+b.substr(c+1+Pe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Se(a,e))?(d=e+' "'+wf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Se(a,e))?(sf(d),d=e+
|
function zf(a,b){b=De(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.Nb(b,c+1),0<=e&&(b=b.substr(0,c)+yf(a,e)+b.substr(c+1+Qe[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=aa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Te(a,e))?(d=e+' "'+xf(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Te(a,e))?(Ue(d),d=e+
|
||||||
' "'+wf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).F));this.ta&1073741824?this.ra.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.qa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Lc(a),a.P=0,Dc(a)))};
|
' "'+xf(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Z(Y(this.b.R).H));this.ta&1073741824?this.ma.push(a):this.la&&a==this.la||(this.la=a,this.ta&-2147483648&&(this.ra(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,Mc(a),a.P=0,Ec(a)))};
|
||||||
function gb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.cb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))}
|
function hb(a,b,c,d,e,f,g,h){h|=256;null!=f&&(a.ta&h)!=h||a.message(b.eb+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+ca(d):"")+")"+(null!=g?": "+ca(g):"")+(null!=e?" at "+Z(e):""))}
|
||||||
function Ke(a){var b;if(Id(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b<a.L.length;b++)a.L[b]=Y();a.fa=0;a.g("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),b=0;b<a.J.length;b++)a.J[b]=[b,0]}else a.L&&a.L.length&&a.g("instruction history buffer freed"),a.fa=0,a.L=[],a.J=[]}l.bb=function(a){if(!zf(this))return!1;this.b.bb(a);return!0};
|
function Le(a){var b;if(Jd(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b<a.L.length;b++)a.L[b]=Y();a.fa=0;a.g("instruction history buffer allocated")}if(!a.K||!a.K.length)for(a.K=Array(256),b=0;b<a.K.length;b++)a.K[b]=[b,0]}else a.L&&a.L.length&&a.g("instruction history buffer freed"),a.fa=0,a.L=[],a.K=[]}l.cb=function(a){if(!Af(this))return!1;this.b.cb(a);return!0};
|
||||||
l.kb=function(a,b,c){if(!zf(this))return!1;this.K=0;a||Id(this)&&Jd(this,this.b.R,0);try{var d=this.b.kb(a);0<d&&(this.K+=d,Hc(this.b,d,!0),Ec(this.b,d),this.ba++)}catch(e){"number"!=typeof e&&(this.K=0,ob(this.b,e.stack||e.message))}!1!==c&&Dc(this.b);this.Ja(b||!1);return 0<this.K};l.qa=function(a){this.b&&this.b.qa(a)};l.Ja=function(a){void 0===a&&(a=!0);this.M=Y(this.b.R);a&&1!=this.Y?Af(this):Bf(this)};
|
l.mb=function(a,b,c){if(!Af(this))return!1;this.J=0;a||Jd(this)&&Kd(this,this.b.R,0);try{var d=this.b.mb(a);0<d&&(this.J+=d,Ic(this.b,d,!0),Fc(this.b,d),this.ba++)}catch(e){"number"!=typeof e&&(this.J=0,nb(this.b,e.stack||e.message))}!1!==c&&Ec(this.b);this.La(b||!1);return 0<this.J};l.ra=function(a){this.b&&this.b.ra(a)};l.La=function(a){void 0===a&&(a=!0);this.M=Y(this.b.R);a&&1!=this.Y?Bf(this):Cf(this)};
|
||||||
function zf(a){var b;if(b=a.b&&lb(a.b))b=a.b,b.C.xa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!kb(a.b)?(a=a.b,a.C.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ea=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ia=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ke(this);this.ba=this.ma=0;this.la=null;this.K=0;this.M=Y(this.b.R);this.C.Aa=!1;Cf(this);a||this.Ja()};
|
function Af(a){var b;if(b=a.b&&mb(a.b))b=a.b,b.D.xa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!lb(a.b)?(a=a.b,a.D.error?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Ka=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Le(this);this.ba=this.na=0;this.la=null;this.J=0;this.M=Y(this.b.R);this.D.Aa=!1;Df(this);a||this.La()};
|
||||||
l.save=function(){var a=new J(this);a.set(0,tf(this.M));a.set(1,tf(this.ca));a.set(2,[this.w,this.P,this.ta]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=uf(a[b++]),this.ca=uf(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.P=a[b][1],this.ta|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.Y||this.g("running");this.C.Aa=!0;this.nb=a;this.ob=b};
|
l.save=function(){var a=new J(this);a.set(0,uf(this.M));a.set(1,uf(this.ca));a.set(2,[this.w,this.P,this.ta]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=vf(a[b++]),this.ca=vf(a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.P=a[b][1],this.ta|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.Y||this.g("running");this.D.Aa=!0;this.pb=a;this.qb=b};
|
||||||
l.stop=function(a,b){if(this.C.Aa){this.C.Aa=!1;this.K=b-this.ob;if(!this.Y){b="stopped";if(this.K){a-=this.nb;var c=0<a?Math.round(1E3*this.K/a):0;b+=" (";Id(this)&&(b+=this.ba+" opcodes, ",this.ma-=this.ba,this.ba=0);b+=this.K+" cycles, "+a+" ms, "+c+" hz)"}else ib(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ja(!0);this.xb();Cf(this,this.b.R)}};function Id(a){return 1<a.I.length||!!a.ja}
|
l.stop=function(a,b){if(this.D.Aa){this.D.Aa=!1;this.J=b-this.qb;if(!this.Y){b="stopped";if(this.J){a-=this.pb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";Jd(this)&&(b+=this.ba+" opcodes, ",this.na-=this.ba,this.ba=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else jb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.La(!0);this.zb();Df(this,this.b.R)}};function Jd(a){return 1<a.F.length||!!a.ja}
|
||||||
function Jd(a,b,c){var d=a.b;if(0<c&&(a.ja&&!--a.ja||ic(a,b,1,a.I)))return!0;0<=c&&a.J.length&&(a.ba++,b=Ab(a.u,b),null!=b&&(a.J[b][1]++,b=a.L[a.fa],b.F=d.R,b.Oa=!1,++a.fa==a.L.length&&(a.fa=0)));return!1}function Rb(a,b,c){a.g("break on input from port "+u(b)+": "+t(c));a.qa(!0)}function Vb(a,b,c){a.g("break on output to port "+u(b)+": "+t(c));a.qa(!0)}
|
function Kd(a,b,c){var d=a.b;if(0<c&&(a.ja&&!--a.ja||jc(a,b,1,a.F)))return!0;0<=c&&a.K.length&&(a.ba++,b=Bb(a.u,b),null!=b&&(a.K[b][1]++,b=a.L[a.fa],b.H=d.R,b.Qa=!1,++a.fa==a.L.length&&(a.fa=0)));return!1}function Sb(a,b,c){a.g("break on input from port "+u(b)+": "+t(c));a.ra(!0)}function Wb(a,b,c){a.g("break on output to port "+u(b)+": "+t(c));a.ra(!0)}
|
||||||
function Je(a){var b,c;a.I=["bp"];if(a.O)for(b=1;b<a.O.length;b++){c=a.O[b];var d=a.u;jc(d.X[Re(c)>>>d.ia],!1)}a.O=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.u,jc(d.X[Re(c)>>>d.ia],!0);a.D=["bw"];a.Wa=0}l.Za=function(a,b,c){var d=!0;c||Df(this,a,b,!1,!0);if(a!=this.I){var e=Re(b);if(-1===e)this.g("invalid address: "+Z(b.F)),d=!1;else{var f=this.u;f.X[e>>>f.ia].Za(e&f.u,a==this.D)}}d&&(a.push(b),c?b.Oa=!0:(Ef(this,a,a.length-1,"set"),Ke(this)));return d};
|
function Ke(a){var b,c;a.F=["bp"];if(a.O)for(b=1;b<a.O.length;b++){c=a.O[b];var d=a.u;kc(d.X[Se(c)>>>d.ia],!1)}a.O=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.u,kc(d.X[Se(c)>>>d.ia],!0);a.C=["bw"];a.Xa=0}l.$a=function(a,b,c){var d=!0;c||Ef(this,a,b,!1,!0);if(a!=this.F){var e=Se(b);if(-1===e)this.g("invalid address: "+Z(b.H)),d=!1;else{var f=this.u;f.X[e>>>f.ia].$a(e&f.u,a==this.C)}}d&&(a.push(b),c?b.Qa=!0:(Ff(this,a,a.length-1,"set"),Le(this)));return d};
|
||||||
function Df(a,b,c,d,e){var f=!1;c=Re(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Re(h)&&(!d||h.Oa)){f=!0;h.Oa||e||Ef(a,b,g,"cleared");b.splice(g,1);b!=a.I&&(d=a.u,jc(d.X[c>>>d.ia],b==a.D));h.Oa||Ke(a);break}}return f}function Ff(a,b){for(var c=1;c<b.length;c++)Ef(a,b,c);return b.length-1}function Ef(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.F)+(d?" "+d:c.Bc?' "'+c.Bc+'"':""))}
|
function Ef(a,b,c,d,e){var f=!1;c=Se(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Se(h)&&(!d||h.Qa)){f=!0;h.Qa||e||Ff(a,b,g,"cleared");b.splice(g,1);b!=a.F&&(d=a.u,kc(d.X[c>>>d.ia],b==a.C));h.Qa||Le(a);break}}return f}function Gf(a,b){for(var c=1;c<b.length;c++)Ff(a,b,c);return b.length-1}function Ff(a,b,c,d){c=b[c];a.g(b[0]+" "+Z(c.H)+(d?" "+d:c.Ec?' "'+c.Ec+'"':""))}
|
||||||
function Cf(a,b){if(void 0!==b)ic(a,b,1,a.I,!0),a.Y=0;else for(b=1;b<a.I.length;b++){var c=a.I[b];if(c.Oa){if(!Df(a,a.I,c,!0))break;b=0}}}
|
function Df(a,b){if(void 0!==b)jc(a,b,1,a.F,!0),a.Y=0;else for(b=1;b<a.F.length;b++){var c=a.F[b];if(c.Qa){if(!Ef(a,a.F,c,!0))break;b=0}}}
|
||||||
function ic(a,b,c,d,e){var f=!1;if(!a.Wa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Oa)for(var k=Re(h),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.Oa&&(Df(a,d,h,!0),e=!0);if(p=h.Fd){for(var f=!1,q=0;q<p.length;q++)if(!Gf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var x=q+1;x<p.length&&p[x].indexOf("else");x++)q++;if(x==p.length){f=!0;break}}a.b.C.Aa||(f=!0)}if(f){e||Ef(a,d,g,"hit");break}}}a.Wa--;return f}
|
function jc(a,b,c,d,e){var f=!1;if(!a.Xa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Qa)for(var k=Se(h),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.Qa&&(Ef(a,d,h,!0),e=!0);if(p=h.Id){for(var f=!1,q=0;q<p.length;q++)if(!Hf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var x=q+1;x<p.length&&p[x].indexOf("else");x++)q++;if(x==p.length){f=!0;break}}a.b.D.Aa||(f=!0)}if(f){e||Ff(a,d,g,"hit");break}}}a.Xa--;return f}
|
||||||
function Hf(a,b,c,d){for(var e=Y(b.F),f=a.aa(b,1),g=a.Fa[f],h="",k=(8086!=a.style?Ne:Oe)[g[0]],n=g.length-1,p=0,q,x=1;x<=n;x++){var v="";q=g[x];if(void 0!==q&&!(q&16384&&a.style==Ie)){var r=q&240;if(r){var y=q&15;y?p=y:q|=p;q&61440||(q|=1==x?8192:4096);if(r&32)a:{v=a;r=q;y=b;switch(r&15){case 1:y=t(v.aa(y,1),2);break;case 2:y=t(v.aa(y,1)<<24>>24,4);break;case 3:y=t(v.$a(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Ie?"$":"0x")+y);v=y}else r&16?
|
function If(a,b,c,d){for(var e=Y(b.H),f=a.aa(b,1),g=a.Ha[f],h="",k=(8086!=a.style?Oe:Pe)[g[0]],n=g.length-1,p=0,q,x=1;x<=n;x++){var v="";q=g[x];if(void 0!==q&&!(q&16384&&a.style==Je)){var r=q&240;if(r){var y=q&15;y?p=y:q|=p;q&61440||(q|=1==x?8192:4096);if(r&32)a:{v=a;r=q;y=b;switch(r&15){case 1:y=t(v.aa(y,1),2);break;case 2:y=t(v.aa(y,1)<<24>>24,4);break;case 3:y=t(v.ab(y,2),4);break;default:v="imm("+u(r)+")";break a}8086==v.style&&r&64?y="["+y+"]":r&16||(y=(v.style==Je?"$":"0x")+y);v=y}else r&16?
|
||||||
(v=(q&3840)>>8,r=Pe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0<h.length&&(h+=",");h+=v||"???"}}}f="";g=Z(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=t(a.aa(e,1),2),null==e.F)break;while(e.F!=b.F)}g+=ma(f,10);g=g+(q&32768?"*":" ")+ma(k,7);h&&(g+=" "+h);c&&(g=ma(g,40)+";"+c,g=a.b.C.fb?g+("cycles="+Fc(a.b).toString()+" cs="+t(a.b.tb)):g+(null!=d?"="+d.toString():""));return g}
|
(v=(q&3840)>>8,r=Qe[v],8086==a.style&&q&64&&(6==v&&(r="HL"),r="["+r+"]"),v=r):r&128&&(v=(f>>3&7).toString());if(!v||!v.length){h="INVALID";break}0<h.length&&(h+=",");h+=v||"???"}}}f="";g=Z(e.H)+" ";if(-1!==e.H&&-1!==b.H){do if(f+=t(a.aa(e,1),2),null==e.H)break;while(e.H!=b.H)}g+=ma(f,10);g=g+(q&32768?"*":" ")+ma(k,7);h&&(g+=" "+h);c&&(g=ma(g,40)+";"+c,g=a.b.D.hb?g+("cycles="+Gc(a.b).toString()+" cs="+t(a.b.vb)):g+(null!=d?"="+d.toString():""));return g}
|
||||||
function If(a,b){switch(b){case "IF":a=a.b.ua&512;break;case "SF":a=dd(a.b);break;case "ZF":a=cd(a.b);break;case "AF":a=bd(a.b);break;case "PF":a=ad(a.b);break;case "CF":a=Zc(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Jf(a,b){return Pe[b]+"="+xf(a,b)+" "}function Kf(a){return Jf(a,7)+Jf(a,8)+Jf(a,9)+Jf(a,10)+Jf(a,11)+If(a,"IF")+If(a,"SF")+If(a,"ZF")+If(a,"AF")+If(a,"PF")+If(a,"CF")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function Jf(a,b){switch(b){case "IF":a=a.b.ua&512;break;case "SF":a=ed(a.b);break;case "ZF":a=dd(a.b);break;case "AF":a=cd(a.b);break;case "PF":a=bd(a.b);break;case "CF":a=$c(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}function Kf(a,b){return Qe[b]+"="+yf(a,b)+" "}function Lf(a){return Kf(a,7)+Kf(a,8)+Kf(a,9)+Kf(a,10)+Kf(a,11)+Jf(a,"IF")+Jf(a,"SF")+Jf(a,"ZF")+Jf(a,"AF")+Jf(a,"PF")+Jf(a,"CF")}l.xc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function Lf(a,b,c){var d=[],e=Re(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.F>>>0,h=f.Vd;if(e>=g&&e<g+h){e=pa(f.tc,[e-g],a.uc);0<=e?Mf(a,b,e,d):c&&(e=~e,Mf(a,b,e-1,d),Mf(a,b,e,d));break}}return d}function Mf(a,b,c,d){var e={},f=a.G[b].tc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.G[b].Qa[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
function Mf(a,b,c){var d=[],e=Se(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.H>>>0,h=f.Yd;if(e>=g&&e<g+h){e=pa(f.wc,[e-g],a.xc);0<=e?Nf(a,b,e,d):c&&(e=~e,Nf(a,b,e-1,d),Nf(a,b,e,d));break}}return d}function Nf(a,b,c,d){var e={},f=a.G[b].wc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.G[b].Ea[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||||
function Nf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c=0;if(a.J)if("clear"==b){for(b=0;b<a.J.length;b++)a.J[b]=[b,0];a.g("frequency data cleared");c++}else if(void 0!==b)a.g("unknown frequency command: "+b),c++;else{var d=a.J.slice();d.sort(function(a,b){return b[1]-a[1]});var e=8086!=a.style?Ne:Oe;for(b=0;b<d.length;b++){var f=d[b][0],g=d[b][1];g&&(a.g((e[a.Fa[f][0]]+" ").substr(0,5)+" ("+ca(f)+"): "+g+" times"),c++)}}c||a.g("no frequency data available")}}
|
function Of(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c=0;if(a.K)if("clear"==b){for(b=0;b<a.K.length;b++)a.K[b]=[b,0];a.g("frequency data cleared");c++}else if(void 0!==b)a.g("unknown frequency command: "+b),c++;else{var d=a.K.slice();d.sort(function(a,b){return b[1]-a[1]});var e=8086!=a.style?Oe:Pe;for(b=0;b<d.length;b++){var f=d[b][0],g=d[b][1];g&&(a.g((e[a.Ha[f][0]]+" ").substr(0,5)+" ("+ca(f)+"): "+g+" times"),c++)}}c||a.g("no frequency data available")}}
|
||||||
function Of(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ge(a)||a.g("no variables"),!0;if(!c[2])return Ge(a,c[1]);if(!c[3])return delete a.ea[c[1]],!0;b=Be(a,c[3]);return void 0!==b?(a.ea[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
function Pf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return He(a)||a.g("no variables"),!0;if(!c[2])return He(a,c[1]);if(!c[3])return delete a.ea[c[1]],!0;b=Ce(a,c[3]);return void 0!==b?(a.ea[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||||
function Pf(a,b,c){var d=null;if(b=Se(a,b,!0)){var e=Lf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.F-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+Z(e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.F)&&(g=" - "+u(f)),f=e[4]+" ("+Z(e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
function Qf(a,b,c){var d=null;if(b=Te(a,b,!0)){var e=Mf(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.H-e[1])&&(g=" + "+u(f)),f=e[0]+" ("+Z(e[1])+")"+g,c&&a.g(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.H)&&(g=" - "+u(f)),f=e[4]+" ("+Z(e[5])+")"+g,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
|
||||||
function Qf(a,b){switch(b[1]){case "8080":a.style=Ie;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.hb=c;break;case "start":a.b.ub=c;break;case "stop":a.b.ib=c;break;default:a.g("unknown cs option");return}void 0!==c&&Bc(a.b);a.g("checksums "+(a.b.C.fb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Gc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.ab.toFixed(2)+"Mhz")+" ("+
|
function Rf(a,b){switch(b[1]){case "8080":a.style=Je;break;case "8086":a.style=8086;break;case "cs":var c;void 0!==b[3]&&(c=+b[3]);switch(b[2]){case "int":a.b.jb=c;break;case "start":a.b.wb=c;break;case "stop":a.b.kb=c;break;default:a.g("unknown cs option");return}void 0!==c&&Cc(a.b);a.g("checksums "+(a.b.D.hb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Hc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.bb.toFixed(2)+"Mhz")+" ("+
|
||||||
a.b.Ra+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");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;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
|
a.b.Sa+"x)");return;case "?":a.g("debugger options:");a.g("\t8080\t\tselect 8080-style mnemonics");a.g("\t8086\t\tselect 8086-style mnemonics");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;default:if(b[1]){a.g("unknown option: "+b[1]);return}}a.g(a.style+"-style mnemonics enabled")}
|
||||||
function Af(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=Be(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.i=f&255;break;case "B":d.S=f&255;break;case "BC":d.S=f>>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break;
|
function Bf(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=Ce(a,b);if(void 0===f)return;switch(e.toUpperCase()){case "A":d.i=f&255;break;case "B":d.S=f&255;break;case "BC":d.S=f>>8&255;case "C":d.T=f&255;break;case "D":d.U=f&255;break;
|
||||||
case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.oa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Rc(d,f);break;case "PSW":Rc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?ad(d)||(d.ga^=1):ad(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?dd(d)||(d.ga^=192):dd(d)&&(d.ga^=192);break;
|
case "DE":d.U=f>>8&255;case "E":d.V=f&255;break;case "H":d.W=f&255;break;case "HL":d.W=f>>8&255;case "L":d.Z=f&255;break;case "SP":d.pa=f&65535;break;case "PC":I(d,f);a.M=Y(d.R);break;case "PS":Sc(d,f);break;case "PSW":Sc(d,f&255|d.ua&-256);d.i=f>>8;break;case "CF":d.da=f?d.da|256:d.da&255;break;case "PF":f?bd(d)||(d.ga^=1):bd(d)&&(d.ga^=1);break;case "AF":d.ya=f?~d.ga&16|d.ya&-17:d.ga&16|d.ya&-17;break;case "ZF":d.da=f?d.da&-256:d.da|255;break;case "SF":f?ed(d)||(d.ga^=192):ed(d)&&(d.ga^=192);break;
|
||||||
case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Dc(d);a.g("updated registers:")}a.g(Kf(a));c&&(a.M=Y(d.R),Bf(a,Z(a.M.F)))}}function Rf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(yf(a,c[2])):Be(a,b,!0)}function Sf(a,b,c){var d="t"!=b;c=De(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Da(c,function(){return jb(a,!0)&&a.kb(e,d,!1)},function(){Dc(a.b);jb(a,!1)})}
|
case "IF":d.ua=f?d.ua|512:d.ua&-513;break;default:a.g("unknown register: "+e);return}Ec(d);a.g("updated registers:")}a.g(Lf(a));c&&(a.M=Y(d.R),Cf(a,Z(a.M.H)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(zf(a,c[2])):Ce(a,b,!0)}function Tf(a,b,c){var d="t"!=b;c=Ee(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ea(c,function(){return kb(a,!0)&&a.mb(e,d,!1)},function(){Ec(a.b);kb(a,!1)})}
|
||||||
function Bf(a,b,c,d){if(b=Se(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Se(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=kb(a,!1)||a.Y?a.K:null;var g=null!=f?"cycles":null,h=Lf(a,b),k=b.F;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=Hf(a,b,g,f);a.g(f);a.M=b;e-=b.F-k;c++}}}
|
function Cf(a,b,c,d){if(b=Te(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Te(a,c,!0);if(!d||d.H<b.H)return;e=d.H-b.H;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=lb(a,!1)||a.Y?a.J:null;var g=null!=f?"cycles":null,h=Mf(a,b),k=b.H;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.g(n)}h[3]&&(g=h[3],f=null);f=If(a,b,g,f);a.g(f);a.M=b;e-=b.H-k;c++}}}
|
||||||
l.Fb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
l.Gb=function(a,b,c){if(b)if(a){0>this.j&&this.w.length&&(this.j=0);if(0>this.j||a!=this.w[this.j])this.w.splice(0,0,a),this.j=0;this.j--}else this.P?a="end":a=this.w[this.j+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(na(a.substring(d,f))),d=f+1}}return b};
|
||||||
function Gf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.F)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(lb(a)&&0<b.length){a.P&&(b="a "+Z(a.ca.F)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var n=g.charAt(k);if("?"==h||"r"==h||"a">n||"z"<n){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=Se(a,f[1],!0);if(p)if(a.ca=
|
function Hf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.P&&(a.g("ended assemble at "+Z(a.ca.H)),a.M=a.ca,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.la=null;if(mb(a)&&0<b.length){a.P&&(b="a "+Z(a.ca.H)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var g=f[0],h=g.charAt(0),k=1;k<g.length;k++){var n=g.charAt(k);if("?"==h||"r"==h||"a">n||"z"<n){f[0]=g.substr(k);f.unshift(g.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=Te(a,f[1],!0);if(p)if(a.ca=
|
||||||
p,void 0===f[2])a.g("begin assemble at "+Z(p.F)),a.P=!0,Dc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var x=0;x<q.length;x++)a.va(p,q[x],1);a.g(Hf(a,a.ca))}}break;case "b":a:{var v=f[0],r=f[1],y=b;if("?"==r)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),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]"),
|
p,void 0===f[2])a.g("begin assemble at "+Z(p.H)),a.P=!0,Ec(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var x=0;x<q.length;x++)a.va(p,q[x],1);a.g(If(a,a.ca))}}break;case "b":a:{var v=f[0],r=f[1],y=b;if("?"==r)a.g("breakpoint commands:"),a.g("\tbi [p]\ttoggle break on input port [p]"),a.g("\tbo [p]\ttoggle break on output port [p]"),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 G=v.charAt(1);if("l"==G){var ga;ga=0+Ff(a,a.I);ga+=Ff(a,a.O);(ga+=Ff(a,a.D))||a.g("no breakpoints")}else if("n"==G)a.ja=De(a,r),a.g("break after "+a.ja+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var C=Y();if("*"!=r&&(C=Se(a,r,!0),!C))break a;r=u(C.F);"c"==G?null==C.F?(Je(a),a.g("all breakpoints cleared")):Df(a,a.I,C)||Df(a,a.O,C)||Df(a,a.D,C)||a.g("breakpoint missing: "+Z(C.F)):
|
a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");else{var H=v.charAt(1);if("l"==H){var ga;ga=0+Gf(a,a.F);ga+=Gf(a,a.O);(ga+=Gf(a,a.C))||a.g("no breakpoints")}else if("n"==H)a.ja=Ee(a,r),a.g("break after "+a.ja+" instruction(s)");else if(void 0===r)a.g("missing breakpoint address");else{var C=Y();if("*"!=r&&(C=Te(a,r,!0),!C))break a;r=u(C.H);"c"==H?null==C.H?(Ke(a),a.g("all breakpoints cleared")):Ef(a,a.F,C)||Ef(a,a.O,C)||Ef(a,a.C,C)||a.g("breakpoint missing: "+Z(C.H)):
|
||||||
"i"==G?a.g("breakpoint "+(Fb(a.u,C.F)?"enabled":"cleared")+": port "+r+" (input)"):"o"==G?a.g("breakpoint "+(Sb(a.u,C.F)?"enabled":"cleared")+": port "+r+" (output)"):null!=C.F&&(vf(a,C,y),"p"==G?a.Za(a.I,C):"r"==G?a.Za(a.O,C):"w"==G?a.Za(a.D,C):a.g("unknown breakpoint command: "+G))}}}break;case "c":a.Ga&&(a.Ga.value="");break;case "d":a:{var T,da=f[0],X=f[1],ta=f[2],Cb=f[3];if("?"==X){var mb="";for(T in rb)a.wa[T]&&(mb&&(mb+=","),mb+=T);mb+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");
|
"i"==H?a.g("breakpoint "+(Gb(a.u,C.H)?"enabled":"cleared")+": port "+r+" (input)"):"o"==H?a.g("breakpoint "+(Tb(a.u,C.H)?"enabled":"cleared")+": port "+r+" (output)"):null!=C.H&&(wf(a,C,y),"p"==H?a.$a(a.F,C):"r"==H?a.$a(a.O,C):"w"==H?a.$a(a.C,C):a.g("unknown breakpoint command: "+H))}}}break;case "c":a.Ia&&(a.Ia.value="");break;case "d":a:{var T,da=f[0],X=f[1],ta=f[2],Eb=f[3];if("?"==X){var ob="";for(T in sb)a.wa[T]&&(ob&&(ob+=","),ob+=T);ob+=",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");mb.length&&a.g("dump extension commands:\n\t"+mb)}else if("state"==X){var Te=Tf(a.B,!0);"console"==ta?console.log(Te):(a.Ga&&(a.Ga.value=""),a.g(Te))}else if("symbols"==X)for(var jd=0;jd<a.G.length;jd++){var kd=a.G[jd],nb;for(nb in kd.Qa)if("."!=nb.charAt(0)){var Ue=kd.Qa[nb].o;if(void 0!==Ue){var Ve=kd.Qa[nb].l;Ve&&(nb=Ve);a.g(Z(Ue)+" "+nb)}}}else{if("d"==
|
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");ob.length&&a.g("dump extension commands:\n\t"+ob)}else if("state"==X){var Ve=Uf(a.A,!0);"console"==ta?console.log(Ve):(a.Ia&&(a.Ia.value=""),a.g(Ve))}else if("symbols"==X)for(var kd=0;kd<a.G.length;kd++){var ld=a.G[kd],pb;for(pb in ld.Ea)if("."!=pb.charAt(0)){var We=ld.Ea[pb].o;if(void 0!==We){var Xe=ld.Ea[pb].l;Xe&&(pb=Xe);a.g(Z(We)+" "+pb)}}}else{if("d"==
|
||||||
da){for(T in rb)if(f[1]==T){var We=a.wa[T];We?(f.shift(),f.shift(),We(f)):a.g("no dump registered for "+X);break a}X||(da=a.qb||"db")}else a.qb=da;if("dh"==da){var Xe=X,Ye=ta,Ze="",$e=0,ua=a.fa,Fa=a.L;if(Fa.length){var ia=+Xe||a.eb,Gb=+Ye||10;isNaN(ia)?ia=Gb:Ze="more ";ia>Fa.length&&(a.g("note: only "+Fa.length+" available"),ia=Fa.length);ua-=ia;0>ua&&(null==Fa[Fa.length-1].F?(ia=ua+ia,ua=0):ua+=Fa.length);var ld=[];"call"==Ye&&(Gb=1E5,ld=["CALL"]);for(void 0!==Xe&&a.g(ia+" instructions earlier:");0<
|
da){for(T in sb)if(f[1]==T){var Ye=a.wa[T];Ye?(f.shift(),f.shift(),Ye(f)):a.g("no dump registered for "+X);break a}X||(da=a.sb||"db")}else a.sb=da;if("dh"==da){var Ze=X,$e=ta,af="",bf=0,ua=a.fa,Ga=a.L;if(Ga.length){var ia=+Ze||a.gb,Ib=+$e||10;isNaN(ia)?ia=Ib:af="more ";ia>Ga.length&&(a.g("note: only "+Ga.length+" available"),ia=Ga.length);ua-=ia;0>ua&&(null==Ga[Ga.length-1].H?(ia=ua+ia,ua=0):ua+=Ga.length);var md=[];"call"==$e&&(Ib=1E5,md=["CALL"]);for(void 0!==Ze&&a.g(ia+" instructions earlier:");0<
|
||||||
Gb&&ua!=a.fa;){var af=Fa[ua++];if(null==af.F)break;var Hb=Y(af.F),kg=ia--,bf=Hf(a,Hb,"history",kg);(!ld.length||0<=bf.indexOf(ld[0]))&&a.g(bf);Hb.Lb&&(ua+=Hb.Lb,Gb-=Hb.Lb,ia-=Hb.Lb);ua>=Fa.length&&(ua=0);a.eb=ia;$e++;Gb--}}$e||(a.g("no "+Ze+"history available"),a.eb=void 0)}else{var nc=Se(a,X);if(nc){var oc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Cb),oc=De(a,ta)>>>0,65536<oc&&(oc=65536));for(var Ib="",pc="dd"==da?4:"dw"==da?2:1,qc=pc*oc||128,lg=qc+15>>4||1;lg--&&0<qc;){var rc=0,md=0,Jb,nd="",
|
Ib&&ua!=a.fa;){var cf=Ga[ua++];if(null==cf.H)break;var Jb=Y(cf.H),lg=ia--,df=If(a,Jb,"history",lg);(!md.length||0<=df.indexOf(md[0]))&&a.g(df);Jb.Mb&&(ua+=Jb.Mb,Ib-=Jb.Mb,ia-=Jb.Mb);ua>=Ga.length&&(ua=0);a.gb=ia;bf++;Ib--}}bf||(a.g("no "+af+"history available"),a.gb=void 0)}else{var oc=Te(a,X);if(oc){var pc=0;ta&&("l"==ta.charAt(0)&&(ta=ta.substr(1)||Eb),pc=Ee(a,ta)>>>0,65536<pc&&(pc=65536));for(var Kb="",qc="dd"==da?4:"dw"==da?2:1,rc=qc*pc||128,mg=rc+15>>4||1;mg--&&0<rc;){var sc=0,nd=0,Lb,od="",
|
||||||
cf="",X=Z(nc.F);for(Jb=16;0<Jb&&0<qc;Jb--){var sc=a.aa(nc,1),rc=rc|sc<<(md++<<3);md==pc&&(nd+=t(rc,2*pc),nd+=1==pc?9==Jb?"-":" ":" ",rc=md=0);cf+=32<=sc&&128>sc?String.fromCharCode(sc):".";qc--}Ib&&(Ib+="\n");Ib+=X+" "+nd+(Jb?"":" "+cf)}Ib&&a.g(Ib);a.Ua=nc}}}}break;case "e":if("else"==f[0])break;var tc=1,df=255,ef=a.aa,ff=a.va;"ew"==f[0]&&(tc=2,df=65535,ef=a.$a,ff=a.Ib);var gf=tc<<1,hf=f[1];if(null==hf)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");
|
ef="",X=Z(oc.H);for(Lb=16;0<Lb&&0<rc;Lb--){var tc=a.aa(oc,1),sc=sc|tc<<(nd++<<3);nd==qc&&(od+=t(sc,2*qc),od+=1==qc?9==Lb?"-":" ":" ",sc=nd=0);ef+=32<=tc&&128>tc?String.fromCharCode(tc):".";rc--}Kb&&(Kb+="\n");Kb+=X+" "+od+(Lb?"":" "+ef)}Kb&&a.g(Kb);a.Va=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,ff=255,gf=a.aa,hf=a.va;"ew"==f[0]&&(uc=2,ff=65535,gf=a.ab,hf=a.Jb);var jf=uc<<1,kf=f[1];if(null==kf)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 uc=Se(a,hf);if(uc)for(var vc=2;vc<f.length;vc++){var Kb=Be(a,f[vc]);if(void 0===Kb){a.g("unrecognized value: "+f[vc]);break}Kb&~df&&a.g("warning: "+t(Kb)+" exceeds "+tc+"-byte value");var mg=ef.call(a,uc);a.g("changing "+Z(uc.F)+" from "+t(mg,gf,!0)+" to "+t(Kb,gf,!0));ff.call(a,uc,Kb,tc)}}break;case "f":Nf(a,f[1]);break;case "g":a:{var jf=f[1],ng=b;if(void 0!==jf){var od=Se(a,jf,!0);if(!od)break a;vf(a,od,ng);a.Za(a.I,od,!0)}a.bb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;
|
else{var vc=Te(a,kf);if(vc)for(var wc=2;wc<f.length;wc++){var Mb=Ce(a,f[wc]);if(void 0===Mb){a.g("unrecognized value: "+f[wc]);break}Mb&~ff&&a.g("warning: "+t(Mb)+" exceeds "+uc+"-byte value");var ng=gf.call(a,vc);a.g("changing "+Z(vc.H)+" from "+t(ng,jf,!0)+" to "+t(Mb,jf,!0));hf.call(a,vc,Mb,uc)}}break;case "f":Of(a,f[1]);break;case "g":a:{var lf=f[1],og=b;if(void 0!==lf){var pd=Te(a,lf,!0);if(!pd)break a;wf(a,pd,og);a.$a(a.F,pd,!0)}a.cb(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;
|
||||||
case "h":a:{var pd;if(a.C.Aa)pd="halting",a.qa();else{if(kb(a,!0))break a;pd="already halted"}c||a.g(pd)}break;case "i":if("if"==f[0]){var qd;var Lb=b.substr(2),Lb=na(Lb);Be(a,Lb)?(c||a.g("true: "+Lb),qd=!0):(c||a.g("false: "+Lb),qd=!1);qd||(d=!1);break}if("int"==f[0]){var wc;var og=f[1];if(a.b.ua&512){var rd=Be(a,og);null==rd?wc=!1:(a.g("requesting interrupt level "+rd),Hd(a.b,rd),wc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),wc=!1;wc||(d=!1);break}var sd=f[1];if(sd&&"?"!=sd){var td=
|
case "h":a:{var qd;if(a.D.Aa)qd="halting",a.ra();else{if(lb(a,!0))break a;qd="already halted"}c||a.g(qd)}break;case "i":if("if"==f[0]){var rd;var Nb=b.substr(2),Nb=na(Nb);Ce(a,Nb)?(c||a.g("true: "+Nb),rd=!0):(c||a.g("false: "+Nb),rd=!1);rd||(d=!1);break}if("int"==f[0]){var xc;var pg=f[1];if(a.b.ua&512){var sd=Ce(a,pg);null==sd?xc=!1:(a.g("requesting interrupt level "+sd),Id(a.b,sd),xc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),xc=!1;xc||(d=!1);break}var td=f[1];if(td&&"?"!=td){var ud=
|
||||||
De(a,sd);if(void 0!==td){var pg=Qb(a.u,td);a.g(u(td)+": "+ca(pg))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var qg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var ud=0,kf=Y(),Mb=Y(a.b.oa);for(a.g("stack trace for "+Z(Mb.F));10>ud;){for(var Xa=null,rg=256;65536>Mb.F>>>0;){kf.F=a.$a(Mb,2);if(null==Mb.F||!rg--)break;for(var sg=a,xc=kf,lf=
|
Ee(a,td);if(void 0!==ud){var qg=Rb(a.u,ud);a.g(u(ud)+": "+ca(qg))}}else a.g("input commands:"),a.g("\ti [p]\tread port [p]"),a.g("warning: port accesses can affect hardware state");break;case "k":var rg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var vd=0,mf=Y(),Ob=Y(a.b.pa);for(a.g("stack trace for "+Z(Ob.H));10>vd;){for(var Za=null,sg=256;65536>Ob.H>>>0;){mf.H=a.ab(Ob,2);if(null==Ob.H||!sg--)break;for(var tg=a,yc=mf,nf=
|
||||||
null,Nb=xc.F,mf=Nb,vd=1;6>=vd&&Nb;vd++){if(2<vd){xc.F=Nb;var yc=Hf(sg,xc);if(0<=yc.indexOf("CALL")){var nf=yc.indexOf(" ");if(Nb+(yc.indexOf(" ",nf+1)-nf-1)/2==mf){lf=yc;break}}}Nb--}xc.F=mf;if(Xa=lf)break}if(!Xa||null==Xa)break;var of=null;if("ks"==qg){var pf=Xa.match(/[0-9A-F]+$/);pf&&(of=Pf(a,pf[0]))}Xa=ma(Xa,50)+" ;"+(of||"stack="+Z(Mb.F));a.g(Xa);ud++}ud||a.g("no return addresses found")}break;case "l":"ln"==f[0]&&Pf(a,f[1],!0);break;case "m":a:{var Ga,Ha=null,N=f[1];"?"==N&&(N=void 0);if(void 0!==
|
null,Pb=yc.H,of=Pb,wd=1;6>=wd&&Pb;wd++){if(2<wd){yc.H=Pb;var zc=If(tg,yc);if(0<=zc.indexOf("CALL")){var pf=zc.indexOf(" ");if(Pb+(zc.indexOf(" ",pf+1)-pf-1)/2==of){nf=zc;break}}}Pb--}yc.H=of;if(Za=nf)break}if(!Za||null==Za)break;var qf=null;if("ks"==rg){var rf=Za.match(/[0-9A-F]+$/);rf&&(qf=Qf(a,rf[0]))}Za=ma(Za,50)+" ;"+(qf||"stack="+Z(Ob.H));a.g(Za);vd++}vd||a.g("no return addresses found")}break;case "l":"ln"==f[0]&&Qf(a,f[1],!0);break;case "m":a:{var Ha,Ia=null,N=f[1];"?"==N&&(N=void 0);if(void 0!==
|
||||||
N){var Ra=0;if("all"==N)Ra=1878917119,N=null;else if("on"==N)Ha=!0,N=null;else if("off"==N)Ha=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ga in rb)if(N==Ga){Ra=rb[Ga];Ha=!!(a.ta&Ra);break}if(!Ra){a.g("unknown message category: "+N);break a}}if(Ra)if("on"==f[2])a.ta|=Ra,Ha=!0;else if("off"==f[2]&&(a.ta&=~Ra,Ha=!1,1073741824==Ra)){for(var wd=0;wd<a.ra.length;wd++)a.g(a.ra[wd]);a.ra=[]}}var tg=0,Ob="";for(Ga in rb)if(!N||N==Ga){var ug=!!(a.ta&rb[Ga]);if(null===Ha||Ha==ug)Ob&&(Ob+=
|
N){var Ra=0;if("all"==N)Ra=1878917119,N=null;else if("on"==N)Ia=!0,N=null;else if("off"==N)Ia=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(Ha in sb)if(N==Ha){Ra=sb[Ha];Ia=!!(a.ta&Ra);break}if(!Ra){a.g("unknown message category: "+N);break a}}if(Ra)if("on"==f[2])a.ta|=Ra,Ia=!0;else if("off"==f[2]&&(a.ta&=~Ra,Ia=!1,1073741824==Ra)){for(var xd=0;xd<a.ma.length;xd++)a.g(a.ma[xd]);a.ma=[]}}var ug=0,Qb="";for(Ha in sb)if(!N||N==Ha){var vg=!!(a.ta&sb[Ha]);if(null===Ia||Ia==vg)Qb&&(Qb+=
|
||||||
","),++tg%10||(Ob+="\n\t"),"key"==Ga&&(Ga="keys"),Ob+=Ga}void 0===N&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ha?Ha?"messages on: ":"messages off: ":"message categories:\n\t")+(Ob||"none"));Ke(a)}break;case "o":var xd=f[1],vg=f[2];if(xd&&"?"!=xd){var yd=De(a,xd,"port #"),zd=De(a,vg);void 0!==yd&&void 0!==zd&&(Ub(a.u,yd,zd),a.g(u(yd)+": "+ca(zd)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");
|
","),++ug%10||(Qb+="\n\t"),"key"==Ha&&(Ha="keys"),Qb+=Ha}void 0===N&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ia?Ia?"messages on: ":"messages off: ":"message categories:\n\t")+(Qb||"none"));Le(a)}break;case "o":var yd=f[1],wg=f[2];if(yd&&"?"!=yd){var zd=Ee(a,yd,"port #"),Ad=Ee(a,wg);void 0!==zd&&void 0!==Ad&&(Vb(a.u,zd,Ad),a.g(u(zd)+": "+ca(Ad)))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");
|
||||||
break;case "p":if("print"==f[0]){Rf(a,b.substr(5));break}var qf="pr"==f[0]?1:0,wg=1+qf;if(a.Y)a.g("step in progress");else{var Ad=Y(a.b.R);switch(a.aa(Ad)){case 205:a.Y=wg,sf(Ad,3)}a.Y?(a.Za(a.I,Ad,!0),a.bb()||(a.B&&a.B.xb(),a.Y=0)):Sf(a,qf?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Af(a,f);break;case "s":Qf(a,f);break;case "t":Sf(a,f[0],f[1]);break;case "u":Bf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Of(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.1 ("+a.b.Wd+",RELEASE"+
|
break;case "p":if("print"==f[0]){Sf(a,b.substr(5));break}var sf="pr"==f[0]?1:0,xg=1+sf;if(a.Y)a.g("step in progress");else{var Bd=Y(a.b.R);switch(a.aa(Bd)){case 205:a.Y=xg,Ue(Bd,3)}a.Y?(a.$a(a.F,Bd,!0),a.cb()||(a.A&&a.A.zb(),a.Y=0)):Tf(a,sf?"tr":"t")}break;case "r":if("reset"==b){a.A&&a.A.reset();break}Bf(a,f);break;case "s":Rf(a,f);break;case "t":Tf(a,f[0],f[1]);break;case "u":Cf(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Pf(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.30.1 ("+a.b.Zd+",RELEASE"+
|
||||||
(pb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(wa());break;case "?":if(f[1]){Rf(a,b.substr(1));break}var Bd="commands:",Cd;for(Cd in Me)Bd+="\n"+ma(Cd,9)+Me[Cd];Id(a)||(Bd+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Bd);break;default:a.g("unknown command: "+b),d=!1}}}catch(rf){a.g("debugger error: "+(rf.stack||rf.message)),d=!1}return d}function Cc(a,b,c){b=a.Fb(b,c);for(var d in b)if(!Gf(a,b[+d]))return!1;return!0}
|
(qb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(xa());break;case "?":if(f[1]){Sf(a,b.substr(1));break}var Cd="commands:",Dd;for(Dd in Ne)Cd+="\n"+ma(Dd,9)+Ne[Dd];Jd(a)||(Cd+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Cd);break;default:a.g("unknown command: "+b),d=!1}}}catch(tf){a.g("debugger error: "+(tf.stack||tf.message)),d=!1}return d}function Dc(a,b,c){b=a.Gb(b,c);for(var d in b)if(!Hf(a,b[+d]))return!1;return!0}
|
||||||
Na(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new He(d);fb(d,c)}});
|
Oa(function(){for(var a=D(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ie(d);gb(d,c)}});
|
||||||
function Uf(a,b,c){z.call(this,"Computer",a,Uf,67108864);this.C.xa=!1;Vf(this,b);this.O=zc(this,"autoPower",a);this.w=0;this.ea=a.busWidth||a.buswidth;this.B=Wf;this.L=null;this.J=this.ba=!1;this.fa=zc(this,"url")||"";(Math.random()+.1).toString(36);this.j=Xf(this);if(this.b=eb("CPU",this.id)){this.H=eb("Debugger",this.id);this.G=[];for(b=null;b=tb(this,"Video",b);)this.G.push(b);this.u=new vb({id:this.Bb+".bus",busWidth:this.ea},this.b,this.H);var d,e=cb(this.id);if((this.I=eb("Panel",this.id))&&
|
function Vf(a,b,c){z.call(this,"Computer",a,Vf,67108864);this.D.xa=!1;Wf(this,b);this.O=Ac(this,"autoPower",a);this.w=0;this.ea=a.busWidth||a.buswidth;this.A=Xf;this.L=null;this.K=this.ba=!1;this.fa=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Yf(this);if(this.b=fb("CPU",this.id)){this.I=fb("Debugger",this.id);this.G=[];for(b=null;b=ub(this,"Video",b);)this.G.push(b);this.u=new wb({id:this.fb+".bus",busWidth:this.ea},this.b,this.I);var d,e=db(this.id);if((this.F=fb("Panel",this.id))&&
|
||||||
this.I.Ga)for(b=0;b<e.length;b++)d=e[b],d.ka=this.I.ka,d.g=this.I.g,d.Ga=this.I.Ga;this.g("PC8080 v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Pa&&d.Pa(this,this.u,this.b,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.B=parseInt(d,10));var f;if(a=zc(this,"state")||(f=!0,a.state))b=this.P=a,f||(this.J=!0,this.B=Wf),this.B&&(this.M=new J(this,"1.30.1"),Yf(this.M)?
|
this.F.Ia)for(b=0;b<e.length;b++)d=e[b],d.ka=this.F.ka,d.g=this.F.g,d.Ia=this.F.Ia;this.g("PC8080 v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Ra&&d.Ra(this,this.u,this.b,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Ac(this,"state")||(f=!0,a.state))b=this.P=a,f||(this.K=!0,this.A=Xf),this.A&&(this.M=new J(this,"1.30.1"),Zf(this.M)?
|
||||||
b=null:delete this.M);!b&&this.B&&(b=Zf(this))&&(this.J=!0);if(b){var g=this;va(b,null,!0,function(a,b,c){c?(g.K=null,g.J=!1,g.ka("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.L=b,g.ba=!0);F(g)})}else F(this);this.N.power||(this.O=!0);!c&&this.O&&$f(this,this.vb)}else w("Unable to find CPU component")}A(Uf);var Wf=0;function Vf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.ca=b}
|
b=null:delete this.M);!b&&this.A&&(b=$f(this))&&(this.K=!0);if(b){var g=this;va(b,null,!0,function(a,b,c){c?(g.J=null,g.K=!1,g.ka("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.L=b,g.ba=!0);F(g)})}else F(this);this.N.power||(this.O=!0);!c&&this.O&&ag(this,this.xb)}else w("Unable to find CPU component")}A(Vf);var Xf=0;function Wf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){w(d.message+" ("+c+")")}}a.ca=b}
|
||||||
function zc(a,b,c){var d=b.toLowerCase(),d=Va[b]||Va[d];void 0===d&&a.ca&&(d=a.ca[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function $f(a,b,c){for(var d=cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){$f(a,b,c)});return}}b.call(a,c)}
|
function Ac(a,b,c){var d=b.toLowerCase(),d=Wa[b]||Wa[d];void 0===d&&a.ca&&(d=a.ca[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ag(a,b,c){for(var d=db(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!mb(f)){mb(f,function(){ag(a,b,c)});return}}b.call(a,c)}
|
||||||
function ag(a,b){var c=new J(a,"1.30.1","validate");if(Yf(c)&&bg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.ka("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Uf.prototype;
|
function bg(a,b){var c=new J(a,"1.30.1","validate");if(Zf(c)&&cg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.ka("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Vf.prototype;
|
||||||
l.vb=function(a){void 0===a&&(a=this.B||(this.L?1:Wf));if(!this.w){this.w++;var b=!1,c=!1;this.Y=!1;var d=this.M||new J(this,"1.30.1");if(-1==a)b=!0;else if(a>Wf){if(Yf(d,this.L)){this.D=new J(this,"1.30.1","failsafe");Yf(this.D)&&(cg(this,d),a=2,dg(this.D));this.D.set("timestamp",ra());eg(this.D);var e=this.B&&!this.J;if(1==a||xa("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=bg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Yf(d,g):("error"==
|
l.xb=function(a){void 0===a&&(a=this.A||(this.L?1:Xf));if(!this.w){this.w++;var b=!1,c=!1;this.Y=!1;var d=this.M||new J(this,"1.30.1");if(-1==a)b=!0;else if(a>Xf){if(Zf(d,this.L)){this.C=new J(this,"1.30.1","failsafe");Zf(this.C)&&(dg(this,d),a=2,eg(this.C));this.C.set("timestamp",ra());fg(this.C);var e=this.A&&!this.K;if(1==a||ya("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zf(d,g):("error"==
|
||||||
f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ba("user",""),this.j=null)):this.g(f+": "+g),dg(d),Yf(d)?(c=bg(d),e=!0):c=!1))}e&&ag(this,c?d:null)}else 2==a&&d.clear()}else ag(this);delete this.L;delete this.M}e=cb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=fg(this,g,d,b,c));b=[d,a,c];-1!=a?$f(this,this.wc,b):this.wc(b)}};
|
f&&"no machine state"!=g?(this.ka("Error: "+g),"unable to verify user"==g&&(Ca("user",""),this.j=null)):this.g(f+": "+g),eg(d),Zf(d)?(c=cg(d),e=!0):c=!1))}e&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.L;delete this.M}e=db(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=gg(this,g,d,b,c));b=[d,a,c];-1!=a?ag(this,this.zc,b):this.zc(b)}};
|
||||||
function fg(a,b,c,d,e){if(!b.C.xa){b.C.xa=!0;if(b.Ea){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.Ea(f,d)&&f&&(w("Unable to restore state for "+b.type),a.P&&!a.ba?(c.clear(),a.B=Wf,window&&window.location.reload()):a.Y=!0,b.Ea(null),e=!1)}if(!d&&b.ec)for(a=b.ec.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
function gg(a,b,c,d,e){if(!b.D.xa){b.D.xa=!0;if(b.Ga){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.Ga(f,d)&&f&&(w("Unable to restore state for "+b.type),a.P&&!a.ba?(c.clear(),a.A=Xf,window&&window.location.reload()):a.Y=!0,b.Ga(null),e=!1)}if(!d&&b.hc)for(a=b.hc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
l.wc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.C.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(fg(this,this.b,b,c,a),this.b.rb());this.Y&&(cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.w=0};
|
l.zc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ha=!0;this.D.xa=!0;var d=this.N.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.tb());this.Y&&(dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||||
function cg(a,b){if(xa("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function dg(a,b){if(ya("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.fa;d.user=c;d.type="bug";d.data=b;va("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function Tf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.1"),g=new J(a,"1.30.1","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",wa());a.b&&a.b.Ia&&(c&&a.b.qa(),d=a.b.Ia(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.C.xa=!1,!1===d&&(e=null)));for(var h=cb(a.id),k=0;k<h.length;k++){var n=h[k];n.C.xa&&(n.Ia&&(d=n.Ia(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.C.xa=!1,!1===
|
function Uf(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new J(a,"1.30.1"),g=new J(a,"1.30.1","validate"),h=ra();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.1");f.set("url",window?window.location.href:null);f.set("browser",xa());a.b&&a.b.Ka&&(c&&a.b.ra(),d=a.b.Ka(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.D.xa=!1,!1===d&&(e=null)));for(var h=db(a.id),k=0;k<h.length;k++){var n=h[k];n.D.xa&&(n.Ka&&(d=n.Ka(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.D.xa=!1,!1===
|
||||||
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.j&&gg(a,a.j,f.toString()),eg(g)&&eg(f)||(e=null,d=h=!0)):a.B&&(d=!0,h=3==a.B),d&&f.clear(h)):e=f.toString());c&&(a.C.xa=!1,b=a.N.power)&&(b.textContent="Power");a.w=0;return e}l.reset=function(){this.u&&this.u.reset&&(hb(this,"Resetting "+this.u.type),this.u.reset());for(var a=cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c.reset&&(hb(this,"Resetting "+c.type),c.reset())}};
|
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.j&&hg(a,a.j,f.toString()),fg(g)&&fg(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=3==a.A),d&&f.clear(h)):e=f.toString());c&&(a.D.xa=!1,b=a.N.power)&&(b.textContent="Power");a.w=0;return e}l.reset=function(){this.u&&this.u.reset&&(ib(this,"Resetting "+this.u.type),this.u.reset());for(var a=db(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.u&&c.reset&&(ib(this,"Resetting "+c.type),c.reset())}};
|
||||||
l.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)}};l.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)}};
|
l.start=function(a,b){for(var c=db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=db(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||||
l.pa=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.w||(d.C.xa?Tf(d,!1,!0):$f(d,d.vb))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.C.xa&&!d.w)if(d.B&&!d.K){var a=xa("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Tf(d,a,!0);!a&&d.P?window&&window.location.reload():d.vb(Wf)}else d.reset(),d.b&&d.b.rb()},!0;case "save":if(ha())c.parentNode.removeChild(c);else return this.N[b]=
|
l.qa=function(a,b,c){var d=this;switch(b){case "power":return this.N[b]=c,c.onclick=function(){d.w||(d.D.xa?Uf(d,!1,!0):ag(d,d.xb))},!0;case "reset":return this.N[b]=c,c.onclick=function(){if(d.D.xa&&!d.w)if(d.A&&!d.J){var a=ya("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Uf(d,a,!0);!a&&d.P?window&&window.location.reload():d.xb(Xf)}else d.reset(),d.b&&d.b.tb()},!0;case "save":if(ha())c.parentNode.removeChild(c);else return this.N[b]=
|
||||||
c,c.onclick=function(){var a=Xf(d,!0);if(a){var b=!!(d.B&&!d.K||d.P),c=Tf(d,b);b?gg(d,a,c):d.ka("Resume disabled, machine state not saved")}},!0}return!1};
|
c,c.onclick=function(){var a=Yf(d,!0);if(a){var b=!!(d.A&&!d.J||d.P),c=Uf(d,b);b?hg(d,a,c):d.ka("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function Xf(a,b){var c=a.j;c||((c=Aa("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=hg(a,c))||a.ka("The user ID is invalid.")):b&&a.ka("Browser local storage is not available"));return c}
|
function Yf(a,b){var c=a.j;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=ig(a,c))||a.ka("The user ID is invalid.")):b&&a.ka("Browser local storage is not available"));return c}
|
||||||
function hg(a,b){a.j=null;b=va(ja()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ba("user",b.data),a.j=b.data)}catch(d){w(d.message+" ("+c+")")}return a.j}function Zf(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+ig(a,"1.30.1"));return b}
|
function ig(a,b){a.j=null;b=va(ja()+"/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.j=b.data)}catch(d){w(d.message+" ("+c+")")}return a.j}function $f(a){var b=null;a.j&&(b=ja()+"/api/v1/user?req=load&user="+a.j+"&state="+jg(a,"1.30.1"));return b}
|
||||||
function gg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ig(a,"1.30.1");d.data=c;b=va(ja()+"/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.ka("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.ka(c),Ba("user",""),a.j=null)}}
|
function hg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jg(a,"1.30.1");d.data=c;b=va(ja()+"/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.ka("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.ka(c),Ca("user",""),a.j=null)}}
|
||||||
function tb(a,b,c){a=cb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.xb=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.la&&d.la.focus();!a&&window&&window.scrollTo(b,c)}};l.Ja=function(a){this.b&&this.b.Ja(a);this.I&&this.I.Ja(a)};
|
function ub(a,b,c){a=db(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.zb=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.la&&d.la.focus();!a&&window&&window.scrollTo(b,c)}};l.La=function(a){this.b&&this.b.La(a);this.F&&this.F.La(a)};
|
||||||
Na(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new Uf(g,d,!0);fb(g,f);g.O&&$f(g,g.vb)}});Ia.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=eb("Computer",c.id))&&c.ha&&!c.C.xa&&c.vb(-1)}});
|
Oa(function(){for(var a=D(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new Vf(g,d,!0);gb(g,f);g.O&&ag(g,g.xb)}});Ja.show.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=fb("Computer",c.id))&&c.ha&&!c.D.xa&&c.xb(-1)}});
|
||||||
Ia.exit.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=eb("Computer",c.id))&&c.C.xa&&Tf(c,!(!c.B||c.K),!0)}});function J(a,b,c){this.id=a.id;this.key=ig(a,b,c);this.H=a.H;dg(this,a.Ld)}function ig(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}
|
Ja.exit.push(function(){for(var a=D(document,"pc8080","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=fb("Computer",c.id))&&c.D.xa&&Uf(c,!(!c.A||c.J),!0)}});function J(a,b,c){this.id=a.id;this.key=jg(a,b,c);this.I=a.I;eg(this,a.Od)}function jg(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}
|
||||||
J.prototype={constructor:J,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){dg(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,
|
J.prototype={constructor:J,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){eg(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 dg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function eg(a){var b=!0;if(za()){var c=JSON.stringify(a[a.id]);Ba(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function bg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Yf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:za()&&(b=Aa(a.key))?(a[a.id]=b,a.b=!0):!1}var jg=0;
|
1);c=0}}};function eg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function fg(a){var b=!0;if(Aa()){var c=JSON.stringify(a[a.id]);Ca(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function cg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Zf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Aa()&&(b=Ba(a.key))?(a[a.id]=b,a.b=!0):!1}var kg=0;
|
||||||
function xg(a,b,c,d,e,f){e("Loading "+a+"...");va(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):yg(h,a,b,c,d,e,f)})}
|
function yg(a,b,c,d,e,f){e("Loading "+a+"...");va(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):zg(h,a,b,c,d,e,f)})}
|
||||||
function yg(a,b,c,d,e,f,g){function h(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>)/,"$1PC8080$2"),
|
function zg(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(cb(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>)/,"$1PC8080$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$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(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?zg(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$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(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Ag(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),
|
||||||
null)}
|
null)}
|
||||||
function zg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");
|
function Ag(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");
|
||||||
a=a.replace(d[0],g);zg(a,b,c)}})}else c(a,null)}
|
a=a.replace(d[0],g);Ag(a,b,c)}})}else c(a,null)}
|
||||||
function Ag(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--jg||Qa(!0));k=!1}var g,h,k=!0;jg++;ab[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c||
|
function Bg(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--kg||Sa(!0));k=!1}var g,h,k=!0;kg++;bb[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=n:q.appendChild(document.createTextNode(n));p.appendChild(q)}c||
|
||||||
(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?xg(c,null,null,!1,e,function(d,k){k?(bb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jg||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jg||Qa(!0)):f("invalid machine element: "+
|
(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?yg(c,null,null,!1,e,function(d,k){k?(cb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Sa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--kg||Sa(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?xg(b,a,d,!0,e,n):yg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Qa(!1);return Ag(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Sa;})();
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?yg(b,a,d,!0,e,n):zg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(x){f(x.message)}return k}window.embedPC8080=function(a,b,c,d){Sa(!1);return Bg(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta;})();
|
||||||
|
|
|
||||||
|
|
@ -29,169 +29,174 @@
|
||||||
http://pcjs.org/modules/pc8080/lib/computer.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/pc8080/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 k,m={pd:1,qd:3,rd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,jb:65,Mb:66,Ob:67,mb:68,E:69,Rb:70,Sb:71,Tb:72,Ub:73,ac:74,bc:75,ob:76,ic:77,jc:78,mc:79,nc:80,Q:81,tc:82,wc:83,Bc:84,Cc:85,Dc:86,Ec:87,Gc:88,Hc:89,Ic:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Zd:97,$d:98,ae:99,d:100,e:101,be:102,ce:103,de:104,ee:105,fe:106,k:107,ge:108,
|
var k,m={td:1,ud:3,vd:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,nb:65,Qb:66,Sb:67,qb:68,E:69,Vb:70,Wb:71,Xb:72,Yb:73,ec:74,fc:75,sb:76,mc:77,nc:78,qc:79,rc:80,Q:81,xc:82,Ac:83,Fc:84,Gc:85,Hc:86,Ic:87,Kc:88,Lc:89,Mc:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,ce:97,de:98,ee:99,d:100,e:101,fe:102,ge:103,he:104,ie:105,je:106,k:107,ke:108,
|
||||||
he:109,n:110,ie:111,p:112,q:113,r:114,je:115,t:116,ke:117,le:118,me:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126};
|
le:109,n:110,me:111,p:112,q:113,r:114,ne:115,t:116,oe:117,pe:118,qe:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126};
|
||||||
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==
|
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==
|
||||||
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function p(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}
|
e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function p(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 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,"")}
|
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,"")}
|
||||||
var ia={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"},ja=Date.now||function(){return+new Date};
|
var ia={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"},ja=Date.now||function(){return+new Date};
|
||||||
function ka(){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 ka(){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 la(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function la(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 h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function q(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 ma(a,b){var c,d={Y:null,wa:null,jb:null,ib:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g=eval("("+b+")");d.jb=g.load;d.ib=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.data)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else d.Y=g;d.wa=g.symbols;d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+
|
||||||
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 ta={init:[],show:[],exit:[]},ua=!1,va=!1,wa=!0;function xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ya(a){ta.init.push(a)}
|
a),d=null)}catch(h){q("Resource data error: "+h.message),d=null}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),d.Y=Array(a.length),c=0;c<a.length;c++)d.Y[c]=parseInt(a[c],16);return d}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}function q(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null;
|
||||||
function za(a){if(wa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Aa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Ba(a){!wa&&a?(wa=!0,ua&&Ca("init"),va&&Ca("show")):wa=a}function Ca(a){ta[a]&&za(ta[a])}xa("onload",function(){ua=!0;za(ta.init)});xa("onpageshow",function(){va=!0;za(ta.show)});xa(ra("Opera")||ra("iOS")?"onunload":"onbeforeunload",function(){za(ta.exit)});
|
function pa(){if(null==oa){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}oa=a}return oa}function qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||||
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ub=b.comment;this.Mc=b;b=this.id.indexOf(".");0>b?this.Sa=this.id:(this.Ta=this.id.substr(0,b),this.Sa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,Wa:!1,eb:!1,Y:!1,error:!1};this.Za=null;this.l.error=!1;this.A={};this.O=null;v.push(this)}var Da=void 0,Ea={};
|
function ta(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 ua={init:[],show:[],exit:[]},va=!1,wa=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){ua.init.push(a)}
|
||||||
if(window){Da||(Da=window.location.search.substr(1));for(var Fa,Ga=/\+/g,Ha=/([^&=]+)=?([^&]*)/g;Fa=Ha.exec(Da);)Ea[decodeURIComponent(Fa[1].replace(Ga," "))]=decodeURIComponent(Fa[2].replace(Ga," "))}function Ia(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 Aa(a){if(xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ba("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function Ca(a){!xa&&a?(xa=!0,va&&Da("init"),wa&&Da("show")):xa=a}function Da(a){ua[a]&&Aa(ua[a])}ya("onload",function(){va=!0;Aa(ua.init)});ya("onpageshow",function(){wa=!0;Aa(ua.show)});ya(ta("Opera")||ta("iOS")?"onunload":"onbeforeunload",function(){Aa(ua.exit)});
|
||||||
function w(a,b){b||(b=r);a.prototype=Ia(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ja=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ja={},v=[];function Ka(a,b,c){Ja[a]&&b&&(Ja[a][b]=c)}function Aa(a,b,c){b||q((c?c+": ":"")+a)}
|
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.yb=b.comment;this.Qc=b;b=this.id.indexOf(".");0>b?this.Va=this.id:(this.ya=this.id.substr(0,b),this.Va=this.id.substr(b+1));this[a]=c;this.l={ready:!1,Ya:!1,gb:!1,Z:!1,error:!1};this.ab=null;this.l.error=!1;this.A={};this.O=null;v.push(this)}var Ea=void 0,Fa={};
|
||||||
function La(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ma(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function Oa(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}
|
if(window){Ea||(Ea=window.location.search.substr(1));for(var Ga,Ha=/\+/g,Ia=/([^&=]+)=?([^&]*)/g;Ga=Ia.exec(Ea);)Fa[decodeURIComponent(Ga[1].replace(Ha," "))]=decodeURIComponent(Ga[2].replace(Ha," "))}function Ja(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 z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}function Pa(a,b){b=A(b.parentNode,"pc8080-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 h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pc8080-binding":(g=z(f))&&g.binding&&a.V(g.type,g.binding,f,g.value),l=h.length}}}}
|
function w(a,b){b||(b=r);a.prototype=Ja(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ka=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Ka={},v=[];function La(a,b,c){Ka[a]&&b&&(Ka[a][b]=c)}function Ba(a,b,c){b||q((c?c+": ":"")+a)}
|
||||||
|
function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Na(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function Oa(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}
|
||||||
|
function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}function Qa(a,b){b=A(b.parentNode,"pc8080-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 h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pc8080-binding":(g=z(f))&&g.binding&&a.V(g.type,g.binding,f,g.value),l=h.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},V:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.va=this.A[b]=c,c.value="",this.da=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},V:function(a,b,c){switch(b){case "clear":return this.A[b]||(this.A[b]=c,c.onclick=function(a){return function(){a.A.print&&(a.A.print.value="")}}(this)),!0;case "print":return this.A[b]||(this.xa=this.A[b]=c,c.value="",this.ea=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.L=function(a){this.da(a,this.Sa)}),!0;default:return!1}},log:function(){},da:function(){},status:function(a){this.da(this.Sa+": "+a)},L:function(a,b,c){Aa(a,b,c||this.type)},ga:function(){return this.l.Y=!0},ia:function(a,b){b&&(this.l.Y=!1);return!0}};function Qa(a,b){if(a.l.eb)return a.l.Wa=!1,a.l.eb=!1;if(a.l.error)return a.da(a.toString()+" error"),!1;a.l.Wa=b;return a.l.Wa}function B(a){if(!a.l.error&&(a.l.ready=!0,a.l.ready)){var b=a.Za;a.Za=null;b&&b()}}
|
this.K=function(a){this.ea(a,this.Va)}),!0;default:return!1}},log:function(){},ea:function(){},status:function(a){this.ea(this.Va+": "+a)},K:function(a,b,c){Ba(a,b,c||this.type)},ga:function(){return this.l.Z=!0},ia:function(a,b){b&&(this.l.Z=!1);return!0}};function Ra(a,b){if(a.l.gb)return a.l.Ya=!1,a.l.gb=!1;if(a.l.error)return a.ea(a.toString()+" error"),!1;a.l.Ya=b;return a.l.Ya}function B(a){if(!a.l.error&&(a.l.ready=!0,a.l.ready)){var b=a.ab;a.ab=null;b&&b()}}
|
||||||
function Ra(a,b){b&&(a.l.ready?b():a.Za=b);return a.l.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});
|
function Sa(a,b){b&&(a.l.ready?b():a.ab=b);return a.l.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});
|
||||||
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 Sa="undefined"!==typeof ArrayBuffer,Ta=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
|
var Ta="undefined"!==typeof ArrayBuffer,Ua=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,
|
||||||
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Ua(a){r.call(this,"Panel",a,Ua)}w(Ua);k=Ua.prototype;k.V=function(a,b,c,d){return this.v&&this.v.V(a,b,c,d)||this.a&&this.a.V(a,b,c,d)||this.m&&this.m.V(a,b,c,d)?!0:this.parent.V.call(this,a,b,c,d)};k.qa=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;this.m=Va(a,"Keyboard")};k.ga=function(a,b){b||Wa();return!0};k.ia=function(){return!0};k.Aa=function(){};
|
0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1];function Va(a){r.call(this,"Panel",a,Va)}w(Va);k=Va.prototype;k.V=function(a,b,c,d){return this.v&&this.v.V(a,b,c,d)||this.a&&this.a.V(a,b,c,d)||this.m&&this.m.V(a,b,c,d)?!0:this.parent.V.call(this,a,b,c,d)};k.ra=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;this.m=Wa(a,"Keyboard")};k.ga=function(a,b){b||Xa();return!0};k.ia=function(){return!0};k.Da=function(){};
|
||||||
function Wa(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ma(e.id);f||(a=!0,f=new Ua(e));Pa(f,d);a&&B(f)}}ya(Wa);
|
function Xa(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Na(e.id);f||(a=!0,f=new Va(e));Qa(f,d);a&&B(f)}}za(Xa);
|
||||||
function Xa(a,b,c){r.call(this,"Bus",a,Xa);this.a=b;this.O=c;this.s=a.busWidth||16;this.u=Math.pow(2,this.s);this.g=this.u-1|0;this.j=(this.s>>1)+2;10>this.j&&(this.j=10);15<this.j&&(this.j=15);this.c=1<<this.j;this.w=this.c>>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.v=[];this.B=[];this.C=[];a=new D;Ya(a,this.O);this.b=Array(this.i);for(b=0;b<this.i;b++)this.b[b]=a;B(this)}w(Xa);Xa.prototype.reset=function(){};Xa.prototype.ga=function(a,b){b||this.reset();return!0};
|
function Ya(a,b,c){r.call(this,"Bus",a,Ya);this.a=b;this.O=c;this.s=a.busWidth||16;this.u=Math.pow(2,this.s);this.g=this.u-1|0;this.j=(this.s>>1)+2;10>this.j&&(this.j=10);15<this.j&&(this.j=15);this.c=1<<this.j;this.w=this.c>>2;this.f=this.c-1;this.i=this.u/this.c|0;this.o=this.i-1;this.m=[];this.v=[];this.B=[];this.C=[];a=new C;Za(a,this.O);this.b=Array(this.i);for(b=0;b<this.i;b++)this.b[b]=a;B(this)}w(Ya);Ya.prototype.reset=function(){};Ya.prototype.ga=function(a,b){b||this.reset();return!0};
|
||||||
function Za(a,b,c,d){for(var e=b,f=c,g=e>>>a.j;0<f&&g<a.b.length;){var h=a.b[g],l=g*a.c,n=a.c-(e-l);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Ma)return h.cb+=h.Ma-e,h.Ma=e,!0;if(e>=h.Ma+h.cb){n=h.size-(e-l);n>f&&(n=f);h.cb=e-h.Ma+n;e=l+a.c;f-=n;g++;continue}}return $a(1,e,f)}e=new D(e,n,a.c,d);Ya(e,a.O,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+ab[d]+" at "+p(b,4,!0)),!0):$a(2,b,c)}Xa.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Pa(a&this.f,a)};
|
function $a(a,b,c,d){for(var e=b,f=c,g=e>>>a.j;0<f&&g<a.b.length;){var h=a.b[g],l=g*a.c,n=a.c-(e-l);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.Pa)return h.fb+=h.Pa-e,h.Pa=e,!0;if(e>=h.Pa+h.fb){n=h.size-(e-l);n>f&&(n=f);h.fb=e-h.Pa+n;e=l+a.c;f-=n;g++;continue}}return ab(1,e,f)}e=new C(e,n,a.c,d);Za(e,a.O,h);a.b[g++]=e;e=l+a.c;f-=n}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+bb[d]+" at "+p(b,4,!0)),!0):ab(2,b,c)}Ya.prototype.J=function(a){return this.b[(a&this.g)>>>this.j].Sa(a&this.f,a)};
|
||||||
function bb(a,b){return a.b[(b&a.g)>>>a.j].bb(b&a.f,b)}function cb(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].kd(c,b):a.b[d++].Pa(c,b)|a.b[d&a.o].Pa(0,b+1)<<8}Xa.prototype.aa=function(a,b){this.b[(a&this.g)>>>this.j].Qa(a&this.f,b&255,a)};function db(a,b,c){a.b[(b&a.g)>>>a.j].Hb(b&a.f,c&255,b)}function fb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].ld(d,c&65535,b):(a.b[e++].Qa(d,c&255,b),a.b[e&a.o].Qa(0,c>>8&255,b+1))}
|
function cb(a,b){return a.b[(b&a.g)>>>a.j].eb(b&a.f,b)}function db(a,b){var c=b&a.f,d=(b&a.g)>>>a.j;return c!=a.f?a.b[d].od(c,b):a.b[d++].Sa(c,b)|a.b[d&a.o].Sa(0,b+1)<<8}Ya.prototype.ba=function(a,b){this.b[(a&this.g)>>>this.j].Ta(a&this.f,b&255,a)};function eb(a,b,c){a.b[(b&a.g)>>>a.j].Lb(b&a.f,c&255,b)}function gb(a,b,c){var d=b&a.f,e=(b&a.g)>>>a.j;d!=a.f?a.b[e].pd(d,c&65535,b):(a.b[e++].Ta(d,c&255,b),a.b[e&a.o].Ta(0,c>>8&255,b+1))}
|
||||||
function gb(a){for(var b=0,c=[],d=0;d<a.i;d++){var e=a.b[d];if(e.na||e.Ab){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var n=e[g],u=g+1;u<e.length&&e[u]===n;)u++;l[h++]=u-g;l[h++]=n;g=u}l.length<e.length&&(e=l)}c[f]=e}}return c}function hb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.m[l]?q("Input port "+p(l,4,!0)+" already registered"):f.m[l]=[h,!1]}}
|
function hb(a){for(var b=0,c=[],d=0;d<a.i;d++){var e=a.b[d];if(e.oa||e.Eb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var n=e[g],u=g+1;u<e.length&&e[u]===n;)u++;l[h++]=u-g;l[h++]=n;g=u}l.length<e.length&&(e=l)}c[f]=e}}return c}function ib(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.m[l]?q("Input port "+p(l,4,!0)+" already registered"):f.m[l]=[h,!1]}}
|
||||||
function ib(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.v[l]?q("Output port "+p(l,4,!0)+" already registered"):f.v[l]=[h,!1]}}function $a(a,b,c){q("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}var jb;if(Sa){var kb=new ArrayBuffer(2);(new DataView(kb)).setUint16(0,256,!0);jb=256===(new Uint16Array(kb))[0]}else jb=!1;var lb=jb;
|
function jb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.v[l]?q("Output port "+p(l,4,!0)+" already registered"):f.v[l]=[h,!1]}}function ab(a,b,c){q("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}var kb;if(Ta){var lb=new ArrayBuffer(2);(new DataView(lb)).setUint16(0,256,!0);kb=256===(new Uint16Array(lb))[0]}else kb=!1;var mb=kb;
|
||||||
function D(a,b,c,d){this.id=mb+=2;this.a=null;this.Ma=a;this.cb=b;this.size=c||0;this.type=d||nb;this.c=d==ob;Ya(this);this.na=this.Ab=!1;if(c)if(Sa)this.j=new ArrayBuffer(c),this.A=new DataView(this.j,0,c),this.b=new Uint8Array(this.j,0,c),this.i=new Uint16Array(this.j,0,c>>1),this.a=new Int32Array(this.j,0,c>>2),pb(this,lb?qb:rb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;pb(this,sb)}else pb(this)}var nb=0,ob=2,ab=["NONE","RAM","ROM","VID","H/W"],mb=0;
|
function C(a,b,c,d){this.id=nb+=2;this.a=null;this.Pa=a;this.fb=b;this.size=c||0;this.type=d||ob;this.c=d==pb;Za(this);this.oa=this.Eb=!1;if(c)if(Ta)this.j=new ArrayBuffer(c),this.A=new DataView(this.j,0,c),this.b=new Uint8Array(this.j,0,c),this.i=new Uint16Array(this.j,0,c>>1),this.a=new Int32Array(this.j,0,c>>2),qb(this,mb?rb:sb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;qb(this,tb)}else qb(this)}var ob=0,pb=2,bb=["NONE","RAM","ROM","VID","H/W"],nb=0;
|
||||||
D.prototype={constructor:D,parent:null,save:function(){var a,b;if(Sa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.A.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Sa)for(b=0;b<a.length;b++)this.A.setInt32(b<<2,a[b],!0);else this.a=a;return this.na=!0}return!1},m:function(){return 255},o:function(){},v:function(a,b){return this.Pa(a++,b++)|this.Pa(a,b)<<8},s:function(a,b,c){this.Qa(a++,b&255,c++);this.Qa(a,b>>8,c)},C:function(a){return this.a[a>>
|
C.prototype={constructor:C,parent:null,save:function(){var a,b;if(Ta)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.A.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ta)for(b=0;b<a.length;b++)this.A.setInt32(b<<2,a[b],!0);else this.a=a;return this.oa=!0}return!1},m:function(){return 255},o:function(){},v:function(a,b){return this.Sa(a++,b++)|this.Sa(a,b)<<8},s:function(a,b,c){this.Ta(a++,b&255,c++);this.Ta(a,b>>8,c)},C:function(a){return this.a[a>>
|
||||||
2]>>>((a&3)<<3)&255},I:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.na=!0},ea:function(a,b){var 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.na=!0},w:function(a,b){return this.bb(a,b)},H:function(a,b){return this.Eb(a,b)},N:function(a,b,c){this.c||this.Hb(a,b,c)},W:function(a,
|
2]>>>((a&3)<<3)&255},I:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},S:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.oa=!0},aa:function(a,b){var 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.oa=!0},w:function(a,b){return this.eb(a,b)},H:function(a,b){return this.Ib(a,b)},N:function(a,b,c){this.c||this.Lb(a,b,c)},W:function(a,
|
||||||
b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.A.getUint16(a,!0)},M:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},K:function(a,b){this.b[a]=b;this.na=!0},R:function(a,b){this.b[a]=b;this.na=!0},U:function(a,b){this.A.setUint16(a,b,!0);this.na=!0},Z:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.na=!0}};function Ya(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&tb(a,ub,!1),(a.g=c.g)&&vb(a,ub,!1))}
|
b,c){this.c||this.X(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.A.getUint16(a,!0)},M:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},L:function(a,b){this.b[a]=b;this.oa=!0},R:function(a,b){this.b[a]=b;this.oa=!0},U:function(a,b){this.A.setUint16(a,b,!0);this.oa=!0},ya:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.oa=!0}};function Za(a,b,c){a.O=b;a.f=a.g=0;c&&((a.f=c.f)&&ub(a,vb,!1),(a.g=c.g)&&wb(a,vb,!1))}
|
||||||
function vb(a,b,c){c&&a.g||(a.Qa=!a.c&&b[1]||a.o,a.ld=!a.c&&b[3]||a.s);if(c||void 0===c)a.Hb=b[1]||a.o,a.X=b[3]||a.s}function tb(a,b,c){c&&a.f||(a.Pa=b[0]||a.m,a.kd=b[2]||a.v);if(c||void 0===c)a.bb=b[0]||a.m,a.Eb=b[2]||a.v}function pb(a,b){b||(b=wb);tb(a,b,void 0);vb(a,b,void 0)}var wb=[],sb=[D.prototype.C,D.prototype.S,D.prototype.I,D.prototype.ea],ub=[D.prototype.w,D.prototype.N,D.prototype.H,D.prototype.W];
|
function wb(a,b,c){c&&a.g||(a.Ta=!a.c&&b[1]||a.o,a.pd=!a.c&&b[3]||a.s);if(c||void 0===c)a.Lb=b[1]||a.o,a.X=b[3]||a.s}function ub(a,b,c){c&&a.f||(a.Sa=b[0]||a.m,a.od=b[2]||a.v);if(c||void 0===c)a.eb=b[0]||a.m,a.Ib=b[2]||a.v}function qb(a,b){b||(b=xb);ub(a,b,void 0);wb(a,b,void 0)}var xb=[],tb=[C.prototype.C,C.prototype.S,C.prototype.I,C.prototype.aa],vb=[C.prototype.w,C.prototype.N,C.prototype.H,C.prototype.W];
|
||||||
if(Sa)var rb=[D.prototype.u,D.prototype.K,D.prototype.G,D.prototype.U],qb=[D.prototype.B,D.prototype.R,D.prototype.M,D.prototype.Z];function xb(a,b){r.call(this,"CPU",a,xb);var c=a.multiplier||1;this.la=a.cycles||b;this.K=c;this.Ca=Math.round(this.la/1E4)/100;this.U=this.Ca*this.K;this.l.oa=!1;this.l.Fb=!1;this.l.Na=a.autoStart;this.l.yb=!1;this.l.Xa=!1;this.ta=this.X=0;this.ua=a.csStart;this.Z=a.csInterval;this.ea=a.csStop;this.G=[];this.Va=this.hb.bind(this);B(this)}w(xb);var yb=["power","reset"];
|
if(Ta)var sb=[C.prototype.u,C.prototype.L,C.prototype.G,C.prototype.U],rb=[C.prototype.B,C.prototype.R,C.prototype.M,C.prototype.ya];function yb(a,b){r.call(this,"CPU",a,yb);var c=a.multiplier||1;this.ma=a.cycles||b;this.L=c;this.Fa=Math.round(this.ma/1E4)/100;this.U=this.Fa*this.L;this.l.pa=!1;this.l.Jb=!1;this.l.Qa=a.autoStart;this.l.Cb=!1;this.l.Za=!1;this.ua=this.X=0;this.va=a.csStart;this.aa=a.csInterval;this.ja=a.csStop;this.G=[];this.Xa=this.lb.bind(this);B(this)}w(yb);var zb=["power","reset"];
|
||||||
k=xb.prototype;k.qa=function(a,b,c,d){this.v=a;this.j=b;this.O=d;for(b=0;b<yb.length;b++)(c=this.A[yb[b]])&&this.v.V(null,yb[b],c);this.M=Va(a,"ChipSet");a=zb(a,"autoStart");null!=a&&(this.l.Na="true"==a?!0:"false"==a?!1:!!a);B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ga=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.da("No debugger detected")}Cb(this);return!0};
|
k=yb.prototype;k.ra=function(a,b,c,d){this.v=a;this.j=b;this.O=d;for(b=0;b<zb.length;b++)(c=this.A[zb[b]])&&this.v.V(null,zb[b],c);this.M=Wa(a,"ChipSet");a=Ab(a,"autoStart");null!=a&&(this.l.Qa="true"==a?!0:"false"==a?!1:!!a);B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ga=function(a,b){if(!b){if(a&&this.restore){Bb(this);if(!this.restore(a))return!1;Cb(this)}else this.reset();this.ea("No debugger detected")}Db(this);return!0};
|
||||||
k.ia=function(a){return a?this.save():!0};k.Na=function(){return this.l.Na||void 0===this.A.run?(this.hb(!0),!0):!1};k.Bb=function(){return 0};function Bb(a){void 0===a.ua&&(a.ua=0);void 0===a.Z&&(a.Z=-1);void 0===a.ea&&(a.ea=-1);a.l.Xa=0<=a.ua&&0<a.Z;a.l.Xa&&(a.ta=0,a.X=a.ua-a.H)}
|
k.ia=function(a){return a?this.save():!0};k.Qa=function(){return this.l.Qa||void 0===this.A.run?(this.lb(!0),!0):!1};k.Fb=function(){return 0};function Cb(a){void 0===a.va&&(a.va=0);void 0===a.aa&&(a.aa=-1);void 0===a.ja&&(a.ja=-1);a.l.Za=0<=a.va&&0<a.aa;a.l.Za&&(a.ua=0,a.X=a.va-a.H)}
|
||||||
k.V=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.l.Y)a=!0;else{var b=null,c,h=La(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.l.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.l.Y);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.Za?" (waiting for notification)":""))+".");a=!1}a&&(d.l.oa?Db(d):d.hb())};a=!0;
|
k.V=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.A[b]=c;a=!0;break;case "run":this.A[b]=c;c.onclick=function(){var a;if(a=d.v)if(a=d.v,a.l.Z)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.l.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.l.Z);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.ab?" (waiting for notification)":""))+".");a=!1}a&&(d.l.pa?Eb(d):d.lb())};a=!0;
|
||||||
break;case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){Eb(d,d.K<<1,!0)},c.textContent=this.U.toFixed(2)+"Mhz",a=!0}return a};function Fb(a,b){var c=1;b&&1<a.K&&a.R&&(c=a.R/a.Ca);a.Ka=Math.round(1E3/30);a.xa=Math.floor(a.la/30*c);b||(a.ja=a.xa);a.Da=0}function Gb(a){return a.H+a.N+a.W-a.a}function Ab(a){a.R=0;a.La=0;a.H=a.N=a.W=a.a=0;Bb(a);Eb(a,1)}
|
break;case "speed":this.A[b]=c;a=!0;break;case "setSpeed":this.A[b]=c,c.onclick=function(){Fb(d,d.L<<1,!0)},c.textContent=this.U.toFixed(2)+"Mhz",a=!0}return a};function Gb(a,b){var c=1;b&&1<a.L&&a.R&&(c=a.R/a.Fa);a.Na=Math.round(1E3/30);a.Aa=Math.floor(a.ma/30*c);b||(a.la=a.Aa);a.Ga=0}function Hb(a){return a.H+a.N+a.W-a.a}function Bb(a){a.R=0;a.Oa=0;a.H=a.N=a.W=a.a=0;Cb(a);Fb(a,1)}
|
||||||
function Eb(a,b,c){if(void 0!==b){.8>a.R/a.U&&(b=1);a.K=b;b=a.Ca*a.K;if(a.U!=b){a.U=b;b=a.U.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.da("target speed: "+b)}c&&a.v&&Hb(a.v)}a.H+=a.N;a.N=0;a.I=ja();a.S=0;Fb(a)}function Ib(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Kb(a,b,c){0<=b&&b<a.G.length&&0>a.G[b][0]&&(c*=a.la*a.K/1E3,a.G[b][0]=c+Lb(a))}function Lb(a,b){var c=a.W-=a.a;a.a=0;b&&(a.W=0);return c}
|
function Fb(a,b,c){if(void 0!==b){.8>a.R/a.U&&(b=1);a.L=b;b=a.Fa*a.L;if(a.U!=b){a.U=b;b=a.U.toFixed(2)+"Mhz";var d=a.A.setSpeed;d&&(d.textContent=b);a.ea("target speed: "+b)}c&&a.v&&Ib(a.v)}a.H+=a.N;a.N=0;a.I=ja();a.S=0;Gb(a)}function Jb(a,b){var c=a.G.length;a.G.push([-1,b]);return c}function Kb(a,b,c){0<=b&&b<a.G.length&&0>a.G[b][0]&&(c*=a.ma*a.L/1E3,a.G[b][0]=c+Mb(a))}function Mb(a,b){var c=a.W-=a.a;a.a=0;b&&(a.W=0);return c}
|
||||||
k.hb=function(a){if(Qa(this,!0)){if(!this.l.oa){Eb(this);this.v&&this.v.start(this.I,Gb(this));this.l.oa=!0;this.l.Fb=!0;this.M&&this.M.start();var b=this.A.run;b&&(b.textContent="Halt");this.v&&(this.v.Aa(!0),a&&Hb(this.v,!0))}this.Da>=this.la&&Fb(this,!0);this.pa=0;this.sa=ja();this.S&&(a=this.sa-this.S,a>this.Ka&&(this.I+=a,this.I>this.sa&&(this.I=this.sa)));try{do{for(var c,d=this.l.Xa?1:this.xa,e=this.G.length-1;0<=e;e--){var f=this.G[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Gb(c);c=Lb(this,!0);
|
k.lb=function(a){if(Ra(this,!0)){if(!this.l.pa){Fb(this);this.v&&this.v.start(this.I,Hb(this));this.l.pa=!0;this.l.Jb=!0;this.M&&this.M.start();var b=this.A.run;b&&(b.textContent="Halt");this.v&&(this.v.Da(!0),a&&Ib(this.v,!0))}this.Ga>=this.ma&&Gb(this,!0);this.qa=0;this.ta=ja();this.S&&(a=this.ta-this.S,a>this.Na&&(this.I+=a,this.I>this.ta&&(this.I=this.ta)));try{do{for(var c,d=this.l.Za?1:this.Aa,e=this.G.length-1;0<=e;e--){var f=this.G[e];0>f[0]||d>f[0]&&(d=f[0])}c=d;this.Kb(c);c=Mb(this,!0);
|
||||||
this.pa+=c;this.N+=c;a=c;this.l.Xa&&(b=!1,this.ta=this.ta+this.Bb()|0,this.X-=a,0>=this.X&&(this.X+=this.Z,b=!0),0<=this.ea&&this.ea<=Gb(this)&&(this.Z=this.ea=-1,Bb(this),Db(this),b=!0),b&&this.da(Gb(this)+" cycles: checksum="+p(this.ta)));a=c;for(var g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.ja-=c;if(0>=this.ja){this.ja+=this.xa;15<=++this.La&&(this.v&&this.v.Aa(),this.La=0);break}}while(this.l.oa)}catch(l){Db(this);Cb(this);this.v&&this.v.stop(ja(),
|
this.qa+=c;this.N+=c;a=c;this.l.Za&&(b=!1,this.ua=this.ua+this.Fb()|0,this.X-=a,0>=this.X&&(this.X+=this.aa,b=!0),0<=this.ja&&this.ja<=Hb(this)&&(this.aa=this.ja=-1,Cb(this),Eb(this),b=!0),b&&this.ea(Hb(this)+" cycles: checksum="+p(this.ua)));a=c;for(var g=this.G.length-1;0<=g;g--){var h=this.G[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.la-=c;if(0>=this.la){this.la+=this.Aa;15<=++this.Oa&&(this.v&&this.v.Da(),this.Oa=0);break}}while(this.l.pa)}catch(l){Eb(this);Db(this);this.v&&this.v.stop(ja(),
|
||||||
Gb(this));Qa(this,!1);c=l.stack||l.message;this.l.error=!0;this.L(c);return}c=setTimeout;d=this.Va;this.S=ja();e=this.Ka;this.pa&&(e=Math.round(e*this.pa/this.xa));e-=this.S-this.sa;if(f=this.S-this.I)this.R=Math.round(this.N/(10*f))/100,864E5<=f&&(this.H=0,Eb(this));if(0>e||this.R<this.U)-1E3>e&&(this.I-=e),e=0;this.Da+=this.pa;this.S+=e;c(d,e)}else Cb(this),this.v&&this.v.stop(ja(),Gb(this))};k.Gb=function(){return 0};
|
Hb(this));Ra(this,!1);c=l.stack||l.message;this.l.error=!0;this.K(c);return}c=setTimeout;d=this.Xa;this.S=ja();e=this.Na;this.qa&&(e=Math.round(e*this.qa/this.Aa));e-=this.S-this.ta;if(f=this.S-this.I)this.R=Math.round(this.N/(10*f))/100,864E5<=f&&(this.H=0,Fb(this));if(0>e||this.R<this.U)-1E3>e&&(this.I-=e),e=0;this.Ga+=this.qa;this.S+=e;c(d,e)}else Db(this),this.v&&this.v.stop(ja(),Hb(this))};k.Kb=function(){return 0};
|
||||||
function Db(a){a.l.Wa&&(a.l.eb=!0);Lb(a);a.H+=a.N;a.N=0;if(a.l.oa){a.l.oa=!1;a.M&&a.M.stop();var b=a.A.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Cb(a){if(a.v){for(var b=a.v,c=0;c<b.m.length;c++)Mb(b.m[c],void 0);a.v.Aa(void 0)}}function Nb(a){xb.call(this,a,1E6);this.Ha=Ob;Ab(this);this.l.complete=this.l.Nc=!1;this.Ja=0;this.ra=[];this.Ia=0;Pb(this)}w(Nb,xb);function Qb(a,b){a.ra.push(b)}k=Nb.prototype;k.reset=function(){this.l.oa&&Db(this);Pb(this);Ab(this);this.l.error=!1;this.parent.reset.call(this)};
|
function Eb(a){a.l.Ya&&(a.l.gb=!0);Mb(a);a.H+=a.N;a.N=0;if(a.l.pa){a.l.pa=!1;a.M&&a.M.stop();var b=a.A.run;b&&(b.textContent="Run")}a.l.complete=void 0}function Db(a){if(a.v){for(var b=a.v,c=0;c<b.m.length;c++)Nb(b.m[c],void 0);a.v.Da(void 0)}}function Ob(a){yb.call(this,a,1E6);this.Ka=Pb;Bb(this);this.l.complete=this.l.Rc=!1;this.Ma=0;this.sa=[];this.La=0;Qb(this)}w(Ob,yb);function Rb(a,b){a.sa.push(b)}k=Ob.prototype;k.reset=function(){this.l.pa&&Eb(this);Qb(this);Bb(this);this.l.error=!1;this.parent.reset.call(this)};
|
||||||
function Pb(a){a.b=0;a.c=0;a.D=0;a.f=0;a.F=0;a.g=0;a.i=0;a.u=0;E(a,a.Ia);Rb(a,0);a.B=0}function Sb(a,b){a.Ia=b;E(a,b)}k.Bb=function(){var a=this.b+this.c+this.D+this.f+this.F+this.g+this.i|0;return a=a+this.u+this.o+Tb(this)|0};k.save=function(){var a=new F(this);a.set(0,[this.b,this.c,this.D,this.f,this.F,this.g,this.i,this.u,this.o,Tb(this)]);a.set(1,[this.B,this.H,this.K]);a.set(2,gb(this.j));return a.data()};
|
function Qb(a){a.b=0;a.c=0;a.D=0;a.f=0;a.F=0;a.g=0;a.i=0;a.u=0;E(a,a.La);Sb(a,0);a.B=0}function Tb(a,b){a.La=b;E(a,b)}k.Fb=function(){var a=this.b+this.c+this.D+this.f+this.F+this.g+this.i|0;return a=a+this.u+this.o+Ub(this)|0};k.save=function(){var a=new F(this);a.set(0,[this.b,this.c,this.D,this.f,this.F,this.g,this.i,this.u,this.o,Ub(this)]);a.set(1,[this.B,this.H,this.L]);a.set(2,hb(this.j));return a.data()};
|
||||||
k.restore=function(a){var b=a[0];this.b=b[0];this.c=b[1];this.D=b[2];this.f=b[3];this.F=b[4];this.g=b[5];this.i=b[6];this.u=b[7]&65535;E(this,b[8]);Rb(this,b[9]);b=a[1];this.B=b[0];this.H=b[1];Eb(this,b[3]);a:{b=this.j;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.w){for(var f=0,g=Array(b.w),h=0;h<e.length-1;)for(var l=e[h++],n=e[h++];l--;)g[f++]=n;e=g}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
k.restore=function(a){var b=a[0];this.b=b[0];this.c=b[1];this.D=b[2];this.f=b[3];this.F=b[4];this.g=b[5];this.i=b[6];this.u=b[7]&65535;E(this,b[8]);Sb(this,b[9]);b=a[1];this.B=b[0];this.H=b[1];Fb(this,b[3]);a:{b=this.j;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.w){for(var f=0,g=Array(b.w),h=0;h<e.length-1;)for(var l=e[h++],n=e[h++];l--;)g[f++]=n;e=g}f=b.b[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||||
k.V=function(a,b,c){switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.A[b]=c;this.Ja++;a=!0;break;default:a=this.parent.V.call(this,a,b,c)}return a};function Ub(a){return a.c<<8|a.D}function Vb(a,b){a.c=b>>8&255;a.D=b&255}function Wb(a){return a.f<<8|a.F}function Xb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i}
|
k.V=function(a,b,c){switch(b){case "A":case "B":case "C":case "BC":case "D":case "E":case "DE":case "H":case "L":case "HL":case "SP":case "PC":case "PS":case "IF":case "SF":case "ZF":case "AF":case "PF":case "CF":this.A[b]=c;this.Ma++;a=!0;break;default:a=this.parent.V.call(this,a,b,c)}return a};function Vb(a){return a.c<<8|a.D}function Wb(a,b){a.c=b>>8&255;a.D=b&255}function Xb(a){return a.f<<8|a.F}function Yb(a,b){a.f=b>>8&255;a.F=b&255}function G(a){return a.g<<8|a.i}
|
||||||
function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Yb(a){return Ta[a.s&255]?4:0}function Tb(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.w)&16?16:0)|Yb(a)|J(a)}function Rb(a,b){a.m=a.s=a.w=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.w|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b)&255}
|
function I(a,b){a.g=b>>8&255;a.i=b&255}function E(a,b){a.o=b&65535}function J(a){return a.m&256?1:0}function K(a,b){a.m=a.m&255|b}function Zb(a){return Ua[a.s&255]?4:0}function Ub(a){return a.C&-214|(a.s&128?128:0)|(a.m&255?0:64)|((a.s^a.w)&16?16:0)|Zb(a)|J(a)}function Sb(a,b){a.m=a.s=a.w=0;b&1&&(a.m|=256);b&4||(a.s|=1);b&16&&(a.w|=16);b&64||(a.m|=255);b&128&&(a.s^=192);a.C=a.C&-726|b&512|2}function L(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b)&255}
|
||||||
function Zb(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function $b(a,b){a.m=a.s=a.w=a.b&b;(a.b|b)&8&&(a.w^=16);return a.m}function ac(a,b){a.w=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function bc(a,b){a.w=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function cc(a,b){return a.s=a.m=a.w=a.b|b}function M(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function dc(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function ec(a,b){return a.s=a.m=a.w=a.b^b}k.J=function(a){return this.j.J(a)};
|
function $b(a,b){a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?1:0))&255}function ac(a,b){a.m=a.s=a.w=a.b&b;(a.b|b)&8&&(a.w^=16);return a.m}function bc(a,b){a.w=b^255;b=a.s=b+255&255;a.m=a.m&-256|b;return b}function cc(a,b){a.w=b;b=a.s=b+1&255;a.m=a.m&-256|b;return b}function dc(a,b){return a.s=a.m=a.w=a.b|b}function M(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+1^256)&255}function ec(a,b){b^=255;a.w=a.b^b;return a.s=(a.m=a.b+b+(a.m&256?0:1)^256)&255}function fc(a,b){return a.s=a.m=a.w=a.b^b}k.J=function(a){return this.j.J(a)};
|
||||||
k.aa=function(a,b){this.j.aa(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=cb(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=cb(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;fb(a.j,a.u,b)}function fc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<<b);b++);a.B&=~(0>b?255:1<<b);a.C&=-513;a.B&=-257;a.Ha[199|b<<3].call(a)}return a.B&256?(Lb(a),!1):!0}function gc(a,b){a.B|=1<<b;a.C&512&&Lb(a)}
|
k.ba=function(a,b){this.j.ba(a,b)};function N(a){var b=a.J(a.o);E(a,a.o+1);return b}function O(a){var b=db(a.j,a.o);E(a,a.o+2);return b}function P(a){var b=db(a.j,a.u);a.u=a.u+2&65535;return b}function R(a,b){a.u=a.u-2&65535;gb(a.j,a.u,b)}function gc(a){if(a.a&&a.B&255&&a.C&512){for(var b=0;8>b&&!(a.B&1<<b);b++);a.B&=~(0>b?255:1<<b);a.C&=-513;a.B&=-257;a.Ka[199|b<<3].call(a)}return a.B&256?(Mb(a),!1):!0}function hc(a,b){a.B|=1<<b;a.C&512&&Mb(a)}
|
||||||
function S(a,b,c,d){d=d||2;a.A[b]&&(void 0===c&&(a.l.error=!0,a.L("Value for "+b+" is invalid"),Db(a)),c=!a.l.oa||a.l.yb?p(c,d):"--------".substr(0,d),a.A[b].textContent!=c&&(a.A[b].textContent=c))}
|
function S(a,b,c,d){d=d||2;a.A[b]&&(void 0===c&&(a.l.error=!0,a.K("Value for "+b+" is invalid"),Eb(a)),c=!a.l.pa||a.l.Cb?p(c,d):"--------".substr(0,d),a.A[b].textContent!=c&&(a.A[b].textContent=c))}
|
||||||
k.Aa=function(a){this.Ja&&(a||!this.l.oa||this.l.yb)&&(S(this,"A",this.b),S(this,"B",this.c),S(this,"C",this.D),S(this,"BC",Ub(this),4),S(this,"D",this.f),S(this,"E",this.F),S(this,"DE",Wb(this),4),S(this,"H",this.g),S(this,"L",this.i),S(this,"HL",G(this),4),S(this,"SP",this.u,4),S(this,"PC",this.o,4),a=Tb(this),S(this,"PS",a,4),S(this,"IF",a&512?1:0,1),S(this,"SF",a&128?1:0,1),S(this,"ZF",a&64?1:0,1),S(this,"AF",a&16?1:0,1),S(this,"PF",a&4?1:0,1),S(this,"CF",a&1?1:0,1));if(a=this.A.speed)a.textContent=
|
k.Da=function(a){this.Ma&&(a||!this.l.pa||this.l.Cb)&&(S(this,"A",this.b),S(this,"B",this.c),S(this,"C",this.D),S(this,"BC",Vb(this),4),S(this,"D",this.f),S(this,"E",this.F),S(this,"DE",Xb(this),4),S(this,"H",this.g),S(this,"L",this.i),S(this,"HL",G(this),4),S(this,"SP",this.u,4),S(this,"PC",this.o,4),a=Ub(this),S(this,"PS",a,4),S(this,"IF",a&512?1:0,1),S(this,"SF",a&128?1:0,1),S(this,"ZF",a&64?1:0,1),S(this,"AF",a&16?1:0,1),S(this,"PF",a&4?1:0,1),S(this,"CF",a&1?1:0,1));if(a=this.A.speed)a.textContent=
|
||||||
this.l.oa&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};k.Gb=function(a){this.l.complete=!0;this.l.Nc=!1;this.l.Fb=!1;this.W=this.a=a;if(fc(this)){do this.Ha[N(this)].call(this);while(0<this.a)}return this.l.complete?this.W-this.a:void 0===this.l.complete?0:-1};ya(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nb(d);Pa(d,c)}});function hc(){this.a-=4}function ic(){E(this,O(this));this.a-=10}function jc(){E(this,P(this));this.a-=10}
|
this.l.pa&&this.R?this.R.toFixed(2)+"Mhz":"Stopped"};k.Kb=function(a){this.l.complete=!0;this.l.Rc=!1;this.l.Jb=!1;this.W=this.a=a;if(gc(this)){do this.Ka[N(this)].call(this);while(0<this.a)}return this.l.complete?this.W-this.a:void 0===this.l.complete?0:-1};za(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ob(d);Qa(d,c)}});function ic(){this.a-=4}function jc(){E(this,O(this));this.a-=10}function kc(){E(this,P(this));this.a-=10}
|
||||||
function kc(){var a=O(this);R(this,this.o);E(this,a);this.a-=17}
|
function lc(){var a=O(this);R(this,this.o);E(this,a);this.a-=17}
|
||||||
var Ob=[hc,function(){Vb(this,O(this));this.a-=10},function(){this.aa(Ub(this),this.b);this.a-=7},function(){Vb(this,Ub(this)+1);this.a-=5},function(){this.c=bc(this,this.c);this.a-=5},function(){this.c=ac(this,this.c);this.a-=5},function(){this.c=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;K(this,a&256);this.a-=4},hc,function(){var a;I(this,a=G(this)+Ub(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Ub(this));this.a-=7},function(){Vb(this,Ub(this)-1);this.a-=5},
|
var Pb=[ic,function(){Wb(this,O(this));this.a-=10},function(){this.ba(Vb(this),this.b);this.a-=7},function(){Wb(this,Vb(this)+1);this.a-=5},function(){this.c=cc(this,this.c);this.a-=5},function(){this.c=bc(this,this.c);this.a-=5},function(){this.c=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Vb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Vb(this));this.a-=7},function(){Wb(this,Vb(this)-1);this.a-=5},
|
||||||
function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=ac(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},hc,function(){Xb(this,O(this));this.a-=10},function(){this.aa(Wb(this),this.b);this.a-=7},function(){Xb(this,Wb(this)+1);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=ac(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this);
|
function(){this.D=cc(this,this.D);this.a-=5},function(){this.D=bc(this,this.D);this.a-=5},function(){this.D=N(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;K(this,a);this.a-=4},ic,function(){Yb(this,O(this));this.a-=10},function(){this.ba(Xb(this),this.b);this.a-=7},function(){Yb(this,Xb(this)+1);this.a-=5},function(){this.f=cc(this,this.f);this.a-=5},function(){this.f=bc(this,this.f);this.a-=5},function(){this.f=N(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|J(this);
|
||||||
K(this,a&256);this.a-=4},hc,function(){var a;I(this,a=G(this)+Wb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Wb(this));this.a-=7},function(){Xb(this,Wb(this)-1);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=ac(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},hc,function(){I(this,O(this));this.a-=10},function(){var a=O(this);fb(this.j,a,G(this));this.a-=16},function(){I(this,
|
K(this,a&256);this.a-=4},ic,function(){var a;I(this,a=G(this)+Xb(this));K(this,a>>8&256);this.a-=10},function(){this.b=this.J(Xb(this));this.a-=7},function(){Yb(this,Xb(this)-1);this.a-=5},function(){this.F=cc(this,this.F);this.a-=5},function(){this.F=bc(this,this.F);this.a-=5},function(){this.F=N(this);this.a-=7},function(){var a=this.b<<8;this.b=(J(this)<<8|this.b)>>1;K(this,a&256);this.a-=4},ic,function(){I(this,O(this));this.a-=10},function(){var a=O(this);gb(this.j,a,G(this));this.a-=16},function(){I(this,
|
||||||
G(this)+1);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=ac(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.w)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},hc,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=cb(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=bc(this,this.i);
|
G(this)+1);this.a-=5},function(){this.g=cc(this,this.g);this.a-=5},function(){this.g=bc(this,this.g);this.a-=5},function(){this.g=N(this);this.a-=7},function(){var a=0,b=J(this);if((this.s^this.w)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=L(this,a);K(this,b?256:0);this.a-=4},ic,function(){var a;I(this,a=G(this)+G(this));K(this,a>>8&256);this.a-=10},function(){var a;a=O(this);a=db(this.j,a);I(this,a);this.a-=16},function(){I(this,G(this)-1);this.a-=5},function(){this.i=cc(this,this.i);
|
||||||
this.a-=5},function(){this.i=ac(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},hc,function(){this.u=O(this)&65535;this.a-=10},function(){this.aa(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.aa(a,bc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.aa(a,ac(this,this.J(a)));this.a-=10},function(){this.aa(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},hc,function(){var a;
|
this.a-=5},function(){this.i=bc(this,this.i);this.a-=5},function(){this.i=N(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},ic,function(){this.u=O(this)&65535;this.a-=10},function(){this.ba(O(this),this.b);this.a-=13},function(){this.u=this.u+1&65535;this.a-=5},function(){var a=G(this);this.ba(a,cc(this,this.J(a)));this.a-=10},function(){var a=G(this);this.ba(a,bc(this,this.J(a)));this.a-=10},function(){this.ba(G(this),N(this));this.a-=10},function(){this.m|=256;this.a-=4},ic,function(){var a;
|
||||||
I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=ac(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i;
|
I(this,a=G(this)+this.u);K(this,a>>8&256);this.a-=10},function(){this.b=this.J(O(this));this.a-=13},function(){this.u=this.u-1&65535;this.a-=5},function(){this.b=cc(this,this.b);this.a-=5},function(){this.b=bc(this,this.b);this.a-=5},function(){this.b=N(this);this.a-=7},function(){K(this,J(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.c=this.D;this.a-=5},function(){this.c=this.f;this.a-=5},function(){this.c=this.F;this.a-=5},function(){this.c=this.g;this.a-=5},function(){this.c=this.i;
|
||||||
this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-=
|
this.a-=5},function(){this.c=this.J(G(this));this.a-=7},function(){this.c=this.b;this.a-=5},function(){this.D=this.c;this.a-=5},function(){this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.F;this.a-=5},function(){this.D=this.g;this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.J(G(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.f=this.c;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.a-=5},function(){this.f=this.F;this.a-=
|
||||||
5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-=
|
5},function(){this.f=this.g;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.J(G(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.F=this.c;this.a-=5},function(){this.F=this.D;this.a-=5},function(){this.F=this.f;this.a-=5},function(){this.a-=5},function(){this.F=this.g;this.a-=5},function(){this.F=this.i;this.a-=5},function(){this.F=this.J(G(this));this.a-=7},function(){this.F=this.b;this.a-=5},function(){this.g=this.c;this.a-=5},function(){this.g=this.D;this.a-=
|
||||||
5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.aa(G(this),
|
5},function(){this.g=this.f;this.a-=5},function(){this.g=this.F;this.a-=5},function(){this.a-=5},function(){this.g=this.i;this.a-=5},function(){this.g=this.J(G(this));this.a-=7},function(){this.g=this.b;this.a-=5},function(){this.i=this.c;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.F;this.a-=5},function(){this.i=this.g;this.a-=5},function(){this.a-=5},function(){this.i=this.J(G(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.ba(G(this),
|
||||||
this.c);this.a-=7},function(){this.aa(G(this),this.D);this.a-=7},function(){this.aa(G(this),this.f);this.a-=7},function(){this.aa(G(this),this.F);this.a-=7},function(){this.aa(G(this),this.g);this.a-=7},function(){this.aa(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.ra.length)for(var b=0;b<this.ra.length;b++)if(this.ra[b](a))return;this.a-=7;this.B|=256;Lb(this);this.C&512||Db(this)},function(){this.aa(G(this),this.b);this.a-=7},function(){this.b=this.c;this.a-=5},function(){this.b=
|
this.c);this.a-=7},function(){this.ba(G(this),this.D);this.a-=7},function(){this.ba(G(this),this.f);this.a-=7},function(){this.ba(G(this),this.F);this.a-=7},function(){this.ba(G(this),this.g);this.a-=7},function(){this.ba(G(this),this.i);this.a-=7},function(){var a=this.o-1;if(this.sa.length)for(var b=0;b<this.sa.length;b++)if(this.sa[b](a))return;this.a-=7;this.B|=256;Mb(this);this.C&512||Eb(this)},function(){this.ba(G(this),this.b);this.a-=7},function(){this.b=this.c;this.a-=5},function(){this.b=
|
||||||
this.D;this.a-=5},function(){this.b=this.f;this.a-=5},function(){this.b=this.F;this.a-=5},function(){this.b=this.g;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.J(G(this));this.a-=7},function(){this.a-=5},function(){this.b=L(this,this.c);this.a-=4},function(){this.b=L(this,this.D);this.a-=4},function(){this.b=L(this,this.f);this.a-=4},function(){this.b=L(this,this.F);this.a-=4},function(){this.b=L(this,this.g);this.a-=4},function(){this.b=L(this,this.i);this.a-=4},function(){this.b=
|
this.D;this.a-=5},function(){this.b=this.f;this.a-=5},function(){this.b=this.F;this.a-=5},function(){this.b=this.g;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.J(G(this));this.a-=7},function(){this.a-=5},function(){this.b=L(this,this.c);this.a-=4},function(){this.b=L(this,this.D);this.a-=4},function(){this.b=L(this,this.f);this.a-=4},function(){this.b=L(this,this.F);this.a-=4},function(){this.b=L(this,this.g);this.a-=4},function(){this.b=L(this,this.i);this.a-=4},function(){this.b=
|
||||||
L(this,this.J(G(this)));this.a-=7},function(){this.b=L(this,this.b);this.a-=4},function(){this.b=Zb(this,this.c);this.a-=4},function(){this.b=Zb(this,this.D);this.a-=4},function(){this.b=Zb(this,this.f);this.a-=4},function(){this.b=Zb(this,this.F);this.a-=4},function(){this.b=Zb(this,this.g);this.a-=4},function(){this.b=Zb(this,this.i);this.a-=4},function(){this.b=Zb(this,this.J(G(this)));this.a-=7},function(){this.b=Zb(this,this.b);this.a-=4},function(){this.b=M(this,this.c);this.a-=4},function(){this.b=
|
L(this,this.J(G(this)));this.a-=7},function(){this.b=L(this,this.b);this.a-=4},function(){this.b=$b(this,this.c);this.a-=4},function(){this.b=$b(this,this.D);this.a-=4},function(){this.b=$b(this,this.f);this.a-=4},function(){this.b=$b(this,this.F);this.a-=4},function(){this.b=$b(this,this.g);this.a-=4},function(){this.b=$b(this,this.i);this.a-=4},function(){this.b=$b(this,this.J(G(this)));this.a-=7},function(){this.b=$b(this,this.b);this.a-=4},function(){this.b=M(this,this.c);this.a-=4},function(){this.b=
|
||||||
M(this,this.D);this.a-=4},function(){this.b=M(this,this.f);this.a-=4},function(){this.b=M(this,this.F);this.a-=4},function(){this.b=M(this,this.g);this.a-=4},function(){this.b=M(this,this.i);this.a-=4},function(){this.b=M(this,this.J(G(this)));this.a-=7},function(){this.b=M(this,this.b);this.a-=4},function(){this.b=dc(this,this.c);this.a-=4},function(){this.b=dc(this,this.D);this.a-=4},function(){this.b=dc(this,this.f);this.a-=4},function(){this.b=dc(this,this.F);this.a-=4},function(){this.b=dc(this,
|
M(this,this.D);this.a-=4},function(){this.b=M(this,this.f);this.a-=4},function(){this.b=M(this,this.F);this.a-=4},function(){this.b=M(this,this.g);this.a-=4},function(){this.b=M(this,this.i);this.a-=4},function(){this.b=M(this,this.J(G(this)));this.a-=7},function(){this.b=M(this,this.b);this.a-=4},function(){this.b=ec(this,this.c);this.a-=4},function(){this.b=ec(this,this.D);this.a-=4},function(){this.b=ec(this,this.f);this.a-=4},function(){this.b=ec(this,this.F);this.a-=4},function(){this.b=ec(this,
|
||||||
this.g);this.a-=4},function(){this.b=dc(this,this.i);this.a-=4},function(){this.b=dc(this,this.J(G(this)));this.a-=7},function(){this.b=dc(this,this.b);this.a-=4},function(){this.b=$b(this,this.c);this.a-=4},function(){this.b=$b(this,this.D);this.a-=4},function(){this.b=$b(this,this.f);this.a-=4},function(){this.b=$b(this,this.F);this.a-=4},function(){this.b=$b(this,this.g);this.a-=4},function(){this.b=$b(this,this.i);this.a-=4},function(){this.b=$b(this,this.J(G(this)));this.a-=7},function(){this.b=
|
this.g);this.a-=4},function(){this.b=ec(this,this.i);this.a-=4},function(){this.b=ec(this,this.J(G(this)));this.a-=7},function(){this.b=ec(this,this.b);this.a-=4},function(){this.b=ac(this,this.c);this.a-=4},function(){this.b=ac(this,this.D);this.a-=4},function(){this.b=ac(this,this.f);this.a-=4},function(){this.b=ac(this,this.F);this.a-=4},function(){this.b=ac(this,this.g);this.a-=4},function(){this.b=ac(this,this.i);this.a-=4},function(){this.b=ac(this,this.J(G(this)));this.a-=7},function(){this.b=
|
||||||
$b(this,this.b);this.a-=4},function(){this.b=ec(this,this.c);this.a-=4},function(){this.b=ec(this,this.D);this.a-=4},function(){this.b=ec(this,this.f);this.a-=4},function(){this.b=ec(this,this.F);this.a-=4},function(){this.b=ec(this,this.g);this.a-=4},function(){this.b=ec(this,this.i);this.a-=4},function(){this.b=ec(this,this.J(G(this)));this.a-=7},function(){this.b=ec(this,this.b);this.a-=4},function(){this.b=cc(this,this.c);this.a-=4},function(){this.b=cc(this,this.D);this.a-=4},function(){this.b=
|
ac(this,this.b);this.a-=4},function(){this.b=fc(this,this.c);this.a-=4},function(){this.b=fc(this,this.D);this.a-=4},function(){this.b=fc(this,this.f);this.a-=4},function(){this.b=fc(this,this.F);this.a-=4},function(){this.b=fc(this,this.g);this.a-=4},function(){this.b=fc(this,this.i);this.a-=4},function(){this.b=fc(this,this.J(G(this)));this.a-=7},function(){this.b=fc(this,this.b);this.a-=4},function(){this.b=dc(this,this.c);this.a-=4},function(){this.b=dc(this,this.D);this.a-=4},function(){this.b=
|
||||||
cc(this,this.f);this.a-=4},function(){this.b=cc(this,this.F);this.a-=4},function(){this.b=cc(this,this.g);this.a-=4},function(){this.b=cc(this,this.i);this.a-=4},function(){this.b=cc(this,this.J(G(this)));this.a-=7},function(){this.b=cc(this,this.b);this.a-=4},function(){M(this,this.c);this.a-=4},function(){M(this,this.D);this.a-=4},function(){M(this,this.f);this.a-=4},function(){M(this,this.F);this.a-=4},function(){M(this,this.g);this.a-=4},function(){M(this,this.i);this.a-=4},function(){M(this,
|
dc(this,this.f);this.a-=4},function(){this.b=dc(this,this.F);this.a-=4},function(){this.b=dc(this,this.g);this.a-=4},function(){this.b=dc(this,this.i);this.a-=4},function(){this.b=dc(this,this.J(G(this)));this.a-=7},function(){this.b=dc(this,this.b);this.a-=4},function(){M(this,this.c);this.a-=4},function(){M(this,this.D);this.a-=4},function(){M(this,this.f);this.a-=4},function(){M(this,this.F);this.a-=4},function(){M(this,this.g);this.a-=4},function(){M(this,this.i);this.a-=4},function(){M(this,
|
||||||
this.J(G(this)));this.a-=7},function(){M(this,this.b);this.a-=4},function(){this.m&255&&(E(this,P(this)),this.a-=6);this.a-=5},function(){Vb(this,P(this));this.a-=10},function(){var a=O(this);this.m&255&&E(this,a);this.a-=10},ic,function(){var a=O(this);this.m&255&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Ub(this));this.a-=11},function(){this.b=L(this,N(this));this.a-=7},function(){R(this,this.o);E(this,0);this.a-=11},function(){this.m&255||(E(this,P(this)),this.a-=6);this.a-=
|
this.J(G(this)));this.a-=7},function(){M(this,this.b);this.a-=4},function(){this.m&255&&(E(this,P(this)),this.a-=6);this.a-=5},function(){Wb(this,P(this));this.a-=10},function(){var a=O(this);this.m&255&&E(this,a);this.a-=10},jc,function(){var a=O(this);this.m&255&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Vb(this));this.a-=11},function(){this.b=L(this,N(this));this.a-=7},function(){R(this,this.o);E(this,0);this.a-=11},function(){this.m&255||(E(this,P(this)),this.a-=6);this.a-=
|
||||||
5},jc,function(){var a=O(this);this.m&255||E(this,a);this.a-=10},ic,function(){var a=O(this);this.m&255||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},kc,function(){this.b=Zb(this,N(this));this.a-=7},function(){R(this,this.o);E(this,8);this.a-=11},function(){J(this)||(E(this,P(this)),this.a-=6);this.a-=5},function(){Xb(this,P(this));this.a-=10},function(){var a=O(this);J(this)||E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.b,d=this.o+-2&65535,e=1,f=0;0<e;){var g=b.v[a],h=b.C[a]||
|
5},kc,function(){var a=O(this);this.m&255||E(this,a);this.a-=10},jc,function(){var a=O(this);this.m&255||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){this.b=$b(this,N(this));this.a-=7},function(){R(this,this.o);E(this,8);this.a-=11},function(){J(this)||(E(this,P(this)),this.a-=6);this.a-=5},function(){Yb(this,P(this));this.a-=10},function(){var a=O(this);J(this)||E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.b,d=this.o+-2&65535,e=1,f=0;0<e;){var g=b.v[a],h=b.C[a]||
|
||||||
1,l=1==h?255:2==h?65535:-1,l=(c>>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Wb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},jc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0,
|
1,l=1==h?255:2==h?65535:-1,l=(c>>>=f)&l;if(void 0!==g&&g[0])g[0](a,l,d);f+=h<<3;a+=h;e-=h}this.a-=10},function(){var a=O(this);J(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,Xb(this));this.a-=11},function(){this.b=M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,16);this.a-=11},function(){J(this)&&(E(this,P(this)),this.a-=6);this.a-=5},kc,function(){var a=O(this);J(this)&&E(this,a);this.a-=10},function(){for(var a=N(this),b=this.j,c=this.o+-2&65535,d=1,e=0,
|
||||||
f=0;0<d;){var g=b.m[a],h=b.B[a]||1,l=1==h?255:2==h?65535:-1,n=l;void 0!==g&&g[0]&&(n=g[0](a,c),void 0===n?n=l:n&=l);e|=n<<f;f+=h<<3;a+=h;d-=h}this.b=e&255;this.a-=10},function(){var a=O(this);J(this)&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},kc,function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,24);this.a-=11},function(){Yb(this)||(E(this,P(this)),this.a-=6);this.a-=5},function(){I(this,P(this));this.a-=10},function(){var a=O(this);Yb(this)||E(this,a);this.a-=10},
|
f=0;0<d;){var g=b.m[a],h=b.B[a]||1,l=1==h?255:2==h?65535:-1,n=l;void 0!==g&&g[0]&&(n=g[0](a,c),void 0===n?n=l:n&=l);e|=n<<f;f+=h<<3;a+=h;d-=h}this.b=e&255;this.a-=10},function(){var a=O(this);J(this)&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){this.b=ec(this,N(this));this.a-=7},function(){R(this,this.o);E(this,24);this.a-=11},function(){Zb(this)||(E(this,P(this)),this.a-=6);this.a-=5},function(){I(this,P(this));this.a-=10},function(){var a=O(this);Zb(this)||E(this,a);this.a-=10},
|
||||||
function(){var a=P(this);R(this,G(this));I(this,a);this.a-=18},function(){var a=O(this);Yb(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,G(this));this.a-=11},function(){this.b=$b(this,N(this));this.a-=7},function(){R(this,this.o);E(this,32);this.a-=11},function(){Yb(this)&&(E(this,P(this)),this.a-=6);this.a-=5},function(){E(this,G(this));this.a-=5},function(){var a=O(this);Yb(this)&&E(this,a);this.a-=10},function(){var a=G(this);I(this,Wb(this));Xb(this,a);this.a-=5},function(){var a=
|
function(){var a=P(this);R(this,G(this));I(this,a);this.a-=18},function(){var a=O(this);Zb(this)||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,G(this));this.a-=11},function(){this.b=ac(this,N(this));this.a-=7},function(){R(this,this.o);E(this,32);this.a-=11},function(){Zb(this)&&(E(this,P(this)),this.a-=6);this.a-=5},function(){E(this,G(this));this.a-=5},function(){var a=O(this);Zb(this)&&E(this,a);this.a-=10},function(){var a=G(this);I(this,Xb(this));Yb(this,a);this.a-=5},function(){var a=
|
||||||
O(this);Yb(this)&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},kc,function(){this.b=ec(this,N(this));this.a-=7},function(){R(this,this.o);E(this,40);this.a-=11},function(){this.s&128||(E(this,P(this)),this.a-=6);this.a-=5},function(){var a=P(this);Rb(this,a&255|this.C&-256);this.b=a>>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,
|
O(this);Zb(this)&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){this.b=fc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,40);this.a-=11},function(){this.s&128||(E(this,P(this)),this.a-=6);this.a-=5},function(){var a=P(this);Sb(this,a&255|this.C&-256);this.b=a>>8;this.a-=10},function(){var a=O(this);this.s&128||E(this,a);this.a-=10},function(){this.C&=-513;this.a-=4},function(){var a=O(this);this.s&128||(R(this,this.o),E(this,a),this.a-=6);this.a-=11},function(){R(this,
|
||||||
Tb(this)&255|this.b<<8);this.a-=11},function(){this.b=cc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;fc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},kc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56);
|
Ub(this)&255|this.b<<8);this.a-=11},function(){this.b=dc(this,N(this));this.a-=7},function(){R(this,this.o);E(this,48);this.a-=11},function(){this.s&128&&(E(this,P(this)),this.a-=6);this.a-=5},function(){this.u=G(this)&65535;this.a-=5},function(){var a=O(this);this.s&128&&E(this,a);this.a-=10},function(){this.C|=512;this.a-=4;gc(this)},function(){var a=O(this);this.s&128&&(R(this,this.o),E(this,a),this.a-=6);this.a-=11},lc,function(){M(this,N(this));this.a-=7},function(){R(this,this.o);E(this,56);
|
||||||
this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!lc[b]&&Aa("Unrecognized ChipSet model: "+b);this.c=lc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T);
|
this.a-=11}];function T(a){r.call(this,"ChipSet",a,T);var b=a.model;b&&!mc[b]&&Ba("Unrecognized ChipSet model: "+b);this.c=mc[b]||{};a.sound&&(this.I=null,window&&(this.I=window.AudioContext||window.webkitAudioContext),this.I&&new this.I);B(this)}w(T);
|
||||||
var V={ba:1978.1,zc:{ca:0,td:1,xd:16,Ed:32,Nd:64,Md:128,Fa:14},za:{ca:1,Pb:1,sc:2,oc:4,pc:16,qc:32,rc:64,Fa:8},Ac:{ca:2,sd:3,Wd:4,ud:8,Id:16,Jd:32,Kd:64,vd:128,Fa:0},Rd:{ca:3},Pd:{ca:2,Fd:7},Td:{ca:3,Xd:1,Sd:2,Ld:4,Cd:8,wd:16,md:32},Qd:{ca:4},Ud:{ca:5,yd:1,zd:2,Ad:4,Bd:8,Yd:16}},W={ba:100,ka:{ca:66,vb:1,kc:2,lc:4,Hd:8,Gd:16,sb:32,rb:64,nb:128},Nb:{ca:66,INIT:0},wa:{ca:194,od:0,lb:16,uc:32,tb:48,Xb:0,Yb:32},Ra:{ca:162,Od:0,$b:0,Wb:0,Zb:0,Vb:0},ma:{Dd:{ca:98},Ba:{Kb:0,Jb:1,xc:2,Fc:4,Qb:5,vc:6,Vd:7},
|
var V={ca:1978.1,Dc:{da:0,xd:1,Bd:16,Id:32,Rd:64,Qd:128,Ia:14},Ca:{da:1,Tb:1,wc:2,sc:4,tc:16,uc:32,vc:64,Ia:8},Ec:{da:2,wd:3,$d:4,yd:8,Md:16,Nd:32,Od:64,zd:128,Ia:0},Vd:{da:3},Td:{da:2,Jd:7},Xd:{da:3,ae:1,Wd:2,Pd:4,Gd:8,Ad:16,qd:32},Ud:{da:4},Yd:{da:5,Cd:1,Dd:2,Ed:4,Fd:8,be:16}},W={ca:100,ka:{da:66,zb:1,oc:2,pc:4,Ld:8,Kd:16,wb:32,vb:64,rb:128},Rb:{da:66,INIT:0},za:{da:194,sd:0,pb:16,yc:32,xb:48,ac:0,bc:32},Ua:{da:162,Sd:0,dc:0,$b:0,cc:0,Zb:0},na:{Hd:{da:98},Ea:{Ob:0,Nb:1,Bc:2,Jc:4,Ub:5,zc:6,Zd:7},
|
||||||
Ua:16383}},lc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.qa=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.v=a;this.m=Va(a,"Keyboard");this.Z=Va(a,"SerialPort");this.video=Va(a,"Video");hb(b,this,this.c.$a);ib(b,this,this.c.ab)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.zc.Fa,V.za.Fa,V.Ac.Fa,0,0,0,0]];
|
Wa:16383}},mc={SI1978:V,VT100:W};T.prototype.V=function(){return!1};T.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;this.v=a;this.m=Wa(a,"Keyboard");this.aa=Wa(a,"SerialPort");this.video=Wa(a,"Video");ib(b,this,this.c.bb);jb(b,this,this.c.cb)};T.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.ia=function(a){return a?this.save():!0};V.INIT=[[V.Dc.Ia,V.Ca.Ia,V.Ec.Ia,0,0,0,0]];
|
||||||
W.INIT=[[W.Nb.INIT,W.ka.kc|W.ka.lc],[W.wa.Xb,W.wa.Yb],[W.Ra.$b,W.Ra.Wb,W.Ra.Zb,W.Ra.Vb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
W.INIT=[[W.Rb.INIT,W.ka.oc|W.ka.pc],[W.za.ac,W.za.bc],[W.Ua.dc,W.Ua.$b,W.Ua.cc,W.Ua.Zb],[0,0,0,0,[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11776,11984,11888,11776,11808,11776,12E3,12E3,11901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||||||
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.L("reset error")};
|
[11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11904,11776,11784,11918,11808,11984,11856,11776,11808,11776,12E3,12E3,11881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];k=T.prototype;k.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.K("reset error")};
|
||||||
k.save=function(){var a=new F(this);switch(this.c.ba){case V.ba:a.set(0,[this.W,this.g,this.X,this.C,this.M,this.S,this.U]);break;case W.ba:a.set(0,[this.K,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.N]),a.set(3,[this.B,this.b,this.w,this.H,this.i])}return a.data()};
|
k.save=function(){var a=new F(this);switch(this.c.ca){case V.ca:a.set(0,[this.W,this.g,this.X,this.C,this.M,this.S,this.U]);break;case W.ca:a.set(0,[this.L,this.u]),a.set(1,[this.o,this.s]),a.set(2,[this.f,this.G,this.R,this.N]),a.set(3,[this.B,this.b,this.w,this.H,this.i])}return a.data()};
|
||||||
k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ba){case V.ba:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.M=b[4],this.S=b[5],this.U=b[6],!0;case W.ba:return this.K=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.w=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Sc=function(){return this.W};k.Tc=function(){return this.g};k.Uc=function(){return this.X};
|
k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.ca){case V.ca:return this.W=b[0],this.g=b[1],this.X=b[2],this.C=b[3],this.M=b[4],this.S=b[5],this.U=b[6],!0;case W.ca:return this.L=b[0],this.u=b[1],b=a[1],this.o=b[0],this.s=b[1],b=a[2],this.f=b[0],this.G=b[1],this.R=b[2],this.N=b[3],b=a[3],this.B=b[0],this.b=b[1],this.w=b[2],this.H=b[3],this.i=b[4],!0}return!1};k.start=function(){};k.stop=function(){};k.Wc=function(){return this.W};k.Xc=function(){return this.g};k.Yc=function(){return this.X};
|
||||||
k.Rc=function(){return this.C>>8-this.M&255};k.$c=function(a,b){this.M=b};k.bd=function(a,b){this.S=b};k.ad=function(a,b){this.C=b<<8|this.C>>8};k.cd=function(a,b){this.U=b};k.dd=function(){};function mc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
k.Vc=function(){return this.C>>8-this.M&255};k.dd=function(a,b){this.M=b};k.fd=function(a,b){this.S=b};k.ed=function(a,b){this.C=b<<8|this.C>>8};k.gd=function(a,b){this.U=b};k.hd=function(){};function nc(a){var b=0,c=0,d=~a.B;for(a=0;10>a;a++)d&1&&(b=9-a),d>>=1;for(a=0;10>a;a++)d&1&&(c=9-a),d>>=1;return 10*b+c}
|
||||||
k.Vc=function(){var a=this.u,a=a&~W.ka.rb;if((Gb(this.a)&64)<<1&&(a|=W.ka.rb,a!=this.u)){var b,c;b=this.w&1;switch(this.w>>1&7){case W.ma.Ba.Jb:this.B=this.B<<1|b;break;case W.ma.Ba.Qb:b=mc(this);this.i[b]=W.ma.Ua;break;case W.ma.Ba.Kb:this.b=this.b<<1|b;break;case W.ma.Ba.Fc:b=mc(this);c=this.b&W.ma.Ua;this.i[b]=c;break;case W.ma.Ba.vc:b=mc(this);c=this.i[b];null==c&&(c=W.ma.Ua);this.b=c;break;case W.ma.Ba.xc:this.b<<=1,this.H=this.b&W.ma.Ua+1}}a&=~W.ka.sb;this.H&&(a|=W.ka.sb);a&=~W.ka.nb;if(b=this.m){b=
|
k.Zc=function(){var a=this.u,a=a&~W.ka.vb;if((Hb(this.a)&64)<<1&&(a|=W.ka.vb,a!=this.u)){var b,c;b=this.w&1;switch(this.w>>1&7){case W.na.Ea.Nb:this.B=this.B<<1|b;break;case W.na.Ea.Ub:b=nc(this);this.i[b]=W.na.Wa;break;case W.na.Ea.Ob:this.b=this.b<<1|b;break;case W.na.Ea.Jc:b=nc(this);c=this.b&W.na.Wa;this.i[b]=c;break;case W.na.Ea.zc:b=nc(this);c=this.i[b];null==c&&(c=W.na.Wa);this.b=c;break;case W.na.Ea.Bc:this.b<<=1,this.H=this.b&W.na.Wa+1}}a&=~W.ka.wb;this.H&&(a|=W.ka.wb);a&=~W.ka.rb;if(b=this.m){b=
|
||||||
this.m;if(c=b.f)c=b.a,c=Gb(b.a)>=b.m+c.la*c.K/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.nb);a&=~W.ka.vb;this.Z&&this.Z.fa&1&&(a|=W.ka.vb);return this.u=a};k.ed=function(a,b){this.K=b};k.hd=function(a,b){this.w=b};k.gd=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.pa!==a&&((b.pa=a)?Mb(b,!0):b.sa=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.N=a}};
|
this.m;if(c=b.f)c=b.a,c=Hb(b.a)>=b.m+c.ma*c.L/1E3*1.2731488;c&&(b.f=!1);b=!b.f}b&&(a|=W.ka.rb);a&=~W.ka.zb;this.aa&&this.aa.fa&1&&(a|=W.ka.zb);return this.u=a};k.jd=function(a,b){this.L=b};k.md=function(a,b){this.w=b};k.ld=function(a,b){a=b&3;switch(b>>2&3){case 0:this.f=this.f&-4|a;break;case 1:this.f=this.f&-13|a<<2;this.video&&(b=this.video,a=this.f,b.qa!==a&&((b.qa=a)?Nb(b,!0):b.ta=!0));break;case 2:switch(a){case 0:this.G=~this.G;break;case 2:case 3:this.R=3-a}break;case 3:this.N=a}};
|
||||||
k.fd=function(a,b){b&W.wa.uc?(b&=W.wa.tb,this.s!=b&&(this.s=b,this.video&&(this.video.Db=this.s==W.wa.tb?50:60))):(b&=W.wa.lb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.wa.lb?132:80,a.H=b,a.T=a.xa,80<b&&a.T--,nc(a)&&oc(a))))};V.$a={0:T.prototype.Sc,1:T.prototype.Tc,2:T.prototype.Uc,3:T.prototype.Rc};V.ab={2:T.prototype.$c,3:T.prototype.bd,4:T.prototype.ad,5:T.prototype.cd,6:T.prototype.dd};W.$a={66:T.prototype.Vc};W.ab={66:T.prototype.ed,98:T.prototype.hd,162:T.prototype.gd,194:T.prototype.fd};
|
k.kd=function(a,b){b&W.za.yc?(b&=W.za.xb,this.s!=b&&(this.s=b,this.video&&(this.video.Hb=this.s==W.za.xb?50:60))):(b&=W.za.pb,this.o!=b&&(this.o=b,this.video&&(a=this.video,b=this.o==W.za.pb?132:80,a.H=b,a.T=a.Aa,80<b&&a.T--,oc(a)&&pc(a))))};V.bb={0:T.prototype.Wc,1:T.prototype.Xc,2:T.prototype.Yc,3:T.prototype.Vc};V.cb={2:T.prototype.dd,3:T.prototype.fd,4:T.prototype.ed,5:T.prototype.gd,6:T.prototype.hd};W.bb={66:T.prototype.Zc};W.cb={66:T.prototype.jd,98:T.prototype.md,162:T.prototype.ld,194:T.prototype.kd};
|
||||||
ya(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new T(d);Pa(d,c)}});function pc(a){r.call(this,"ROM",a,pc);this.b=null;this.m=a.addr;this.c=a.size;this.v=a.writable;this.f=a.alias;this.g=a.file;this.o=ba(this.g);if(this.g){a=this.g;var b=ca(this.o);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;la(a,null,!0,function(a,b,f){qc(c,a,b,f)})}}w(pc);var rc=[0,5];
|
za(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new T(d);Qa(d,c)}});function qc(a){r.call(this,"ROM",a,qc);this.b=null;this.i=a.addr;this.c=a.size;this.g=a.alias;this.f=a.file;this.m=ba(this.f);if(this.f){a=this.f;var b=ca(this.m);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;la(a,null,!0,function(a,b,f){rc(c,a,b,f)})}}w(qc);qc.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;sc(this)};
|
||||||
pc.prototype.qa=function(a,b,c,d){this.j=b;this.a=c;this.O=d;sc(this)};pc.prototype.ga=function(){this.i&&(this.O&&this.O.a(this.id,this.m,this.c,this.i),delete this.i);return!0};pc.prototype.ia=function(){return!0};
|
qc.prototype.ga=function(){this.wa&&(this.O&&this.O.a(this.id,this.i,this.c,this.wa),delete this.wa);return!0};qc.prototype.ia=function(){return!0};
|
||||||
function qc(a,b,c,d){if(d)a.L("Unable to load system ROM (error "+d+": "+b+")");else{Ka(a.Ta,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.b=f;else if(g)for(a.b=Array(4*g.length),d=c=0;c<g.length;c++)a.b[d++]=g[c]&255,a.b[d++]=g[c]>>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.L("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm,
|
function rc(a,b,c,d){if(d)a.K("Unable to load system ROM (error "+d+": "+b+")");else{La(a.ya,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.b=f;else if(g)for(a.b=Array(4*g.length),d=c=0;c<g.length;c++)a.b[d++]=g[c]&255,a.b[d++]=g[c]>>8&255,a.b[d++]=g[c]>>16&255,a.b[d++]=g[c]>>24&255;else a.b=e;a.wa=e.symbols;if(!a.b.length){q("Empty ROM: "+b);return}if(1==a.b.length){q(a.b[0]);return}}catch(h){a.K("ROM data error: "+h.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]);sc(a)}}
|
" ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);sc(a)}}
|
||||||
function sc(a){if(!Ra(a))if(!a.g)B(a);else if(a.b&&a.j){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+p(a.b.length,8,!0)+") does not match specified size ("+p(a.c,8,!0)+")";a.l.error=!0;a.L(b)}else if(tc(a,a.m)){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.j,g=d.c,h=[],l=d.m>>>f.j;0<g&&l<f.b.length;)h.push(f.b[l++]),g-=f.c;f=d.j;d=d.c;g=0;for(e>>>=f.j;0<d&&e<f.b.length;){l=h[g++];if(!l)break;f.b[e++]=l;d-=f.c}}delete a.b}B(a)}}
|
function sc(a){if(!Sa(a))if(!a.f)B(a);else if(a.b&&a.j){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+p(a.b.length,8,!0)+") does not match specified size ("+p(a.c,8,!0)+")";a.l.error=!0;a.K(b)}else{b=a.i;if($a(a.j,b,a.c,pb)){var c;for(c=0;c<a.b.length;c++)eb(a.j,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++){for(var d=a,e=b[c],f=d.j,g=d.c,h=[],l=d.i>>>f.j;0<g&&l<f.b.length;)h.push(f.b[l++]),g-=f.c;f=d.j;
|
||||||
function tc(a,b){if(Za(a.j,b,a.c,a.v?1:ob)){var c;for(c=0;c<a.b.length;c++)db(a.j,b+c,a.b[c]);if(a.v&&256==b){for(c=0;c<rc.length;c++)db(a.j,rc[c],118);Qb(a.a,function(a){return function(b){if(0<=rc.indexOf(b)){var c=!1,d=a.a,e=a.O;if(5==b)switch(c=!0,d.D){case 2:uc(a,String.fromCharCode(d.F));break;case 9:for(var l=Wb(d),n="",u=255;u--;){var y=a.a.J(l++);if(36==y)break;n+=String.fromCharCode(y)}uc(a,n);break;default:c=!1}c?jc.call(d):e&&(a.da("\nCP/M vector "+p(b,4,!0)),E(d,b),Db(e));b=!0}else b=
|
d=d.c;g=0;for(e>>>=f.j;0<d&&e<f.b.length;){l=h[g++];if(!l)break;f.b[e++]=l;d-=f.c}}delete a.b}}B(a)}}za(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qc(d);Qa(d,c)}});
|
||||||
!1;return b}}(a));Sb(a.a,b)}return!0}return!1}function uc(a,b){b=b.replace(/\r/g,"");a.va&&(a.va.value+=b,a.va.scrollTop=a.va.scrollHeight)}ya(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new pc(d);Pa(d,c)}});function vc(a){r.call(this,"RAM",a,vc);this.f=a.addr;this.c=a.size;this.b=!1}w(vc);k=vc.prototype;k.qa=function(a,b,c,d){this.j=b;this.a=c;this.O=d;B(this)};k.ga=function(a,b){b||this.reset();return!0};k.ia=function(a){return a?this.save():!0};
|
function tc(a){r.call(this,"RAM",a,tc);this.wa=this.c=null;this.m=a.addr;this.v=a.size;this.g=a.load;this.f=a.exec;this.i=!1;this.b=a.file;this.o=ba(this.b);if(this.b){a=this.b;var b=ca(this.o);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;la(a,null,!0,function(a,b,f){f?c.K("Unable to load RAM resource (error "+f+": "+a+")"):(La(c.ya,a,b),(a=ma(a,b))?(c.c=a.Y,c.wa=a.wa,null==c.g&&null!=a.jb&&(c.g=a.jb),null==c.f&&null!=a.ib&&(c.f=a.ib)):c.b=null,
|
||||||
k.reset=function(){!this.b&&this.c&&Za(this.j,this.f,this.c,1)&&(this.b=!0);this.b||q("No RAM allocated")};k.save=function(){return null};k.restore=function(){return!0};ya(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new vc(d);Pa(d,c)}});function X(a){r.call(this,"Keyboard",a,X);(a=a.model)&&!wc[a]&&Aa("Unrecognized Keyboard8080 model: "+a);this.b=wc[a]||{};this.reset();B(this)}w(X);var yc={};yc[m.jb]=37;yc[m.mb]=39;yc[m.ob]=32;
|
uc(c))})}}w(tc);var vc=[0,5];tc.prototype.ra=function(a,b,c,d){this.j=b;this.a=c;this.O=d;uc(this)};tc.prototype.ga=function(){return!0};tc.prototype.ia=function(){return!0};
|
||||||
var zc={ba:1978.1,h:{},kb:yc,Ga:{},ya:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Y={ba:100,h:{},kb:{},Ga:{},ya:{setup:120},Lb:{ca:130,INIT:127},ha:{ca:130,gc:1,fc:2,ec:4,dc:8,hc:16,qb:32,pb:63,yc:64,nd:128,INIT:0},cc:127};Y.h[46]=3;Y.h[m.nc]=5;Y.h[m.mc]=6;Y.h[m.Hc]=7;Y.h[m.Bc]=8;Y.h[m.Ec]=9;Y.h[m.Q]=10;Y.h[39]=16;Y.h[221]=20;Y.h[219]=21;Y.h[m.Ub]=22;Y.h[m.Cc]=23;Y.h[m.tc]=24;Y.h[m.E]=25;Y.h[49]=26;Y.h[37]=32;Y.h[40]=34;Y.h[117]=35;Y.h[19]=35;Y.h[192]=36;Y.h[189]=37;Y.h[57]=38;Y.h[55]=39;
|
function uc(a){!a.i&&a.v&&$a(a.j,a.m,a.v,1)&&(a.i=!0);if(!Sa(a)){if(!a.i)q("No RAM allocated");else if(a.b){if(!a.c||!a.j)return;var b=a.m;null!==a.g&&(b=a.g);for(var c=0;c<a.c.length;c++)eb(a.j,b+c,a.c[c]);if(null!==a.f){if(256==a.f){for(c=0;c<vc.length;c++)eb(a.j,vc[c],118);Rb(a.a,function(a){return function(b){if(0<=vc.indexOf(b)){var c=!1,d=a.a,e=a.O;if(5==b)switch(c=!0,d.D){case 2:wc(a,String.fromCharCode(d.F));break;case 9:for(var l=Xb(d),n="",u=255;u--;){var y=a.a.J(l++);if(36==y)break;n+=
|
||||||
Y.h[52]=40;Y.h[51]=41;Y.h[27]=42;Y.h[38]=48;Y.h[114]=49;Y.h[112]=50;Y.h[8]=51;Y.h[187]=52;Y.h[48]=53;Y.h[56]=54;Y.h[54]=55;Y.h[53]=56;Y.h[50]=57;Y.h[9]=58;Y.h[103]=64;Y.h[115]=65;Y.h[113]=66;Y.h[96]=67;Y.h[118]=68;Y.h[220]=69;Y.h[m.ob]=70;Y.h[m.bc]=71;Y.h[m.Sb]=72;Y.h[m.Rb]=73;Y.h[m.jb]=74;Y.h[104]=80;Y.h[2013]=81;Y.h[98]=82;Y.h[97]=83;Y.h[222]=85;Y.h[186]=86;Y.h[m.ac]=87;Y.h[m.Tb]=88;Y.h[m.mb]=89;Y.h[m.wc]=90;Y.h[110]=96;Y.h[116]=97;Y.h[101]=98;Y.h[100]=99;Y.h[13]=100;Y.h[190]=101;Y.h[188]=102;
|
String.fromCharCode(y)}wc(a,n);break;default:c=!1}c?kc.call(d):e&&(a.ea("\nCP/M vector "+p(b,4,!0)),E(d,b),Eb(e));b=!0}else b=!1;return b}}(a))}Tb(a.a,a.f)}delete a.c}B(a)}}tc.prototype.reset=function(){};function wc(a,b){b=b.replace(/\r/g,"");a.xa&&(a.xa.value+=b,a.xa.scrollTop=a.xa.scrollHeight)}za(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new tc(d);Qa(d,c)}});
|
||||||
Y.h[m.jc]=103;Y.h[m.Mb]=104;Y.h[m.Gc]=105;Y.h[119]=106;Y.h[105]=112;Y.h[99]=113;Y.h[102]=114;Y.h[109]=115;Y.h[191]=117;Y.h[m.ic]=118;Y.h[m[" "]]=119;Y.h[m.Dc]=120;Y.h[m.Ob]=121;Y.h[m.Ic]=122;Y.h[120]=123;Y.h[17]=124;Y.h[16]=125;Y.h[20]=126;Y.Ga={l4:Y.ha.gc,l3:Y.ha.fc,l2:Y.ha.ec,l1:Y.ha.dc,locked:Y.ha.hc,local:Y.ha.qb,online:~Y.ha.qb};var wc={SI1978:zc,VT100:Y};
|
function X(a){r.call(this,"Keyboard",a,X);(a=a.model)&&!xc[a]&&Ba("Unrecognized Keyboard8080 model: "+a);this.b=xc[a]||{};this.reset();B(this)}w(X);var yc={};yc[m.nb]=37;yc[m.qb]=39;yc[m.sb]=32;var Ac={ca:1978.1,h:{},ob:yc,Ja:{},Ba:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Y={ca:100,h:{},ob:{},Ja:{},Ba:{setup:120},Pb:{da:130,INIT:127},ha:{da:130,kc:1,jc:2,ic:4,hc:8,lc:16,ub:32,tb:63,Cc:64,rd:128,INIT:0},gc:127};Y.h[46]=3;Y.h[m.rc]=5;Y.h[m.qc]=6;Y.h[m.Lc]=7;Y.h[m.Fc]=8;Y.h[m.Ic]=9;
|
||||||
X.prototype.V=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.A[e]){if("led"==a&&this.b.Ga[b])return this.A[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Ac(d,a,!0)},c.onkeyup=function(a){return Ac(d,a,!1)},!0;default:if(this.b.ya&&void 0!==this.b.ya[b])return this.A[e]=c,a=function(a,b){return function(c){c.preventDefault();Bc(a,b,!0)}}(this,this.b.ya[b]),b=function(a,b){return function(){Bc(a,b,!1)}}(this,this.b.ya[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
|
Y.h[m.Q]=10;Y.h[39]=16;Y.h[221]=20;Y.h[219]=21;Y.h[m.Yb]=22;Y.h[m.Gc]=23;Y.h[m.xc]=24;Y.h[m.E]=25;Y.h[49]=26;Y.h[37]=32;Y.h[40]=34;Y.h[117]=35;Y.h[19]=35;Y.h[192]=36;Y.h[189]=37;Y.h[57]=38;Y.h[55]=39;Y.h[52]=40;Y.h[51]=41;Y.h[27]=42;Y.h[38]=48;Y.h[114]=49;Y.h[112]=50;Y.h[8]=51;Y.h[187]=52;Y.h[48]=53;Y.h[56]=54;Y.h[54]=55;Y.h[53]=56;Y.h[50]=57;Y.h[9]=58;Y.h[103]=64;Y.h[115]=65;Y.h[113]=66;Y.h[96]=67;Y.h[118]=68;Y.h[220]=69;Y.h[m.sb]=70;Y.h[m.fc]=71;Y.h[m.Wb]=72;Y.h[m.Vb]=73;Y.h[m.nb]=74;Y.h[104]=80;
|
||||||
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};X.prototype.qa=function(a,b,c,d){this.v=a;this.a=c;this.O=d;this.M=Va(a,"ChipSet");hb(b,this,this.b.$a);ib(b,this,this.b.ab)};X.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};X.prototype.ia=function(a){return a?this.save():!0};Y.INIT=[[Y.ha.INIT,Y.Lb.INIT,!1,0,-1]];k=X.prototype;k.reset=function(){this.j=[];this.b.INIT&&!this.restore(this.b.INIT)&&this.L("reset error")};
|
Y.h[2013]=81;Y.h[98]=82;Y.h[97]=83;Y.h[222]=85;Y.h[186]=86;Y.h[m.ec]=87;Y.h[m.Xb]=88;Y.h[m.qb]=89;Y.h[m.Ac]=90;Y.h[110]=96;Y.h[116]=97;Y.h[101]=98;Y.h[100]=99;Y.h[13]=100;Y.h[190]=101;Y.h[188]=102;Y.h[m.nc]=103;Y.h[m.Qb]=104;Y.h[m.Kc]=105;Y.h[119]=106;Y.h[105]=112;Y.h[99]=113;Y.h[102]=114;Y.h[109]=115;Y.h[191]=117;Y.h[m.mc]=118;Y.h[m[" "]]=119;Y.h[m.Hc]=120;Y.h[m.Sb]=121;Y.h[m.Mc]=122;Y.h[120]=123;Y.h[17]=124;Y.h[16]=125;Y.h[20]=126;
|
||||||
k.save=function(){var a=new F(this);switch(this.b.ba){case Y.ba:a.set(0,[this.i,this.g,this.f,this.m,-1])}return a.data()};k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.ba){case zc.ba:return!0;case Y.ba:return this.i=b[0],Cc(this,this.i&Y.ha.pb),this.g=b[1],this.f=b[2],this.m=b[3],this.c=b[4],!0}return!1};function Cc(a,b){for(var c in a.b.Ga){var d=a.A["led-"+c];if(d){var e=a.b.Ga[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
|
Y.Ja={l4:Y.ha.kc,l3:Y.ha.jc,l2:Y.ha.ic,l1:Y.ha.hc,locked:Y.ha.lc,local:Y.ha.ub,online:~Y.ha.ub};var xc={SI1978:Ac,VT100:Y};
|
||||||
function Ac(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.kb[e]||e,!a.b.h[e]){for(var f in a.b.ya)if(a.b.ya[f]===e){e=f;break a}e=null}e&&(d=Bc(a,e,c),b.preventDefault());return d}
|
X.prototype.V=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.A[e]){if("led"==a&&this.b.Ja[b])return this.A[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Bc(d,a,!0)},c.onkeyup=function(a){return Bc(d,a,!1)},!0;default:if(this.b.Ba&&void 0!==this.b.Ba[b])return this.A[e]=c,a=function(a,b){return function(c){c.preventDefault();Cc(a,b,!0)}}(this,this.b.Ba[b]),b=function(a,b){return function(){Cc(a,b,!1)}}(this,this.b.Ba[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=
|
||||||
function Bc(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].ib==b)break a;d=-1}if(c)0>d?a.j.push({ib:b,fb:Date.now(),Ya:!1}):(a.j[d].fb=Date.now(),a.j[d].Ya=!1);else if(0<=d){if(!a.j[d].Ya){var e=a.j[d].fb;if(e&&100>Date.now()-e)return a.j[d].Ya=!0,Dc(a),!0}a.j.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=V.za.oc;break;case "2p":d=V.za.sc;break;case "coin":d=V.za.Pb;break;case "left":d=V.za.qc;break;case "right":d=V.za.rc;break;case "fire":d=V.za.pc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0}
|
b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}}return!1};X.prototype.ra=function(a,b,c,d){this.v=a;this.a=c;this.O=d;this.M=Wa(a,"ChipSet");ib(b,this,this.b.bb);jb(b,this,this.b.cb)};X.prototype.ga=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};X.prototype.ia=function(a){return a?this.save():!0};Y.INIT=[[Y.ha.INIT,Y.Pb.INIT,!1,0,-1]];k=X.prototype;k.reset=function(){this.j=[];this.b.INIT&&!this.restore(this.b.INIT)&&this.K("reset error")};
|
||||||
function Dc(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].Ya){var d=a.j[b].ib,e=100-(Date.now()-a.j[b].fb);if(0<e){if(0>c||c>e)c=e}else{Bc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Dc(a)},c)}k.Wc=function(){var a=this.g;0<=this.c&&(this.c<this.j.length?(a=this.j[this.c],this.c++,a=Y.h[a.ib],a&128&&(a&=127)):(this.c=-1,a=Y.cc),this.g=a,gc(this.a,1));return a};k.jd=function(a,b){this.i=b;this.f=!0;this.m=Gb(this.a);Cc(this,b&Y.ha.pb);b&Y.ha.yc&&(this.c=0,gc(this.a,1))};Y.$a={130:X.prototype.Wc};
|
k.save=function(){var a=new F(this);switch(this.b.ca){case Y.ca:a.set(0,[this.i,this.g,this.f,this.m,-1])}return a.data()};k.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.ca){case Ac.ca:return!0;case Y.ca:return this.i=b[0],Dc(this,this.i&Y.ha.tb),this.g=b[1],this.f=b[2],this.m=b[3],this.c=b[4],!0}return!1};function Dc(a,b){for(var c in a.b.Ja){var d=a.A["led-"+c];if(d){var e=a.b.Ja[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
|
||||||
Y.ab={130:X.prototype.jd};ya(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new X(d);Pa(d,c)}});
|
function Bc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.ob[e]||e,!a.b.h[e]){for(var f in a.b.Ba)if(a.b.Ba[f]===e){e=f;break a}e=null}e&&(d=Cc(a,e,c),b.preventDefault());return d}
|
||||||
function Ec(a,b,c,d,e){var f=this;this.Ia=ra("Gecko/");var g=["","moz","ms","webkit"];r.call(this,"Video",a,Ec);this.C=a.screenWidth;this.w=a.screenHeight;this.ea=a.bufferAddr;this.Kc=a.bufferRAM;var h=a.bufferFormat;this.U=h&&Fc[h.toUpperCase()]||Gc;this.H=a.bufferCols;this.W=a.bufferRows;this.xa=this.T=a.cellWidth||1;this.P=a.cellHeight||1;this.X=null;this.Ha=!1;this.ja=a.bufferBits||1;this.Lc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.L("unsupported buffer rotation: "+
|
function Cc(a,b,c){var d;a:{for(d=0;d<a.j.length;d++)if(a.j[d].mb==b)break a;d=-1}if(c)0>d?a.j.push({mb:b,hb:Date.now(),$a:!1}):(a.j[d].hb=Date.now(),a.j[d].$a=!1);else if(0<=d){if(!a.j[d].$a){var e=a.j[d].hb;if(e&&100>Date.now()-e)return a.j[d].$a=!0,Ec(a),!0}a.j.splice(d,1)}if(a.M){d=0;switch(b){case "1p":d=V.Ca.sc;break;case "2p":d=V.Ca.wc;break;case "coin":d=V.Ca.Tb;break;case "left":d=V.Ca.uc;break;case "right":d=V.Ca.vc;break;case "fire":d=V.Ca.tc}d&&(a=a.M,b=d,a.g&=~b,c&&(a.g|=b))}return!0}
|
||||||
this.c),this.c=0);this.la=a.interruptRate;this.wb=a.refreshRate||60;this.u=b;this.f=c;this.R=(this.Oc=d)||b||null;this.Jc=this.C;this.Ib=this.w;this.Ca=this.C/this.H|0;this.Da=this.w/this.W|0;1<this.P&&(this.W++,this.pa=0,this.sa=!1);b=a.smoothing;(c=Ea.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.g=a.screenRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g?(this.L("unsupported screen rotation: "+
|
function Ec(a){for(var b=0,c=-1;b<a.j.length;){if(a.j[b].$a){var d=a.j[b].mb,e=100-(Date.now()-a.j[b].hb);if(0<e){if(0>c||c>e)c=e}else{Cc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Ec(a)},c)}k.$c=function(){var a=this.g;0<=this.c&&(this.c<this.j.length?(a=this.j[this.c],this.c++,a=Y.h[a.mb],a&128&&(a&=127)):(this.c=-1,a=Y.gc),this.g=a,hc(this.a,1));return a};k.nd=function(a,b){this.i=b;this.f=!0;this.m=Hb(this.a);Dc(this,b&Y.ha.tb);b&Y.ha.Cc&&(this.c=0,hc(this.a,1))};Y.bb={130:X.prototype.$c};
|
||||||
this.g),this.g=0):(this.f.translate(0,this.w),this.f.rotate(this.g*Math.PI/180),this.f.scale(this.w/this.C,this.C/this.w));if(this.b=e)if(this.b.Ea=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.Ea){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Hc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);
|
Y.cb={130:X.prototype.nd};za(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new X(d);Qa(d,c)}});
|
||||||
break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Hc(f,null)},!1);break}}if(this.M=a.fontROM)"json"!=ca(this.M)&&(this.M=ea()+"/api/v1/dump?file="+this.M+"&format=bytes"),la(this.M,null,!0,function(a,b,c){Ic(f,a,b,c)});this.ua={}}w(Ec);var Gc=0,Fc={SI1978:1,VT100:2};
|
function Fc(a,b,c,d,e){var f=this;this.La=ta("Gecko/");var g=["","moz","ms","webkit"];r.call(this,"Video",a,Fc);this.C=a.screenWidth;this.w=a.screenHeight;this.ja=a.bufferAddr;this.Oc=a.bufferRAM;var h=a.bufferFormat;this.U=h&&Gc[h.toUpperCase()]||Hc;this.H=a.bufferCols;this.W=a.bufferRows;this.Aa=this.T=a.cellWidth||1;this.P=a.cellHeight||1;this.X=null;this.Ka=!1;this.la=a.bufferBits||1;this.Pc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.K("unsupported buffer rotation: "+
|
||||||
function nc(a){a.o=a.H*a.T;a.G=a.W*a.P;var b=a.o,c=a.G;a.c&&(b=a.G,c=a.o);a.B=0;if(!a.Kc&&(a.B=(a.o*a.ja>>3)*a.G,!Za(a.j,a.ea,a.B,3)))return!1;a.B?(a.Ja=a.f.createImageData(b,c),a.La=16/a.ja|0,Jc(a,a.B>>1)):Jc(a,(a.H+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.ra=a.s.getContext("2d");a.I={};a.S=1<<a.ja;a.K=Array(a.S+2);a.K[0]=[0,0,0,255];a.K[1]=[255,255,255,255];1==a.U&&(a.K[a.S+0]=[255,255,0,255],a.K[a.S+1]=[0,255,0,255]);2==a.U&&(a.Db=60,a.ta=!1,a.Z=Array(a.H));return!0}
|
this.c),this.c=0);this.ma=a.interruptRate;this.Ab=a.refreshRate||60;this.u=b;this.f=c;this.R=(this.Sc=d)||b||null;this.Nc=this.C;this.Mb=this.w;this.Fa=this.C/this.H|0;this.Ga=this.w/this.W|0;1<this.P&&(this.W++,this.qa=0,this.ta=!1);b=a.smoothing;(c=Fa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.g=a.screenRotate)this.g=this.g%360,0<this.g&&(this.g-=360),-90!=this.g?(this.K("unsupported screen rotation: "+
|
||||||
Ec.prototype.qa=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;nc(this);if(this.m=Va(a,"Keyboard")){for(var e in this.ua)this.m.V("led",e,this.ua[e]);this.u&&this.m.V(this.Oc?"textarea":"canvas","kbd",this.R)}var f=this;this.xb=Ib(this.a,function(){Mb(f)});Kb(this.a,this.xb,1E3/Math.max(this.wb,this.la));this.Va=0;this.M||B(this)};
|
this.g),this.g=0):(this.f.translate(0,this.w),this.f.rotate(this.g*Math.PI/180),this.f.scale(this.w/this.C,this.C/this.w));if(this.b=e)if(this.b.Ha=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.Ha){for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Ic(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);
|
||||||
function Ic(a,b,c,d){if(d)a.L("Unable to load font ROM (error "+d+": "+b+")");else{Ka(a.Ta,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){q("Empty font ROM: "+b);return}if(1==f.length){q(f[0]);return}if(2048==f.length)a.X=f,oc(a);else{a.L("Unrecognized font data length ("+f.length+")");return}}catch(g){a.L("Font ROM data error: "+g.message);return}(a.f||a.O)&&B(a)}}
|
break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Ic(f,null)},!1);break}}if(this.M=a.fontROM)"json"!=ca(this.M)&&(this.M=ea()+"/api/v1/dump?file="+this.M+"&format=bytes"),la(this.M,null,!0,function(a,b,c){Jc(f,a,b,c)});this.va={}}w(Fc);var Hc=0,Gc={SI1978:1,VT100:2};
|
||||||
function oc(a){a.X&&(a.Ha=2==a.U,a.I[96]=[Kc(a,a.T,a.P),Kc(a,a.T,a.P,a.ta)],a.I[64]=[Kc(a,2*a.T,a.P),Kc(a,2*a.T,a.P,a.ta)],a.I[32]=a.I[0]=[Kc(a,2*a.T,2*a.P),Kc(a,2*a.T,2*a.P,a.ta)])}
|
function oc(a){a.o=a.H*a.T;a.G=a.W*a.P;var b=a.o,c=a.G;a.c&&(b=a.G,c=a.o);a.B=0;if(!a.Oc&&(a.B=(a.o*a.la>>3)*a.G,!$a(a.j,a.ja,a.B,3)))return!1;a.B?(a.Ma=a.f.createImageData(b,c),a.Oa=16/a.la|0,Kc(a,a.B>>1)):Kc(a,(a.H+1)*a.W);a.s=document.createElement("canvas");a.s.width=b;a.s.height=c;a.sa=a.s.getContext("2d");a.I={};a.S=1<<a.la;a.L=Array(a.S+2);a.L[0]=[0,0,0,255];a.L[1]=[255,255,255,255];1==a.U&&(a.L[a.S+0]=[255,255,0,255],a.L[a.S+1]=[0,255,0,255]);2==a.U&&(a.Hb=60,a.ua=!1,a.aa=Array(a.H));return!0}
|
||||||
function Kc(a,b,c,d){var e=8>=a.xa?8:16,f=8<e?15:0,g=a.X.length/e,h=!1===d,l={T:b,P:c};l.canvas=document.createElement("canvas");l.canvas.width=16*b;l.canvas.height=g/16*c;l.context=l.canvas.getContext("2d");for(var n=l.context.createImageData(b,c),u=0;u<g;u++){for(var y=0,H=y;y<a.P;y++)for(var x=u*e+(f+y&e-1),x=d&&8==y?255:a.X[x],t=0;t<c/a.P;t++){for(var C=0,Q=0,U=Q;Q<a.T;Q++){for(var Z=x&128>>(7<Q?7:Q),C=a.Ha&&!Z&&C?C:Z,sa=0;sa<b/a.T;sa++)h&&(C=!C),Lc(a,n,U,H,C?1:0),U++;C=Z}H++}l.context.putImageData(n,
|
Fc.prototype.ra=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;oc(this);if(this.m=Wa(a,"Keyboard")){for(var e in this.va)this.m.V("led",e,this.va[e]);this.u&&this.m.V(this.Sc?"textarea":"canvas","kbd",this.R)}var f=this;this.Bb=Jb(this.a,function(){Nb(f)});Kb(this.a,this.Bb,1E3/Math.max(this.Ab,this.ma));this.Xa=0;this.M||B(this)};
|
||||||
(u&15)*b,(u>>4)*c)}return l}Ec.prototype.ga=function(){return!0};Ec.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.ua[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.Ea?c.onclick=function(){d.Ea()}:c.parentNode.removeChild(c),!0}return!1};
|
function Jc(a,b,c,d){if(d)a.K("Unable to load font ROM (error "+d+": "+b+")");else{La(a.ya,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){q("Empty font ROM: "+b);return}if(1==f.length){q(f[0]);return}if(2048==f.length)a.X=f,pc(a);else{a.K("Unrecognized font data length ("+f.length+")");return}}catch(g){a.K("Font ROM data error: "+g.message);return}(a.f||a.O)&&B(a)}}
|
||||||
Ec.prototype.Ea=function(){var a=!1;if(this.b){if(this.b.Ea){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.Ia?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ea();a=!0}this.R&&this.R.focus()}return a};
|
function pc(a){a.X&&(a.Ka=2==a.U,a.I[96]=[Lc(a,a.T,a.P),Lc(a,a.T,a.P,a.ua)],a.I[64]=[Lc(a,2*a.T,a.P),Lc(a,2*a.T,a.P,a.ua)],a.I[32]=a.I[0]=[Lc(a,2*a.T,2*a.P),Lc(a,2*a.T,2*a.P,a.ua)])}
|
||||||
function Hc(a,b){!b&&a.b&&(a.Ia?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Jc(a,b){a.Ka=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Ka)a.i=Array(a.Ka)}function Lc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.U&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.K[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
function Lc(a,b,c,d){var e=8>=a.Aa?8:16,f=8<e?15:0,g=a.X.length/e,h=!1===d,l={T:b,P:c};l.canvas=document.createElement("canvas");l.canvas.width=16*b;l.canvas.height=g/16*c;l.context=l.canvas.getContext("2d");for(var n=l.context.createImageData(b,c),u=0;u<g;u++){for(var y=0,H=y;y<a.P;y++)for(var x=u*e+(f+y&e-1),x=d&&8==y?255:a.X[x],t=0;t<c/a.P;t++){for(var D=0,Q=0,U=Q;Q<a.T;Q++){for(var Z=x&128>>(7<Q?7:Q),D=a.Ka&&!Z&&D?D:Z,sa=0;sa<b/a.T;sa++)h&&(D=!D),Mc(a,n,U,H,D?1:0),U++;D=Z}H++}l.context.putImageData(n,
|
||||||
function Mb(a,b){var c=!0;if(!b){a.la&&(120==a.la?a.Va&1?(gc(a.a,2),c=!1):gc(a.a,1):gc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ea>>>d.j;0<e&&g<d.b.length;)d.b[g].na&&(d.b[g].na=f=!1,d.b[g].Ab=!0),e-=d.c,g++;f&&(c=!1)}Kb(a.a,a.xb,1E3/Math.max(a.wb,a.la));a.Va++}if(c)if(1<a.T)switch(a.U){case 2:for(var c=a.ea,d=-1,e=0,f=60==a.Db?2:5,h=g=0,l=-1;e<a.W;){var n=0,u=c,y=d,H=a.H;for(96!=y&&(H>>=1);;){var x=bb(a.j,u++);if(127==(x&127)){var t=bb(a.j,u++),d=t&96,c=(t&15)<<8|bb(a.j,u),c=c+(t&16?
|
(u&15)*b,(u>>4)*c)}return l}Fc.prototype.ga=function(){return!0};Fc.prototype.V=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.va[b]=c,!0;switch(b){case "fullScreen":return this.A[b]=c,this.b&&this.b.Ha?c.onclick=function(){d.Ha()}:c.parentNode.removeChild(c),!0}return!1};
|
||||||
8192:16384);break}if(n<H)a.Z[n++]=x;else break}if(f)f--;else{for(;n<a.Z.length;)a.Z[n++]=0;if(0<=y)for(u=a.N&&a.i[g]==H,a.i[g++]=H,H=0;H<n;H++){x=a.Z[H];if(!u||x!==a.i[g]){a.i[l=g]=x;var t=a,C=a.ra,Q=x&127;if(x=t.I[y][x&128?1:0]){var U=(Q&15)*x.T,Q=(Q>>4)*x.P,Z,sa,Na,eb,xc=x.T,Jb=x.P;C?(Z=H*t.T,sa=e*t.P,Na=t.T,eb=t.P):(Z=H*t.Ca,sa=e*t.Da,Na=t.Ca,eb=t.Da);x.T>t.T&&(Z*=2,Na*=2);x.P>t.P&&(y||(Q+=t.P),Jb=t.P);C?C.drawImage(x.canvas,U,Q,xc,Jb,Z,sa,Na,eb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,xc,Jb,Z,
|
Fc.prototype.Ha=function(){var a=!1;if(this.b){if(this.b.Ha){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.C/this.w;b>c&&(a=Math.round(c/b*100)+"%")}this.La?(this.u.style.width=a,this.u.style.width=a,this.u.style.display="block",this.u.style.margin="auto"):(this.b.style.width=a,this.b.style.height="auto");this.b.style.backgroundColor="black";this.b.Ha();a=!0}this.R&&this.R.focus()}return a};
|
||||||
sa,Na,eb))}h++}g++}e++}}a.N=!0;!b&&a.sa&&1==h&&(a.i[l]=-1,h=0);a.sa=!1;(h||b)&&a.ra&&a.f.drawImage(a.s,0,a.pa,a.o,a.G-a.P,0,0,a.Jc,a.Ib)}else{e=a.ea;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;y=d=0;u=a.ja;H=(1<<u)-1;a.Lc&&(u=-u,y=16+u);for(;e<f;){t=a.j;C=e;x=C&t.f;U=(C&t.g)>>>t.j;t=x!=t.f?t.b[U].Eb(x,C):t.b[U++].bb(x,C)|t.b[U&t.o].bb(0,C+1)<<8;if(a.N&&t===a.i[g])h+=a.La;else{a.i[g]=t;(C=y)&&(t=t>>8|(t&255)<<8);h<b&&(b=h);for(x=a.La;x--;)U=t>>C&H,Lc(a,a.Ja,h++,l,U),C+=u;h>n&&(n=h);l<c&&(c=l);l>=d&&(d=l+1)}e+=
|
function Ic(a,b){!b&&a.b&&(a.La?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function Kc(a,b){a.Na=b;a.N=!1;if(void 0===a.i||a.i.length!=a.Na)a.i=Array(a.Na)}function Mc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.U&&(208<=c&&236>c?e=a.S+0:28<=c&&72>c&&(e=a.S+1));a=a.L[e];d*=a.length;b.data[d]=a[0];b.data[d+1]=a[1];b.data[d+2]=a[2];b.data[d+3]=a[3]}
|
||||||
2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.N=!0;b<a.o&&(e=n-b,d-=c,a.c&&(f=b,g=e,b=c,e=d,c=a.o-(f+g),d=g),a.ra.putImageData(a.Ja,0,0,b,c,e,d),a.f.drawImage(a.s,0,0,a.s.width,a.s.height,0,0,a.C,a.w))}}
|
function Nb(a,b){var c=!0;if(!b){a.ma&&(120==a.ma?a.Xa&1?(hc(a.a,2),c=!1):hc(a.a,1):hc(a.a,4));if(c&&a.N&&a.B){for(var d=a.j,e=a.B,f=!0,g=a.ja>>>d.j;0<e&&g<d.b.length;)d.b[g].oa&&(d.b[g].oa=f=!1,d.b[g].Eb=!0),e-=d.c,g++;f&&(c=!1)}Kb(a.a,a.Bb,1E3/Math.max(a.Ab,a.ma));a.Xa++}if(c)if(1<a.T)switch(a.U){case 2:for(var c=a.ja,d=-1,e=0,f=60==a.Hb?2:5,h=g=0,l=-1;e<a.W;){var n=0,u=c,y=d,H=a.H;for(96!=y&&(H>>=1);;){var x=cb(a.j,u++);if(127==(x&127)){var t=cb(a.j,u++),d=t&96,c=(t&15)<<8|cb(a.j,u),c=c+(t&16?
|
||||||
ya(function(){for(var a=A(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
8192:16384);break}if(n<H)a.aa[n++]=x;else break}if(f)f--;else{for(;n<a.aa.length;)a.aa[n++]=0;if(0<=y)for(u=a.N&&a.i[g]==H,a.i[g++]=H,H=0;H<n;H++){x=a.aa[H];if(!u||x!==a.i[g]){a.i[l=g]=x;var t=a,D=a.sa,Q=x&127;if(x=t.I[y][x&128?1:0]){var U=(Q&15)*x.T,Q=(Q>>4)*x.P,Z,sa,Pa,fb,zc=x.T,Lb=x.P;D?(Z=H*t.T,sa=e*t.P,Pa=t.T,fb=t.P):(Z=H*t.Fa,sa=e*t.Ga,Pa=t.Fa,fb=t.Ga);x.T>t.T&&(Z*=2,Pa*=2);x.P>t.P&&(y||(Q+=t.P),Lb=t.P);D?D.drawImage(x.canvas,U,Q,zc,Lb,Z,sa,Pa,fb):(Z+=0,sa+=0,t.f.drawImage(x.canvas,U,Q,zc,Lb,
|
||||||
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ea.aspect);f&&.3<=f&&3.33>=f&&(xa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ra("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Ec(d,e,g,f,c);Pa(d,c)}});
|
Z,sa,Pa,fb))}h++}g++}e++}}a.N=!0;!b&&a.ta&&1==h&&(a.i[l]=-1,h=0);a.ta=!1;(h||b)&&a.sa&&a.f.drawImage(a.s,0,a.qa,a.o,a.G-a.P,0,0,a.Nc,a.Mb)}else{e=a.ja;f=e+a.B;l=h=g=0;b=a.o;n=0;c=a.G;y=d=0;u=a.la;H=(1<<u)-1;a.Pc&&(u=-u,y=16+u);for(;e<f;){t=a.j;D=e;x=D&t.f;U=(D&t.g)>>>t.j;t=x!=t.f?t.b[U].Ib(x,D):t.b[U++].eb(x,D)|t.b[U&t.o].eb(0,D+1)<<8;if(a.N&&t===a.i[g])h+=a.Oa;else{a.i[g]=t;(D=y)&&(t=t>>8|(t&255)<<8);h<b&&(b=h);for(x=a.Oa;x--;)U=t>>D&H,Mc(a,a.Ma,h++,l,U),D+=u;h>n&&(n=h);l<c&&(c=l);l>=d&&(d=l+1)}e+=
|
||||||
function Mc(a){this.I=+a.adapter;switch(this.I){case 0:this.K=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Mc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Nc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.A[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Cb,receiveData:this.gb}}w(Mc);
|
2;g++;if(h>=a.o&&(h=0,l++,l>a.G))break}a.N=!0;b<a.o&&(e=n-b,d-=c,a.c&&(f=b,g=e,b=c,e=d,c=a.o-(f+g),d=g),a.sa.putImageData(a.Ma,0,0,b,c,e,d),a.f.drawImage(a.s,0,0,a.s.width,a.s.height,0,0,a.C,a.w))}}
|
||||||
var Oc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Pc=[!1,0,0,133,142,39,238],Nc="buffer";k=Mc.prototype;
|
za(function(){for(var a=A(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
|
||||||
k.V=function(a,b,c,d){var e=this;switch(b){case Nc:return this.A[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Qc(e,b);return!0},c.onkeypress=function(a){a=a||window.event;Qc(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.A[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.gb(d);return!0},
|
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Fa.aspect);f&&.3<=f&&3.33>=f&&(ya("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");ta("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Fc(d,e,g,f,c);Qa(d,c)}});
|
||||||
!0}return!1};k.qa=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;var e=this;this.S=Ib(this.a,function(){e.gb()});this.U=Ib(this.a,function(){e.fa|=5});this.M=Va(a,"ChipSet");hb(b,this,Rc,this.K);ib(b,this,Sc,this.K);B(this)};
|
function Nc(a){this.I=+a.adapter;switch(this.I){case 0:this.L=0;this.R=2;break;default:q("Unrecognized serial adapter #"+this.I);return}this.b=this.c=null;this.N=a.tabSize;this.H=a.charBOL;this.f=0;this.C=!1;r.call(this,"SerialPort",a,Nc);var b=a.binding;if("console"==b)this.c="";else{var c;a=Oc;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.A[b])&&this.V(null,a,b))}this.g="";this.i=this.s=null;this.exports={connect:this.Gb,receiveData:this.kb}}w(Nc);
|
||||||
k.Cb=function(){if(!this.i){var a=zb(this.v,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ha(b[0]);if(c!=this.Sa)return;b=ha(b[1]);if(this.i=Ma(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.Ta+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Cb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
var Pc=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Qc=[!1,0,0,133,142,39,238],Oc="buffer";k=Nc.prototype;
|
||||||
k.ia=function(a){return a?this.save():!0};k.reset=function(){Tc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.w;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Tc(this,a[0])};function Tc(a,b){var c=0;b||(b=Pc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.w=b[c++];a.u=b[c];return!0}
|
k.V=function(a,b,c,d){var e=this;switch(b){case Oc:return this.A[b]=this.b=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),Rc(e,b);return!0},c.onkeypress=function(a){a=a||window.event;Rc(e,a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0;default:if(d)return this.A[b]=c,d=d.replace(/\\e/g,String.fromCharCode(27)),c.onclick=function(){e.kb(d);return!0},
|
||||||
function Uc(a,b){var c=a.u&b;b&15||(c>>=4);b=Oc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Qc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,gc(a.a,a.R),!0)}k.gb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Qc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Kb(this.a,this.S,Uc(this,15)));return!0};k.Qc=function(){var a=this.B;this.fa&=-3;return a};k.Pc=function(){return this.fa};
|
!0}return!1};k.ra=function(a,b,c,d){this.v=a;this.j=b;this.a=c;this.O=d;var e=this;this.S=Jb(this.a,function(){e.kb()});this.U=Jb(this.a,function(){e.fa|=5});this.M=Wa(a,"ChipSet");ib(b,this,Sc,this.L);jb(b,this,Tc,this.L);B(this)};
|
||||||
k.Zc=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0<this.f&&this.f--;else{a=(a=ia[b])?"<"+a+">":String.fromCharCode(b);var c=a.length;9==b?(b=this.N||8,c=b-this.f%b,this.N&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!=
|
k.Gb=function(){if(!this.i){var a=Ab(this.v,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ha(b[0]);if(c!=this.Va)return;b=ha(b[1]);if(this.i=Na(b)){var d=this.i.exports;if(d){var e=d.connect;e&&e.call(this.i);if(this.s=d.receiveData){this.status(this.ya+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.ga=function(a,b){if(!b)if(this.Gb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
this.c){if(10==b||1024<=this.c.length)this.da(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Kb(this.a,this.U,Uc(this,240))};k.Yc=function(a,b){this.o?(this.w=b,this.w&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.Xc=function(a,b){this.u=b};var Rc={0:Mc.prototype.Qc,1:Mc.prototype.Pc},Sc={0:Mc.prototype.Zc,1:Mc.prototype.Yc,2:Mc.prototype.Xc};ya(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Mc(d);Pa(d,c)}});
|
k.ia=function(a){return a?this.save():!0};k.reset=function(){Uc(this)};k.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.o;c[b++]=this.B;c[b++]=this.G;c[b++]=this.fa;c[b++]=this.m;c[b++]=this.w;c[b]=this.u;a.set(0,c);return a.data()};k.restore=function(a){return Uc(this,a[0])};function Uc(a,b){var c=0;b||(b=Qc);a.o=b[c++];a.B=b[c++];a.G=b[c++];a.fa=b[c++];a.m=b[c++];a.w=b[c++];a.u=b[c];return!0}
|
||||||
function Vc(a,b,c){r.call(this,"Computer",a,Vc);this.l.Y=!1;Wc(this,b);this.w=zb(this,"autoPower",a);this.f=0;this.M=a.busWidth||a.buswidth;this.b=Xc;this.s=null;this.v=this.G=!1;this.I=zb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Yc(this);if(this.a=Oa("CPU",this.id)){this.O=Oa("Debugger",this.id);this.m=[];for(b=null;b=Va(this,"Video",b);)this.m.push(b);this.j=new Xa({id:this.Ta+".bus",busWidth:this.M},this.a,this.O);var d,e=La(this.id);if((this.g=Oa("Panel",this.id))&&this.g.va)for(b=
|
function Vc(a,b){var c=a.u&b;b&15||(c>>=4);b=Pc[c];c=((a.m&12)>>2)+6;a.m&16&&c++;c+=((a.m&192)>>6)+1>>1;return 1E3/Math.round(b/c)}function Rc(a,b){return a.C||a.fa&2?!1:(a.B=b,a.fa|=2,hc(a.a,a.R),!0)}k.kb=function(a){null!=a&&(this.g="number"!=typeof a?a:this.g+String.fromCharCode(a));this.g&&(Rc(this,this.g.charCodeAt(0))&&(this.g=this.g.substr(1)),this.g&&this.a&&Kb(this.a,this.S,Vc(this,15)));return!0};k.Uc=function(){var a=this.B;this.fa&=-3;return a};k.Tc=function(){return this.fa};
|
||||||
0;b<e.length;b++)d=e[b],d.L=this.g.L,d.da=this.g.da,d.va=this.g.va;this.da("PC8080 v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.qa&&d.qa(this,this.j,this.a,this.O);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.b=parseInt(d,10));var f;if(a=zb(this,"state")||(f=!0,a.state))b=this.B=a,f||(this.v=!0,this.b=Xc),this.b&&(this.u=new F(this,"1.30.1"),Zc(this.u)?b=null:delete this.u);
|
k.cd=function(a,b){this.G=b;this.fa&=-6;if(19==b)this.C=!0;else if(17==b)this.C=!1;else if(this.s&&this.s.call(this.i,b),this.b)if(8==b)this.b.value=this.b.value.slice(0,-1),0<this.f&&this.f--;else{a=(a=ia[b])?"<"+a+">":String.fromCharCode(b);var c=a.length;9==b?(b=this.N||8,c=b-this.f%b,this.N&&(a=" ".slice(0,c))):13==b&&(this.f=c=0,a="\n");this.H&&!this.f&&c&&(a=String.fromCharCode(this.H)+a);this.b.value+=a;this.b.scrollTop=this.b.scrollHeight;this.f+=c}else if(null!=
|
||||||
!b&&this.b&&(b=$c(this))&&(this.v=!0);if(b){var g=this;la(b,null,!0,function(a,b,c){c?(g.o=null,g.v=!1,g.L("Unable to load machine state from server (error "+c+(b?": "+ha(b):"")+")")):(g.s=b,g.G=!0);B(g)})}else B(this);this.A.power||(this.w=!0);!c&&this.w&&ad(this,this.Oa)}else q("Unable to find CPU component")}w(Vc);var Xc=0;function Wc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.H=b}
|
this.c){if(10==b||1024<=this.c.length)this.ea(this.c),this.c="";10!=b&&(this.c+=String.fromCharCode(b))}this.a&&Kb(this.a,this.U,Vc(this,240))};k.bd=function(a,b){this.o?(this.w=b,this.w&64&&(this.o=!1)):(this.m=b,this.o=!0)};k.ad=function(a,b){this.u=b};var Sc={0:Nc.prototype.Uc,1:Nc.prototype.Tc},Tc={0:Nc.prototype.cd,1:Nc.prototype.bd,2:Nc.prototype.ad};za(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nc(d);Qa(d,c)}});
|
||||||
function zb(a,b,c){var d=b.toLowerCase(),d=Ea[b]||Ea[d];void 0===d&&a.H&&(d=a.H[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ad(a,b,c){for(var d=La(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Ra(f)){Ra(f,function(){ad(a,b,c)});return}}b.call(a,c)}
|
function Wc(a,b,c){r.call(this,"Computer",a,Wc);this.l.Z=!1;Xc(this,b);this.w=Ab(this,"autoPower",a);this.f=0;this.M=a.busWidth||a.buswidth;this.b=Yc;this.s=null;this.v=this.G=!1;this.I=Ab(this,"url")||"";(Math.random()+.1).toString(36);this.c=Zc(this);if(this.a=Oa("CPU",this.id)){this.O=Oa("Debugger",this.id);this.m=[];for(b=null;b=Wa(this,"Video",b);)this.m.push(b);this.j=new Ya({id:this.ya+".bus",busWidth:this.M},this.a,this.O);var d,e=Ma(this.id);if((this.g=Oa("Panel",this.id))&&this.g.xa)for(b=
|
||||||
function bd(a,b){var c=new F(a,"1.30.1","validate");if(Zc(c)&&cd(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Vc.prototype;
|
0;b<e.length;b++)d=e[b],d.K=this.g.K,d.ea=this.g.ea,d.xa=this.g.xa;this.ea("PC8080 v1.30.1\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.ra&&d.ra(this,this.j,this.a,this.O);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.b=parseInt(d,10));var f;if(a=Ab(this,"state")||(f=!0,a.state))b=this.B=a,f||(this.v=!0,this.b=Yc),this.b&&(this.u=new F(this,"1.30.1"),$c(this.u)?b=null:delete this.u);
|
||||||
k.Oa=function(a){void 0===a&&(a=this.b||(this.s?1:Xc));if(!this.f){this.f++;var b=!1,c=!1;this.C=!1;var d=this.u||new F(this,"1.30.1");if(-1==a)b=!0;else if(a>Xc){if(Zc(d,this.s)){this.i=new F(this,"1.30.1","failsafe");Zc(this.i)&&(dd(this,d),a=2,ed(this.i));this.i.set("timestamp",ka());fd(this.i);var e=this.b&&!this.v;if(1==a||ma("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=cd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Zc(d,g):("error"==
|
!b&&this.b&&(b=ad(this))&&(this.v=!0);if(b){var g=this;la(b,null,!0,function(a,b,c){c?(g.o=null,g.v=!1,g.K("Unable to load machine state from server (error "+c+(b?": "+ha(b):"")+")")):(g.s=b,g.G=!0);B(g)})}else B(this);this.A.power||(this.w=!0);!c&&this.w&&bd(this,this.Ra)}else q("Unable to find CPU component")}w(Wc);var Yc=0;function Xc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.H=b}
|
||||||
f&&"no machine state"!=g?(this.L("Error: "+g),"unable to verify user"==g&&(qa("user",""),this.c=null)):this.da(f+": "+g),ed(d),Zc(d)?(c=cd(d),e=!0):c=!1))}e&&bd(this,c?d:null)}else 2==a&&d.clear()}else bd(this);delete this.s;delete this.u}e=La(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=gd(this,g,d,b,c));b=[d,a,c];-1!=a?ad(this,this.zb,b):this.zb(b)}};
|
function Ab(a,b,c){var d=b.toLowerCase(),d=Fa[b]||Fa[d];void 0===d&&a.H&&(d=a.H[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function bd(a,b,c){for(var d=Ma(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Sa(f)){Sa(f,function(){bd(a,b,c)});return}}b.call(a,c)}
|
||||||
function gd(a,b,c,d,e){if(!b.l.Y){b.l.Y=!0;if(b.ga){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.ga(f,d)&&f&&(q("Unable to restore state for "+b.type),a.B&&!a.G?(c.clear(),a.b=Xc,window&&window.location.reload()):a.C=!0,b.ga(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 cd(a,b){var c=new F(a,"1.30.1","validate");if($c(c)&&dd(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())}}k=Wc.prototype;
|
||||||
k.zb=function(a){var b=a[0],c=0>a[1];a=a[2];this.K=!0;this.l.Y=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(gd(this,this.a,b,c,a),this.a.Na());this.C&&(dd(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
|
k.Ra=function(a){void 0===a&&(a=this.b||(this.s?1:Yc));if(!this.f){this.f++;var b=!1,c=!1;this.C=!1;var d=this.u||new F(this,"1.30.1");if(-1==a)b=!0;else if(a>Yc){if($c(d,this.s)){this.i=new F(this,"1.30.1","failsafe");$c(this.i)&&(ed(this,d),a=2,fd(this.i));this.i.set("timestamp",ka());gd(this.i);var e=this.b&&!this.v;if(1==a||na("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=dd(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?$c(d,g):("error"==
|
||||||
function dd(a,b){if(ma("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}}
|
f&&"no machine state"!=g?(this.K("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.c=null)):this.ea(f+": "+g),fd(d),$c(d)?(c=dd(d),e=!0):c=!1))}e&&cd(this,c?d:null)}else 2==a&&d.clear()}else cd(this);delete this.s;delete this.u}e=Ma(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=hd(this,g,d,b,c));b=[d,a,c];-1!=a?bd(this,this.Db,b):this.Db(b)}};
|
||||||
function hd(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.1"),g=new F(a,"1.30.1","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);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.ia&&(c&&Db(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Y=!1,!1===d&&(e=null)));for(var h=La(a.id),l=0;l<h.length;l++){var n=h[l];n.l.Y&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,
|
function hd(a,b,c,d,e){if(!b.l.Z){b.l.Z=!0;if(b.ga){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.ga(f,d)&&f&&(q("Unable to restore state for "+b.type),a.B&&!a.G?(c.clear(),a.b=Yc,window&&window.location.reload()):a.C=!0,b.ga(null),e=!1)}if(!d&&b.yb)for(a=b.yb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
d)),c&&(n.l.Y=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&id(a,a.c,f.toString()),fd(g)&&fd(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&f.clear(h)):e=f.toString());c&&(a.l.Y=!1,b=a.A.power)&&(b.textContent="Power");a.f=0;return e}k.reset=function(){this.j&&this.j.reset&&this.j.reset();for(var a=La(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.j&&c.reset&&c.reset()}};
|
k.Db=function(a){var b=a[0],c=0>a[1];a=a[2];this.L=!0;this.l.Z=!0;var d=this.A.power;d&&(d.textContent="Shutdown");this.a&&(hd(this,this.a,b,c,a),this.a.Qa());this.C&&(ed(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
|
||||||
k.start=function(a,b){for(var c=La(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=La(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
function ed(a,b){if(na("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PC8080",ver:"1.30.1"};d.url=a.I;d.user=c;d.type="bug";d.data=b;la("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
k.V=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.f||(d.l.Y?hd(d,!1,!0):ad(d,d.Oa))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.l.Y&&!d.f)if(d.b&&!d.o){var a=ma("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");hd(d,a,!0);!a&&d.B?window&&window.location.reload():d.Oa(Xc)}else d.reset(),d.a&&d.a.Na()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.A[b]=
|
function id(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.30.1"),g=new F(a,"1.30.1","validate"),h=ka();g.set("timestamp",h);f.set("timestamp",h);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.ia&&(c&&Eb(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.Z=!1,!1===d&&(e=null)));for(var h=Ma(a.id),l=0;l<h.length;l++){var n=h[l];n.l.Z&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,
|
||||||
c,c.onclick=function(){var a=Yc(d,!0);if(a){var b=!!(d.b&&!d.o||d.B),c=hd(d,b);b?id(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
d)),c&&(n.l.Z=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&jd(a,a.c,f.toString()),gd(g)&&gd(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&f.clear(h)):e=f.toString());c&&(a.l.Z=!1,b=a.A.power)&&(b.textContent="Power");a.f=0;return e}k.reset=function(){this.j&&this.j.reset&&this.j.reset();for(var a=Ma(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.j&&c.reset&&c.reset()}};
|
||||||
function Yc(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=jd(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
k.start=function(a,b){for(var c=Ma(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Ma(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
|
||||||
function jd(a,b){a.c=null;b=la(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(qa("user",b.data),a.c=b.data)}catch(d){q(d.message+" ("+c+")")}return a.c}function $c(a){var b=null;a.c&&(b=ea()+"/api/v1/user?req=load&user="+a.c+"&state="+kd(a,"1.30.1"));return b}
|
k.V=function(a,b,c){var d=this;switch(b){case "power":return this.A[b]=c,c.onclick=function(){d.f||(d.l.Z?id(d,!1,!0):bd(d,d.Ra))},!0;case "reset":return this.A[b]=c,c.onclick=function(){if(d.l.Z&&!d.f)if(d.b&&!d.o){var a=na("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");id(d,a,!0);!a&&d.B?window&&window.location.reload():d.Ra(Yc)}else d.reset(),d.a&&d.a.Qa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.A[b]=
|
||||||
function id(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=kd(a,"1.30.1");d.data=c;b=la(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.L("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.L(c),qa("user",""),a.c=null)}}
|
c,c.onclick=function(){var a=Zc(d,!0);if(a){var b=!!(d.b&&!d.o||d.B),c=id(d,b);b?jd(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function Va(a,b,c){a=La(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Hb(a,b){if(a.m.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.m[0];a.R&&a.R.focus();!b&&window&&window.scrollTo(c,d)}}k.Aa=function(a){this.a&&this.a.Aa(a);this.g&&this.g.Aa(a)};
|
function Zc(a,b){var c=a.c;c||((c=qa("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=kd(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c}
|
||||||
ya(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new Vc(g,d,!0);Pa(g,f);g.w&&ad(g,g.Oa)}});ta.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Oa("Computer",c.id))&&c.K&&!c.l.Y&&c.Oa(-1)}});
|
function kd(a,b){a.c=null;b=la(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ra("user",b.data),a.c=b.data)}catch(d){q(d.message+" ("+c+")")}return a.c}function ad(a){var b=null;a.c&&(b=ea()+"/api/v1/user?req=load&user="+a.c+"&state="+ld(a,"1.30.1"));return b}
|
||||||
ta.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Oa("Computer",c.id))&&c.l.Y&&hd(c,!(!c.b||c.o),!0)}});function F(a,b,c){this.id=a.id;this.key=kd(a,b,c);this.O=a.O;ed(this,a.Mc)}function kd(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}
|
function jd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ld(a,"1.30.1");d.data=c;b=la(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),ra("user",""),a.c=null)}}
|
||||||
F.prototype={constructor:F,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){ed(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,
|
function Wa(a,b,c){a=Ma(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Ib(a,b){if(a.m.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.m[0];a.R&&a.R.focus();!b&&window&&window.scrollTo(c,d)}}k.Da=function(a){this.a&&this.a.Da(a);this.g&&this.g.Da(a)};
|
||||||
1);c=0}}};function ed(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function fd(a){var b=!0;if(oa()){var c=JSON.stringify(a[a.id]);qa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function cd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function Zc(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 ld=0;
|
za(function(){for(var a=A(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new Wc(g,d,!0);Qa(g,f);g.w&&bd(g,g.Ra)}});ua.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Oa("Computer",c.id))&&c.L&&!c.l.Z&&c.Ra(-1)}});
|
||||||
function md(a,b,c,d,e,f){e("Loading "+a+"...");la(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):nd(h,a,b,c,d,e,f)})}
|
ua.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Oa("Computer",c.id))&&c.l.Z&&id(c,!(!c.b||c.o),!0)}});function F(a,b,c){this.id=a.id;this.key=ld(a,b,c);this.O=a.O;fd(this,a.Qc)}function ld(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}
|
||||||
function nd(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(Ka(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>)/,"$1PC8080$2"),
|
F.prototype={constructor:F,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){fd(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,
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$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(u){f=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?od(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),
|
1);c=0}}};function fd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function gd(a){var b=!0;if(pa()){var c=JSON.stringify(a[a.id]);ra(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function dd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function $c(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:pa()&&(b=qa(a.key))?(a[a.id]=b,a.a=!0):!1}var md=0;
|
||||||
|
function nd(a,b,c,d,e,f){e("Loading "+a+"...");la(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):od(h,a,b,c,d,e,f)})}
|
||||||
|
function od(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(La(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>)/,"$1PC8080$2"),
|
||||||
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$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(u){f=null,a=u.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?pd(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),
|
||||||
null)}
|
null)}
|
||||||
function od(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");
|
function pd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,u=/( [a-z]+=)(['"])(.*?)\2/g;n=u.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");
|
||||||
a=a.replace(d[0],g);od(a,b,c)}})}else c(a,null)}
|
a=a.replace(d[0],g);pd(a,b,c)}})}else c(a,null)}
|
||||||
function pd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--ld||Ba(!0));l=!1}var g,h,l=!0;ld++;Ja[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));u.appendChild(y)}c||
|
function qd(a,b,c,d){function e(a){if(void 0===h){var b=g&&A(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function f(a){e("Error: "+a);l&&(--md||Ca(!0));l=!1}var g,h,l=!0;md++;Ka[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var u=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=n:y.appendChild(document.createTextNode(n));u.appendChild(y)}c||
|
||||||
(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?md(c,null,null,!1,e,function(d,l){l?(Ka(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--ld||Ba(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--ld||Ba(!0)):f("invalid machine element: "+
|
(c="/versions/pc8080/1.30.1/components.xsl");n=function(d,h){h?nd(c,null,null,!1,e,function(d,l){l?(La(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--md||Ca(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--md||Ca(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?md(b,a,d,!0,e,n):nd(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ba(!1);return pd(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Ca;})();
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?nd(b,a,d,!0,e,n):od(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(H){f(H.message)}return l}window.embedPC8080=function(a,b,c,d){Ca(!1);return qd(a,b,c,d)};window.enableEvents=Ca;window.sendEvent=Da;})();
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
}
|
}
|
||||||
.pcjs-description, .pcjs-status {
|
.pcjs-description, .pcjs-status {
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 2em;
|
line-height: 2.8em;
|
||||||
}
|
}
|
||||||
.pcjs-key {
|
.pcjs-key {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
|
|
|
||||||
|
|
@ -580,9 +580,9 @@
|
||||||
<xsl:otherwise>null</xsl:otherwise>
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="resetAddr">
|
<xsl:variable name="addrReset">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
|
<xsl:when test="@addrReset"><xsl:value-of select="@addrReset"/></xsl:when>
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
@ -610,7 +610,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class" select="'cpu'"/>
|
<xsl:with-param name="class" select="'cpu'"/>
|
||||||
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,addrReset:<xsl:value-of select="$addrReset"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -931,16 +931,10 @@
|
||||||
<xsl:otherwise/>
|
<xsl:otherwise/>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="writable">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
|
||||||
<xsl:otherwise>false</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:variable>
|
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">rom</xsl:with-param>
|
<xsl:with-param name="class">rom</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -964,6 +958,24 @@
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="file">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@file"><xsl:value-of select="@file"/></xsl:when>
|
||||||
|
<xsl:otherwise/>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="load">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@load"><xsl:value-of select="@load"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="exec">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@exec"><xsl:value-of select="@exec"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
<xsl:variable name="test">
|
<xsl:variable name="test">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
||||||
|
|
@ -973,7 +985,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">ram</xsl:with-param>
|
<xsl:with-param name="class">ram</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,file:'<xsl:value-of select="$file"/>',load:<xsl:value-of select="$load"/>,exec:<xsl:value-of select="$exec"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
}
|
}
|
||||||
.pcjs-description, .pcjs-status {
|
.pcjs-description, .pcjs-status {
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 2em;
|
line-height: 2.8em;
|
||||||
}
|
}
|
||||||
.pcjs-key {
|
.pcjs-key {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
|
|
|
||||||
|
|
@ -580,9 +580,9 @@
|
||||||
<xsl:otherwise>null</xsl:otherwise>
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="resetAddr">
|
<xsl:variable name="addrReset">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@resetAddr"><xsl:value-of select="@resetAddr"/></xsl:when>
|
<xsl:when test="@addrReset"><xsl:value-of select="@addrReset"/></xsl:when>
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
@ -610,7 +610,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class" select="'cpu'"/>
|
<xsl:with-param name="class" select="'cpu'"/>
|
||||||
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,resetAddr:<xsl:value-of select="$resetAddr"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
<xsl:with-param name="parms">,model:'<xsl:value-of select="$model"/>',stepping:'<xsl:value-of select="$stepping"/>',fpu:<xsl:value-of select="$fpu"/>,cycles:<xsl:value-of select="$cycles"/>,multiplier:<xsl:value-of select="$multiplier"/>,autoStart:<xsl:value-of select="$autoStart"/>,addrReset:<xsl:value-of select="$addrReset"/>,csStart:<xsl:value-of select="$csStart"/>,csInterval:<xsl:value-of select="$csInterval"/>,csStop:<xsl:value-of select="$csStop"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -931,16 +931,10 @@
|
||||||
<xsl:otherwise/>
|
<xsl:otherwise/>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:variable name="writable">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="@writable"><xsl:value-of select="@writable"/></xsl:when>
|
|
||||||
<xsl:otherwise>false</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:variable>
|
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">rom</xsl:with-param>
|
<xsl:with-param name="class">rom</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>',writable:<xsl:value-of select="$writable"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,alias:<xsl:value-of select="$alias"/>,file:'<xsl:value-of select="$file"/>',notify:'<xsl:value-of select="$notify"/>'</xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
@ -964,6 +958,24 @@
|
||||||
<xsl:otherwise>0</xsl:otherwise>
|
<xsl:otherwise>0</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
<xsl:variable name="file">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@file"><xsl:value-of select="@file"/></xsl:when>
|
||||||
|
<xsl:otherwise/>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="load">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@load"><xsl:value-of select="@load"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="exec">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="@exec"><xsl:value-of select="@exec"/></xsl:when>
|
||||||
|
<xsl:otherwise>null</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
<xsl:variable name="test">
|
<xsl:variable name="test">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
<xsl:when test="@test"><xsl:value-of select="@test"/></xsl:when>
|
||||||
|
|
@ -973,7 +985,7 @@
|
||||||
<xsl:call-template name="component">
|
<xsl:call-template name="component">
|
||||||
<xsl:with-param name="machine" select="$machine"/>
|
<xsl:with-param name="machine" select="$machine"/>
|
||||||
<xsl:with-param name="class">ram</xsl:with-param>
|
<xsl:with-param name="class">ram</xsl:with-param>
|
||||||
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
<xsl:with-param name="parms">,addr:<xsl:value-of select="$addr"/>,size:<xsl:value-of select="$size"/>,file:'<xsl:value-of select="$file"/>',load:<xsl:value-of select="$load"/>,exec:<xsl:value-of select="$exec"/>,test:<xsl:value-of select="$test"/></xsl:with-param>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,231 +29,233 @@
|
||||||
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
|
||||||
*/
|
*/
|
||||||
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)},ba="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 ba||(ba[fa]={});ba=ba[fa]}var ga=da[da.length-1],la=ba[ga],ma=la?la:function(a){return Math.log(a)/Math.LN2};
|
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)},ba="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 ba||(ba[fa]={});ba=ba[fa]}var ga=da[da.length-1],la=ba[ga],ma=la?la:function(a){return Math.log(a)/Math.LN2};
|
||||||
ma!=la&&null!=ma&&aa(ba,ga,{configurable:!0,writable:!0,value:ma});
|
ma!=la&&null!=ma&&aa(ba,ga,{configurable:!0,writable:!0,value:ma});function na(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 oa(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 pa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function qa(){var a=ra();return-1!==a.indexOf("pcjs.org",a.length-8)}var sa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ta(a){return a.replace(/[&<>"']/g,function(a){return sa[a]})}function ua(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 va(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var wa={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 va(a,b){return(a+" ").slice(0,b)}
|
function ya(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 za=Date.now||function(){return+new Date};function Aa(){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 Ba(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 Ba(){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 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 Fa(a,b){var c,d={ga:null,ja:null,Lb:null,Kb:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g=eval("("+b+")");d.Lb=g.load;d.Kb=g.exec;if(e=g.bytes)d.ga=e;else if(e=g.words)for(d.ga=Array(2*e.length),f=c=0;c<e.length;c++)d.ga[f++]=e[c]&255,d.ga[f++]=e[c]>>8&255;else if(e=g.data)for(d.ga=Array(4*e.length),f=c=0;c<e.length;c++)d.ga[f++]=e[c]&255,d.ga[f++]=e[c]>>8&255,d.ga[f++]=e[c]>>16&255,d.ga[f++]=e[c]>>24&255;else d.ga=g;d.ja=g.symbols;d.ga.length?1==d.ga.length&&(n(d.ga[0]),d=null):
|
||||||
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")}
|
(n("Empty resource: "+a),d=null)}catch(l){n("Resource data error: "+l.message),d=null}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),d.ga=Array(a.length),c=0;c<a.length;c++)d.ga[c]=parseInt(a[c],16);return d}function ra(){return"http://"+(window?window.location.host:"www.pcjs.org")}function n(a){window&&window.alert(a)}function Ga(a){var b=!1;window&&(b=window.confirm(a));return b}var Ha=null;
|
||||||
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 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 Ka(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||||
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 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 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 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 Ua(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]&&Ua(Oa[a])}Sa("onload",function(){Pa=!0;Ua(Oa.init)});Sa("onpageshow",function(){Qa=!0;Ua(Oa.show)});Sa(La("Opera")||La("iOS")?"onunload":"onbeforeunload",function(){Ua(Oa.exit)});
|
function Ua(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 Va(a){!Ra&&a?(Ra=!0,Pa&&Wa("init"),Qa&&Wa("show")):Ra=a}function Wa(a){Oa[a]&&Ua(Oa[a])}Sa("onload",function(){Pa=!0;Ua(Oa.init)});Sa("onpageshow",function(){Qa=!0;Ua(Oa.show)});Sa(La("Opera")||La("iOS")?"onunload":"onbeforeunload",function(){Ua(Oa.exit)});
|
||||||
function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Vb=b.comment;this.pc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Gb=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,jb:!1,Hb:!1,ha:!1,error:!1};this.xb=null;this.v.error=!1;this.J={};this.i=null;this.ia=d||0;t.push(this)}var cb=void 0,db={};
|
function r(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Yb=b.comment;this.tc=b;b=this.id.indexOf(".");0>b?this.Ua=this.id:(this.Va=this.id.substr(0,b),this.Ua=this.id.substr(b+1));this[a]=c;this.v={ready:!1,mb:!1,Ib:!1,ia:!1,error:!1};this.zb=null;this.v.error=!1;this.J={};this.i=null;this.ka=d||0;t.push(this)}var cb=void 0,db={};
|
||||||
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}
|
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 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 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 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 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 A(a,b){b=B(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.oa(g.type,g.binding,f,g.value),m=l.length}}}}
|
function A(a,b){b=B(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.qa(g.type,g.binding,f,g.value),m=l.length}}}}
|
||||||
function B(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 B(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},oa: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.j=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},qa: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.Ra=this.J[b]=c,c.value="",this.j=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.j(a,this.Ua)}),!0;default:return!1}},log:function(){},j:function(){},status:function(a){this.j(this.Ua+": "+a)},na:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},ya:function(){return this.v.ha=!0},xa:function(a,b){b&&(this.v.ha=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||G(a,c|0))&&a.i.message(b,d)}function G(a,b){if(a.i){a===a.i?b|=0:b=b||a.ia;var c=a.i.ia&b;return!!b&&c===b||!!(c&a.i.jc)}return!1}
|
this.pa=function(a){this.j(a,this.Ua)}),!0;default:return!1}},log:function(){},j:function(){},status:function(a){this.j(this.Ua+": "+a)},pa:function(a,b,c){c=c||this.type;b||n((c?c+": ":"")+a)},Aa:function(){return this.v.ia=!0},za:function(a,b){b&&(this.v.ia=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||G(a,c|0))&&a.i.message(b,d)}function G(a,b){if(a.i){a===a.i?b|=0:b=b||a.ka;var c=a.i.ka&b;return!!b&&c===b||!!(c&a.i.nc)}return!1}
|
||||||
function nb(a,b){if(a.v.Hb)return a.v.jb=!1,a.v.Hb=!1;if(a.v.error)return a.j(a.toString()+" error"),!1;a.v.jb=b;return a.v.jb}function ob(a,b){a.v.jb&&(b?a.v.Hb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.v.jb}function H(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.xb;a.xb=null;b&&b()}}function pb(a,b){b&&(a.v.ready?b():a.xb=b);return a.v.ready}function qb(a){return a.v.error?(a.j(a.toString()+" error"),!0):!1}function rb(a,b){a.v.error=!0;a.na(b)}
|
function nb(a,b){if(a.v.Ib)return a.v.mb=!1,a.v.Ib=!1;if(a.v.error)return a.j(a.toString()+" error"),!1;a.v.mb=b;return a.v.mb}function ob(a,b){a.v.mb&&(b?a.v.Ib=!0:void 0===b&&a.j(a.toString()+" busy"));return a.v.mb}function H(a){if(!a.v.error&&(a.v.ready=!0,a.v.ready)){var b=a.zb;a.zb=null;b&&b()}}function pb(a,b){b&&(a.v.ready?b():a.zb=b);return a.v.ready}function qb(a){return a.v.error?(a.j(a.toString()+" error"),!0):!1}function rb(a,b){a.v.error=!0;a.pa(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 sb="undefined"!==typeof ArrayBuffer,I={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 Gb(a){r.call(this,"Panel",a,Gb);this.f=0;this.v.Tb=!0}u(Gb);h=Gb.prototype;
|
var sb="undefined"!==typeof ArrayBuffer,Gb={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.Wb=!0}u(Hb);h=Hb.prototype;
|
||||||
h.oa=function(a,b,c,d){if(this.B&&this.B.oa(a,b,c,d)||this.b&&this.b.oa(a,b,c,d)||this.i&&this.i.oa(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.oa.call(this,a,b,c,d)}};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d};h.ya=function(a,b){b||Hb();return!0};h.xa=function(){return!0};
|
h.qa=function(a,b,c,d){if(this.B&&this.B.qa(a,b,c,d)||this.b&&this.b.qa(a,b,c,d)||this.i&&this.i.qa(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.qa.call(this,a,b,c,d)}};h.Ca=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d};h.Aa=function(a,b){b||Ib();return!0};h.za=function(){return!0};
|
||||||
function Ib(a,b,c,d){if(a.J[b]){void 0===c&&(rb(a,"Value for "+b+" is invalid"),a.b.da());var e=a.i&&a.i.ja||8;c=!a.b.v.ca||a.v.Tb?8==e?oa(c,d):k(c,d):"--------".substr(0,d||4);a.J[b].textContent!=c&&(a.J[b].textContent=c)}}function Jb(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&&(rb(a,"Value for "+b+" is invalid"),a.b.da());var e=a.i&&a.i.la||8;c=!a.b.v.ca||a.v.Wb?8==e?na(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.$=function(a){if(this.f&&(a||!this.b.v.ca||this.v.Tb)){for(a=0;a<this.b.u.length;a++)Ib(this,"R"+a,this.b.u[a]);a=Kb(this.b);Ib(this,"PS",a);Ib(this,"NF",a&8?1:0,1);Ib(this,"ZF",a&4?1:0,1);Ib(this,"VF",a&2?1:0,1);Ib(this,"CF",a&1?1:0,1);Jb(this,"D",this.b.u[0],16);Jb(this,"A",this.b.u[7],22)}};function Hb(){for(var a=!1,b=B(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 Gb(e));A(f,d);a&&H(f)}}Ta(Hb);
|
h.$=function(a){if(this.f&&(a||!this.b.v.ca||this.v.Wb)){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=B(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));A(f,d);a&&H(f)}}Ta(Ib);
|
||||||
function Lb(a,b,c){r.call(this,"Bus",a,Lb,64);this.b=b;this.i=c;this.M=a.busWidth||16;this.g=0;this.K=[];this.G=null;this.H=Math.pow(2,this.M);this.f=this.H-1|0;this.sa=Mb;this.ga=Math.log2(this.sa);this.I=this.sa>>2;this.w=this.sa-1;this.D=this.H/this.sa|0;this.Ga=[];this.C=0;this.B=[];this.ic=[Nb,Ob,Pb,Qb];a=new J(this);Rb(a,this.i);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;H(this)}u(Lb);var Mb=8192,Sb=Mb-1;
|
function Mb(a,b,c){r.call(this,"Bus",a,Mb,64);this.b=b;this.i=c;this.M=a.busWidth||16;this.g=0;this.K=[];this.G=null;this.H=Math.pow(2,this.M);this.f=this.H-1|0;this.ua=Nb;this.ha=Math.log2(this.ua);this.I=this.ua>>2;this.w=this.ua-1;this.D=this.H/this.ua|0;this.Ha=[];this.C=0;this.B=[];this.mc=[Ob,Pb,Qb,Rb];a=new I(this);Sb(a,this.i);this.W=Array(this.D);for(b=0;b<this.D;b++)this.W[b]=a;H(this)}u(Mb);var Nb=8192,Tb=Nb-1;
|
||||||
function Nb(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.i&&G(this.i,64)&&E(this.i,e[4]+".readByte("+K(this.i,b)+"): "+K(this.i,c),!0,!0),c;c=Tb(d,b,!0);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+K(this.i,b)+": "+K(this.i,c),!0,!0);return c}
|
function Ob(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);if(0<=c)return this.i&&G(this.i,64)&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!0);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
||||||
function Ob(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.i&&G(this.i,64)&&E(this.i,f[4]+".writeByte("+K(this.i,c)+","+K(this.i,b)+")",!0,!0):(Tb(e,c,!0,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+K(this.i,c)+": "+K(this.i,b),!0,!0))}
|
function Pb(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?this.i&&G(this.i,64)&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(Ub(e,c,!0,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
||||||
function Pb(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.i&&G(this.i,64)&&E(this.i,a[4]+".readWord("+K(this.i,b)+"): "+K(this.i,c),!0,!0),c;c=Tb(d,b,!1);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+K(this.i,b)+": "+K(this.i,c),!0,!0);return c}
|
function Qb(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));if(0<=c)return this.i&&G(this.i,64)&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;c=Ub(d,b,!1);this.i&&G(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
||||||
function Qb(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.i&&G(this.i,64)&&E(this.i,a[4]+".writeWord("+K(this.i,c)+","+K(this.i,b)+")",!0,!0):(Tb(e,c,!1,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+K(this.i,c)+": "+K(this.i,b),!0,!0))}
|
function Rb(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?this.i&&G(this.i,64)&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(Ub(e,c,!1,b),this.i&&G(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
||||||
function Ub(a,b){if(b!=a.g){var c;a.g&&(c=(1<<a.g)-Mb,Vb(a,c,Mb,a.K),a.g=0);b&&(a.g=b,c=(1<<b)-Mb,a.K=Wb(a,c,Mb),a.G?Vb(a,c,Mb,a.G):(Xb(a,c,Mb,Yb,a),a.G=Wb(a,c,Mb)))}}h=Lb.prototype;h.reset=function(){for(var a=0;a<this.B.length;a++)this.B[a]();Ub(this,16)};function Tb(a,b,c,d){if(a.i&&G(a.i,536870912)&&(E(a.i,"warning: unknown I/O access ("+K(a.i,b)+","+K(a.i,d,c?1:2)+")",!0,!0),Zb(a.i)))return 0;a.C||a.b.ea(4,b);return 0}h.ya=function(a,b){b||this.reset();return!0};
|
function Vb(a,b){if(b!=a.g){var c;a.g&&(c=(1<<a.g)-Nb,Wb(a,c,Nb,a.K),a.g=0);b&&(a.g=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){if(a.i&&G(a.i,536870912)&&(E(a.i,"warning: unknown I/O access ("+J(a.i,b)+","+J(a.i,d,c?1:2)+")",!0,!0),$b(a.i)))return 0;a.C||a.b.ea(4,b);return 0}h.Aa=function(a,b){b||this.reset();return!0};
|
||||||
function Xb(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.A)return m.tb+=m.A-f,m.A=f,!0;if(f>=m.A+m.tb){q=m.size-(f-p);q>g&&(q=g);m.tb=f-m.A+q;f=p+a.sa;g-=q;l++;continue}}return $b(1,f,g)}f=new J(a,f,q,a.sa,d,e);Rb(f,a.i,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 Yb(a,b,c,d,e){for(var f=b,g=c,l=f>>>a.ha;0<g&&l<a.W.length;){var m=a.W[l],p=l*a.ua,q=a.ua-(f-p);q>g&&(q=g);if(!e&&m&&m.size){if(m.type==d){if(f+g<=m.A)return m.vb+=m.A-f,m.A=f,!0;if(f>=m.A+m.vb){q=m.size-(f-p);q>g&&(q=g);m.vb=f-m.A+q;f=p+a.ua;g-=q;l++;continue}}return ac(1,f,g)}f=new I(a,f,q,a.ua,d,e);Sb(f,a.i,m);a.W[l++]=f;f=p+a.ua;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/=
|
||||||
10;a.status(e+"Kb "+ac[d]+" at "+oa(b));return!0}return $b(2,b,c)}function Wb(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 Vb(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.lb=function(a){return this.W[(a&this.f)>>>this.ga].Cb(a&this.w,a)};h.zb=function(a){this.C++;a=this.W[(a&this.f)>>>this.ga].Jb(a&this.w,a);this.C--;return a};h.ka=function(a){return this.W[(a&this.f)>>>this.ga].ra(a&this.w,a)};
|
10;a.status(e+"Kb "+bc[d]+" at "+na(b));return!0}return ac(2,b,c)}function Xb(a,b,c){var d=[];for(b>>>=a.ha;0<c&&b<a.W.length;)d.push(a.W[b++]),c-=a.ua;return d}function Wb(a,b,c,d){var e=0;for(b>>>=a.ha;0<c&&b<a.W.length;){var f=d[e++];if(!f)break;a.W[b++]=f;c-=a.ua}}h.ob=function(a){return this.W[(a&this.f)>>>this.ha].Eb(a&this.w,a)};h.Bb=function(a){this.C++;a=this.W[(a&this.f)>>>this.ha].Mb(a&this.w,a);this.C--;return a};h.ma=function(a){return this.W[(a&this.f)>>>this.ha].ta(a&this.w,a)};
|
||||||
h.mb=function(a){var b=a&this.w,c=(a&this.f)>>>this.ga;this.C++;a=this.W[c].Kb(b,a);this.C--;return a};h.Db=function(a,b){this.W[(a&this.f)>>>this.ga].Fb(a&this.w,b&255,a)};h.rb=function(a,b){this.C++;this.W[(a&this.f)>>>this.ga].Pb(a&this.w,b&255,a);this.C--};h.Sa=function(a,b){this.W[(a&this.f)>>>this.ga].ub(a&this.w,b&65535,a)};h.Eb=function(a,b){var c=a&this.w,d=(a&this.f)>>>this.ga;this.C++;this.W[d].Qb(c,b&65535,a);this.C--};
|
h.pb=function(a){var b=a&this.w,c=(a&this.f)>>>this.ha;this.C++;a=this.W[c].Nb(b,a);this.C--;return a};h.Fb=function(a,b){this.W[(a&this.f)>>>this.ha].Hb(a&this.w,b&255,a)};h.gb=function(a,b){this.C++;this.W[(a&this.f)>>>this.ha].Sb(a&this.w,b&255,a);this.C--};h.Ta=function(a,b){this.W[(a&this.f)>>>this.ha].wb(a&this.w,b&65535,a)};h.Gb=function(a,b){var c=a&this.w,d=(a&this.f)>>>this.ha;this.C++;this.W[d].Tb(c,b&65535,a);this.C--};
|
||||||
function bc(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&Sb;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 cc(a){for(var b=0,c=[],d=0;d<a.D;d++){var e=a.W[d];if(e.Ia||e.pc){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 lc(a,b,c,d,e,f,g,l){for(;b<=c;b+=2){var m=b&Tb;void 0!==a.Ha[m]?n("I/O address already registered: "+k(b,8,!0)):a.Ha[m]=[d,e,f,g,l||"unknown",!1]}}
|
||||||
function lc(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.b.Ya)){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 mc(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.b.$a)){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)));lc(a,e,e,g,l,m,p,f[4])}}}function nc(a,b){a.B.push(b)}
|
||||||
function nc(a,b){a.C||(a.i&&G(a.i,536870912)&&E(a.i,"memory fault on address "+K(a.i,b),!0,!0),a.b.ea(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.g={data:0,Pd:0,Bb:20,dd:0};this.f={Qd:0,Ob:-1}}u(L);h=L.prototype;
|
function oc(a,b){a.C||(a.i&&G(a.i,536870912)&&E(a.i,"memory fault on address "+J(a.i,b),!0,!0),a.b.ea(4,b))}function ac(a,b,c){n("Memory block error ("+a+": "+k(b)+","+k(c)+")");return!1}function K(a){r.call(this,"Device",a,K,256);this.g={data:0,Sd:0,Db:20,gd:0};this.f={Td:0,Rb:-1}}u(K);h=K.prototype;
|
||||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;var e=this;this.f.Ob=oc(c,function(){e.f.Ia|=128;e.f.Ia&64&&(pc(e.b,e.f.ed),qc(e.b,e.f.Ob,1E3/60))});this.f.ed=rc(64,6);lc(b,this,M);mc(b,this.reset.bind(this));H(this)};h.reset=function(){this.g.Bb=this.g.Bb&-120|20;this.f.Ia=0};h.Ac=function(){var a=this.f.Ia;this.f.Ia&=-129;return a};h.od=function(a){this.f.Ia=a;a&64&&qc(this.b,this.f.Ob,1E3/60);this.f.Ia=a&-129};h.tc=function(a){return(a?this.g.dd:this.g.data)&65535};
|
h.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;var e=this;this.f.Rb=pc(c,function(){e.f.Ja|=128;e.f.Ja&64&&(qc(e.b,e.f.hd),rc(e.b,e.f.Rb,1E3/60))});this.f.hd=sc(64,6);mc(b,this,L);nc(b,this.reset.bind(this));H(this)};h.reset=function(){this.g.Db=this.g.Db&-120|20;this.f.Ja=0};h.Dc=function(){var a=this.f.Ja;this.f.Ja&=-129;return a};h.rd=function(a){this.f.Ja=a;a&64&&rc(this.b,this.f.Rb,1E3/60);this.f.Ja=a&-129};h.wc=function(a){return(a?this.g.gd:this.g.data)&65535};
|
||||||
h.gd=function(a){this.g.data=a};h.Cc=function(){var a=this.b;return a.G&62337|a.ua<<5|a.va<<1};h.qd=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.kd=function(a){this.g.data=a};h.Fc=function(){var a=this.b;return a.G&62337|a.wa<<5|a.xa<<1};h.td=function(a){var b=this.b;a&=62337;if(b.G!=a){b.G=a;b.wa=a>>5&3;b.xa=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Ka!=c&&(b.Ka=c,tc(b))}uc(this)};h.Gc=function(){var a=this.b.Ma;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Hc=function(){return this.b.tb};h.Ic=function(){return this.b.Na};
|
||||||
h.rd=function(a){var b=this.b;1170>b.Ya&&(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 tc(a){a.g.Bb=a.g.Bb&-8|(a.b.Ja?a.b.Ma&16?1:2:4)}h.Tc=function(a){return this.b.P[1][a>>1&7]};h.Fd=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Rc=function(a){return this.b.P[1][(a>>1&7)+8]};h.Dd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Sc=function(a){return this.b.qa[1][a>>1&7]};
|
h.ud=function(a){var b=this.b;1170>b.$a&&(a&=-49);b.Na!=a&&(b.Na=a,a&16?(b.Ya=4194303,b.ya=3915776):(b.Ya=262143,b.ya=253952),tc(b));uc(this)};function uc(a){a.g.Db=a.g.Db&-8|(a.b.Ka?a.b.Na&16?1:2:4)}h.Wc=function(a){return this.b.P[1][a>>1&7]};h.Id=function(a,b){this.b.P[1][b>>1&7]=a&65295};h.Uc=function(a){return this.b.P[1][(a>>1&7)+8]};h.Gd=function(a,b){this.b.P[1][(b>>1&7)+8]=a&65295};h.Vc=function(a){return this.b.sa[1][a>>1&7]};
|
||||||
h.Ed=function(a,b){b=b>>1&7;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.Qc=function(a){return this.b.qa[1][(a>>1&7)+8]};h.Cd=function(a,b){b=(b>>1&7)+8;this.b.qa[1][b]=a;this.b.P[1][b]&=65295};h.zc=function(a){return this.b.P[0][a>>1&7]};h.nd=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.ld=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.yc=function(a){return this.b.qa[0][a>>1&7]};h.md=function(a,b){b=b>>1&7;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};
|
h.Hd=function(a,b){b=b>>1&7;this.b.sa[1][b]=a;this.b.P[1][b]&=65295};h.Tc=function(a){return this.b.sa[1][(a>>1&7)+8]};h.Fd=function(a,b){b=(b>>1&7)+8;this.b.sa[1][b]=a;this.b.P[1][b]&=65295};h.Cc=function(a){return this.b.P[0][a>>1&7]};h.qd=function(a,b){this.b.P[0][b>>1&7]=a&65295};h.Ac=function(a){return this.b.P[0][(a>>1&7)+8]};h.od=function(a,b){this.b.P[0][(b>>1&7)+8]=a&65295};h.Bc=function(a){return this.b.sa[0][a>>1&7]};h.pd=function(a,b){b=b>>1&7;this.b.sa[0][b]=a;this.b.P[0][b]&=65295};
|
||||||
h.wc=function(a){return this.b.qa[0][(a>>1&7)+8]};h.kd=function(a,b){b=(b>>1&7)+8;this.b.qa[0][b]=a;this.b.P[0][b]&=65295};h.Zc=function(a){return this.b.P[3][a>>1&7]};h.Ld=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.Xc=function(a){return this.b.P[3][(a>>1&7)+8]};h.Jd=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.Yc=function(a){return this.b.qa[3][a>>1&7]};h.Kd=function(a,b){b=b>>1&7;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.Wc=function(a){return this.b.qa[3][(a>>1&7)+8]};
|
h.zc=function(a){return this.b.sa[0][(a>>1&7)+8]};h.nd=function(a,b){b=(b>>1&7)+8;this.b.sa[0][b]=a;this.b.P[0][b]&=65295};h.bd=function(a){return this.b.P[3][a>>1&7]};h.Od=function(a,b){this.b.P[3][b>>1&7]=a&65295};h.$c=function(a){return this.b.P[3][(a>>1&7)+8]};h.Md=function(a,b){this.b.P[3][(b>>1&7)+8]=a&65295};h.ad=function(a){return this.b.sa[3][a>>1&7]};h.Nd=function(a,b){b=b>>1&7;this.b.sa[3][b]=a;this.b.P[3][b]&=65295};h.Zc=function(a){return this.b.sa[3][(a>>1&7)+8]};
|
||||||
h.Id=function(a,b){b=(b>>1&7)+8;this.b.qa[3][b]=a;this.b.P[3][b]&=65295};h.bb=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]};h.gb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Kc=function(){return this.b.L&49152?this.b.ta[0]:this.b.u[6]};h.wd=function(a){this.b.L&49152?this.b.ta[0]=a:this.b.u[6]=a};h.Nc=function(){return this.b.u[7]};h.zd=function(a){this.b.u[7]=a};h.cb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};
|
h.Ld=function(a,b){b=(b>>1&7)+8;this.b.sa[3][b]=a;this.b.P[3][b]&=65295};h.eb=function(a){a&=7;return this.b.L&2048?this.b.Ea[a]:this.b.u[a]};h.jb=function(a,b){b&=7;this.b.L&2048?this.b.Ea[b]=a:this.b.u[b]=a};h.Nc=function(){return this.b.L&49152?this.b.va[0]:this.b.u[6]};h.zd=function(a){this.b.L&49152?this.b.va[0]=a:this.b.u[6]=a};h.Qc=function(){return this.b.u[7]};h.Cd=function(a){this.b.u[7]=a};h.fb=function(a){a&=7;return this.b.L&2048?this.b.u[a]:this.b.Ea[a]};
|
||||||
h.hb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Lc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[1]};h.xd=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.ta[1]=a};h.Mc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.ta[3]};h.yd=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.jd=function(a,b){this.b.cc[b-65504>>1]=a};h.$b=function(a){return 65520==a?61183:0};h.fc=function(){};
|
h.kb=function(a,b){b&=7;this.b.L&2048?this.b.u[b]=a:this.b.Ea[b]=a};h.Oc=function(){return 1==(this.b.L&49152)>>14?this.b.u[6]:this.b.va[1]};h.Ad=function(a){1==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.va[1]=a};h.Pc=function(){return 3==(this.b.L&49152)>>14?this.b.u[6]:this.b.va[3]};h.Bd=function(a){3==(this.b.L&49152)>>14?this.b.u[6]=a:this.b.va[3]=a};h.yc=function(a){return this.b.gc[a-65504>>1]};h.md=function(a,b){this.b.gc[b-65504>>1]=a};h.dc=function(a){return 65520==a?61183:0};h.jc=function(){};
|
||||||
h.Vc=function(){return 1};h.Hd=function(){};h.uc=function(){return this.b.Z};h.hd=function(){this.b.Z=0};h.Bc=function(){return this.b.bc};h.pd=function(a,b){b&1||(a&=255);this.b.bc=a};h.Gc=function(a){return a?this.b.Mb:0};h.sd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Mb=a;b.F|=2};h.Uc=function(a){return a?this.b.Na&65280:0};h.Gd=function(a){this.b.Na=a|255};h.Jc=function(){return Kb(this.b)};h.vd=function(a){uc(this.b,a&-1809|Kb(this.b)&1808);this.b.F|=128};
|
h.Yc=function(){return 1};h.Kd=function(){};h.xc=function(){return this.b.Z};h.ld=function(){this.b.Z=0};h.Ec=function(){return this.b.fc};h.sd=function(a,b){b&1||(a&=255);this.b.fc=a};h.Jc=function(a){return a?this.b.Pb:0};h.vd=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Pb=a;b.F|=2};h.Xc=function(a){return a?this.b.Oa&65280:0};h.Jd=function(a){this.b.Oa=a|255};h.Mc=function(){return Lb(this.b)};h.yd=function(a){vc(this.b,a&-1809|Lb(this.b)&1808);this.b.F|=128};
|
||||||
h.ec=function(a,b){G(this)&&E(this,"writeIgnored("+oa(b)+"): "+oa(a),!0,!0)};
|
h.ic=function(a,b){G(this)&&E(this,"writeIgnored("+na(b)+"): "+na(a),!0,!0)};
|
||||||
var N={},M=(N[62592]=[null,null,L.prototype.Tc,L.prototype.Fd,"SISDR",1145],N[62608]=[null,null,L.prototype.Rc,L.prototype.Dd,"SDSDR",1145],N[62624]=[null,null,L.prototype.Sc,L.prototype.Ed,"SISAR",1145],N[62640]=[null,null,L.prototype.Qc,L.prototype.Cd,"SDSAR",1145],N[62656]=[null,null,L.prototype.zc,L.prototype.nd,"KISDR",1145],N[62672]=[null,null,L.prototype.xc,L.prototype.ld,"KDSDR",1145],N[62688]=[null,null,L.prototype.yc,L.prototype.md,"KISAR",1145],N[62704]=[null,null,L.prototype.wc,L.prototype.kd,
|
var M={},L=(M[62592]=[null,null,K.prototype.Wc,K.prototype.Id,"SISDR",1145],M[62608]=[null,null,K.prototype.Uc,K.prototype.Gd,"SDSDR",1145],M[62624]=[null,null,K.prototype.Vc,K.prototype.Hd,"SISAR",1145],M[62640]=[null,null,K.prototype.Tc,K.prototype.Fd,"SDSAR",1145],M[62656]=[null,null,K.prototype.Cc,K.prototype.qd,"KISDR",1145],M[62672]=[null,null,K.prototype.Ac,K.prototype.od,"KDSDR",1145],M[62688]=[null,null,K.prototype.Bc,K.prototype.pd,"KISAR",1145],M[62704]=[null,null,K.prototype.zc,K.prototype.nd,
|
||||||
"KDSAR",1145],N[62798]=[null,null,L.prototype.Fc,L.prototype.rd,"MMR3",1145],N[65382]=[null,null,L.prototype.Ac,L.prototype.od,"LKS"],N[65400]=[null,null,L.prototype.tc,L.prototype.gd,"CNSL"],N[65402]=[null,null,L.prototype.Cc,L.prototype.qd,"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.Zc,L.prototype.Ld,"UISDR",1145],N[65424]=[null,null,L.prototype.Xc,L.prototype.Jd,"UDSDR",
|
"KDSAR",1145],M[62798]=[null,null,K.prototype.Ic,K.prototype.ud,"MMR3",1145],M[65382]=[null,null,K.prototype.Dc,K.prototype.rd,"LKS"],M[65400]=[null,null,K.prototype.wc,K.prototype.kd,"CNSL"],M[65402]=[null,null,K.prototype.Fc,K.prototype.td,"MMR0",1145],M[65404]=[null,null,K.prototype.Gc,K.prototype.ic,"MMR1",1145],M[65406]=[null,null,K.prototype.Hc,K.prototype.ic,"MMR2",1145],M[65408]=[null,null,K.prototype.bd,K.prototype.Od,"UISDR",1145],M[65424]=[null,null,K.prototype.$c,K.prototype.Md,"UDSDR",
|
||||||
1145],N[65440]=[null,null,L.prototype.Yc,L.prototype.Kd,"UISAR",1145],N[65456]=[null,null,L.prototype.Wc,L.prototype.Id,"UDSAR",1145],N[65472]=[null,null,L.prototype.bb,L.prototype.gb,"R0SET0"],N[65473]=[null,null,L.prototype.bb,L.prototype.gb,"R1SET0"],N[65474]=[null,null,L.prototype.bb,L.prototype.gb,"R2SET0"],N[65475]=[null,null,L.prototype.bb,L.prototype.gb,"R3SET0"],N[65476]=[null,null,L.prototype.bb,L.prototype.gb,"R4SET0"],N[65477]=[null,null,L.prototype.bb,L.prototype.gb,"R5SET0"],N[65478]=
|
1145],M[65440]=[null,null,K.prototype.ad,K.prototype.Nd,"UISAR",1145],M[65456]=[null,null,K.prototype.Zc,K.prototype.Ld,"UDSAR",1145],M[65472]=[null,null,K.prototype.eb,K.prototype.jb,"R0SET0"],M[65473]=[null,null,K.prototype.eb,K.prototype.jb,"R1SET0"],M[65474]=[null,null,K.prototype.eb,K.prototype.jb,"R2SET0"],M[65475]=[null,null,K.prototype.eb,K.prototype.jb,"R3SET0"],M[65476]=[null,null,K.prototype.eb,K.prototype.jb,"R4SET0"],M[65477]=[null,null,K.prototype.eb,K.prototype.jb,"R5SET0"],M[65478]=
|
||||||
[null,null,L.prototype.Kc,L.prototype.wd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Nc,L.prototype.zd,"R7KERNEL"],N[65480]=[null,null,L.prototype.cb,L.prototype.hb,"R0SET1",1145],N[65481]=[null,null,L.prototype.cb,L.prototype.hb,"R1SET1",1145],N[65482]=[null,null,L.prototype.cb,L.prototype.hb,"R2SET1",1145],N[65483]=[null,null,L.prototype.cb,L.prototype.hb,"R3SET1",1145],N[65484]=[null,null,L.prototype.cb,L.prototype.hb,"R4SET1",1145],N[65485]=[null,null,L.prototype.cb,L.prototype.hb,"R5SET1",1145],
|
[null,null,K.prototype.Nc,K.prototype.zd,"R6KERNEL"],M[65479]=[null,null,K.prototype.Qc,K.prototype.Cd,"R7KERNEL"],M[65480]=[null,null,K.prototype.fb,K.prototype.kb,"R0SET1",1145],M[65481]=[null,null,K.prototype.fb,K.prototype.kb,"R1SET1",1145],M[65482]=[null,null,K.prototype.fb,K.prototype.kb,"R2SET1",1145],M[65483]=[null,null,K.prototype.fb,K.prototype.kb,"R3SET1",1145],M[65484]=[null,null,K.prototype.fb,K.prototype.kb,"R4SET1",1145],M[65485]=[null,null,K.prototype.fb,K.prototype.kb,"R5SET1",1145],
|
||||||
N[65486]=[null,null,L.prototype.Lc,L.prototype.xd,"R6SUPER",1145],N[65487]=[null,null,L.prototype.Mc,L.prototype.yd,"R6USER",1145],N[65504]=[null,null,L.prototype.vc,L.prototype.jd,"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.Vc,L.prototype.Hd,"SYSID",1170],N[65526]=[null,null,L.prototype.uc,L.prototype.hd,"CPUERR",1170],N[65528]=[null,null,L.prototype.Bc,L.prototype.pd,
|
M[65486]=[null,null,K.prototype.Oc,K.prototype.Ad,"R6SUPER",1145],M[65487]=[null,null,K.prototype.Pc,K.prototype.Bd,"R6USER",1145],M[65504]=[null,null,K.prototype.yc,K.prototype.md,"CTRL",1170],M[65520]=[null,null,K.prototype.dc,K.prototype.jc,"LSIZE",1170],M[65522]=[null,null,K.prototype.dc,K.prototype.jc,"HSIZE",1170],M[65524]=[null,null,K.prototype.Yc,K.prototype.Kd,"SYSID",1170],M[65526]=[null,null,K.prototype.xc,K.prototype.ld,"CPUERR",1170],M[65528]=[null,null,K.prototype.Ec,K.prototype.sd,
|
||||||
"MB",1170],N[65530]=[null,null,L.prototype.Gc,L.prototype.sd,"PIR"],N[65532]=[null,null,L.prototype.Uc,L.prototype.Gd,"SL"],N[65534]=[null,null,L.prototype.Jc,L.prototype.vd,"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];
|
"MB",1170],M[65530]=[null,null,K.prototype.Jc,K.prototype.vd,"PIR"],M[65532]=[null,null,K.prototype.Xc,K.prototype.Jd,"SL"],M[65534]=[null,null,K.prototype.Mc,K.prototype.yd,"PSW"],M);L[62594]=L[62592];L[62596]=L[62592];L[62598]=L[62592];L[62600]=L[62592];L[62602]=L[62592];L[62604]=L[62592];L[62606]=L[62592];L[62610]=L[62608];L[62612]=L[62608];L[62614]=L[62608];L[62616]=L[62608];L[62618]=L[62608];L[62620]=L[62608];L[62622]=L[62608];L[62626]=L[62624];L[62628]=L[62624];L[62630]=L[62624];L[62632]=L[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];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];
|
L[62634]=L[62624];L[62636]=L[62624];L[62638]=L[62624];L[62642]=L[62640];L[62644]=L[62640];L[62646]=L[62640];L[62648]=L[62640];L[62650]=L[62640];L[62652]=L[62640];L[62654]=L[62640];L[62658]=L[62656];L[62660]=L[62656];L[62662]=L[62656];L[62664]=L[62656];L[62666]=L[62656];L[62668]=L[62656];L[62670]=L[62656];L[62674]=L[62672];L[62676]=L[62672];L[62678]=L[62672];L[62680]=L[62672];L[62682]=L[62672];L[62684]=L[62672];L[62686]=L[62672];L[62690]=L[62688];L[62692]=L[62688];L[62694]=L[62688];L[62696]=L[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[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];
|
L[62698]=L[62688];L[62700]=L[62688];L[62702]=L[62688];L[62706]=L[62704];L[62708]=L[62704];L[62710]=L[62704];L[62712]=L[62704];L[62714]=L[62704];L[62716]=L[62704];L[62718]=L[62704];L[65410]=L[65408];L[65412]=L[65408];L[65414]=L[65408];L[65416]=L[65408];L[65418]=L[65408];L[65420]=L[65408];L[65422]=L[65408];L[65426]=L[65424];L[65428]=L[65424];L[65430]=L[65424];L[65432]=L[65424];L[65434]=L[65424];L[65436]=L[65424];L[65438]=L[65424];L[65442]=L[65440];L[65444]=L[65440];L[65446]=L[65440];L[65448]=L[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[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=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new L(c);A(c,d);break;case "pc11":c=new vc(c),A(c,d)}}});var wc;
|
L[65450]=L[65440];L[65452]=L[65440];L[65454]=L[65440];L[65458]=L[65456];L[65460]=L[65456];L[65462]=L[65456];L[65464]=L[65456];L[65466]=L[65456];L[65468]=L[65456];L[65470]=L[65456];L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504];Ta(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new K(c);A(c,d);break;case "pc11":c=new wc(c),A(c,d)}}});var xc;
|
||||||
if(sb){var xc=new ArrayBuffer(2);(new DataView(xc)).setUint16(0,256,!0);wc=256===(new Uint16Array(xc))[0]}else wc=!1;var yc=wc;
|
if(sb){var yc=new ArrayBuffer(2);(new DataView(yc)).setUint16(0,256,!0);xc=256===(new Uint16Array(yc))[0]}else xc=!1;var zc=xc;
|
||||||
function J(a,b,c,d,e,f){this.w=a;this.id=zc+=2;this.b=null;this.A=b;this.tb=c;this.size=d||0;this.type=e||Ac;this.f=e==Bc;this.controller=null;Rb(this);this.Ha=this.lc=!1;if(d)if(f)this.controller=f,this.b=null,Cc(this,f.ic);else if(sb)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),Cc(this,yc?Dc:Ec);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Cc(this,Fc)}else Cc(this)}
|
function I(a,b,c,d,e,f){this.w=a;this.id=Ac+=2;this.b=null;this.A=b;this.vb=c;this.size=d||0;this.type=e||Bc;this.f=e==Cc;this.controller=null;Sb(this);this.Ia=this.pc=!1;if(d)if(f)this.controller=f,this.b=null,Dc(this,f.mc);else if(sb)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),Dc(this,zc?Ec:Fc);else{this.b=Array(d>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Dc(this,Gc)}else Dc(this)}
|
||||||
var Ac=0,Bc=2,Yb=4,ac=["NONE","RAM","ROM","VID","H/W"],zc=0;
|
var Bc=0,Cc=2,Zb=4,bc=["NONE","RAM","ROM","VID","H/W"],Ac=0;
|
||||||
J.prototype={constructor:J,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(sb)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(sb)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++||Gc(this,Hc,!1):this.g++||Ic(this,Hc,!1)},K:function(){this.i&&G(this.i,128)&&(E(this.i,"attempt to read invalid block %"+
|
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(sb)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(sb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ia=!0}return!1},Qa:function(a,b){b?this.B++||Hc(this,Ic,!1):this.g++||Jc(this,Ic,!1)},K:function(){this.i&&G(this.i,128)&&(E(this.i,"attempt to read invalid block %"+
|
||||||
k(this.A),!0),this.i.da());return 255},J:function(a,b){this.i&&G(this.i,128)&&(E(this.i,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.A),!0),this.i.da())},M:function(a,b){return this.Cb(a++,b++)|this.Cb(a,b)<<8},H:function(a,b,c){this.Fb(a++,b&255,c++);this.Fb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ja:function(a,b){a&1&&nc(this.w,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]=
|
k(this.A),!0),this.i.da());return 255},J:function(a,b){this.i&&G(this.i,128)&&(E(this.i,"attempt to write "+k(b,4,!0)+" to invalid block %"+k(this.A),!0),this.i.da())},M:function(a,b){return this.Eb(a++,b++)|this.Eb(a,b)<<8},H:function(a,b,c){this.Hb(a++,b&255,c++);this.Hb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},la:function(a,b){a&1&&oc(this.w,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},wa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=
|
||||||
this.b[c]&~(255<<a)|b<<a;this.Ha=!0},za:function(a,b,c){a&1&&nc(this.w,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.i&&null!=this.A){var c=this.i;Jc(c,this.A+a,1,c.M)&&c.da(!0)}return this.Jb(a,b)},ba:function(a,b){if(this.i&&null!=this.A){var c=this.i;Jc(c,this.A+a,2,c.M)&&c.da(!0)}return this.Kb(a,b)},ma:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Jc(d,this.A+a,
|
this.b[c]&~(255<<a)|b<<a;this.Ia=!0},Va:function(a,b,c){a&1&&oc(this.w,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.Ia=!0},T:function(a,b){if(this.i&&null!=this.A){var c=this.i;Kc(c,this.A+a,1,c.M)&&c.da(!0)}return this.Mb(a,b)},ba:function(a,b){if(this.i&&null!=this.A){var c=this.i;Kc(c,this.A+a,2,c.M)&&c.da(!0)}return this.Nb(a,b)},oa:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Kc(d,this.A+a,
|
||||||
1,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Pb(a,b,c)},wa:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Jc(d,this.A+a,2,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Qb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.i&&G(this.i,128)&&E(this.i,"Memory.readByte("+K(this.i,b)+"): "+K(this.i,a),!0);return a},aa:function(a,b){a&1&&nc(this.w,b);return this.G.getUint16(a,!0)},fa:function(a,b){a&1&&nc(this.w,b);a=this.I[a>>1];this.i&&G(this.i,128)&&E(this.i,"Memory.readWord("+
|
1,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Sb(a,b,c)},ya:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;Kc(d,this.A+a,2,d.D)&&d.da(!0)}this.f?this.J(a,b,c):this.Tb(a,b,c)},R:function(a){return this.D[a]},U:function(a,b){a=this.D[a];this.i&&G(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},aa:function(a,b){a&1&&oc(this.w,b);return this.G.getUint16(a,!0)},fa:function(a,b){a&1&&oc(this.w,b);a=this.I[a>>1];this.i&&G(this.i,128)&&E(this.i,"Memory.readWord("+
|
||||||
K(this.i,b)+"): "+K(this.i,a),!0);return a},la:function(a,b){this.D[a]=b;this.Ha=!0},pa:function(a,b,c){this.D[a]=b;this.Ha=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeByte("+K(this.i,c)+","+K(this.i,b)+")",!0)},va:function(a,b,c){a&1&&nc(this.w,c);this.G.setUint16(a,b,!0);this.Ha=!0},Ua:function(a,b,c){a&1&&nc(this.w,c);this.I[a>>1]=b;this.Ha=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeWord("+K(this.i,c)+","+K(this.i,b)+")",!0)}};
|
J(this.i,b)+"): "+J(this.i,a),!0);return a},na:function(a,b){this.D[a]=b;this.Ia=!0},ra:function(a,b,c){this.D[a]=b;this.Ia=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},xa:function(a,b,c){a&1&&oc(this.w,c);this.G.setUint16(a,b,!0);this.Ia=!0},Ua:function(a,b,c){a&1&&oc(this.w,c);this.I[a>>1]=b;this.Ia=!0;this.i&&G(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0)}};
|
||||||
function Rb(a,b,c){a.i=b;a.g=a.B=0;c&&((a.g=c.g)&&Ic(a,Hc,!1),(a.B=c.B)&&Gc(a,Hc,!1))}function Kc(a,b){b?--a.B||(a.Fb=a.f?a.J:a.Pb,a.ub=a.f?a.H:a.Qb):--a.g||(a.Cb=a.Jb,a.ra=a.Kb)}function Gc(a,b,c){c&&a.B||(a.Fb=!a.f&&b[1]||a.J,a.ub=!a.f&&b[3]||a.H);if(c||void 0===c)a.Pb=b[1]||a.J,a.Qb=b[3]||a.H}function Ic(a,b,c){c&&a.g||(a.Cb=b[0]||a.K,a.ra=b[2]||a.M);if(c||void 0===c)a.Jb=b[0]||a.K,a.Kb=b[2]||a.M}function Cc(a,b){b||(b=Lc);Ic(a,b,void 0);Gc(a,b,void 0)}
|
function Sb(a,b,c){a.i=b;a.g=a.B=0;c&&((a.g=c.g)&&Jc(a,Ic,!1),(a.B=c.B)&&Hc(a,Ic,!1))}function Lc(a,b){b?--a.B||(a.Hb=a.f?a.J:a.Sb,a.wb=a.f?a.H:a.Tb):--a.g||(a.Eb=a.Mb,a.ta=a.Nb)}function Hc(a,b,c){c&&a.B||(a.Hb=!a.f&&b[1]||a.J,a.wb=!a.f&&b[3]||a.H);if(c||void 0===c)a.Sb=b[1]||a.J,a.Tb=b[3]||a.H}function Jc(a,b,c){c&&a.g||(a.Eb=b[0]||a.K,a.ta=b[2]||a.M);if(c||void 0===c)a.Mb=b[0]||a.K,a.Nb=b[2]||a.M}function Dc(a,b){b||(b=Mc);Jc(a,b,void 0);Hc(a,b,void 0)}
|
||||||
var Lc=[],Fc=[J.prototype.V,J.prototype.ua,J.prototype.ja,J.prototype.za],Hc=[J.prototype.T,J.prototype.ma,J.prototype.ba,J.prototype.wa];if(sb)var Ec=[J.prototype.R,J.prototype.la,J.prototype.aa,J.prototype.va],Dc=[J.prototype.U,J.prototype.pa,J.prototype.fa,J.prototype.Ua];
|
var Mc=[],Gc=[I.prototype.V,I.prototype.wa,I.prototype.la,I.prototype.Va],Ic=[I.prototype.T,I.prototype.oa,I.prototype.ba,I.prototype.ya];if(sb)var Fc=[I.prototype.R,I.prototype.na,I.prototype.aa,I.prototype.xa],Ec=[I.prototype.U,I.prototype.ra,I.prototype.fa,I.prototype.Ua];
|
||||||
function Mc(a,b){r.call(this,"CPU",a,Mc,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.ca=!1;this.v.Nb=!1;this.v.ib=a.autoStart;this.v.Xa=!1;this.nb=this.ja=0;this.ob=a.csStart;this.Za=a.csInterval;this.$a=a.csStop;this.K=[];this.Ab=this.cd.bind(this);H(this)}u(Mc);var Nc=["power","reset"];h=Mc.prototype;
|
function Nc(a,b){r.call(this,"CPU",a,Nc,1);var c=a.multiplier||1;this.Ga=a.cycles||b;this.La=c;this.Xa=Math.round(this.Ga/1E4)/100;this.Sa=this.Xa*this.La;this.v.ca=!1;this.v.Qb=!1;this.v.lb=a.autoStart;this.v.Za=!1;this.qb=this.la=0;this.rb=a.csStart;this.ab=a.csInterval;this.bb=a.csStop;this.K=[];this.bc=this.fd.bind(this);H(this)}u(Nc);var Oc=["power","reset"];h=Nc.prototype;
|
||||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.i=d;for(b=0;b<Nc.length;b++)(c=this.J[Nc[b]])&&this.B.oa(null,Nc[b],c);a=Oc(a,"autoStart");null!=a&&(this.v.ib="true"==a?!0:"false"==a?!1:!!a);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
h.Ca=function(a,b,c,d){this.B=a;this.w=b;this.i=d;for(b=0;b<Oc.length;b++)(c=this.J[Oc[b]])&&this.B.qa(null,Oc[b],c);a=Pc(a,"autoStart");null!=a&&(this.v.lb="true"==a?!0:"false"==a?!1:!!a);H(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
|
||||||
h.ya=function(a,b){if(!b){if(a&&this.restore){Pc(this);if(!this.restore(a))return!1;Qc(this)}else this.reset();this.i?(a=this.i,a.j("Type ? for help with PDP11 Debugger commands"),a.$(),a.Fa&&(b=a.Fa,a.Fa=null,Rc(a,b))):this.j("No debugger detected")}this.B.$();return!0};h.xa=function(a){return a?this.save():!0};h.ib=function(){return this.v.ib||!this.i&&void 0===this.J.run?(this.eb(!0),!0):!1};h.Wb=function(){return 0};
|
h.Aa=function(a,b){if(!b){if(a&&this.restore){Qc(this);if(!this.restore(a))return!1;Rc(this)}else this.reset();this.i?(a=this.i,a.j("Type ? for help with PDP11 Debugger commands"),a.$(),a.Ga&&(b=a.Ga,a.Ga=null,Sc(a,b))):this.j("No debugger detected")}this.B.$();return!0};h.za=function(a){return a?this.save():!0};h.lb=function(){return this.v.lb||!this.i&&void 0===this.J.run?(this.hb(!0),!0):!1};h.Zb=function(){return 0};
|
||||||
function Qc(a){void 0===a.ob&&(a.ob=0);void 0===a.Za&&(a.Za=-1);void 0===a.$a&&(a.$a=-1);a.v.Xa=0<=a.ob&&0<a.Za;a.v.Xa&&(a.nb=0,a.ja=a.ob-a.fa)}function Sc(a,b){if(a.v.Xa){var c=!1;a.nb=a.nb+a.Wb()|0;a.ja-=b;0>=a.ja&&(a.ja+=a.Za,c=!0);0<=a.$a&&a.$a<=Tc(a)&&(a.Za=a.$a=-1,Qc(a),a.da(),c=!0);c&&a.j(Tc(a)+" cycles: checksum="+k(a.nb))}}
|
function Rc(a){void 0===a.rb&&(a.rb=0);void 0===a.ab&&(a.ab=-1);void 0===a.bb&&(a.bb=-1);a.v.Za=0<=a.rb&&0<a.ab;a.v.Za&&(a.qb=0,a.la=a.rb-a.fa)}function Tc(a,b){if(a.v.Za){var c=!1;a.qb=a.qb+a.Zb()|0;a.la-=b;0>=a.la&&(a.la+=a.ab,c=!0);0<=a.bb&&a.bb<=Uc(a)&&(a.ab=a.bb=-1,Rc(a),a.da(),c=!0);c&&a.j(Uc(a)+" cycles: checksum="+k(a.qb))}}
|
||||||
h.oa=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.ca?d.da():d.eb())},
|
h.qa=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.ia)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.ia);c++);c==l.length&&(b=a);n("The "+b.type+" component ("+b.id+") is not "+(b.v.ready?"powered yet":"ready yet"+(b.zb?" (waiting for notification)":""))+".");a=!1}a&&(d.v.ca?d.da():d.hb())},
|
||||||
!0;case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){Uc(d,d.Ka<<1,!0)},c.textContent=this.Ra.toFixed(2)+"Mhz",!0}return!1};h.$=function(){var a=this.J.speed;a&&(a.textContent=this.v.ca&&this.V?this.V.toFixed(2)+"Mhz":"Stopped")};function Vc(a,b,c){a.fa+=b;c&&(a.ba=a.b=0)}function Wc(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.kb=0}function Tc(a){return a.fa+a.T+a.ba-a.b}
|
!0;case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){Vc(d,d.La<<1,!0)},c.textContent=this.Sa.toFixed(2)+"Mhz",!0}return!1};h.$=function(){var a=this.J.speed;a&&(a.textContent=this.v.ca&&this.V?this.V.toFixed(2)+"Mhz":"Stopped")};function Wc(a,b,c){a.fa+=b;c&&(a.ba=a.b=0)}function Xc(a,b){var c=1;b&&1<a.La&&a.V&&(c=a.V/a.Xa);a.Ab=Math.round(1E3/30);a.Pa=Math.floor(a.Ga/30*c);b||(a.na=a.Pa);a.nb=0}function Uc(a){return a.fa+a.T+a.ba-a.b}
|
||||||
function Pc(a){a.V=0;a.yb=0;a.fa=a.T=a.ba=a.b=0;Qc(a);Uc(a,1)}function Uc(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.j("target speed: "+b)}c&&a.B&&a.B.sb()}Vc(a,a.T);a.T=0;a.R=Aa();a.aa=0;Wc(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+Xc(a))}
|
function Qc(a){a.V=0;a.Cb=0;a.fa=a.T=a.ba=a.b=0;Rc(a);Vc(a,1)}function Vc(a,b,c){var d=!1;if(void 0!==b){.8>a.V/a.Sa?b=1:d=!0;a.La=b;b=a.Xa*a.La;if(a.Sa!=b){a.Sa=b;b=a.Sa.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.B&&a.B.ub()}Wc(a,a.T);a.T=0;a.R=za();a.aa=0;Xc(a);return d}function pc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function rc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c=a.Ga*a.La/1E3*c|0,a.K[b][0]=c+Yc(a))}
|
||||||
function Yc(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 Zc(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 Xc(a,b){var c=a.ba-=a.b;a.b=0;b&&(a.ba=0);return c}
|
function Zc(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 $c(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 Yc(a,b){var c=a.ba-=a.b;a.b=0;b&&(a.ba=0);return c}
|
||||||
h.cd=function(){if(this.v.ca){this.kb>=this.Fa&&Wc(this,!0);this.pa=0;this.za=Aa();if(this.aa){var a=this.za-this.aa;a>this.wb&&(this.R+=a,this.R>this.za&&(this.R=this.za))}try{do{var b=Yc(this,this.v.Xa?1:this.Oa);try{this.fb(b)}catch(e){if("number"!=typeof e)throw e;}b=Xc(this,!0);this.pa+=b;this.T+=b;Sc(this,b);Zc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Oa;15<=++this.yb&&(this.B&&this.B.$(),this.yb=0);break}}while(this.v.ca)}catch(e){this.da();this.B&&this.B.stop(Aa(),Tc(this));rb(this,
|
h.fd=function(){if(this.v.ca){this.nb>=this.Ga&&Xc(this,!0);this.ra=0;this.Fa=za();if(this.aa){var a=this.Fa-this.aa;a>this.Ab&&(this.R+=a,this.R>this.Fa&&(this.R=this.Fa))}try{do{var b=Zc(this,this.v.Za?1:this.Pa);try{this.ib(b)}catch(e){if("number"!=typeof e)throw e;}b=Yc(this,!0);this.ra+=b;this.T+=b;Tc(this,b);$c(this,b);this.na-=b;if(0>=this.na){this.na+=this.Pa;15<=++this.Cb&&(this.B&&this.B.$(),this.Cb=0);break}}while(this.v.ca)}catch(e){this.da();this.B&&this.B.stop(za(),Uc(this));rb(this,
|
||||||
e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.Ab;this.aa=Aa();var c=this.wb;this.pa&&(c=Math.round(c*this.pa/this.Oa));var c=c-(this.aa-this.za),d=this.aa-this.R;d&&(this.V=Math.round(this.T/(10*d))/100,864E5<=d&&(this.fa=0,Uc(this)));if(0>c||this.V<this.Ra)-1E3>c&&(this.R-=c),c=0;this.kb+=this.pa;this.aa+=c;a(b,c)}}};
|
e.stack||e.message);return}if(this.v.ca){a=setTimeout;b=this.bc;this.aa=za();var c=this.Ab;this.ra&&(c=Math.round(c*this.ra/this.Pa));var c=c-(this.aa-this.Fa),d=this.aa-this.R;d&&(this.V=Math.round(this.T/(10*d))/100,864E5<=d&&(this.fa=0,Vc(this)));if(0>c||this.V<this.Sa)-1E3>c&&(this.R-=c),c=0;this.nb+=this.ra;this.aa+=c;a(b,c)}}};
|
||||||
h.eb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Uc(this);this.v.ca=!0;this.v.Nb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.sb(!0),this.B.start(this.R,Tc(this)));setTimeout(this.Ab,0);return!0};h.fb=function(){return 0};h.da=function(a){if(this.v.ca){Xc(this);Vc(this,this.T);this.T=0;this.v.ca=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(Aa(),Tc(this))}this.v.complete=a};
|
h.hb=function(a){if(qb(this))return!1;if(this.v.ca)return this.j(this.toString()+" busy"),!1;Vc(this);this.v.ca=!0;this.v.Qb=!0;var b=this.J.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.ub(!0),this.B.start(this.R,Uc(this)));setTimeout(this.bc,0);return!0};h.ib=function(){return 0};h.da=function(a){if(this.v.ca){Yc(this);Wc(this,this.T);this.T=0;this.v.ca=!1;var b=this.J.run;b&&(b.textContent="Run");this.B&&this.B.stop(za(),Uc(this))}this.v.complete=a};
|
||||||
function $c(a){this.Ya=+a.model||1170;this.qc=a.resetAddr||0;Mc.call(this,a,6666667);this.decode=1120==this.Ya?ad.bind(this):ud.bind(this);vd(this);this.C=0;this.U=null;this.v.complete=this.v.kc=!1}u($c,Mc);h=$c.prototype;h.reset=function(){this.status("model "+this.Ya);this.v.ca&&this.da();vd(this);Pc(this);this.v.error=!1;this.parent.reset.call(this)};
|
function ad(a){this.$a=+a.model||1170;this.xb=a.addrReset||0;Nc.call(this,a,6666667);this.decode=1120==this.$a?ud.bind(this):vd.bind(this);wd(this);this.C=0;this.U=null;this.v.complete=this.v.oc=!1}u(ad,Nc);h=ad.prototype;h.reset=function(){this.status("model "+this.$a);this.v.ca&&this.da();wd(this);Qc(this);this.v.error=!1;this.parent.reset.call(this)};
|
||||||
function vd(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.qa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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 wd(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.xb];a.Ea=[0,0,0,0,0,0];a.va=[0,0,0,0];a.D=0;a.xa=0;a.sc=[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.sa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.uc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.g=a.f=a.Ta=0;a.ma=-1;wd(a)}function wd(a){a.Na=255;a.Z=0;a.Mb=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.w&&sc(a)}function sc(a){a.Ja?(a.M=65536,a.Y=a.nc,a.ra=a.$c,a.ub=a.Md,Ub(a.w,a.Ma&16?22:18)):(a.M=0,a.Y=a.mc,a.ra=a.ac,a.ub=a.gc,Ub(a.w,16))}h.Wb=function(){return 0};
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.gc=[0,0,0,0,0,0,0,0];a.fc=0;a.F=0;a.H=a.I=0;a.g=a.f=a.Wa=0;a.oa=-1;xd(a)}function xd(a){a.Oa=255;a.Z=0;a.Pb=0;a.G=0;a.Ma=0;a.tb=0;a.Na=0;a.Ka=0;a.wa=0;a.Ya=262143;a.ya=253952;a.F|=2;a.w&&tc(a)}function tc(a){a.Ka?(a.M=65536,a.Y=a.rc,a.ta=a.cd,a.wb=a.Pd,Vb(a.w,a.Na&16?22:18)):(a.M=0,a.Y=a.qc,a.ta=a.ec,a.wb=a.kc,Vb(a.w,16))}h.Zb=function(){return 0};
|
||||||
h.save=function(){var a=new O(this);a.set(0,[]);a.set(1,[this.fa,this.Ka]);a.set(2,bc(this.w));return a.data()};h.restore=function(a){var b=a[1];this.fa=b[1];Uc(this,b[3]);a:{b=this.w;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 xd(a){return a.N&65536?1:0}
|
h.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.fa,this.La]);a.set(2,cc(this.w));return a.data()};h.restore=function(a){var b=a[1];this.fa=b[1];Vc(this,b[3]);a:{b=this.w;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 yd(a){return a.N&65536?1:0}
|
||||||
function yd(a){return a.O&32768?2:0}function zd(a){return a.X&65535?0:4}h.Da=function(){return this.S&32768?8:0};function Ad(a){var b=a.ra(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function Bd(a,b){a.u[7]=b&65535}function rc(a,b){return{fd:a,ab:b,next:null}}function pc(a,b){if(b!=a.U){var c=a.U;if(!c||c.ab<=b.ab)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.ab<=b.ab){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Kb(a){return a.L=a.L&63728|a.Da()|zd(a)|yd(a)|xd(a)}
|
function zd(a){return a.O&32768?2:0}function Ad(a){return a.X&65535?0:4}h.Da=function(){return this.S&32768?8:0};function Bd(a){var b=a.ta(a.u[7]);a.u[7]=a.u[7]+2&65535;return b}function O(a,b){a.u[7]=b&65535}function sc(a,b){return{jd:a,cb:b,next:null}}function qc(a,b){if(b!=a.U){var c=a.U;if(!c||c.cb<=b.cb)b.next=c,a.U=b;else{do{var d=c.next;if(!d||d.cb<=b.cb){b.next=d;c.next=b;break}c=d}while(c)}}a.F|=2}function Lb(a){return a.L=a.L&63728|a.Da()|Ad(a)|zd(a)|yd(a)}
|
||||||
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 Cd(a,b,c){a.F&128||(a.S=a.X=a.N=b,a.O=c||0)}function Dd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^b)&(d^b))}function Ed(a,b){a.F&128||(a.S=a.X=a.N=b,a.O=a.S^a.N>>1)}function Fd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^d)&(d^b))}
|
function vc(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.va[c]=a.u[6],a.u[6]=a.va[a.D]);a.L=b;a.F|=2}function P(a,b){a.F&128||(a.S=a.X=b,a.O=0)}function Cd(a,b,c){a.F&128||(a.S=a.X=a.N=b,a.O=c||0)}function Dd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^b)&(d^b))}function Ed(a,b){a.F&128||(a.S=a.X=a.N=b,a.O=a.S^a.N>>1)}function Fd(a,b,c,d){a.F&128||(a.S=a.X=a.N=b,a.O=(c^d)&(d^b))}
|
||||||
h.ea=function(a,b){if(!this.C){var c=!1;0>this.ma?this.ma=Kb(this):this.D||(a=4,c=!0);this.G&57344||(this.La=63222,this.qb=a);this.D=0;var d=this.ra(a|this.M),e=this.ra(a+2&65535|this.M);uc(this,e&-12289|this.ma>>2&12288);c&&(this.Z|=4,this.u[6]=4);Gd(this,this.ma);Gd(this,this.u[7]);Bd(this,d);this.F&=-113;this.ma=-1;if(26!=b)throw a;}};function Hd(a){var b=Id(a),c=Id(a)&-1793;a.L&49152&&(c=c&-225|a.L&63712);Bd(a,b);uc(a,c);a.F&=-17}
|
h.ea=function(a,b){if(!this.C){var c=!1;0>this.oa?this.oa=Lb(this):this.D||(a=4,c=!0);this.G&57344||(this.Ma=63222,this.tb=a);this.D=0;var d=this.ta(a|this.M),e=this.ta(a+2&65535|this.M);vc(this,e&-12289|this.oa>>2&12288);c&&(this.Z|=4,this.u[6]=4);Gd(this,this.oa);Gd(this,this.u[7]);O(this,d);this.F&=-113;this.oa=-1;if(26!=b)throw a;}};function Hd(a){var b=Id(a),c=Id(a)&-1793;a.L&49152&&(c=c&-225|a.L&63712);O(a,b);vc(a,c);a.F&=-17}
|
||||||
function Jd(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.qa[a.D][d]<<6)+(b&8191)&a.Wa;if(f<a.wa)f&1&&!(c&1)&&(a.Z|=64,a.ea(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.ea(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?
|
function Jd(a,b,c){var d,e,f,g=0;d=b>>13;a.Na&a.sc[a.D]||(d&=7);e=a.P[a.D][d];f=(a.sa[a.D][d]<<6)+(b&8191)&a.Ya;if(f<a.ya)f&1&&!(c&1)&&(a.Z|=64,a.ea(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.uc[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.ya&&4186112>f&&(a.Z|=32,a.ea(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: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.ea(168,16)),a.G&61440||!(4191360>f||4194239<f)||(a.G|=4096,a.G&512&&(a.F|=32)));return f}function Kd(a,b){return a.w.lb(b)}function Ld(a,b,c){b&1&&a.b--;a.w.Db(b,c&255)}function Id(a){var b=a.ra(a.u[6]|a.M);a.u[6]=a.u[6]+2&65535;return b}
|
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.wa=a.D,a.xa=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.G&57344||(a.G=a.G|g|a.wa<<5|a.xa<<1),a.ea(168,16)),a.G&61440||!(4191360>f||4194239<f)||(a.G|=4096,a.G&512&&(a.F|=32)));return f}function Kd(a,b){return a.w.ob(b)}function Ld(a,b,c){b&1&&a.b--;a.w.Fb(b,c&255)}function Id(a){var b=a.ta(a.u[6]|a.M);a.u[6]=a.u[6]+2&65535;return b}
|
||||||
function Gd(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.ea(4,18)):(a.Z|=8,a.F|=4));a.ub(c,b)}
|
function Gd(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.G&57344||(a.Ma=a.Ma<<8|246);!a.D&&c<=a.Oa&&4<c&&(c<=a.Oa-32?(a.Z|=4,a.u[6]=4,a.ea(4,18)):(a.Z|=8,a.F|=4));a.wb(c,b)}
|
||||||
function Md(a,b,c,d){var e,f,g=d&8?0:a.M;switch(b){case 0:return a.ea(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.ea(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.ra(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.ra(e)|g;
|
function Md(a,b,c,d){var e,f,g=d&8?0:a.M;switch(b){case 0:return a.ea(4,20),0;case 1:return 6===c&&!a.D&&d&4&&(a.u[6]<=a.Oa||65534<=a.u[6])&&(a.u[6]<=a.Oa-32||65534<=a.u[6]?(a.Z|=4,a.u[6]=4,a.ea(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.ta(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.ta(e)|g;
|
||||||
a.b-=8;break;case 6:return e=Ad(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=Ad(a),e=e+a.u[c]&65535,e=a.ra(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.ea(4,24)):(a.Z|=8,a.F|=64));return e}h.zb=function(a){if(!this.Ja)return this.w.zb(a);this.C++;a=Kd(this,Jd(this,a,3));this.C--;return a};
|
a.b-=8;break;case 6:return e=Bd(a),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=Bd(a),e=e+a.u[c]&65535,e=a.ta(e|a.M)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.G&57344||(a.Ma=a.Ma<<8|f<<3&248|c);6==c&&!a.D&&d&4&&0>=f&&(a.u[6]<=a.Oa||65534<=a.u[6])&&(a.u[6]<=a.Oa-32?(a.Z|=4,a.u[6]=4,a.ea(4,24)):(a.Z|=8,a.F|=64));return e}h.Bb=function(a){if(!this.Ka)return this.w.Bb(a);this.C++;a=Kd(this,Jd(this,a,3));this.C--;return a};
|
||||||
h.mb=function(a){if(!this.Ja)return this.w.mb(a);this.C++;a=this.ac(Jd(this,a,2));this.C--;return a};h.rb=function(a,b){this.Ja?(this.C++,Ld(this,Jd(this,a,5),b),this.C--):this.w.rb(a,b)};h.Eb=function(a,b){this.Ja?(this.C++,this.gc(Jd(this,a,4),b),this.C--):this.w.Eb(a,b)};h.mc=function(a,b,c){return Md(this,a,b,c)};h.nc=function(a,b,c){return Jd(this,Md(this,a,b,c),c)};h.ac=function(a){return this.w.ka(a)};h.$c=function(a){return this.w.ka(Jd(this,a,2))};h.gc=function(a,b){this.w.Sa(a,b&65535)};
|
h.pb=function(a){if(!this.Ka)return this.w.pb(a);this.C++;a=this.ec(Jd(this,a,2));this.C--;return a};h.gb=function(a,b){this.Ka?(this.C++,Ld(this,Jd(this,a,5),b),this.C--):this.w.gb(a,b)};h.Gb=function(a,b){this.Ka?(this.C++,this.kc(Jd(this,a,4),b),this.C--):this.w.Gb(a,b)};h.qc=function(a,b,c){return Md(this,a,b,c)};h.rc=function(a,b,c){return Jd(this,Md(this,a,b,c),c)};h.ec=function(a){return this.w.ma(a)};h.cd=function(a){return this.w.ma(Jd(this,a,2))};h.kc=function(a,b){this.w.Ta(a,b&65535)};
|
||||||
h.Md=function(a,b){this.w.Sa(Jd(this,a,4),b)};function Nd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Md(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.ra(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 Od(a,b,c,d){a.G&57344||(a.La=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Md(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=Jd(a,e|c&65536,4),a.D=a.L>>14&3,a.w.Sa(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.ta[a.L>>12&3]=d}
|
h.Pd=function(a,b){this.w.Ta(Jd(this,a,4),b)};function Nd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Md(a,b,d,2),c&65536||61440!==(a.L&61440)&&(d&=65535),a.D=a.L>>12&3,c=a.ta(d|c&a.M),a.D=a.L>>14&3):c=6!=d||(a.L>>2&12288)===(a.L&12288)?a.u[d]:a.va[a.L>>12&3];return c}function Od(a,b,c,d){a.G&57344||(a.Ma=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Md(a,b,e,4),c&65536||(e&=65535),a.D=a.L>>12&3,e=Jd(a,e|c&65536,4),a.D=a.L>>14&3,a.w.Ta(e,d)):6!=e||(a.L>>2&12288)===(a.L&12288)?a.u[e]=d:a.va[a.L>>12&3]=d}
|
||||||
function Pd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Qd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}function Rd(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Md(a,b,c,8)}function Sd(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Td(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.ka(a.Y(b,c,2)):a.u[c]}
|
function Pd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Qd(a,b){b>>=6;var c=a.I=b&7;return(b=a.H=(b&56)>>3)?a.w.ma(a.Y(b,c,2)):a.u[c]}function Rd(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Md(a,b,c,8)}function Sd(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Kd(a,a.Y(b,c,3)):a.u[c]&255}function Td(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.ma(a.Y(b,c,2)):a.u[c]}
|
||||||
function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Ta=a.Y(b,e,7),Ld(a,e,d.call(a,c,Kd(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.g=(b&56)>>3)?(e=a.Y(b,e,6),a.w.Sa(e,d.call(a,c,a.w.ka(e)))):a.u[e]=d.call(a,c,a.u[e])}function Ud(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Ld(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 Vd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.Sa(a.Y(b,d,4),c):a.u[d]=c&65535;return c}
|
function Q(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Wa=a.Y(b,e,7),Ld(a,e,d.call(a,c,Kd(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.g=(b&56)>>3)?(e=a.Y(b,e,6),a.w.Ta(e,d.call(a,c,a.w.ma(e)))):a.u[e]=d.call(a,c,a.u[e])}function Ud(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Ld(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 Vd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.Ta(a.Y(b,d,4),c):a.u[d]=c&65535;return c}
|
||||||
function S(a,b,c){c&&(Bd(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
function S(a,b,c){c&&(O(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||||
h.fb=function(a){this.v.complete=!0;var b=this.v.kc=this.i&&Wd(this.i),c=a?this.v.Nb?0:1:-1;this.v.Nb=!1;this.ba=this.b=a;do{if(b){if(Xd(this.i,this.u[7],c)){this.da();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.ea(168,28):this.F&64?this.ea(4,30):this.F&16&&this.ea(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Mb&224)>>5;if(a=this.U&&this.U.ab>e?this.U:null)d=a.fd,e=a.ab;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.ea(d,26),e=!0):e=!1;
|
h.ib=function(a){this.v.complete=!0;var b=this.v.oc=this.i&&Wd(this.i),c=a?this.v.Qb?0:1:-1;this.v.Qb=!1;this.ba=this.b=a;do{if(b){if(Xd(this.i,this.u[7],c)){this.da();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.ea(168,28):this.F&64?this.ea(4,30):this.F&16&&this.ea(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;var d=160,e=(this.Pb&224)>>5;if(a=this.U&&this.U.cb>e?this.U:null)d=a.jd,e=a.cb;e>(this.L&224)>>5?(this.F&4&&(this.u[7]=this.u[7]+2&65535,this.F&=-5),this.ea(d,26),e=!0):e=!1;
|
||||||
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.qb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(Ad(this))}while(0<this.b);return this.v.complete?this.ba-this.b:void 0===this.v.complete?0:-1};Ta(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $c(d);A(d,c)}});function Yd(a,b){var c=b+a;Dd(this,c,a,b);return c&65535}
|
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.Ma=0,this.tb=this.u[7]);this.F=this.F&7|this.L&16;this.decode(Bd(this))}while(0<this.b);return this.v.complete?this.ba-this.b:void 0===this.v.complete?0:-1};Ta(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ad(d);A(d,c)}});function Yd(a,b){var c=b+a;Dd(this,c,a,b);return c&65535}
|
||||||
function Zd(a,b){var c=b+a;Dd(this,c<<8,a<<8,b<<8);return c&255}function $d(a,b){a=b<<1;Ed(this,a);return a&65535}function ae(a,b){a=b<<1;Ed(this,a<<8);return a&255}function be(a,b){a=b&32768|b>>1|b<<16;Ed(this,a);return a&65535}function ce(a,b){a=b&2048|b>>1|b<<8;Ed(this,a<<8);return a&255}function de(a,b){a=b&~a;P(this,a);return a}function ee(a,b){a=b&~a;P(this,a<<8);return a}function fe(a,b){a|=b;P(this,a);return a}function ge(a,b){a|=b;P(this,a<<8);return a}
|
function Zd(a,b){var c=b+a;Dd(this,c<<8,a<<8,b<<8);return c&255}function $d(a,b){a=b<<1;Ed(this,a);return a&65535}function ae(a,b){a=b<<1;Ed(this,a<<8);return a&255}function be(a,b){a=b&32768|b>>1|b<<16;Ed(this,a);return a&65535}function ce(a,b){a=b&2048|b>>1|b<<8;Ed(this,a<<8);return a&255}function de(a,b){a=b&~a;P(this,a);return a}function ee(a,b){a=b&~a;P(this,a<<8);return a}function fe(a,b){a|=b;P(this,a);return a}function ge(a,b){a|=b;P(this,a<<8);return a}
|
||||||
function he(a,b){a=~b|65536;Cd(this,a);return a&65535}function ie(a,b){a=~b|256;Cd(this,a<<8);return a&255}function je(a,b){a=b-a;this.F&128||(this.S=this.X=a,this.O=b&(b^a));return a&65535}function ke(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 le(a,b){a=b+a;this.F&128||(this.S=this.X=a,this.O=a&(b^a));return a&65535}function me(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 he(a,b){a=~b|65536;Cd(this,a);return a&65535}function ie(a,b){a=~b|256;Cd(this,a<<8);return a&255}function je(a,b){a=b-a;this.F&128||(this.S=this.X=a,this.O=b&(b^a));return a&65535}function ke(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 le(a,b){a=b+a;this.F&128||(this.S=this.X=a,this.O=a&(b^a));return a&65535}function me(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 ne(a,b){a=-b;Cd(this,a,a&b&32768);return a&65535}function oe(a,b){a=-b;Cd(this,a<<8,(a&b&128)<<8);return a&255}function pe(a,b){a=b<<1|this.N>>16&1;Ed(this,a);return a&65535}function qe(a,b){a=b<<1|this.N>>16&1;Ed(this,a<<8);return a&255}function re(a,b){a=(this.N&65536|b)>>1|b<<16;Ed(this,a);return a&65535}function se(a,b){a=((this.N&65536)>>8|b)>>1|b<<8;Ed(this,a<<8);return a&255}function te(a,b){var c=b-a;Fd(this,c,a,b);return c&65535}
|
function ne(a,b){a=-b;Cd(this,a,a&b&32768);return a&65535}function oe(a,b){a=-b;Cd(this,a<<8,(a&b&128)<<8);return a&255}function pe(a,b){a=b<<1|this.N>>16&1;Ed(this,a);return a&65535}function qe(a,b){a=b<<1|this.N>>16&1;Ed(this,a<<8);return a&255}function re(a,b){a=(this.N&65536|b)>>1|b<<16;Ed(this,a);return a&65535}function se(a,b){a=((this.N&65536)>>8|b)>>1|b<<8;Ed(this,a<<8);return a&255}function te(a,b){var c=b-a;Fd(this,c,a,b);return c&65535}
|
||||||
function ue(a,b){var c=b-a;Fd(this,c<<8,a<<8,b<<8);return c&255}function ve(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function we(a,b){a^=b;P(this,a);return a&65535}function xe(a){R(this,a,Qd(this,a),Yd);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
function ue(a,b){var c=b-a;Fd(this,c<<8,a<<8,b<<8);return c&255}function ve(a,b){this.F&128||(this.S=this.X=b&65280,this.O=this.N=0);return(b<<8|b>>8)&65535}function we(a,b){a^=b;P(this,a);return a&65535}function xe(a){R(this,a,Qd(this,a),Yd);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||||
function ye(a){var b=Td(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.g?6:7)+b}
|
function ye(a){var b=Td(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.g?6:7)+b}
|
||||||
function ze(a){var b=Td(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.g?6:7)+b}function Ae(a){S(this,a,!xd(this))}function Be(a){S(this,a,xd(this))}
|
function ze(a){var b=Td(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.g?6:7)+b}function Ae(a){S(this,a,!yd(this))}function Be(a){S(this,a,yd(this))}
|
||||||
function Ce(a){R(this,a,Qd(this,a),de);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function De(a){Q(this,a,Pd(this,a),ee);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Ee(a){R(this,a,Qd(this,a),fe);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Fe(a){Q(this,a,Pd(this,a),ge);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
function Ce(a){R(this,a,Qd(this,a),de);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function De(a){Q(this,a,Pd(this,a),ee);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Ee(a){R(this,a,Qd(this,a),fe);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}function Fe(a){Q(this,a,Pd(this,a),ge);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||||
function Ge(a){P(this,Qd(this,a)&Td(this,a));this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function He(a){P(this,(Pd(this,a)&Sd(this,a))<<8);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ie(a){S(this,a,zd(this))}function Je(a){S(this,a,!this.Da()==!yd(this))}function Ke(a){S(this,a,!zd(this)&&!this.Da()==!yd(this))}function Le(a){S(this,a,!xd(this)&&!zd(this))}function Me(a){S(this,a,zd(this)||!this.Da()!=!yd(this))}
|
function Ge(a){P(this,Qd(this,a)&Td(this,a));this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function He(a){P(this,(Pd(this,a)&Sd(this,a))<<8);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Ie(a){S(this,a,Ad(this))}function Je(a){S(this,a,!this.Da()==!zd(this))}function Ke(a){S(this,a,!Ad(this)&&!this.Da()==!zd(this))}function Le(a){S(this,a,!yd(this)&&!Ad(this))}function Me(a){S(this,a,Ad(this)||!this.Da()!=!zd(this))}
|
||||||
function Ne(a){S(this,a,xd(this)||zd(this))}function Oe(a){S(this,a,!this.Da()!=!yd(this))}function Pe(a){S(this,a,this.Da())}function Qe(a){S(this,a,!zd(this))}function Re(a){S(this,a,!this.Da())}function Se(){this.ea(12,1);this.b-=5}function Te(a){S(this,a,!0)}function Ue(a){S(this,a,!yd(this))}function Ve(a){S(this,a,yd(this))}function T(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 Ne(a){S(this,a,yd(this)||Ad(this))}function Oe(a){S(this,a,!this.Da()!=!zd(this))}function Pe(a){S(this,a,this.Da())}function Qe(a){S(this,a,!Ad(this))}function Re(a){S(this,a,!this.Da())}function Se(){this.ea(12,1);this.b-=5}function Te(a){S(this,a,!0)}function Ue(a){S(this,a,!zd(this))}function Ve(a){S(this,a,zd(this))}function T(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 We(a){var b=Qd(this,a);a=Td(this,a);Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Xe(a){var b=Pd(this,a)<<8;a=Sd(this,a)<<8;Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}
|
function We(a){var b=Qd(this,a);a=Td(this,a);Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}function Xe(a){var b=Pd(this,a)<<8;a=Sd(this,a)<<8;Fd(this,b-a,a,b);this.b-=this.g?4+(this.I&&6<=this.f?1:0):(this.H?4:3)+(7==this.f?2:0)}
|
||||||
function Ye(a){var b=Td(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 Ze(){this.ea(24,2);this.b-=25}function $e(){this.L&49152?(this.Z|=128,this.ea(4,3)):this.da();this.b-=7}
|
function Ye(a){var b=Td(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 Ze(){this.ea(24,2);this.b-=25}function $e(){this.L&49152?(this.Z|=128,this.ea(4,3)):this.da();this.b-=7}
|
||||||
function af(){this.ea(16,4);this.b-=25}var bf=[0,7,7,10,7,11,9,13];function cf(a){var b=this.b;Bd(this,Rd(this,a));this.b=b-bf[this.g]}var df=[0,14,14,17,14,18,16,20];function ef(a){var b=this.b,c=Rd(this,a);a=a>>6&7;Gd(this,this.u[a]);this.u[a]=this.u[7];Bd(this,c);this.b=b-df[this.g]}var ff=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function gf(a){var b=Qd(this,a),c=this.b;P(this,Vd(this,a,b));this.b=c-ff[(this.H?8:0)+this.g]+(7!=this.f||this.g?0:2)}
|
function af(){this.ea(16,4);this.b-=25}var bf=[0,7,7,10,7,11,9,13];function cf(a){var b=this.b;O(this,Rd(this,a));this.b=b-bf[this.g]}var df=[0,14,14,17,14,18,16,20];function ef(a){var b=this.b,c=Rd(this,a);a=a>>6&7;Gd(this,this.u[a]);this.u[a]=this.u[7];O(this,c);this.b=b-df[this.g]}var ff=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function gf(a){var b=Qd(this,a),c=this.b;P(this,Vd(this,a,b));this.b=c-ff[(this.H?8:0)+this.g]+(7!=this.f||this.g?0:2)}
|
||||||
function hf(a){var b=Pd(this,a);P(this,Ud(this,a,b,1)<<8);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var jf=[7,13,13,17,14,18,17,21];function kf(a){var b=Td(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 lf(){this.b-=5}function mf(){this.L&49152||(wd(this),this.w.reset());this.b-=667}
|
function hf(a){var b=Pd(this,a);P(this,Ud(this,a,b,1)<<8);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}var jf=[7,13,13,17,14,18,17,21];function kf(a){var b=Td(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 lf(){this.b-=5}function mf(){this.L&49152||(xd(this),this.w.reset());this.b-=667}
|
||||||
function nf(){Hd(this);this.F|=this.L&16;this.b-=13}function of(a){if(a&8)V.call(this,a);else{var b=Id(this);a&=7;Bd(this,this.u[a]);this.u[a]=b;this.b-=9}}function W(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 pf(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)Bd(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function qf(a){R(this,a,Qd(this,a),te);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
function nf(){Hd(this);this.F|=this.L&16;this.b-=13}function of(a){if(a&8)V.call(this,a);else{var b=Id(this);a&=7;O(this,this.u[a]);this.u[a]=b;this.b-=9}}function W(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 pf(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)O(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function qf(a){R(this,a,Qd(this,a),te);this.b-=this.g?9+(this.I&&6<=this.f?1:0):(this.H?5:3)+(7==this.f?2:0)}
|
||||||
function rf(a){R(this,a,0,ve);this.b-=this.g?9:3+(7==this.f?2:0)}function sf(){this.ea(28,5);this.b-=5}function tf(){this.F&4||this.B.$();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3}function uf(a){R(this,a,Qd(this,a),we);this.b-=this.g?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+K(b,a),!0,!0),b=Zb(b);b||this.ea(8,6)}function ad(a){vf[a>>12].call(this,a)}function wf(a){xf[a>>6&3].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}
|
function rf(a){R(this,a,0,ve);this.b-=this.g?9:3+(7==this.f?2:0)}function sf(){this.ea(28,5);this.b-=5}function tf(){this.F&4||this.B.$();this.F|=4;this.u[7]=this.u[7]+-2&65535;this.b-=3}function uf(a){R(this,a,Qd(this,a),we);this.b-=this.g?9:3+(7==this.f?2:0)}function V(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+J(b,a),!0,!0),b=$b(b);b||this.ea(8,6)}function ud(a){vf[a>>12].call(this,a)}function wf(a){xf[a>>6&3].call(this,a)}function yf(a){zf[a>>6&3].call(this,a)}
|
||||||
function Af(a){Bf[a>>6&3].call(this,a)}function Cf(a){Df[a&15].call(this,a)}function Xf(a){Yf[a&15].call(this,a)}function Zf(a){$f[a>>6&3].call(this,a)}function ag(a){bg[a>>6&3].call(this,a)}function cg(a){dg[a>>6&3].call(this,a)}
|
function Af(a){Bf[a>>6&3].call(this,a)}function Cf(a){Df[a&15].call(this,a)}function Ef(a){Ff[a&15].call(this,a)}function Gf(a){$f[a>>6&3].call(this,a)}function ag(a){bg[a>>6&3].call(this,a)}function cg(a){dg[a>>6&3].call(this,a)}
|
||||||
var vf=[function(a){eg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,V,function(a){fg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],eg=[function(a){gg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,V,V,V],xf=[function(a){Cd(this,Vd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,he);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,je);this.b-=this.g?9:3+(7==this.f?2:0)}],zf=[function(a){R(this,a,0,
|
var vf=[function(a){eg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,V,function(a){fg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],eg=[function(a){gg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,V,V,V],xf=[function(a){Cd(this,Vd(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,he);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,1,je);this.b-=this.g?9:3+(7==this.f?2:0)}],zf=[function(a){R(this,a,0,
|
||||||
ne);this.b-=this.g?11:6},function(a){R(this,a,xd(this)?1:0,Yd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,xd(this)?1:0,te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Td(this,a);Cd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Bf=[function(a){R(this,a,0,re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,pe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.g?9:3+(7==this.f?2:0)}],
|
ne);this.b-=this.g?11:6},function(a){R(this,a,yd(this)?1:0,Yd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,yd(this)?1:0,te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Td(this,a);Cd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Bf=[function(a){R(this,a,0,re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,pe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){R(this,a,0,$d);this.b-=this.g?9:3+(7==this.f?2:0)}],
|
||||||
gg=[function(a){hg[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,V,Cf,Xf,rf,rf,rf,rf],hg=[$e,tf,nf,Se,af,mf,V,V,V,V,V,V,V,V,V,V],Df=[lf,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},T,function(){this.X=1;this.b-=5},T,T,T,function(){this.S=0;this.b-=5},T,T,T,T,T,T,T],Yf=[lf,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},W,function(){this.X=0;this.b-=5},W,W,W,function(){this.S=32768;this.b-=5},W,W,W,W,W,W,W],fg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,V,V,V],$f=[function(a){Cd(this,
|
gg=[function(a){hg[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,V,Cf,Ef,rf,rf,rf,rf],hg=[$e,tf,nf,Se,af,mf,V,V,V,V,V,V,V,V,V,V],Df=[lf,function(){this.N=0;this.b-=5},function(){this.O=0;this.b-=5},T,function(){this.X=1;this.b-=5},T,T,T,function(){this.S=0;this.b-=5},T,T,T,T,T,T,T],Ff=[lf,function(){this.N=65536;this.b-=5},function(){this.O=32768;this.b-=5},W,function(){this.X=0;this.b-=5},W,W,W,function(){this.S=32768;this.b-=5},W,W,W,W,W,W,W],fg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Gf,ag,cg,V,V,V],$f=[function(a){Cd(this,
|
||||||
Ud(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ke);this.b-=this.g?9:3+(7==this.f?2:0)}],bg=[function(a){Q(this,a,0,oe);this.b-=this.g?11:6},function(a){Q(this,a,xd(this)?1:0,Zd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,xd(this)?1:0,ue);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Sd(this,a);Cd(this,a<<8);this.b-=this.g?4:3+(7==
|
Ud(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,ke);this.b-=this.g?9:3+(7==this.f?2:0)}],bg=[function(a){Q(this,a,0,oe);this.b-=this.g?11:6},function(a){Q(this,a,yd(this)?1:0,Zd);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,yd(this)?1:0,ue);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=Sd(this,a);Cd(this,a<<8);this.b-=this.g?4:3+(7==
|
||||||
this.f?2:0)}],dg=[function(a){Q(this,a,0,se);this.b-=this.g?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,qe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ce);this.b-=this.g?9+(this.Ta&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,ae);this.b-=this.g?9:3+(7==this.f?2:0)}];function ud(a){ig[a>>12].call(this,a)}
|
this.f?2:0)}],dg=[function(a){Q(this,a,0,se);this.b-=this.g?9+(this.Wa&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,qe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,ce);this.b-=this.g?9+(this.Wa&1):3+(7==this.f?2:0)},function(a){Q(this,a,0,ae);this.b-=this.g?9:3+(7==this.f?2:0)}];function vd(a){ig[a>>12].call(this,a)}
|
||||||
var ig=[function(a){jg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,function(a){kg[a>>8&15].call(this,a)},function(a){lg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],jg=[function(a){mg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,function(a){ng[a>>6&3].call(this,a)},V,V],ng=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ra(a|this.M);Bd(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Nd(this,a,0);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=
|
var ig=[function(a){jg[a>>8&15].call(this,a)},gf,We,Ge,Ce,Ee,xe,function(a){kg[a>>8&15].call(this,a)},function(a){lg[a>>8&15].call(this,a)},hf,Xe,He,De,Fe,qf,V],jg=[function(a){mg[a>>4&15].call(this,a)},Te,Qe,Ie,Je,Oe,Ke,Me,ef,ef,wf,yf,Af,function(a){ng[a>>6&3].call(this,a)},V,V],ng=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ta(a|this.M);O(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Nd(this,a,0);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=
|
||||||
this.b;Od(this,a,0,b);P(this,b);this.b=c-jf[this.g]},function(a){P(this,Vd(this,a,this.Da?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],mg=[function(a){og[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):V.call(this,a)},Cf,Xf,rf,rf,rf,rf],og=[$e,tf,nf,Se,af,mf,function(){Hd(this);this.b-=13},V,V,V,V,V,V,V,V,V],kg=[kf,kf,Ye,Ye,ye,ye,ze,ze,uf,uf,V,V,V,V,pf,pf],lg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Zf,ag,cg,function(a){pg[a>>6&3].call(this,
|
this.b;Od(this,a,0,b);P(this,b);this.b=c-jf[this.g]},function(a){P(this,Vd(this,a,this.Da?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],mg=[function(a){og[a&15].call(this,a)},V,V,V,cf,cf,cf,cf,of,function(a){a&8?(this.L&49152||(this.L=this.L&-2017|(a&7)<<5,this.F|=1),this.b-=5):V.call(this,a)},Cf,Ef,rf,rf,rf,rf],og=[$e,tf,nf,Se,af,mf,function(){Hd(this);this.b-=13},V,V,V,V,V,V,V,V,V],kg=[kf,kf,Ye,Ye,ye,ye,ze,ze,uf,uf,V,V,V,V,pf,pf],lg=[Re,Pe,Le,Ne,Ue,Ve,Ae,Be,Ze,sf,Gf,ag,cg,function(a){pg[a>>6&3].call(this,
|
||||||
a)},V,V],pg=[V,function(a){a=Nd(this,a,65536);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=this.b;Od(this,a,65536,b);P(this,b);this.b=c-jf[this.g]},V];function qg(a){r.call(this,"ROM",a,qg);this.f=null;this.D=a.addr;this.g=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){rg(c,a,b,f)})}}u(qg);
|
a)},V,V],pg=[V,function(a){a=Nd(this,a,65536);Gd(this,a);P(this,a);this.b-=11},function(a){var b=Id(this),c=this.b;Od(this,a,65536,b);P(this,b);this.b=c-jf[this.g]},V];
|
||||||
qg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;sg(this)};qg.prototype.ya=function(){if(this.Ca){if(this.i){var a=this.i,b=this.id,c=this.D,d=this.g,e=this.Ca,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.Sb);0>v&&q.splice(-(v+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Rd:b,A:c,sc:d,Ca:e,Rb:f})}delete this.Ca}return!0};qg.prototype.xa=function(){return!0};
|
function qg(a){r.call(this,"ROM",a,qg);this.ja=this.f=null;this.D=a.addr;this.g=a.size;this.C=a.alias;this.B=a.file;this.G=oa(this.B);if(this.B){a=this.B;var b=pa(this.G);"json"!=b&&"hex"!=b&&(a=ra()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;Ba(a,null,!0,function(a,b,f){f?c.pa("Unable to load ROM resource (error "+f+": "+a+")"):(jb(c.Va,a,b),(a=Fa(a,b))?(c.f=a.ga,c.ja=a.ja):c.B=null,rg(c))})}}u(qg);qg.prototype.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;rg(this)};
|
||||||
function rg(a,b,c,d){if(d)a.na("Unable to load system ROM (error "+d+": "+b+")");else{jb(a.Gb,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.Ca=l.symbols;if(!a.f.length){n("Empty ROM: "+
|
qg.prototype.Aa=function(){if(this.ja){if(this.i){var a=this.i,b=this.id,c=this.D,d=this.g,e=this.ja,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=ya(q,m,a.Vb);0>v&&q.splice(-(v+1),0,m)}p&&(l.a=p.replace(/''/g,'"'))}a.G.push({Ud:b,A:c,vc:d,ja:e,Ub:f})}delete this.ja}return!0};qg.prototype.za=function(){return!0};
|
||||||
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);sg(a)}}
|
function rg(a){if(!pb(a)){if(a.B){if(!a.f||!a.w)return;a.g||(a.g=a.f.length);if(a.f.length!=a.g)rb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.g,8,!0)+")");else{var b;b=a.D;if(Yb(a.w,b,a.g,Cc)){var c;for(c=0;c<a.f.length;c++)a.w.gb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Xb(d.w,d.D,d.g);Wb(d.w,e,d.g,f)}delete a.f}}}H(a)}}
|
||||||
function sg(a){if(!pb(a))if(!a.C)H(a);else if(a.f&&a.w){a.g||(a.g=a.f.length);if(a.f.length!=a.g)rb(a,"ROM size ("+k(a.f.length,8,!0)+") does not match specified size ("+k(a.g,8,!0)+")");else{var b;b=a.D;if(Xb(a.w,b,a.g,a.G?1:Bc)){var c;for(c=0;c<a.f.length;c++)a.w.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=Wb(d.w,d.D,d.g);Vb(d.w,e,d.g,f)}delete a.f}}H(a)}}
|
Ta(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qg(d);A(d,c)}});
|
||||||
Ta(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new qg(d);A(d,c)}});function tg(a){r.call(this,"RAM",a,tg);this.B=a.addr;this.g=a.size;this.f=!1}u(tg);tg.prototype.Ba=function(a,b,c,d){this.w=b;this.b=c;this.i=d;!this.f&&this.g&&Xb(this.w,this.B,this.g,1)&&(this.f=!0);this.f||n("No RAM allocated");H(this)};tg.prototype.ya=function(){return!0};tg.prototype.xa=function(){return!0};tg.prototype.reset=function(){};
|
function sg(a){r.call(this,"RAM",a,sg);this.ja=this.g=null;this.G=a.addr;this.H=a.size;this.C=a.load;this.B=a.exec;this.D=!1;this.f=a.file;this.I=oa(this.f);if(this.f){a=this.f;var b=pa(this.I);"json"!=b&&"hex"!=b&&(a=ra()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;Ba(a,null,!0,function(a,b,f){f?c.pa("Unable to load RAM resource (error "+f+": "+a+")"):(jb(c.Va,a,b),(a=Fa(a,b))?(c.g=a.ga,c.ja=a.ja,null==c.C&&null!=a.Lb&&(c.C=a.Lb),null==c.B&&null!=a.Kb&&(c.B=a.Kb)):c.f=null,
|
||||||
Ta(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new tg(d);A(d,c)}});function ug(a){r.call(this,"Keyboard",a,ug,65536);H(this)}u(ug);ug.prototype.oa=function(){return!1};ug.prototype.Ba=function(a,b,c,d){this.B=a;this.b=c;this.i=d};Ta(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ug(d);A(d,c)}});
|
tg(c))})}}u(sg);sg.prototype.Ca=function(a,b,c,d){this.w=b;this.b=c;this.i=d;tg(this)};sg.prototype.Aa=function(){return!0};sg.prototype.za=function(){return!0};function tg(a){!a.D&&a.H&&Yb(a.w,a.G,a.H,1)&&(a.D=!0);if(!pb(a)){if(!a.D)n("No RAM allocated");else if(a.f){if(!a.g||!a.w)return;var b=a.G;null!==a.C&&(b=a.C);for(var c=0;c<a.g.length;c++)a.w.gb(b+c,a.g[c]);null!==a.B&&(b=a.b,c=a.B,b.xb=c,O(b,c));delete a.g}H(a)}}sg.prototype.reset=function(){};
|
||||||
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=vg;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.J[b])&&this.oa(null,a,b))}this.I=this.K=null;this.exports={connect:this.Zb,receiveData:this.Lb}}u(Y);var vg="buffer";h=Y.prototype;
|
Ta(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new sg(d);A(d,c)}});function ug(a){r.call(this,"Keyboard",a,ug,65536);H(this)}u(ug);ug.prototype.qa=function(){return!1};ug.prototype.Ca=function(a,b,c,d){this.B=a;this.b=c;this.i=d};Ta(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ug(d);A(d,c)}});
|
||||||
h.oa=function(a,b,c){var d=this;switch(b){case vg: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.Lb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Lb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
function X(a){this.C=this.G=null;this.T=a.tabSize;this.M=a.charBOL;this.H=0;r.call(this,"SerialPort",a,X,8388608);var b=a.binding;if("console"==b)this.G="";else{var c;a=vg;b&&(void 0===c&&(c="Panel"),(c=mb(c,this.id))&&(b=c.J[b])&&this.qa(null,a,b))}this.I=this.K=null;this.exports={connect:this.cc,receiveData:this.Ob}}u(X);var vg="buffer";h=X.prototype;
|
||||||
h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;var e=this;this.aa=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.aa))});this.ba=rc(52,4);this.V=oc(this.b,function(){e.g|=128;e.g&64&&pc(e.b,e.ba)});lc(b,this,wg);H(this)};
|
h.qa=function(a,b,c){var d=this;switch(b){case vg: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.Ob(b);return!0},c.onkeypress=function(a){a=a||window.event;d.Ob(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||||
h.Zb=function(){if(!this.I){var a=Oc(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.Gb+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ya=function(a,b){if(!b)if(this.Zb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
h.Ca=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;var e=this;this.aa=sc(48,4);this.U=pc(this.b,function(){e.f&128||!e.D.length||(e.R=e.D.shift(),e.f|=128,e.f&64&&qc(e.b,e.aa))});this.ba=sc(52,4);this.V=pc(this.b,function(){e.g|=128;e.g&64&&qc(e.b,e.ba)});mc(b,this,wg);H(this)};
|
||||||
h.xa=function(a){return a?this.save():!0};h.reset=function(){xg(this)};h.save=function(){var a=new O(this);a.set(0,[]);return a.data()};h.restore=function(){return xg(this)};function xg(a){a.R=0;a.f=0;a.g=128;a.D=[];return!0}h.Lb=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.Pc=function(){return this.f&65535};h.Bd=function(a){this.f=this.f&-112|a&111};
|
h.cc=function(){if(!this.I){var a=Pc(this.B,"connection");if(a){var b=a.split("->");if(2==b.length){var c=va(b[0]);if(c!=this.Ua)return;b=va(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.Va+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.Aa=function(a,b){if(!b)if(this.cc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
h.Oc=function(){this.f&=-129;0<this.D.length&&qc(this.b,this.U,1);return this.R};h.Ad=function(){};h.bd=function(){return this.g};h.Od=function(a){128==(this.g&192)&&a&64&&qc(this.b,this.V,1);this.g=this.g&-70|a&69};h.ad=function(){return 0};
|
h.za=function(a){return a?this.save():!0};h.reset=function(){xg(this)};h.save=function(){var a=new N(this);a.set(0,[]);return a.data()};h.restore=function(){return xg(this)};function xg(a){a.R=0;a.f=0;a.g=128;a.D=[];return!0}h.Ob=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);rc(this.b,this.U,1);return!0};h.Sc=function(){return this.f&65535};h.Ed=function(a){this.f=this.f&-112|a&111};
|
||||||
h.Nd=function(a){if(a&=255){E(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=va("",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.j(this.G),
|
h.Rc=function(){this.f&=-129;0<this.D.length&&rc(this.b,this.U,1);return this.R};h.Dd=function(){};h.ed=function(){return this.g};h.Rd=function(a){128==(this.g&192)&&a&64&&rc(this.b,this.V,1);this.g=this.g&-70|a&69};h.dd=function(){return 0};
|
||||||
this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.g&=-129;qc(this.b,this.V,1)}};var yg={},wg=(yg[65392]=[null,null,Y.prototype.Pc,Y.prototype.Bd,"RCSR"],yg[65394]=[null,null,Y.prototype.Oc,Y.prototype.Ad,"RBUF"],yg[65396]=[null,null,Y.prototype.bd,Y.prototype.Od,"XCSR"],yg[65398]=[null,null,Y.prototype.ad,Y.prototype.Nd,"XBUF"],yg);Ta(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Y(d);A(d,c)}});
|
h.Qd=function(a){if(a&=255){E(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=wa[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=ua("",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.j(this.G),
|
||||||
function vc(a){r.call(this,"PC11",a,vc);this.g=this.f=0}u(vc);h=vc.prototype;h.oa=function(){return!1};h.Ba=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;lc(b,this,zg);H(this)};h.ya=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.xa=function(a){return a?this.save():!0};h.reset=function(){this.f&=-2241;this.g=0};h.save=function(){return(new O(this)).data()};h.restore=function(){return!0};h.Ic=function(){return this.f};
|
this.G="";10!=a&&(this.G+=String.fromCharCode(a))}this.g&=-129;rc(this.b,this.V,1)}};var yg={},wg=(yg[65392]=[null,null,X.prototype.Sc,X.prototype.Ed,"RCSR"],yg[65394]=[null,null,X.prototype.Rc,X.prototype.Dd,"RBUF"],yg[65396]=[null,null,X.prototype.ed,X.prototype.Rd,"XCSR"],yg[65398]=[null,null,X.prototype.dd,X.prototype.Qd,"XBUF"],yg);Ta(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new X(d);A(d,c)}});
|
||||||
h.ud=function(a){a&1&&(this.f&32768?a&=-2:(this.f&=-129,this.f|=2048));this.f=this.f&-66|a&65};h.Hc=function(){return this.g};h.td=function(){};var Ag={},zg=(Ag[65384]=[null,null,vc.prototype.Ic,vc.prototype.ud,"PRS"],Ag[65386]=[null,null,vc.prototype.Hc,vc.prototype.td,"PRB"],Ag);function Bg(a){r.call(this,"Debugger",a,Bg);this.ja=a.base||16;this.wa=!1;this.R=this.va=this.H=0;this.U=!1;this.C=-1;this.g=[];this.aa={}}u(Bg);
|
function wc(a){r.call(this,"PC11",a,wc);this.g=this.f=0}u(wc);h=wc.prototype;h.qa=function(){return!1};h.Ca=function(a,b,c,d){this.B=a;this.w=b;this.b=c;this.i=d;mc(b,this,zg);H(this)};h.Aa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.za=function(a){return a?this.save():!0};h.reset=function(){this.f&=-2241;this.g=0};h.save=function(){return(new N(this)).data()};h.restore=function(){return!0};h.Lc=function(){return this.f};
|
||||||
var Cg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Bg.prototype.Xb=function(){return-1};Bg.prototype.Yb=function(){};
|
h.xd=function(a){a&1&&(this.f&32768?a&=-2:(this.f&=-129,this.f|=2048));this.f=this.f&-66|a&65};h.Kc=function(){return this.g};h.wd=function(){};var Ag={},zg=(Ag[65384]=[null,null,wc.prototype.Lc,wc.prototype.xd,"PRS"],Ag[65386]=[null,null,wc.prototype.Kc,wc.prototype.wd,"PRB"],Ag);function Bg(a){r.call(this,"Debugger",a,Bg);this.la=a.base||16;this.ya=!1;this.R=this.xa=this.H=0;this.U=!1;this.C=-1;this.g=[];this.aa={}}u(Bg);
|
||||||
function Dg(a,b,c,d){if(c)if(b){0>a.C&&a.g.length&&(a.C=0);if(0>a.C||b!=a.g[a.C])a.g.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.g[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}
|
var Cg={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};Bg.prototype.$b=function(){return-1};Bg.prototype.ac=function(){};
|
||||||
|
function Dg(a,b,c,d){if(c)if(b){0>a.C&&a.g.length&&(a.C=0);if(0>a.C||b!=a.g[a.C])a.g.splice(0,0,b),a.C=0;a.C--}else a.U?b="end":b=a.g[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(va(b.substring(c,f))),c=f+1}}return a}
|
||||||
function Eg(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;
|
function Eg(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 Fg(a,b,c){var d;if(b){b=Gg(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=Hg(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&&Cg[q]<Cg[m[m.length-1]]&&Eg(l,m,1);m.push(q);b=b.substr(v+w)}Eg(l,m)&&1==l.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&Ig(a,null,
|
function Fg(a,b,c){var d;if(b){b=Gg(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=va(q);if(!q){f=!0;break}q=Hg(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&&Cg[q]<Cg[m[m.length-1]]&&Eg(l,m,1);m.push(q);b=b.substr(v+w)}Eg(l,m)&&1==l.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=l.pop(),c&&Ig(a,null,
|
||||||
d))}return d}function Gg(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=Fg(a,c[1]);b=b.replace(d+c[1]+e,null!=g?K(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}
|
d))}return d}function Gg(a,b){for(var c,d=a.ya?"(":"{",e=a.ya?")":"}",f=new RegExp(a.ya?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=Fg(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.xa}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||||
function Hg(a,b,c,d){var e;null!=b?(e=a.Xb(b),0<=e?e=a.Yb(e):(e=a.aa[b],null==e&&(e=na(b,a.ja))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
function Hg(a,b,c,d){var e;if(null!=b){e=a.$b(b);if(0<=e)e=a.ac(e);else if(e=a.aa[b],null==e){e=b;var f=a.la,g;if(e){f||(f=10);var l=e.charAt(0),m=0<e.indexOf(",");m&&(e=e.replace(/,/g,""));"#"==l?(f=8,l=null):"$"==l&&(f=16,l=null);null==l?e=e.substr(1):("0"==l&&(l=e.charAt(1),"b"==l&&m&&(f=2,l=null),"o"==l?(f=8,l=null):"x"==l&&(f=16,l=null)),null==l?e=e.substr(2):(l=e.charAt(e.length-1).toLowerCase(),"y"==l?(f=2,l=null):"."==l?(f=10,l=null):"h"==l&&(f=16,l=null),null==l&&(e=e.substr(0,e.length-1))));
|
||||||
function Ig(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.j((null!=b?b+": ":"")+d);return e}function Jg(a,b){if(b)return Ig(a,b,a.aa[b]);var c=0;for(b in a.aa)Ig(a,b,a.aa[b]),c++;return 0<c}
|
var p,l=e;((m=f)&&10!=m?16==m?l.match(/^[0-9a-f]+$/i):8==m?l.match(/^[0-7]+$/):2==m&&l.match(/^[01]+$/):l.match(/^[0-9]+$/))&&!isNaN(p=parseInt(e,f))&&(g=p|0)}e=g}null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)}else d||a.j("missing "+(c||"value"));return e}
|
||||||
function K(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 Kg(a){Bg.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=[];Lg(this);this.ma=0;Mg(this);this.za={};Ng(this,a.messages);this.Fa=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Rc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Rc(b,a)})}
|
function Ig(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+". "+na(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Jg(a,b){if(b)return Ig(a,b,a.aa[b]);var c=0;for(b in a.aa)Ig(a,b,a.aa[b]),c++;return 0<c}
|
||||||
|
function J(a,b,c,d){switch(a.la){case 8:a=na(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 Kg(a){Bg.call(this,a);this.ya=!0;this.K=Z(0);this.Pa=Z(0);this.T=Z(0);this.G=[];this.f=this.M=this.D=[];Lg(this);this.oa=0;Mg(this);this.Fa={};Ng(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Sc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Sc(b,a)})}
|
||||||
u(Kg,Bg);
|
u(Kg,Bg);
|
||||||
var Og={"?":"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"},Pg=".WORD 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(" "),Qg=
|
var Og={"?":"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"},Pg=".WORD 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(" "),Qg=
|
||||||
{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,
|
{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,
|
||||||
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],
|
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],
|
||||||
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]}},Rg=[0],Sg=[58,60,65,96,108,
|
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]}},Rg=[0],Sg=[58,60,65,96,108,
|
||||||
110,100,101,102,103,104,105,59,64];h=Kg.prototype;
|
110,100,101,102,103,104,105,59,64];h=Kg.prototype;
|
||||||
h.Ba=function(a,b,c,d){this.w=b;this.b=c;this.B=a;(a=Oc(a,"messages"))&&Ng(this,a);this.Wa=Qg;this.kb=1145>this.b.Ya?Sg:[];Tg(this,function(a){a:{var b=d.w.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Ug(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.ga;m=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.j("..."):(c=q.type,p=ac[c],q&&d.j(k(q.id,8)+" %"+k(e<<d.w.ga,
|
h.Ca=function(a,b,c,d){this.w=b;this.b=c;this.B=a;(a=Pc(a,"messages"))&&Ng(this,a);this.Ya=Qg;this.nb=1145>this.b.$a?Sg:[];Tg(this,function(a){a:{var b=d.w.W,c=a[0],e=a=0,m=b.length;if(c){a=d.Y(Ug(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.ha;m=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,p=0;m--;){var q=b[e];q.type==c?p++||d.j("..."):(c=q.type,p=bc[c],q&&d.j(k(q.id,8)+" %"+k(e<<d.w.ha,
|
||||||
8)+" %%"+k(q.A,8)+" "+k(q.tb,4,!0)+" "+k(q.size,4,!0)+" "+p),c!=Ac&&(c=-1),p=0);a+=d.w.sa;e++}}});H(this)};
|
8)+" %%"+k(q.A,8)+" "+k(q.vb,4,!0)+" "+k(q.size,4,!0)+" "+p),c!=Bc&&(c=-1),p=0);a+=d.w.ua;e++}}});H(this)};
|
||||||
h.oa=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="",Rc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.g.length-1&&(b=d.g[++d.C])):40==a.keyCode&&(0<d.C?b=d.g[--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;
|
h.qa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.na=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Sc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.g.length-1&&(b=d.g[++d.C])):40==a.keyCode&&(0<d.C?b=d.g[--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.na){var a=d.na.value;
|
||||||
d.la.value="";Rc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Na(c,function(a){var b=!1;ob(d,!0)||(nb(d,!0),b=d.fb(a?1:0),nb(d,!1));return b}),!0}return!1};h.sb=function(){this.la&&this.la.focus()};h.Y=function(a){a=a&&a.A;null==a&&(a=-1);return a};h.lb=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.vb?this.w.zb(d):this.b.zb(d),b&&Vg(a,b));return c};h.ka=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.vb?this.w.mb(d):this.b.mb(d),b&&Vg(a,b));return c};
|
d.na.value="";Sc(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Na(c,function(a){var b=!1;ob(d,!0)||(nb(d,!0),b=d.ib(a?1:0),nb(d,!1));return b}),!0}return!1};h.ub=function(){this.na&&this.na.focus()};h.Y=function(a){a=a&&a.A;null==a&&(a=-1);return a};h.ob=function(a,b){var c=255,d=this.Y(a,!1,1);-1!==d&&(c=a.yb?this.w.Bb(d):this.b.Bb(d),b&&Vg(a,b));return c};h.ma=function(a,b){var c=65535,d=this.Y(a,!1,2);-1!==d&&(c=a.yb?this.w.pb(d):this.b.pb(d),b&&Vg(a,b));return c};
|
||||||
h.Db=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.vb?this.w.rb(d,b):this.b.rb(d,b),c&&Vg(a,c),this.B.$(!0))};h.Sa=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.vb?this.w.Eb(d,b):this.b.Eb(d,b),c&&Vg(a,c),this.B.$(!0))};function Z(a,b){return{A:a,vb:b,Aa:!1}}function Wg(a){return[a.A,a.Aa]}function Xg(a){return{A:a[0],Aa:a[1]}}
|
h.Fb=function(a,b,c){var d=this.Y(a,!0,1);-1!==d&&(a.yb?this.w.gb(d,b):this.b.gb(d,b),c&&Vg(a,c),this.B.$(!0))};h.Ta=function(a,b,c){var d=this.Y(a,!0,2);-1!==d&&(a.yb?this.w.Gb(d,b):this.b.Gb(d,b),c&&Vg(a,c),this.B.$(!0))};function Z(a,b){return{A:a,yb:b,Ba:!1}}function Wg(a){return[a.A,a.Ba]}function Xg(a){return{A:a[0],Ba:a[1]}}
|
||||||
function Ug(a,b,c){var d,e=(c?a.K:a.Oa).A;c=!1;if(void 0!==b){b=Gg(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].Ca[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=Fg(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Yg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.hc=Dg(a,b.dc=c[2]))}function Vg(a,b){null!=a.A&&(a.A+=b||1)}
|
function Ug(a,b,c){var d,e=(c?a.K:a.Pa).A;c=!1;if(void 0!==b){b=Gg(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].ja[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=Fg(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Yg(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.lc=Dg(a,b.hc=c[2]))}function Vg(a,b){null!=a.A&&(a.A+=b||1)}
|
||||||
function Ng(a,b){a.i=a;a.ia=a.jc=536870912;a.pa=null;a.ua=[];b=Dg(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){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|=I[c],a.j(c+" messages enabled"))}}function Tg(a,b){for(var c in I)if(64==I[c]){a.za[c]=b;break}}
|
function Ng(a,b){a.i=a;a.ka=a.nc=536870912;a.ra=null;a.wa=[];b=Dg(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Gb){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.ka|=Gb[c],a.j(c+" messages enabled"))}}function Tg(a,b){for(var c in Gb)if(64==Gb[c]){a.Fa[c]=b;break}}
|
||||||
h.Xb=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 Zg(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.Yb=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=Kb(this.b)));return b};
|
h.$b=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 Zg(a){return 6>a?"R"+a:6==a?"SP":"PC"}h.ac=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.va[a-16]:20==a&&(b=Lb(this.b)));return b};
|
||||||
h.message=function(a,b){b&&(a+=" @"+K(this,Z(this.b.qb).A));this.ia&1073741824?this.ua.push(a):this.pa&&a==this.pa||(this.pa=a,this.ia&-2147483648&&(this.da(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,Xc(a),a.la=0,a.B.$()))};
|
h.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.tb).A));this.ka&1073741824?this.wa.push(a):this.ra&&a==this.ra||(this.ra=a,this.ka&-2147483648&&(this.da(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,Yc(a),a.na=0,a.B.$()))};
|
||||||
function Mg(a){var b;if(Wd(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.j("instruction history buffer allocated")}if(!a.ba||!a.ba.length)for(a.ba=Array(256),b=0;b<a.ba.length;b++)a.ba[b]=[b,0]}else a.I&&a.I.length&&a.j("instruction history buffer freed"),a.fa=0,a.I=[],a.ba=[]}h.eb=function(a,b){if(!$g(this,b))return!1;this.b.eb(a);return!0};
|
function Mg(a){var b;if(Wd(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.j("instruction history buffer allocated")}if(!a.ba||!a.ba.length)for(a.ba=Array(256),b=0;b<a.ba.length;b++)a.ba[b]=[b,0]}else a.I&&a.I.length&&a.j("instruction history buffer freed"),a.fa=0,a.I=[],a.ba=[]}h.hb=function(a,b){if(!$g(this,b))return!1;this.b.hb(a);return!0};
|
||||||
h.fb=function(a,b,c){if(!$g(this))return!1;this.H=0;a||Wd(this)&&Xd(this,this.b.u[7],0);try{a=Yc(this.b,a);var d=this.b.fb(a);0<d&&(Zc(this.b,a),this.H+=d,Vc(this.b,d,!0),Sc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,rb(this.b,e.stack||e.message))}!1!==c&&this.B.$();this.$(b||!1);return 0<this.H};h.da=function(a){this.b&&this.b.da(a)};h.$=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?ah(this):bh(this)};
|
h.ib=function(a,b,c){if(!$g(this))return!1;this.H=0;a||Wd(this)&&Xd(this,this.b.u[7],0);try{a=Zc(this.b,a);var d=this.b.ib(a);0<d&&($c(this.b,a),this.H+=d,Wc(this.b,d,!0),Tc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.H=0,rb(this.b,e.stack||e.message))}!1!==c&&this.B.$();this.$(b||!1);return 0<this.H};h.da=function(a){this.b&&this.b.da(a)};h.$=function(a){void 0===a&&(a=!0);this.K=Z(this.b.u[7]);a&&1!=this.V?ah(this):bh(this)};
|
||||||
function $g(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ha?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!qb(a.b)}h.ya=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};h.xa=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Mg(this);this.R=this.va=0;this.pa=null;this.H=0;this.K=Z(this.b.u[7]);this.v.ca=!1;ch(this);a||this.$()};
|
function $g(a,b){var c;(c=!a.b||!pb(a.b))||(c=a.b,c.v.ia?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.v.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!qb(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.j(a?"suspending":"shutting down");return a?this.save():!0};h.reset=function(a){Mg(this);this.R=this.xa=0;this.ra=null;this.H=0;this.K=Z(this.b.u[7]);this.v.ca=!1;ch(this);a||this.$()};
|
||||||
h.save=function(){var a=new O(this);a.set(0,Wg(this.K));a.set(1,Wg(this.T));a.set(2,[this.g,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=Xg(a[b++]),this.T=Xg(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),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.j("running");this.v.ca=!0;this.wb=a;this.yb=b};
|
h.save=function(){var a=new N(this);a.set(0,Wg(this.K));a.set(1,Wg(this.T));a.set(2,[this.g,this.U,this.ka]);a.set(3,this.G);return a.data()};h.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Xg(a[b++]),this.T=Xg(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.U=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};h.start=function(a,b){this.V||this.j("running");this.v.ca=!0;this.xb=a;this.Ab=b};
|
||||||
h.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.H=b-this.yb;if(!this.V){b="stopped";if(this.H){a-=this.wb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Wd(this)&&(b+=this.R+" opcodes, ",this.va-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else G(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}this.$(!0);this.sb();ch(this,this.b.u[7])}};function Wd(a){return 1<a.f.length||!!a.ma}
|
h.stop=function(a,b){if(this.v.ca){this.v.ca=!1;this.H=b-this.Ab;if(!this.V){b="stopped";if(this.H){a-=this.xb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Wd(this)&&(b+=this.R+" opcodes, ",this.xa-=this.R,this.R=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else G(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}this.$(!0);this.ub();ch(this,this.b.u[7])}};function Wd(a){return 1<a.f.length||!!a.oa}
|
||||||
function Xd(a,b,c){var d=a.b;if(0<c&&(a.ma&&!--a.ma||Jc(a,b,1,a.f)))return!0;0<=c&&a.ba.length&&(a.R++,null!=a.b.mb(b)&&(b=a.I[a.fa],b.A=d.u[7],b.Aa=!1,++a.fa==a.I.length&&(a.fa=0)));return!1}function Zb(a){var b=a.b;if(b.v.ca)throw Bd(b,a.b.qb),a.da(),-1;return!1}function Lg(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.w;c=a.Y(c);Kc(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.w,c=a.Y(c),Kc(d.W[c>>>d.ga],!0);a.D=["bw"];a.Ta=0}
|
function Xd(a,b,c){var d=a.b;if(0<c&&(a.oa&&!--a.oa||Kc(a,b,1,a.f)))return!0;0<=c&&a.ba.length&&(a.R++,null!=a.b.pb(b)&&(b=a.I[a.fa],b.A=d.u[7],b.Ba=!1,++a.fa==a.I.length&&(a.fa=0)));return!1}function $b(a){var b=a.b;if(b.v.ca)throw O(b,a.b.tb),a.da(),-1;return!1}function Lg(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.w;c=a.Y(c);Lc(d.W[c>>>d.ha],!1)}a.M=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.w,c=a.Y(c),Lc(d.W[c>>>d.ha],!0);a.D=["bw"];a.Wa=0}
|
||||||
h.Pa=function(a,b,c){var d=!0;c||dh(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.j("invalid address: "+K(this,b.A)),d=!1;else{var f=this.w;f.W[e>>>f.ga].Pa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Aa=!0:(eh(this,a,a.length-1,"set"),Mg(this)));return d};function dh(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.Aa)){f=!0;l.Aa||e||eh(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Kc(d.W[c>>>d.ga],b==a.D));l.Aa||Mg(a);break}}return f}
|
h.Qa=function(a,b,c){var d=!0;c||dh(this,a,b,!1,!0);if(a!=this.f){var e=this.Y(b);if(-1===e)this.j("invalid address: "+J(this,b.A)),d=!1;else{var f=this.w;f.W[e>>>f.ha].Qa(e&f.w,a==this.D)}}d&&(a.push(b),c?b.Ba=!0:(eh(this,a,a.length-1,"set"),Mg(this)));return d};function dh(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.Ba)){f=!0;l.Ba||e||eh(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Lc(d.W[c>>>d.ha],b==a.D));l.Ba||Mg(a);break}}return f}
|
||||||
function fh(a,b){for(var c=1;c<b.length;c++)eh(a,b,c);return b.length-1}function eh(a,b,c,d){c=b[c];a.j(b[0]+" "+K(a,c.A)+(d?" "+d:c.dc?' "'+c.dc+'"':""))}function ch(a,b){if(void 0!==b)Jc(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.Aa){if(!dh(a,a.f,c,!0))break;b=0}}}
|
function fh(a,b){for(var c=1;c<b.length;c++)eh(a,b,c);return b.length-1}function eh(a,b,c,d){c=b[c];a.j(b[0]+" "+J(a,c.A)+(d?" "+d:c.hc?' "'+c.hc+'"':""))}function ch(a,b){if(void 0!==b)Kc(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.Ba){if(!dh(a,a.f,c,!0))break;b=0}}}
|
||||||
function Jc(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.Aa)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.Aa&&(dh(a,d,l,!0),e=!0);if(q=l.hc){for(var f=!1,v=0;v<q.length;v++)if(!gh(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.ca||(f=!0)}if(f){e||eh(a,d,g,"hit");break}}}a.Ta--;return f}
|
function Kc(a,b,c,d,e){var f=!1;if(!a.Wa++)for(var g=1;!f&&g<d.length;g++){var l=d[g];if(!e||l.Ba)for(var m=a.Y(l),p=0;p<c;p++)if(b+p==m){var q,f=!0;l.Ba&&(dh(a,d,l,!0),e=!0);if(q=l.lc){for(var f=!1,v=0;v<q.length;v++)if(!gh(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.ca||(f=!0)}if(f){e||eh(a,d,g,"hit");break}}}a.Wa--;return f}
|
||||||
function hh(a,b,c,d){var e=Z(b.A),f=a.ka(b,2),g,l;for(l in a.Wa)if(g=a.Wa[l][f&l])break;g||(g=Rg);var m=g[0];0<=a.kb.indexOf(m)&&(g=Rg,m=g[0]);var p=l="",q=Pg[m],v=g.length-1;m||v||(l=K(a,f));for(m=1;m<=v;m++){var w=g[m];if(void 0!==w){var x;x=a;var C=w,w=b,y="",D=C&61440;if(4096==D)w=w.A+((f&255)<<24>>23)&65535,y=K(x,w);else if(8192==D)w=w.A-((f&63)<<1)&65535,y=K(x,w);else if(12288==D)y=K(x,f&7,1);else if(24576==D)y=K(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=
|
function hh(a,b,c,d){var e=Z(b.A),f=a.ma(b,2),g,l;for(l in a.Ya)if(g=a.Ya[l][f&l])break;g||(g=Rg);var m=g[0];0<=a.nb.indexOf(m)&&(g=Rg,m=g[0]);var p=l="",q=Pg[m],v=g.length-1;m||v||(l=J(a,f));for(m=1;m<=v;m++){var w=g[m];if(void 0!==w){var x;x=a;var C=w,w=b,y="",D=C&61440;if(4096==D)w=w.A+((f&255)<<24>>23)&65535,y=J(x,w);else if(8192==D)w=w.A-((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=
|
||||||
Zg(C);break;case 8:y="@"+Zg(C);break;case 16:7>C?y="("+Zg(C)+")+":(D=x.ka(w,2),y="#"+K(x,D,0,!0));break;case 24:7>C?y="@("+Zg(C)+")+":(D=x.ka(w,2),y="@#"+K(x,D,0,!0));break;case 32:y="-("+Zg(C)+")";break;case 40:y="@-("+Zg(C)+")";break;case 48:D=x.ka(w,2);y=K(x,D,0,!0)+"("+Zg(C)+")";7==C&&(y=[y,K(x,D+w.A&65535)]);break;case 56:D=x.ka(w,2),y="@"+K(x,D)+"("+Zg(C)+")",7==C&&(y=[y,K(x,D+w.A&65535)])}x=y;if(!x||!x.length){l="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]);0<l.length&&(l+=",");l+=x||
|
Zg(C);break;case 8:y="@"+Zg(C);break;case 16:7>C?y="("+Zg(C)+")+":(D=x.ma(w,2),y="#"+J(x,D,0,!0));break;case 24:7>C?y="@("+Zg(C)+")+":(D=x.ma(w,2),y="@#"+J(x,D,0,!0));break;case 32:y="-("+Zg(C)+")";break;case 40:y="@-("+Zg(C)+")";break;case 48:D=x.ma(w,2);y=J(x,D,0,!0)+"("+Zg(C)+")";7==C&&(y=[y,J(x,D+w.A&65535)]);break;case 56:D=x.ma(w,2),y="@"+J(x,D)+"("+Zg(C)+")",7==C&&(y=[y,J(x,D+w.A&65535)])}x=y;if(!x||!x.length){l="INVALID";break}"string"!=typeof x&&(p=x[1],x=x[0]);0<l.length&&(l+=",");l+=x||
|
||||||
"???"}}f="";g=K(a,e.A)+":";if(-1!==e.A&&-1!==b.A){do if(f+=" "+K(a,a.ka(e,2)),null==e.A)break;while(e.A!=b.A)}g+=va(f,24);g+=va(q,5);l&&(g+=" "+l);if(c||p)g=va(g,60)+";"+(c||""),g=a.b.v.Xa?g+("cycles="+Tc(a.b).toString()+" cs="+k(a.b.nb)):g+(null!=d?"="+d.toString():""),p&&(g+=" @"+p);return g}function ih(a,b){switch(b){case "N":a=a.b.Da();break;case "Z":a=zd(a.b);break;case "V":a=yd(a.b);break;case "C":a=xd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
"???"}}f="";g=J(a,e.A)+":";if(-1!==e.A&&-1!==b.A){do if(f+=" "+J(a,a.ma(e,2)),null==e.A)break;while(e.A!=b.A)}g+=ua(f,24);g+=ua(q,5);l&&(g+=" "+l);if(c||p)g=ua(g,60)+";"+(c||""),g=a.b.v.Za?g+("cycles="+Uc(a.b).toString()+" cs="+k(a.b.qb)):g+(null!=d?"="+d.toString():""),p&&(g+=" @"+p);return g}function ih(a,b){switch(b){case "N":a=a.b.Da();break;case "Z":a=Ad(a.b);break;case "V":a=zd(a.b);break;case "C":a=yd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||||
function jh(a,b){var c="",d=a.b;8>b?(c=Zg(b),c+="="+K(a,d.u[b])):13>b?c="A"+(b-8)+"="+K(a,d.Ea[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+K(a,d.ta[b-16]):20==b&&(c="PS="+K(a,Kb(d)));c&&(c+=" ");return c}function kh(a){var b,c="";for(b=0;6>b;b++)c+=jh(a,b);c=c+"\n"+(jh(a,6)+jh(a,7)+jh(a,20));return c+=ih(a,"T")+ih(a,"N")+ih(a,"Z")+ih(a,"V")+ih(a,"C")}h.Sb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function jh(a,b){var c="",d=a.b;8>b?(c=Zg(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.va[b-16]):20==b&&(c="PS="+J(a,Lb(d)));c&&(c+=" ");return c}function kh(a){var b,c="";for(b=0;6>b;b++)c+=jh(a,b);c=c+"\n"+(jh(a,6)+jh(a,7)+jh(a,20));return c+=ih(a,"T")+ih(a,"N")+ih(a,"Z")+ih(a,"V")+ih(a,"C")}h.Vb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function lh(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.A>>>0,l=f.sc;if(e>=g&&e<g+l){e=za(f.Rb,[e-g],a.Sb);0<=e?mh(a,b,e,d):c&&(e=~e,mh(a,b,e-1,d),mh(a,b,e,d));break}}return d}function mh(a,b,c,d){var e={},f=a.G[b].Rb,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].Ca[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)}
|
function lh(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.A>>>0,l=f.vc;if(e>=g&&e<g+l){e=ya(f.Ub,[e-g],a.Vb);0<=e?mh(a,b,e,d):c&&(e=~e,mh(a,b,e-1,d),mh(a,b,e,d));break}}return d}function mh(a,b,c,d){var e={},f=a.G[b].Ub,g=0,l=null;0<=c&&c<f.length&&(g=f[c][0],l=f[c][1]);l&&(e=a.G[b].ja[l],l="."==l.charAt(0)?null:e.l||l);d.push(l);d.push(g);d.push(e.a);d.push(e.c)}
|
||||||
function nh(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jg(a)||a.j("no variables"),!0;if(!c[2])return Jg(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Fg(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
function nh(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Jg(a)||a.j("no variables"),!0;if(!c[2])return Jg(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Fg(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||||
function oh(a,b,c){var d=null;if(b=Ug(a,b,!0)){a.Y(b);var e=lh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.A-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+K(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.A)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+K(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
function oh(a,b,c){var d=null;if(b=Ug(a,b,!0)){a.Y(b);var e=lh(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.A-e[1])&&(g=" + "+k(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.A)&&(g=" - "+k(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||||
function ah(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\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.j("missing value for "+b[1]);return}f=Fg(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":Bd(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;
|
function ah(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\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.j("missing value for "+b[1]);return}f=Fg(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":O(d,f);a.K=Z(d.u[7]);break;case "N":d.S=f?32768:0;break;case "Z":d.X=
|
||||||
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.j("unknown register: "+e);return}a.B.$();a.j("updated registers:")}a.j(kh(a));c&&(a.K=Z(d.u[7]),bh(a,K(a,a.K.A)))}}function ph(a,b){b=xa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ig(a,null,c[2].charCodeAt(0)):Fg(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.j("unknown register: "+e);return}a.B.$();a.j("updated registers:")}a.j(kh(a));c&&(a.K=Z(d.u[7]),bh(a,J(a,a.K.A)))}}function ph(a,b){b=va(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ig(a,null,c[2].charCodeAt(0)):Fg(a,b,!0)}
|
||||||
function qh(a,b,c){var d="t"!=b;c=Hg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ma(c,function(){return nb(a,!0)&&a.fb(e,d,!1)},function(){a.B.$();nb(a,!1)})}
|
function qh(a,b,c){var d="t"!=b;c=Hg(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ma(c,function(){return nb(a,!0)&&a.ib(e,d,!1)},function(){a.B.$();nb(a,!1)})}
|
||||||
function bh(a,b,c,d){if(b=Ug(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Hg(a,c.substr(1)),null!=c&&(d=c);else{d=Ug(a,c,!0);if(!d||d.A<b.A)return;e=d.A-b.A;if(256<e){a.j("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ob(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=lh(a,b),m=b.A;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.j(p)}l[3]&&(g=l[3],f=null);f=hh(a,b,g,f);a.j(f);a.K=b;e-=b.A-m;c++}}}
|
function bh(a,b,c,d){if(b=Ug(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Hg(a,c.substr(1)),null!=c&&(d=c);else{d=Ug(a,c,!0);if(!d||d.A<b.A)return;e=d.A-b.A;if(256<e){a.j("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ob(a,!1)||a.V?a.H:null;var g=null!=f?"cycles":null,l=lh(a,b),m=b.A;if(l[0]&&d&&(!c&&d||0>l[0].indexOf("+"))){var p=l[0]+":";l[2]&&(p+=" "+l[2]);a.j(p)}l[3]&&(g=l[3],f=null);f=hh(a,b,g,f);a.j(f);a.K=b;e-=b.A-m;c++}}}
|
||||||
function gh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.U&&(a.j("ended assemble at "+K(a,a.T.A)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.pa=null;if(pb(a)&&0<b.length){a.U&&(b="a "+K(a,a.T.A)+" "+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=
|
function gh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.U&&(a.j("ended assemble at "+J(a,a.T.A)),a.K=a.T,a.U=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(pb(a)&&0<b.length){a.U&&(b="a "+J(a,a.T.A)+" "+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=
|
||||||
Ug(a,g[1],!0);if(v)if(a.T=v,void 0===g[2])a.j("begin assemble at "+K(a,v.A)),a.U=!0,a.B.$();else{var w;a.j("not supported yet");w=[];if(w.length){for(var x=0;x<w.length;x++)a.Db(v,w[x],1);a.j(hh(a,a.T))}}break;case "b":a:{var C=g[0],y=g[1],D=b;if("?"==y)a.j("breakpoint commands:"),a.j("\tbp [a]\tset exec breakpoint at addr [a]"),a.j("\tbr [a]\tset read breakpoint at addr [a]"),a.j("\tbw [a]\tset write breakpoint at addr [a]"),a.j("\tbc [a]\tclear breakpoint at addr [a]"),a.j("\tbl\tlist all breakpoints"),
|
Ug(a,g[1],!0);if(v)if(a.T=v,void 0===g[2])a.j("begin assemble at "+J(a,v.A)),a.U=!0,a.B.$();else{var w;a.j("not supported yet");w=[];if(w.length){for(var x=0;x<w.length;x++)a.Fb(v,w[x],1);a.j(hh(a,a.T))}}break;case "b":a:{var C=g[0],y=g[1],D=b;if("?"==y)a.j("breakpoint commands:"),a.j("\tbp [a]\tset exec breakpoint at addr [a]"),a.j("\tbr [a]\tset read breakpoint at addr [a]"),a.j("\tbw [a]\tset write breakpoint at addr [a]"),a.j("\tbc [a]\tclear breakpoint at addr [a]"),a.j("\tbl\tlist all breakpoints"),
|
||||||
a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var Ca=C.charAt(1);if("l"==Ca){var bd;bd=0+fh(a,a.f);bd+=fh(a,a.M);(bd+=fh(a,a.D))||a.j("no breakpoints")}else if("n"==Ca)a.ma=Hg(a,y),a.j("break after "+a.ma+" instruction(s)");else if(void 0===y)a.j("missing breakpoint address");else{var U=Z();if("*"!=y&&(U=Ug(a,y,!0),!U))break a;"c"==Ca?null==U.A?(Lg(a),a.j("all breakpoints cleared")):dh(a,a.f,U)||dh(a,a.M,U)||dh(a,a.D,U)||a.j("breakpoint missing: "+K(a,U.A)):null!=U.A&&(Yg(a,U,D),"p"==Ca?a.Pa(a.f,
|
a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var Ca=C.charAt(1);if("l"==Ca){var bd;bd=0+fh(a,a.f);bd+=fh(a,a.M);(bd+=fh(a,a.D))||a.j("no breakpoints")}else if("n"==Ca)a.oa=Hg(a,y),a.j("break after "+a.oa+" instruction(s)");else if(void 0===y)a.j("missing breakpoint address");else{var U=Z();if("*"!=y&&(U=Ug(a,y,!0),!U))break a;"c"==Ca?null==U.A?(Lg(a),a.j("all breakpoints cleared")):dh(a,a.f,U)||dh(a,a.M,U)||dh(a,a.D,U)||a.j("breakpoint missing: "+J(a,U.A)):null!=U.A&&(Yg(a,U,D),"p"==Ca?a.Qa(a.f,
|
||||||
U):"r"==Ca?a.Pa(a.M,U):"w"==Ca?a.Pa(a.D,U):a.j("unknown breakpoint command: "+Ca))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var Va,Wa=g[0],ha=g[1],Da=g[2],Jh=g[3];if("?"==ha){var Xa="";for(Va in I)a.za[Va]&&(Xa&&(Xa+=","),Xa+=Va);Xa+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history");Xa.length&&
|
U):"r"==Ca?a.Qa(a.M,U):"w"==Ca?a.Qa(a.D,U):a.j("unknown breakpoint command: "+Ca))}}}break;case "c":a.Ra&&(a.Ra.value="");break;case "d":a:{var Xa,Ya=g[0],ha=g[1],Da=g[2],Jh=g[3];if("?"==ha){var Za="";for(Xa in Gb)a.Fa[Xa]&&(Za&&(Za+=","),Za+=Xa);Za+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history");
|
||||||
a.j("dump extension commands:\n\t"+Xa)}else if("state"==ha){var Ef=rh(a.B,!0);"console"==Da?console.log(Ef):(a.Qa&&(a.Qa.value=""),a.j(Ef))}else if("symbols"==ha)for(var cd=0;cd<a.G.length;cd++){var dd=a.G[cd],Ya;for(Ya in dd.Ca)if("."!=Ya.charAt(0)){var Ff=dd.Ca[Ya].o;if(void 0!==Ff){var Gf=dd.Ca[Ya].l;Gf&&(Ya=Gf);a.j(K(a,Ff)+" "+Ya)}}}else{if("d"==Wa){for(Va in I)if(g[1]==Va){var Hf=a.za[Va];Hf?(g.shift(),g.shift(),Hf(g)):a.j("no dump registered for "+ha);break a}ha||(Wa=a.Ab||"db")}else a.Ab=Wa;
|
Za.length&&a.j("dump extension commands:\n\t"+Za)}else if("state"==ha){var Hf=rh(a.B,!0);"console"==Da?console.log(Hf):(a.Ra&&(a.Ra.value=""),a.j(Hf))}else if("symbols"==ha)for(var cd=0;cd<a.G.length;cd++){var dd=a.G[cd],$a;for($a in dd.ja)if("."!=$a.charAt(0)){var If=dd.ja[$a].o;if(void 0!==If){var Jf=dd.ja[$a].l;Jf&&($a=Jf);a.j(J(a,If)+" "+$a)}}}else{if("d"==Ya){for(Xa in Gb)if(g[1]==Xa){var Kf=a.Fa[Xa];Kf?(g.shift(),g.shift(),Kf(g)):a.j("no dump registered for "+ha);break a}ha||(Ya=a.Cb||"db")}else a.Cb=
|
||||||
if("dh"==Wa){var If=ha,Jf=Da,Kf="",Lf=0,ca=a.fa,ia=a.I;if(ia.length){var X=+If||a.Va,tb=+Jf||10;isNaN(X)?X=tb:Kf="more ";X>ia.length&&(a.j("note: only "+ia.length+" available"),X=ia.length);ca-=X;0>ca&&(null==ia[ia.length-1].A?(X=ca+X,ca=0):ca+=ia.length);var ed=[];"call"==Jf&&(tb=1E5,ed=["CALL"]);for(void 0!==If&&a.j(X+" instructions earlier:");0<tb&&ca!=a.fa;){var Mf=ia[ca++];if(null==Mf.A)break;var ub=Z(Mf.A),Kh=X--,Nf=hh(a,ub,"history",Kh);(!ed.length||0<=Nf.indexOf(ed[0]))&&a.j(Nf);ub.Ib&&(ca+=
|
Ya;if("dh"==Ya){var Lf=ha,Mf=Da,Nf="",Of=0,ca=a.fa,ia=a.I;if(ia.length){var Y=+Lf||a.Xa,tb=+Mf||10;isNaN(Y)?Y=tb:Nf="more ";Y>ia.length&&(a.j("note: only "+ia.length+" available"),Y=ia.length);ca-=Y;0>ca&&(null==ia[ia.length-1].A?(Y=ca+Y,ca=0):ca+=ia.length);var ed=[];"call"==Mf&&(tb=1E5,ed=["CALL"]);for(void 0!==Lf&&a.j(Y+" instructions earlier:");0<tb&&ca!=a.fa;){var Pf=ia[ca++];if(null==Pf.A)break;var ub=Z(Pf.A),Kh=Y--,Qf=hh(a,ub,"history",Kh);(!ed.length||0<=Qf.indexOf(ed[0]))&&a.j(Qf);ub.Jb&&
|
||||||
ub.Ib,tb-=ub.Ib,X-=ub.Ib);ca>=ia.length&&(ca=0);a.Va=X;Lf++;tb--}}Lf||(a.j("no "+Kf+"history available"),a.Va=void 0)}else{var vb=Ug(a,ha);if(vb){var cc=0;Da&&("l"==Da.charAt(0)&&(Da=Da.substr(1)||Jh),cc=Hg(a,Da)>>>0,65536<cc&&(cc=65536));for(var wb="",Za="dd"==Wa?4:"dw"==Wa?2:1,dc=Za*cc||128,Lh=dc+15>>4||1;Lh--&&0<dc;){var ec=0,xb=0,yb,fd="",Of="",ha=K(a,vb.A);for(yb=4==Za?16:a.ja;0<yb&&0<dc;yb--){var gd,fc=2==Za?a.ka(vb,gd=2):a.lb(vb,gd=1),ec=ec|fc<<(xb<<3),xb=xb+gd;xb==Za&&(fd+=K(a,ec,Za),fd+=
|
(ca+=ub.Jb,tb-=ub.Jb,Y-=ub.Jb);ca>=ia.length&&(ca=0);a.Xa=Y;Of++;tb--}}Of||(a.j("no "+Nf+"history available"),a.Xa=void 0)}else{var vb=Ug(a,ha);if(vb){var dc=0;Da&&("l"==Da.charAt(0)&&(Da=Da.substr(1)||Jh),dc=Hg(a,Da)>>>0,65536<dc&&(dc=65536));for(var wb="",ab="dd"==Ya?4:"dw"==Ya?2:1,ec=ab*dc||128,Lh=ec+15>>4||1;Lh--&&0<ec;){var fc=0,xb=0,yb,fd="",Rf="",ha=J(a,vb.A);for(yb=4==ab?16:a.la;0<yb&&0<ec;yb--){var gd,gc=2==ab?a.ma(vb,gd=2):a.ob(vb,gd=1),fc=fc|gc<<(xb<<3),xb=xb+gd;xb==ab&&(fd+=J(a,fc,ab),
|
||||||
1==Za?9==yb?"-":" ":" ",ec=xb=0);Of+=32<=fc&&128>fc?String.fromCharCode(fc):".";dc--}wb&&(wb+="\n");wb+=ha+" "+fd+(0==yb?" "+Of:"")}wb&&a.j(wb);a.Oa=vb}}}}break;case "e":if("else"==g[0])break;var $a,hd,id,jd,kd=g[0],ld=g[1];"eb"==kd?($a=1,hd=255,id=a.lb,jd=a.Db):"e"==kd||"ew"==kd?($a=2,hd=65535,id=a.ka,jd=a.Sa):ld=null;if(null==ld)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var gc=Ug(a,ld);if(gc)for(var hc=2;hc<
|
fd+=1==ab?9==yb?"-":" ":" ",fc=xb=0);Rf+=32<=gc&&128>gc?String.fromCharCode(gc):".";ec--}wb&&(wb+="\n");wb+=ha+" "+fd+(0==yb?" "+Rf:"")}wb&&a.j(wb);a.Pa=vb}}}}break;case "e":if("else"==g[0])break;var bb,hd,id,jd,kd=g[0],ld=g[1];"eb"==kd?(bb=1,hd=255,id=a.ob,jd=a.Fb):"e"==kd||"ew"==kd?(bb=2,hd=65535,id=a.ma,jd=a.Ta):ld=null;if(null==ld)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var hc=Ug(a,ld);if(hc)for(var ic=2;ic<
|
||||||
g.length;hc++){var zb=Fg(a,g[hc]);if(void 0===zb){a.j("unrecognized value: "+g[hc]);break}zb&~hd&&a.j("warning: "+k(zb)+" exceeds "+$a+"-byte value");var Mh=id.call(a,gc);a.j("changing "+K(a,gc.A)+" from "+K(a,Mh,$a)+" to "+K(a,zb,$a));jd.call(a,gc,zb,$a)}}break;case "g":a:{var Pf=g[1],Nh=b;if(void 0!==Pf){var md=Ug(a,Pf,!0);if(!md)break a;Yg(a,md,Nh);a.Pa(a.f,md,!0)}a.eb(!0,c)}break;case "h":a.v.ca?(c||a.j("halting"),a.da()):ob(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var nd;
|
g.length;ic++){var zb=Fg(a,g[ic]);if(void 0===zb){a.j("unrecognized value: "+g[ic]);break}zb&~hd&&a.j("warning: "+k(zb)+" exceeds "+bb+"-byte value");var Mh=id.call(a,hc);a.j("changing "+J(a,hc.A)+" from "+J(a,Mh,bb)+" to "+J(a,zb,bb));jd.call(a,hc,zb,bb)}}break;case "g":a:{var Sf=g[1],Nh=b;if(void 0!==Sf){var md=Ug(a,Sf,!0);if(!md)break a;Yg(a,md,Nh);a.Qa(a.f,md,!0)}a.hb(!0,c)}break;case "h":a.v.ca?(c||a.j("halting"),a.da()):ob(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var nd;
|
||||||
var Ab=b.substr(2),Ab=xa(Ab);Fg(a,Ab)?(c||a.j("true: "+Ab),nd=!0):(c||a.j("false: "+Ab),nd=!1);nd||(d=!1);break}f=!0;break;case "k":var Oh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var od=0,pd=Z(),Bb=Z(a.b.u[6]);for(a.j("stack trace for "+K(a,Bb.A));10>od;){for(var Ea=null,Ph=256;65536>Bb.A>>>0;){pd.A=a.ka(Bb,2);if(null==Bb.A||!Ph--)break;if(!(pd.A&1)){for(var Qh=a,ic=pd,Qf=null,Cb=ic.A,Rf=Cb,qd=1;6>=qd&&Cb;qd++){if(2<
|
var Ab=b.substr(2),Ab=va(Ab);Fg(a,Ab)?(c||a.j("true: "+Ab),nd=!0):(c||a.j("false: "+Ab),nd=!1);nd||(d=!1);break}f=!0;break;case "k":var Oh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var od=0,pd=Z(),Bb=Z(a.b.u[6]);for(a.j("stack trace for "+J(a,Bb.A));10>od;){for(var Ea=null,Ph=256;65536>Bb.A>>>0;){pd.A=a.ma(Bb,2);if(null==Bb.A||!Ph--)break;if(!(pd.A&1)){for(var Qh=a,jc=pd,Tf=null,Cb=jc.A,Uf=Cb,qd=1;6>=qd&&Cb;qd++){if(2<
|
||||||
qd){ic.A=Cb;var jc=hh(Qh,ic);if(0<=jc.indexOf("JSR")){var Sf=jc.indexOf(" ");if(Cb+(jc.indexOf(" ",Sf+1)-Sf-1)/2==Rf){Qf=jc;break}}}Cb-=2}ic.A=Rf;if(Ea=Qf)break}}if(!Ea||null==Ea)break;var Tf=null;if("ks"==Oh){var Uf=Ea.match(/[0-9A-F]+$/);Uf&&(Tf=oh(a,Uf[0]))}Ea=va(Ea,50)+" ;"+(Tf||"stack="+K(a,Bb.A));a.j(Ea);od++}od||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){oh(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 wa=0;if("all"==
|
qd){jc.A=Cb;var kc=hh(Qh,jc);if(0<=kc.indexOf("JSR")){var Vf=kc.indexOf(" ");if(Cb+(kc.indexOf(" ",Vf+1)-Vf-1)/2==Uf){Tf=kc;break}}}Cb-=2}jc.A=Uf;if(Ea=Tf)break}}if(!Ea||null==Ea)break;var Wf=null;if("ks"==Oh){var Xf=Ea.match(/[0-9A-F]+$/);Xf&&(Wf=oh(a,Xf[0]))}Ea=ua(Ea,50)+" ;"+(Wf||"stack="+J(a,Bb.A));a.j(Ea);od++}od||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){oh(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 xa=0;if("all"==
|
||||||
F)wa=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 I)if(F==ja){wa=I[ja];ka=!!(a.ia&wa);break}if(!wa){a.j("unknown message category: "+F);break a}}if(wa)if("on"==g[2])a.ia|=wa,ka=!0;else if("off"==g[2]&&(a.ia&=~wa,ka=!1,1073741824==wa)){for(var rd=0;rd<a.ua.length;rd++)a.j(a.ua[rd]);a.ua=[]}}var Rh=0,Db="";for(ja in I)if(!F||F==ja){var Sh=!!(a.ia&I[ja]);if(null===ka||ka==Sh)Db&&(Db+=","),++Rh%10||(Db+="\n\t"),
|
F)xa=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 Gb)if(F==ja){xa=Gb[ja];ka=!!(a.ka&xa);break}if(!xa){a.j("unknown message category: "+F);break a}}if(xa)if("on"==g[2])a.ka|=xa,ka=!0;else if("off"==g[2]&&(a.ka&=~xa,ka=!1,1073741824==xa)){for(var rd=0;rd<a.wa.length;rd++)a.j(a.wa[rd]);a.wa=[]}}var Rh=0,Db="";for(ja in Gb)if(!F||F==ja){var Sh=!!(a.ka&Gb[ja]);if(null===ka||ka==Sh)Db&&(Db+=","),++Rh%10||(Db+="\n\t"),
|
||||||
"key"==ja&&(ja="keys"),Db+=ja}void 0===F&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ka?ka?"messages on: ":"messages off: ":"message categories:\n\t")+(Db||"none"));Mg(a)}break;case "p":if("print"==g[0]){ph(a,b.substr(5));break}var Th="pr"==g[0]?1:0;if(a.V)a.j("step in progress");else{var Vf=Z(a.b.u[7]);a.lb(Vf);a.V?(a.Pa(a.f,Vf,!0),a.eb()||(a.B&&a.B.sb(),a.V=0)):qh(a,Th?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}ah(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Eb=
|
"key"==ja&&(ja="keys"),Db+=ja}void 0===F&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==ka?ka?"messages on: ":"messages off: ":"message categories:\n\t")+(Db||"none"));Mg(a)}break;case "p":if("print"==g[0]){ph(a,b.substr(5));break}var Th="pr"==g[0]?1:0;if(a.V)a.j("step in progress");else{var Yf=Z(a.b.u[7]);a.ob(Yf);a.V?(a.Qa(a.f,Yf,!0),a.hb()||(a.B&&a.B.ub(),a.V=0)):qh(a,Th?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}ah(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Eb=
|
||||||
+g[2];if(8==Eb||10==Eb||16==Eb)a.ja=Eb;else{a.j("invalid base: "+Eb);break}}a.j("default base: "+a.ja);break;case "cs":var Fb;void 0!==g[3]&&(Fb=+g[3]);switch(g[2]){case "int":a.b.Za=Fb;break;case "start":a.b.ob=Fb;break;case "stop":a.b.$a=Fb;break;default:a.j("unknown cs option");break a}void 0!==Fb&&Qc(a.b);a.j("checksums "+(a.b.v.Xa?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Uc(a.b,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.b.Ra.toFixed(2)+
|
+g[2];if(8==Eb||10==Eb||16==Eb)a.la=Eb;else{a.j("invalid base: "+Eb);break}}a.j("default base: "+a.la);break;case "cs":var Fb;void 0!==g[3]&&(Fb=+g[3]);switch(g[2]){case "int":a.b.ab=Fb;break;case "start":a.b.rb=Fb;break;case "stop":a.b.bb=Fb;break;default:a.j("unknown cs option");break a}void 0!==Fb&&Rc(a.b);a.j("checksums "+(a.b.v.Za?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Vc(a.b,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.b.Sa.toFixed(2)+
|
||||||
"Mhz")+" ("+a.b.Ka+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qh(a,g[0],g[1]);break;case "u":bh(a,g[1],g[2],8);break;case "v":if("var"==g[0]){nh(a,b.substr(3))||(d=!1);break}if("ver"==
|
"Mhz")+" ("+a.b.La+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":qh(a,g[0],g[1]);break;case "u":bh(a,g[1],g[2],8);break;case "v":if("var"==g[0]){nh(a,b.substr(3))||(d=!1);break}if("ver"==
|
||||||
g[0]){a.j("PDPjs version 1.30.1 ("+a.b.Ya+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+")");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ph(a,b.substr(1));break}var sd="commands:",td;for(td in Og)sd+="\n"+va(td,9)+Og[td];Wd(a)||(sd+="\nnote: history disabled if no exec breakpoints");a.j(sd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Wf){a.j("debugger error: "+(Wf.stack||Wf.message)),d=!1}return d}
|
g[0]){a.j("PDPjs version 1.30.1 ("+a.b.$a+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+")");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){ph(a,b.substr(1));break}var sd="commands:",td;for(td in Og)sd+="\n"+ua(td,9)+Og[td];Wd(a)||(sd+="\nnote: history disabled if no exec breakpoints");a.j(sd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Zf){a.j("debugger error: "+(Zf.stack||Zf.message)),d=!1}return d}
|
||||||
function Rc(a,b,c){b=Dg(a,b,c);for(var d in b)if(!gh(a,b[+d]))return!1;return!0}Ta(function(){for(var a=B(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Kg(d);A(d,c)}});
|
function Sc(a,b,c){b=Dg(a,b,c);for(var d in b)if(!gh(a,b[+d]))return!1;return!0}Ta(function(){for(var a=B(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Kg(d);A(d,c)}});
|
||||||
function sh(a,b,c){r.call(this,"Computer",a,sh,67108864);this.v.ha=!1;th(this,b);this.M=Oc(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.f=uh;this.I=null;this.G=this.U=!1;this.ba=Oc(this,"url")||"";(Math.random()+.1).toString(36);this.g=vh(this);if(this.b=mb("CPU",this.id)){this.i=mb("Debugger",this.id);this.w=new Lb({id:this.Gb+".bus",busWidth:this.aa},this.b,this.i);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.j=
|
function sh(a,b,c){r.call(this,"Computer",a,sh,67108864);this.v.ia=!1;th(this,b);this.M=Pc(this,"autoPower",a);this.B=0;this.aa=a.busWidth||a.buswidth;this.f=uh;this.I=null;this.G=this.U=!1;this.ba=Pc(this,"url")||"";(Math.random()+.1).toString(36);this.g=vh(this);if(this.b=mb("CPU",this.id)){this.i=mb("Debugger",this.id);this.w=new Mb({id:this.Va+".bus",busWidth:this.aa},this.b,this.i);var d,e=kb(this.id);if((this.C=mb("Panel",this.id))&&this.C.Ra)for(b=0;b<e.length;b++)d=e[b],d.pa=this.C.pa,d.j=
|
||||||
this.C.j,d.Qa=this.C.Qa;this.j("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.j("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.Ba&&d.Ba(this,this.w,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Oc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=uh),this.f&&
|
this.C.j,d.Ra=this.C.Ra;this.j("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.j("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.Ca&&d.Ca(this,this.w,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var f;if(a=Pc(this,"state")||(f=!0,a.state))b=this.R=a,f||(this.G=!0,this.f=uh),this.f&&
|
||||||
(this.K=new O(this,"1.30.1"),wh(this.K)?b=null:delete this.K);!b&&this.f&&(b=xh(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);H(g)})}else H(this);this.J.power||(this.M=!0);!c&&this.M&&yh(this,this.pb)}else n("Unable to find CPU component")}u(sh);var uh=0;
|
(this.K=new N(this,"1.30.1"),wh(this.K)?b=null:delete this.K);!b&&this.f&&(b=xh(this))&&(this.G=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.pa("Unable to load machine state from server (error "+c+(b?": "+va(b):"")+")")):(g.I=b,g.U=!0);H(g)})}else H(this);this.J.power||(this.M=!0);!c&&this.M&&yh(this,this.sb)}else n("Unable to find CPU component")}u(sh);var uh=0;
|
||||||
function th(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 Oc(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 yh(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!pb(f)){pb(f,function(){yh(a,b,c)});return}}b.call(a,c)}
|
function th(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 Pc(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 yh(a,b,c){for(var d=kb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!pb(f)){pb(f,function(){yh(a,b,c)});return}}b.call(a,c)}
|
||||||
function zh(a,b){var c=new O(a,"1.30.1","validate");if(wh(c)&&Ah(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=sh.prototype;
|
function zh(a,b){var c=new N(a,"1.30.1","validate");if(wh(c)&&Ah(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.pa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=sh.prototype;
|
||||||
h.pb=function(a){void 0===a&&(a=this.f||(this.I?1:uh));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>uh){if(wh(d,this.I)){this.D=new O(this,"1.30.1","failsafe");wh(this.D)&&(Bh(this,d),a=2,Ch(this.D));this.D.set("timestamp",Ba());Dh(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=Ah(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wh(d,g):("error"==
|
h.sb=function(a){void 0===a&&(a=this.f||(this.I?1:uh));if(!this.B){this.B++;var b=!1,c=!1;this.T=!1;var d=this.K||new N(this,"1.30.1");if(-1==a)b=!0;else if(a>uh){if(wh(d,this.I)){this.D=new N(this,"1.30.1","failsafe");wh(this.D)&&(Bh(this,d),a=2,Ch(this.D));this.D.set("timestamp",Aa());Dh(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=Ah(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?wh(d,g):("error"==
|
||||||
f&&"no machine state"!=g?(this.na("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Ch(d),wh(d)?(c=Ah(d),e=!0):c=!1))}e&&zh(this,c?d:null)}else 2==a&&d.clear()}else zh(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=Eh(this,g,d,b,c));b=[d,a,c];-1!=a?yh(this,this.Ub,b):this.Ub(b)}};
|
f&&"no machine state"!=g?(this.pa("Error: "+g),"unable to verify user"==g&&(Ka("user",""),this.g=null)):this.j(f+": "+g),Ch(d),wh(d)?(c=Ah(d),e=!0):c=!1))}e&&zh(this,c?d:null)}else 2==a&&d.clear()}else zh(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=Eh(this,g,d,b,c));b=[d,a,c];-1!=a?yh(this,this.Xb,b):this.Xb(b)}};
|
||||||
function Eh(a,b,c,d,e){if(!b.v.ha){b.v.ha=!0;if(b.ya){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.ya(f,d)&&f&&(n("Unable to restore state for "+b.type),a.R&&!a.U?(c.clear(),a.f=uh,window&&window.location.reload()):a.T=!0,b.ya(null),e=!1)}if(!d&&b.Vb)for(a=b.Vb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
function Eh(a,b,c,d,e){if(!b.v.ia){b.v.ia=!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=uh,window&&window.location.reload()):a.T=!0,b.Aa(null),e=!1)}if(!d&&b.Yb)for(a=b.Yb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
h.Ub=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&&(Eh(this,this.b,b,c,a),this.b.ib());this.T&&(Bh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0};
|
h.Xb=function(a){var b=a[0],c=0>a[1];a=a[2];this.fa=!0;this.v.ia=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.b&&(Eh(this,this.b,b,c,a),this.b.lb());this.T&&(Bh(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.B=0};
|
||||||
function Bh(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.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Fa("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function Bh(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.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function rh(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=Ba();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.xa&&(c&&a.b.da(),d=a.b.xa(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.xa&&(d=p.xa(b,c),"object"===typeof d&&f.set(p.id,
|
function rh(a,b,c){var d,e="none";if(a.B)return null;a.B--;var f=new N(a,"1.30.1"),g=new N(a,"1.30.1","validate"),l=Aa();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.da(),d=a.b.za(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.v.ia=!1,!1===d&&(e=null)));for(var l=kb(a.id),m=0;m<l.length;m++){var p=l[m];p.v.ia&&(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.g&&Fh(a,a.g,f.toString()),Dh(g)&&Dh(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.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
d)),c&&(p.v.ia=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.g&&Fh(a,a.g,f.toString()),Dh(g)&&Dh(f)||(e=null,d=l=!0)):a.f&&(d=!0,l=3==a.f),d&&f.clear(l)):e=f.toString());c&&(a.v.ia=!1,b=a.J.power)&&(b.textContent="Power");a.B=0;return e}h.reset=function(){this.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=kb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
||||||
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.$(!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.$(!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.$(!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.$(!0)};
|
||||||
h.oa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ha?rh(d,!1,!0):yh(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.");rh(d,a,!0);!a&&d.R?window&&window.location.reload():d.pb(uh)}else d.reset(),d.b&&d.b.ib()},!0;case "save":if(ra())c.parentNode.removeChild(c);else return this.J[b]=
|
h.qa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.B||(d.v.ia?rh(d,!1,!0):yh(d,d.sb))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.v.ia&&!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.");rh(d,a,!0);!a&&d.R?window&&window.location.reload():d.sb(uh)}else d.reset(),d.b&&d.b.lb()},!0;case "save":if(qa())c.parentNode.removeChild(c);else return this.J[b]=
|
||||||
c,c.onclick=function(){var a=vh(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=rh(d,b);b?Fh(d,a,c):d.na("Resume disabled, machine state not saved")}},!0}return!1};
|
c,c.onclick=function(){var a=vh(d,!0);if(a){var b=!!(d.f&&!d.H||d.R),c=rh(d,b);b?Fh(d,a,c):d.pa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function vh(a,b){var c=a.g;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=Gh(a,c))||a.na("The user ID is invalid.")):b&&a.na("Browser local storage is not available"));return c}
|
function vh(a,b){var c=a.g;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=Gh(a,c))||a.pa("The user ID is invalid.")):b&&a.pa("Browser local storage is not available"));return c}
|
||||||
function Gh(a,b){a.g=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.g=b.data)}catch(d){n(d.message+" ("+c+")")}return a.g}function xh(a){var b=null;a.g&&(b=sa()+"/api/v1/user?req=load&user="+a.g+"&state="+Hh(a,"1.30.1"));return b}
|
function Gh(a,b){a.g=null;b=Ba(ra()+"/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.g=b.data)}catch(d){n(d.message+" ("+c+")")}return a.g}function xh(a){var b=null;a.g&&(b=ra()+"/api/v1/user?req=load&user="+a.g+"&state="+Hh(a,"1.30.1"));return b}
|
||||||
function Fh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hh(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.g=null)}}h.sb=function(){};
|
function Fh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hh(a,"1.30.1");d.data=c;b=Ba(ra()+"/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.pa("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.pa(c),Ka("user",""),a.g=null)}}h.ub=function(){};
|
||||||
h.$=function(a){this.b&&this.b.$(a);this.C&&this.C.$(a)};Ta(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new sh(g,d,!0);A(g,f);g.M&&yh(g,g.pb)}});Oa.show.push(function(){for(var a=B(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)}});
|
h.$=function(a){this.b&&this.b.$(a);this.C&&this.C.$(a)};Ta(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=z(f),g=new sh(g,d,!0);A(g,f);g.M&&yh(g,g.sb)}});Oa.show.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.fa&&!c.v.ia&&c.sb(-1)}});
|
||||||
Oa.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.v.ha&&rh(c,!(!c.f||c.H),!0)}});function O(a,b,c){this.id=a.id;this.key=Hh(a,b,c);this.i=a.i;Ch(this,a.pc)}function Hh(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=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=mb("Computer",c.id))&&c.v.ia&&rh(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=Hh(a,b,c);this.i=a.i;Ch(this,a.tc)}function Hh(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){Ch(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,
|
N.prototype={constructor:N,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){Ch(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 Ch(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Dh(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 Ah(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function wh(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 Ih=0;
|
1);c=0}}};function Ch(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function Dh(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 Ah(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){n(c.message||c),b=!1}return b}function wh(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 Ih=0;
|
||||||
function Uh(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)):Vh(l,a,b,c,d,e,f)})}
|
function Uh(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,l,m){m?(l||(l="unable to load "+a+" ("+m+")"),f(l,null)):Vh(l,a,b,c,d,e,f)})}
|
||||||
function Vh(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"),
|
function Vh(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?Wh(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?Wh(a,f,l):l(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function Wh(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]*/,
|
function Wh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(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);Wh(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);Wh(a,b,c)}})}else c(a,null)}
|
||||||
function Xh(a,b,c,d){function e(a){if(void 0===l){var b=g&&B(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ua(a))}function f(a){e("Error: "+a);m&&(--Ih||ab(!0));m=!1}var g,l,m=!0;Ih++;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||
|
function Xh(a,b,c,d){function e(a){if(void 0===l){var b=g&&B(g,"machine-warning");l=b&&b[0]||g}l&&(l.innerHTML=ta(a))}function f(a){e("Error: "+a);m&&(--Ih||Va(!0));m=!1}var g,l,m=!0;Ih++;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?Uh(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,--Ih||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),--Ih||ab(!0)):f("invalid machine element: "+
|
(c="/versions/pdpjs/1.30.1/components.xsl");p=function(d,l){l?Uh(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,--Ih||Va(!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),--Ih||Va(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Uh(b,a,d,!0,e,p):Vh(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 Xh(a,b,c,d)};window.enableEvents=ab;window.sendEvent=bb;})();//# 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)?Uh(b,a,d,!0,e,p):Vh(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){Va(!1);return Xh(a,b,c,d)};window.enableEvents=Va;window.sendEvent=Wa;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11-dbg.map
|
||||||
|
|
|
||||||
|
|
@ -29,157 +29,158 @@
|
||||||
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
|
||||||
*/
|
*/
|
||||||
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};
|
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};
|
||||||
ha!=ga&&null!=ha&&aa(ba,fa,{configurable:!0,writable:!0,value:ha});
|
ha!=ga&&null!=ha&&aa(ba,fa,{configurable:!0,writable:!0,value:ha});function ia(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 ja(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 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==
|
|
||||||
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}
|
|
||||||
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 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,"")}
|
||||||
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};
|
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 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 h(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="",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")}
|
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 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 ua(a,b){var c,d={K:null,Y:null,bb:null,ab:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,k=eval("("+b+")");d.bb=k.load;d.ab=k.exec;if(e=k.bytes)d.K=e;else if(e=k.words)for(d.K=Array(2*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,d.K[f++]=e[c]>>8&255;else if(e=k.data)for(d.K=Array(4*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,d.K[f++]=e[c]>>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=k;d.Y=k.symbols;d.K.length?1==d.K.length&&(m(d.K[0]),d=null):(m("Empty resource: "+
|
||||||
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)}
|
a),d=null)}catch(l){m("Resource data error: "+l.message),d=null}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),d.K=Array(a.length),c=0;c<a.length;c++)d.K[c]=parseInt(a[c],16);return d}function na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function m(a){window&&window.alert(a)}function va(a){var b=!1;window&&(b=window.confirm(a));return b}var wa=null;
|
||||||
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 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 ya(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
|
||||||
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,bd:!1,cd:!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={};
|
function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var p={init:[],show:[],exit:[]},Ba=!1,Ca=!1,Da=!0;function Ea(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function q(a){p.init.push(a)}
|
||||||
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 Fa(a){if(Da)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){m(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ga(a){!Da&&a?(Da=!0,Ba&&Ha("init"),Ca&&Ha("show")):Da=a}function Ha(a){p[a]&&Fa(p[a])}Ea("onload",function(){Ba=!0;Fa(p.init)});Ea("onpageshow",function(){Ca=!0;Fa(p.show)});Ea(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Fa(p.exit)});
|
||||||
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 u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ob=b.comment;this.Gb=b;b=this.id.indexOf(".");0>b?this.Ga=this.id:(this.Ha=this.id.substr(0,b),this.Ga=this.id.substr(b+1));this[a]=c;this.i={ready:!1,fd:!1,gd:!1,M:!1,error:!1};this.Ra=null;this.i.error=!1;this.v={};this.G=null;v.push(this)}var Ia=void 0,Ja={};
|
||||||
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}
|
if(window){Ia||(Ia=window.location.search.substr(1));for(var Ka,La=/\+/g,Ma=/([^&=]+)=?([^&]*)/g;Ka=Ma.exec(Ia);)Ja[decodeURIComponent(Ka[1].replace(La," "))]=decodeURIComponent(Ka[2].replace(La," "))}function Na(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 A(a,b){b=B(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 w(a,b){b||(b=u);a.prototype=Na(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Oa=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else Oa={},v=[];function Pa(a,b,c){Oa[a]&&b&&(Oa[a][b]=c)}function x(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function B(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 Qa(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function Ra(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<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function y(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){m(c.message+" ("+a+")")}return b}
|
||||||
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),
|
function z(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 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=y(f))&&k.binding&&a.V(k.type,k.binding,f,k.value),n=l.length}}}}
|
||||||
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)},Y:function(){return this.h.L=!0},X:function(a,b){b&&(this.h.L=!1);return!0}};function C(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}
|
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}
|
||||||
|
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},V: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.Wa=this.v[b]=c,c.value="",this.P=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.L=function(a){this.P(a,this.Ga)}),!0;default:return!1}},log:function(){},P:function(){},status:function(a){this.P(this.Ga+": "+a)},L:function(a,b,c){c=c||this.type;b||m((c?c+": ":"")+a)},$:function(){return this.i.M=!0},Z:function(a,b){b&&(this.i.M=!1);return!0}};function B(a){if(!a.i.error&&(a.i.ready=!0,a.i.ready)){var b=a.Ra;a.Ra=null;b&&b()}}function Sa(a,b){b&&(a.i.ready?b():a.Ra=b);return a.i.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 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;
|
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 Ta="undefined"!==typeof ArrayBuffer;function Ua(a){u.call(this,"Panel",a,Ua);this.b=0;this.i.jb=!0}w(Ua);g=Ua.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.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d};g.Y=function(a,b){b||Ua();return!0};g.X=function(){return!0};
|
g.V=function(a,b,c,d){if(this.w&&this.w.V(a,b,c,d)||this.a&&this.a.V(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.V.call(this,a,b,c,d)}};g.ea=function(a,b,c,d){this.w=a;this.m=b;this.a=c;this.G=d};g.$=function(a,b){b||Va();return!0};g.Z=function(){return!0};
|
||||||
function Va(a,b,c,d){if(a.v[b]){void 0===c&&(a.h.error=!0,a.K("Value for "+b+" is invalid"),Wa(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 Xa(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 Wa(a,b,c,d){if(a.v[b]){void 0===c&&(a.i.error=!0,a.L("Value for "+b+" is invalid"),Xa(a.a));var e=a.G&&a.G.b||8;c=!a.a.i.U||a.i.jb?8==e?ia(c,d):ja(c,d):"--------".substr(0,d||4);a.v[b].textContent!=c&&(a.v[b].textContent=c)}}function Ya(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.da=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=Ya(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);Xa(this,"D",this.a.f[0],16);Xa(this,"A",this.a.f[7],22)}};function Ua(){for(var a=!1,b=B(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&&C(f)}}u(Ua);
|
g.fa=function(a){if(this.b&&(a||!this.a.i.U||this.i.jb)){for(a=0;a<this.a.f.length;a++)Wa(this,"R"+a,this.a.f[a]);a=Za(this.a);Wa(this,"PS",a);Wa(this,"NF",a&8?1:0,1);Wa(this,"ZF",a&4?1:0,1);Wa(this,"VF",a&2?1:0,1);Wa(this,"CF",a&1?1:0,1);Ya(this,"D",this.a.f[0],16);Ya(this,"A",this.a.f[7],22)}};function Va(){for(var a=!1,b=A(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=y(d),f=Qa(e.id);f||(a=!0,f=new Ua(e));z(f,d);a&&B(f)}}q(Va);
|
||||||
function Za(a,b,c){v.call(this,"Bus",a,Za);this.a=b;this.G=c;this.H=a.busWidth||16;this.m=0;this.D=[];this.s=null;this.A=Math.pow(2,this.H);this.i=this.A-1|0;this.c=E;this.l=Math.log2(this.c);this.B=this.c>>2;this.g=this.c-1;this.w=this.A/this.c|0;this.ia=[];this.R=0;this.o=[];this.vb=[$a,ab,bb,cb];a=new F(this);db(a,this.G);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;C(this)}x(Za);var E=8192,eb=E-1;
|
function $a(a,b,c){u.call(this,"Bus",a,$a);this.a=b;this.G=c;this.H=a.busWidth||16;this.j=0;this.D=[];this.s=null;this.A=Math.pow(2,this.H);this.h=this.A-1|0;this.c=D;this.m=Math.log2(this.c);this.B=this.c>>2;this.g=this.c-1;this.w=this.A/this.c|0;this.ka=[];this.S=0;this.o=[];this.Ab=[ab,bb,cb,db];a=new E(this);eb(a,this.G);this.b=Array(this.w);for(b=0;b<this.w;b++)this.b[b]=a;B(this)}w($a);var D=8192,fb=D-1;
|
||||||
function $a(a,b){var c=-1,d=this.controller,e=d.ia[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.ia[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=fb(d,b)}function ab(a,b,c){var d=!1,e=this.controller,f=e.ia[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.ia[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||fb(e,c)}
|
function ab(a,b){var c=-1,d=this.controller,e=d.ka[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.ka[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);return 0<=c?c:c=gb(d,b)}function bb(a,b,c){var d=!1,e=this.controller,f=e.ka[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.ka[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||gb(e,c)}
|
||||||
function bb(a,b){var c=-1,d=this.controller;(a=d.ia[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=fb(d,b)}function cb(a,b,c){var d=!1,e=this.controller;if(a=e.ia[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||fb(e,c)}function gb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-E,hb(a,c,E,a.D),a.m=0);b&&(a.m=b,c=(1<<b)-E,a.D=ib(a,c,E),a.s?hb(a,c,E,a.s):(jb(a,c,E,kb,a),a.s=ib(a,c,E)))}}
|
function cb(a,b){var c=-1,d=this.controller;(a=d.ka[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=gb(d,b)}function db(a,b,c){var d=!1,e=this.controller;if(a=e.ka[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||gb(e,c)}function hb(a,b){if(b!=a.j){var c;a.j&&(c=(1<<a.j)-D,ib(a,c,D,a.D),a.j=0);b&&(a.j=b,c=(1<<b)-D,a.D=jb(a,c,D),a.s?ib(a,c,D,a.s):(kb(a,c,D,lb,a),a.s=jb(a,c,D)))}}
|
||||||
Za.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();gb(this,16)};function fb(a,b){a.R||G(a.a,4,b);return 0}Za.prototype.Y=function(a,b){b||this.reset();return!0};
|
$a.prototype.reset=function(){for(var a=0;a<this.o.length;a++)this.o[a]();hb(this,16)};function gb(a,b){a.S||F(a.a,4,b);return 0}$a.prototype.$=function(a,b){b||this.reset();return!0};
|
||||||
function jb(a,b,c,d,e){for(var f=b,k=c,l=f>>>a.l;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 lb(1,f,k)}f=new F(a,f,t,a.c,d,e);db(f,a.G,n);a.b[l++]=f;f=r+a.c;k-=t}if(0>=k){c/=1024;var D;e="";D?10<D&&(D=10):D=c&-65536?10:5;if(null==c||isNaN(c))for(;0<D--;)e="?"+e;else for(;0<D--;)e=String.fromCharCode(c%10+48)+e,c/=
|
function kb(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.Ba)return n.Ua+=n.Ba-f,n.Ba=f,!0;if(f>=n.Ba+n.Ua){t=n.size-(f-r);t>k&&(t=k);n.Ua=f-n.Ba+t;f=r+a.c;k-=t;l++;continue}}return mb(1,f,k)}f=new E(a,f,t,a.c,d,e);eb(f,a.G,n);a.b[l++]=f;f=r+a.c;k-=t}if(0>=k){c/=1024;var C;e="";C?10<C&&(C=10):C=c&-65536?10:5;if(null==c||isNaN(c))for(;0<C--;)e="?"+e;else for(;0<C--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||||
10;a.status(e+"Kb "+mb[d]+" at "+ja(b));return!0}return lb(2,b,c)}function ib(a,b,c){var d=[];for(b>>>=a.l;0<c&&b<a.b.length;)d.push(a.b[b++]),c-=a.c;return d}function hb(a,b,c,d){var e=0;for(b>>>=a.l;0<c&&b<a.b.length;){var f=d[e++];if(!f)break;a.b[b++]=f;c-=a.c}}function nb(a,b){return a.b[(b&a.i)>>>a.l].Ya(b&a.g,b)}function ob(a,b){return a.b[(b&a.i)>>>a.l].S(b&a.g,b)}Za.prototype.bb=function(a,b){this.R++;this.b[(a&this.i)>>>this.l].sb(a&this.g,b&255,a);this.R--};
|
10;a.status(e+"Kb "+nb[d]+" at "+ia(b));return!0}return mb(2,b,c)}function jb(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 ib(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 ob(a,b){return a.b[(b&a.h)>>>a.m].cb(b&a.g,b)}function pb(a,b){return a.b[(b&a.h)>>>a.m].T(b&a.g,b)}$a.prototype.Ta=function(a,b){this.S++;this.b[(a&this.h)>>>this.m].xb(a&this.g,b&255,a);this.S--};
|
||||||
function pb(a,b,c){a.b[(b&a.i)>>>a.l].Ra(b&a.g,c&65535,b)}function qb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.ja||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 rb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&eb;void 0!==a.ia[n]?p("I/O address already registered: "+h(b,8,!0)):a.ia[n]=[d,e,f,k,l||"unknown",!1]}}
|
function qb(a,b,c){a.b[(b&a.h)>>>a.m].Va(b&a.g,c&65535,b)}function rb(a){for(var b=0,c=[],d=0;d<a.w;d++){var e=a.b[d];if(e.la||e.Cb){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 sb(a,b,c,d,e,f,k,l){for(;b<=c;b+=2){var n=b&fb;void 0!==a.ka[n]?m("I/O address already registered: "+ja(b,8,!0)):a.ka[n]=[d,e,f,k,l||"unknown",!1]}}
|
||||||
function sb(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)));rb(a,e,e,k,l,n,r,f[4])}}}function tb(a,b){a.o.push(b)}function ub(a,b){a.R||G(a.a,4,b)}
|
function tb(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[5]&&f[5]>a.a.Fa)){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)));sb(a,e,e,k,l,n,r,f[4])}}}function ub(a,b){a.o.push(b)}function vb(a,b){a.S||F(a.a,4,b)}
|
||||||
function lb(a,b,c){p("Memory block error ("+a+": "+h(b)+","+h(c)+")");return!1}function H(a){v.call(this,"Device",a,H);this.c={data:0,ad:0,Pa:20,pc:0};this.b={dd:0,cb:-1}}x(H);g=H.prototype;g.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;var e=this;this.b.cb=vb(c,function(){e.b.la|=128;e.b.la&64&&(wb(e.a,e.b.qc),xb(e.a,e.b.cb,1E3/60))});this.b.qc=yb(64,6);sb(b,this,I);tb(b,this.reset.bind(this));C(this)};g.reset=function(){this.c.Pa=this.c.Pa&-120|20;this.b.la=0};
|
function mb(a,b,c){m("Memory block error ("+a+": "+ja(b)+","+ja(c)+")");return!1}function G(a){u.call(this,"Device",a,G);this.c={data:0,ed:0,Sa:20,tc:0};this.b={hd:0,hb:-1}}w(G);g=G.prototype;g.ea=function(a,b,c,d){this.m=b;this.a=c;this.G=d;var e=this;this.b.hb=wb(c,function(){e.b.na|=128;e.b.na&64&&(xb(e.a,e.b.uc),yb(e.a,e.b.hb,1E3/60))});this.b.uc=zb(64,6);tb(b,this,H);ub(b,this.reset.bind(this));B(this)};g.reset=function(){this.c.Sa=this.c.Sa&-120|20;this.b.na=0};
|
||||||
g.Lb=function(){var a=this.b.la;this.b.la&=-129;return a};g.zc=function(a){this.b.la=a;a&64&&xb(this.a,this.b.cb,1E3/60);this.b.la=a&-129};g.Eb=function(a){return(a?this.c.pc:this.c.data)&65535};g.sc=function(a){this.c.data=a};g.Nb=function(){var a=this.a;return a.A&62337|a.Fa<<5|a.Ga<<1};g.Bc=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,zb(b))}Ab(this)};
|
g.Pb=function(){var a=this.b.na;this.b.na&=-129;return a};g.Dc=function(a){this.b.na=a;a&64&&yb(this.a,this.b.hb,1E3/60);this.b.na=a&-129};g.Ib=function(a){return(a?this.c.tc:this.c.data)&65535};g.wc=function(a){this.c.data=a};g.Rb=function(){var a=this.a;return a.A&62337|a.Ia<<5|a.Ja<<1};g.Fc=function(a){var b=this.a;a&=62337;if(b.A!=a){b.A=a;b.Ia=a>>5&3;b.Ja=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Da!=c&&(b.Da=c,Ab(b))}Bb(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.Cc=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),zb(b));Ab(this)};function Ab(a){a.c.Pa=a.c.Pa&-8|(a.a.Ba?a.a.na&16?1:2:4)}g.dc=function(a){return this.a.C[1][a>>1&7]};g.Qc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.bc=function(a){return this.a.C[1][(a>>1&7)+8]};
|
g.Sb=function(){var a=this.a.oa;a&65280&&(a=(a<<8|a>>8)&65535);return a};g.Tb=function(){return this.a.fb};g.Ub=function(){return this.a.pa};g.Gc=function(a){var b=this.a;1170>b.Fa&&(a&=-49);b.pa!=a&&(b.pa=a,a&16?(b.Za=4194303,b.Ka=3915776):(b.Za=262143,b.Ka=253952),Ab(b));Bb(this)};function Bb(a){a.c.Sa=a.c.Sa&-8|(a.a.Da?a.a.pa&16?1:2:4)}g.hc=function(a){return this.a.C[1][a>>1&7]};g.Uc=function(a,b){this.a.C[1][b>>1&7]=a&65295};g.fc=function(a){return this.a.C[1][(a>>1&7)+8]};
|
||||||
g.Oc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.cc=function(a){return this.a.P[1][a>>1&7]};g.Pc=function(a,b){b=b>>1&7;this.a.P[1][b]=a;this.a.C[1][b]&=65295};g.ac=function(a){return this.a.P[1][(a>>1&7)+8]};g.Nc=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.yc=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.wc=function(a,b){this.a.C[0][(b>>1&7)+8]=a&65295};
|
g.Sc=function(a,b){this.a.C[1][(b>>1&7)+8]=a&65295};g.gc=function(a){return this.a.R[1][a>>1&7]};g.Tc=function(a,b){b=b>>1&7;this.a.R[1][b]=a;this.a.C[1][b]&=65295};g.ec=function(a){return this.a.R[1][(a>>1&7)+8]};g.Rc=function(a,b){b=(b>>1&7)+8;this.a.R[1][b]=a;this.a.C[1][b]&=65295};g.Ob=function(a){return this.a.C[0][a>>1&7]};g.Cc=function(a,b){this.a.C[0][b>>1&7]=a&65295};g.Mb=function(a){return this.a.C[0][(a>>1&7)+8]};g.Ac=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.xc=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.vc=function(a,b){b=(b>>1&7)+8;this.a.P[0][b]=a;this.a.C[0][b]&=65295};g.jc=function(a){return this.a.C[3][a>>1&7]};g.Wc=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.hc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Uc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.ic=function(a){return this.a.P[3][a>>1&7]};
|
g.Nb=function(a){return this.a.R[0][a>>1&7]};g.Bc=function(a,b){b=b>>1&7;this.a.R[0][b]=a;this.a.C[0][b]&=65295};g.Lb=function(a){return this.a.R[0][(a>>1&7)+8]};g.zc=function(a,b){b=(b>>1&7)+8;this.a.R[0][b]=a;this.a.C[0][b]&=65295};g.nc=function(a){return this.a.C[3][a>>1&7]};g.$c=function(a,b){this.a.C[3][b>>1&7]=a&65295};g.lc=function(a){return this.a.C[3][(a>>1&7)+8]};g.Yc=function(a,b){this.a.C[3][(b>>1&7)+8]=a&65295};g.mc=function(a){return this.a.R[3][a>>1&7]};
|
||||||
g.Vc=function(a,b){b=b>>1&7;this.a.P[3][b]=a;this.a.C[3][b]&=65295};g.gc=function(a){return this.a.P[3][(a>>1&7)+8]};g.Tc=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.Vb=function(){return this.a.u&49152?this.a.Z[0]:this.a.f[6]};g.Hc=function(a){this.a.u&49152?this.a.Z[0]=a:this.a.f[6]=a};g.Yb=function(){return this.a.f[7]};
|
g.Zc=function(a,b){b=b>>1&7;this.a.R[3][b]=a;this.a.C[3][b]&=65295};g.kc=function(a){return this.a.R[3][(a>>1&7)+8]};g.Xc=function(a,b){b=(b>>1&7)+8;this.a.R[3][b]=a;this.a.C[3][b]&=65295};g.wa=function(a){a&=7;return this.a.u&2048?this.a.ua[a]:this.a.f[a]};g.ya=function(a,b){b&=7;this.a.u&2048?this.a.ua[b]=a:this.a.f[b]=a};g.Zb=function(){return this.a.u&49152?this.a.aa[0]:this.a.f[6]};g.Lc=function(a){this.a.u&49152?this.a.aa[0]=a:this.a.f[6]=a};g.bc=function(){return this.a.f[7]};
|
||||||
g.Kc=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.Wb=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[1]};g.Ic=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[1]=a};g.Xb=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.Z[3]};g.Jc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.Z[3]=a};g.Gb=function(a){return this.a.pb[a-65504>>1]};
|
g.Oc=function(a){this.a.f[7]=a};g.xa=function(a){a&=7;return this.a.u&2048?this.a.f[a]:this.a.ua[a]};g.za=function(a,b){b&=7;this.a.u&2048?this.a.f[b]=a:this.a.ua[b]=a};g.$b=function(){return 1==(this.a.u&49152)>>14?this.a.f[6]:this.a.aa[1]};g.Mc=function(a){1==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.aa[1]=a};g.ac=function(){return 3==(this.a.u&49152)>>14?this.a.f[6]:this.a.aa[3]};g.Nc=function(a){3==(this.a.u&49152)>>14?this.a.f[6]=a:this.a.aa[3]=a};g.Kb=function(a){return this.a.ub[a-65504>>1]};
|
||||||
g.uc=function(a,b){this.a.pb[b-65504>>1]=a};g.nb=function(a){return 65520==a?61183:0};g.ub=function(){};g.fc=function(){return 1};g.Sc=function(){};g.Fb=function(){return this.a.F};g.tc=function(){this.a.F=0};g.Mb=function(){return this.a.ob};g.Ac=function(a,b){b&1||(a&=255);this.a.ob=a};g.Rb=function(a){return a?this.a.ab:0};g.Dc=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.ec=function(a){return a?this.a.oa&65280:0};g.Rc=function(a){this.a.oa=a|255};
|
g.yc=function(a,b){this.a.ub[b-65504>>1]=a};g.sb=function(a){return 65520==a?61183:0};g.zb=function(){};g.jc=function(){return 1};g.Wc=function(){};g.Jb=function(){return this.a.F};g.xc=function(){this.a.F=0};g.Qb=function(){return this.a.tb};g.Ec=function(a,b){b&1||(a&=255);this.a.tb=a};g.Vb=function(a){return a?this.a.gb:0};g.Hc=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.gb=a;b.l|=2};g.ic=function(a){return a?this.a.qa&65280:0};g.Vc=function(a){this.a.qa=a|255};
|
||||||
g.Ub=function(){return Ya(this.a)};g.Gc=function(a){Bb(this.a,a&-1809|Ya(this.a)&1808);this.a.j|=128};g.tb=function(){};
|
g.Yb=function(){return Za(this.a)};g.Kc=function(a){Cb(this.a,a&-1809|Za(this.a)&1808);this.a.l|=128};g.yb=function(){};
|
||||||
var J={},I=(J[62592]=[null,null,H.prototype.dc,H.prototype.Qc,"SISDR",1145],J[62608]=[null,null,H.prototype.bc,H.prototype.Oc,"SDSDR",1145],J[62624]=[null,null,H.prototype.cc,H.prototype.Pc,"SISAR",1145],J[62640]=[null,null,H.prototype.ac,H.prototype.Nc,"SDSAR",1145],J[62656]=[null,null,H.prototype.Kb,H.prototype.yc,"KISDR",1145],J[62672]=[null,null,H.prototype.Ib,H.prototype.wc,"KDSDR",1145],J[62688]=[null,null,H.prototype.Jb,H.prototype.xc,"KISAR",1145],J[62704]=[null,null,H.prototype.Hb,H.prototype.vc,
|
var I={},H=(I[62592]=[null,null,G.prototype.hc,G.prototype.Uc,"SISDR",1145],I[62608]=[null,null,G.prototype.fc,G.prototype.Sc,"SDSDR",1145],I[62624]=[null,null,G.prototype.gc,G.prototype.Tc,"SISAR",1145],I[62640]=[null,null,G.prototype.ec,G.prototype.Rc,"SDSAR",1145],I[62656]=[null,null,G.prototype.Ob,G.prototype.Cc,"KISDR",1145],I[62672]=[null,null,G.prototype.Mb,G.prototype.Ac,"KDSDR",1145],I[62688]=[null,null,G.prototype.Nb,G.prototype.Bc,"KISAR",1145],I[62704]=[null,null,G.prototype.Lb,G.prototype.zc,
|
||||||
"KDSAR",1145],J[62798]=[null,null,H.prototype.Qb,H.prototype.Cc,"MMR3",1145],J[65382]=[null,null,H.prototype.Lb,H.prototype.zc,"LKS"],J[65400]=[null,null,H.prototype.Eb,H.prototype.sc,"CNSL"],J[65402]=[null,null,H.prototype.Nb,H.prototype.Bc,"MMR0",1145],J[65404]=[null,null,H.prototype.Ob,H.prototype.tb,"MMR1",1145],J[65406]=[null,null,H.prototype.Pb,H.prototype.tb,"MMR2",1145],J[65408]=[null,null,H.prototype.jc,H.prototype.Wc,"UISDR",1145],J[65424]=[null,null,H.prototype.hc,H.prototype.Uc,"UDSDR",
|
"KDSAR",1145],I[62798]=[null,null,G.prototype.Ub,G.prototype.Gc,"MMR3",1145],I[65382]=[null,null,G.prototype.Pb,G.prototype.Dc,"LKS"],I[65400]=[null,null,G.prototype.Ib,G.prototype.wc,"CNSL"],I[65402]=[null,null,G.prototype.Rb,G.prototype.Fc,"MMR0",1145],I[65404]=[null,null,G.prototype.Sb,G.prototype.yb,"MMR1",1145],I[65406]=[null,null,G.prototype.Tb,G.prototype.yb,"MMR2",1145],I[65408]=[null,null,G.prototype.nc,G.prototype.$c,"UISDR",1145],I[65424]=[null,null,G.prototype.lc,G.prototype.Yc,"UDSDR",
|
||||||
1145],J[65440]=[null,null,H.prototype.ic,H.prototype.Vc,"UISAR",1145],J[65456]=[null,null,H.prototype.gc,H.prototype.Tc,"UDSAR",1145],J[65472]=[null,null,H.prototype.ua,H.prototype.wa,"R0SET0"],J[65473]=[null,null,H.prototype.ua,H.prototype.wa,"R1SET0"],J[65474]=[null,null,H.prototype.ua,H.prototype.wa,"R2SET0"],J[65475]=[null,null,H.prototype.ua,H.prototype.wa,"R3SET0"],J[65476]=[null,null,H.prototype.ua,H.prototype.wa,"R4SET0"],J[65477]=[null,null,H.prototype.ua,H.prototype.wa,"R5SET0"],J[65478]=
|
1145],I[65440]=[null,null,G.prototype.mc,G.prototype.Zc,"UISAR",1145],I[65456]=[null,null,G.prototype.kc,G.prototype.Xc,"UDSAR",1145],I[65472]=[null,null,G.prototype.wa,G.prototype.ya,"R0SET0"],I[65473]=[null,null,G.prototype.wa,G.prototype.ya,"R1SET0"],I[65474]=[null,null,G.prototype.wa,G.prototype.ya,"R2SET0"],I[65475]=[null,null,G.prototype.wa,G.prototype.ya,"R3SET0"],I[65476]=[null,null,G.prototype.wa,G.prototype.ya,"R4SET0"],I[65477]=[null,null,G.prototype.wa,G.prototype.ya,"R5SET0"],I[65478]=
|
||||||
[null,null,H.prototype.Vb,H.prototype.Hc,"R6KERNEL"],J[65479]=[null,null,H.prototype.Yb,H.prototype.Kc,"R7KERNEL"],J[65480]=[null,null,H.prototype.va,H.prototype.xa,"R0SET1",1145],J[65481]=[null,null,H.prototype.va,H.prototype.xa,"R1SET1",1145],J[65482]=[null,null,H.prototype.va,H.prototype.xa,"R2SET1",1145],J[65483]=[null,null,H.prototype.va,H.prototype.xa,"R3SET1",1145],J[65484]=[null,null,H.prototype.va,H.prototype.xa,"R4SET1",1145],J[65485]=[null,null,H.prototype.va,H.prototype.xa,"R5SET1",1145],
|
[null,null,G.prototype.Zb,G.prototype.Lc,"R6KERNEL"],I[65479]=[null,null,G.prototype.bc,G.prototype.Oc,"R7KERNEL"],I[65480]=[null,null,G.prototype.xa,G.prototype.za,"R0SET1",1145],I[65481]=[null,null,G.prototype.xa,G.prototype.za,"R1SET1",1145],I[65482]=[null,null,G.prototype.xa,G.prototype.za,"R2SET1",1145],I[65483]=[null,null,G.prototype.xa,G.prototype.za,"R3SET1",1145],I[65484]=[null,null,G.prototype.xa,G.prototype.za,"R4SET1",1145],I[65485]=[null,null,G.prototype.xa,G.prototype.za,"R5SET1",1145],
|
||||||
J[65486]=[null,null,H.prototype.Wb,H.prototype.Ic,"R6SUPER",1145],J[65487]=[null,null,H.prototype.Xb,H.prototype.Jc,"R6USER",1145],J[65504]=[null,null,H.prototype.Gb,H.prototype.uc,"CTRL",1170],J[65520]=[null,null,H.prototype.nb,H.prototype.ub,"LSIZE",1170],J[65522]=[null,null,H.prototype.nb,H.prototype.ub,"HSIZE",1170],J[65524]=[null,null,H.prototype.fc,H.prototype.Sc,"SYSID",1170],J[65526]=[null,null,H.prototype.Fb,H.prototype.tc,"CPUERR",1170],J[65528]=[null,null,H.prototype.Mb,H.prototype.Ac,
|
I[65486]=[null,null,G.prototype.$b,G.prototype.Mc,"R6SUPER",1145],I[65487]=[null,null,G.prototype.ac,G.prototype.Nc,"R6USER",1145],I[65504]=[null,null,G.prototype.Kb,G.prototype.yc,"CTRL",1170],I[65520]=[null,null,G.prototype.sb,G.prototype.zb,"LSIZE",1170],I[65522]=[null,null,G.prototype.sb,G.prototype.zb,"HSIZE",1170],I[65524]=[null,null,G.prototype.jc,G.prototype.Wc,"SYSID",1170],I[65526]=[null,null,G.prototype.Jb,G.prototype.xc,"CPUERR",1170],I[65528]=[null,null,G.prototype.Qb,G.prototype.Ec,
|
||||||
"MB",1170],J[65530]=[null,null,H.prototype.Rb,H.prototype.Dc,"PIR"],J[65532]=[null,null,H.prototype.ec,H.prototype.Rc,"SL"],J[65534]=[null,null,H.prototype.Ub,H.prototype.Gc,"PSW"],J);I[62594]=I[62592];I[62596]=I[62592];I[62598]=I[62592];I[62600]=I[62592];I[62602]=I[62592];I[62604]=I[62592];I[62606]=I[62592];I[62610]=I[62608];I[62612]=I[62608];I[62614]=I[62608];I[62616]=I[62608];I[62618]=I[62608];I[62620]=I[62608];I[62622]=I[62608];I[62626]=I[62624];I[62628]=I[62624];I[62630]=I[62624];I[62632]=I[62624];
|
"MB",1170],I[65530]=[null,null,G.prototype.Vb,G.prototype.Hc,"PIR"],I[65532]=[null,null,G.prototype.ic,G.prototype.Vc,"SL"],I[65534]=[null,null,G.prototype.Yb,G.prototype.Kc,"PSW"],I);H[62594]=H[62592];H[62596]=H[62592];H[62598]=H[62592];H[62600]=H[62592];H[62602]=H[62592];H[62604]=H[62592];H[62606]=H[62592];H[62610]=H[62608];H[62612]=H[62608];H[62614]=H[62608];H[62616]=H[62608];H[62618]=H[62608];H[62620]=H[62608];H[62622]=H[62608];H[62626]=H[62624];H[62628]=H[62624];H[62630]=H[62624];H[62632]=H[62624];
|
||||||
I[62634]=I[62624];I[62636]=I[62624];I[62638]=I[62624];I[62642]=I[62640];I[62644]=I[62640];I[62646]=I[62640];I[62648]=I[62640];I[62650]=I[62640];I[62652]=I[62640];I[62654]=I[62640];I[62658]=I[62656];I[62660]=I[62656];I[62662]=I[62656];I[62664]=I[62656];I[62666]=I[62656];I[62668]=I[62656];I[62670]=I[62656];I[62674]=I[62672];I[62676]=I[62672];I[62678]=I[62672];I[62680]=I[62672];I[62682]=I[62672];I[62684]=I[62672];I[62686]=I[62672];I[62690]=I[62688];I[62692]=I[62688];I[62694]=I[62688];I[62696]=I[62688];
|
H[62634]=H[62624];H[62636]=H[62624];H[62638]=H[62624];H[62642]=H[62640];H[62644]=H[62640];H[62646]=H[62640];H[62648]=H[62640];H[62650]=H[62640];H[62652]=H[62640];H[62654]=H[62640];H[62658]=H[62656];H[62660]=H[62656];H[62662]=H[62656];H[62664]=H[62656];H[62666]=H[62656];H[62668]=H[62656];H[62670]=H[62656];H[62674]=H[62672];H[62676]=H[62672];H[62678]=H[62672];H[62680]=H[62672];H[62682]=H[62672];H[62684]=H[62672];H[62686]=H[62672];H[62690]=H[62688];H[62692]=H[62688];H[62694]=H[62688];H[62696]=H[62688];
|
||||||
I[62698]=I[62688];I[62700]=I[62688];I[62702]=I[62688];I[62706]=I[62704];I[62708]=I[62704];I[62710]=I[62704];I[62712]=I[62704];I[62714]=I[62704];I[62716]=I[62704];I[62718]=I[62704];I[65410]=I[65408];I[65412]=I[65408];I[65414]=I[65408];I[65416]=I[65408];I[65418]=I[65408];I[65420]=I[65408];I[65422]=I[65408];I[65426]=I[65424];I[65428]=I[65424];I[65430]=I[65424];I[65432]=I[65424];I[65434]=I[65424];I[65436]=I[65424];I[65438]=I[65424];I[65442]=I[65440];I[65444]=I[65440];I[65446]=I[65440];I[65448]=I[65440];
|
H[62698]=H[62688];H[62700]=H[62688];H[62702]=H[62688];H[62706]=H[62704];H[62708]=H[62704];H[62710]=H[62704];H[62712]=H[62704];H[62714]=H[62704];H[62716]=H[62704];H[62718]=H[62704];H[65410]=H[65408];H[65412]=H[65408];H[65414]=H[65408];H[65416]=H[65408];H[65418]=H[65408];H[65420]=H[65408];H[65422]=H[65408];H[65426]=H[65424];H[65428]=H[65424];H[65430]=H[65424];H[65432]=H[65424];H[65434]=H[65424];H[65436]=H[65424];H[65438]=H[65424];H[65442]=H[65440];H[65444]=H[65440];H[65446]=H[65440];H[65448]=H[65440];
|
||||||
I[65450]=I[65440];I[65452]=I[65440];I[65454]=I[65440];I[65458]=I[65456];I[65460]=I[65456];I[65462]=I[65456];I[65464]=I[65456];I[65466]=I[65456];I[65468]=I[65456];I[65470]=I[65456];I[65506]=I[65504];I[65508]=I[65504];I[65510]=I[65504];I[65512]=I[65504];I[65514]=I[65504];I[65516]=I[65504];I[65518]=I[65504];u(function(){for(var a=B(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=z(d);switch(c.type){case "default":c=new H(c);A(c,d);break;case "pc11":c=new K(c),A(c,d)}}});var Cb;
|
H[65450]=H[65440];H[65452]=H[65440];H[65454]=H[65440];H[65458]=H[65456];H[65460]=H[65456];H[65462]=H[65456];H[65464]=H[65456];H[65466]=H[65456];H[65468]=H[65456];H[65470]=H[65456];H[65506]=H[65504];H[65508]=H[65504];H[65510]=H[65504];H[65512]=H[65504];H[65514]=H[65504];H[65516]=H[65504];H[65518]=H[65504];q(function(){for(var a=A(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=y(d);switch(c.type){case "default":c=new G(c);z(c,d);break;case "pc11":c=new J(c),z(c,d)}}});var Db;
|
||||||
if(Sa){var Db=new ArrayBuffer(2);(new DataView(Db)).setUint16(0,256,!0);Cb=256===(new Uint16Array(Db))[0]}else Cb=!1;var Eb=Cb;
|
if(Ta){var Eb=new ArrayBuffer(2);(new DataView(Eb)).setUint16(0,256,!0);Db=256===(new Uint16Array(Eb))[0]}else Db=!1;var Fb=Db;
|
||||||
function F(a,b,c,d,e,f){this.l=a;this.id=Fb+=2;this.a=null;this.za=b;this.Qa=c;this.size=d||0;this.type=e||Gb;this.v=e==Hb;this.controller=null;db(this);this.ja=this.xb=!1;if(d)if(f)this.controller=f,this.a=null,Ib(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),Ib(this,Eb?Jb:Kb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Ib(this,Lb)}else Ib(this)}
|
function E(a,b,c,d,e,f){this.m=a;this.id=Gb+=2;this.a=null;this.Ba=b;this.Ua=c;this.size=d||0;this.type=e||Hb;this.v=e==Ib;this.controller=null;eb(this);this.la=this.Cb=!1;if(d)if(f)this.controller=f,this.a=null,Jb(this,f.Ab);else if(Ta)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),Jb(this,Fb?Kb:Lb);else{this.a=Array(d>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;Jb(this,Mb)}else Jb(this)}
|
||||||
var Gb=0,Hb=2,kb=4,mb=["NONE","RAM","ROM","VID","H/W"],Fb=0;
|
var Hb=0,Ib=2,lb=4,nb=["NONE","RAM","ROM","VID","H/W"],Gb=0;
|
||||||
F.prototype={constructor:F,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.ja=!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++,
|
E.prototype={constructor:E,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ta)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(Ta)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.la=!0}return!1},w:function(){return 255},A:function(){},s:function(a,b){return this.cb(a++,b++)|this.cb(a,b)<<8},B:function(a,b,c){this.ib(a++,
|
||||||
b&255,c++);this.eb(a,b>>8,c)},M:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},$:function(a,b){a&1&&ub(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},fa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ja=!0},ra:function(a,b,c){a&1&&ub(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.ja=!0},H:function(a,b){return this.I(a,b)},
|
b&255,c++);this.ib(a,b>>8,c)},N:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ba:function(a,b){a&1&&vb(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},ha:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.la=!0},ta:function(a,b,c){a&1&&vb(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.la=!0},H:function(a,b){return this.I(a,b)},
|
||||||
R:function(a,b){return this.V(a,b)},ba:function(a,b,c){this.v||this.sb(a,b,c)},ha: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&&ub(this.l,b);return this.g.getUint16(a,!0)},W:function(a,b){a&1&&ub(this.l,b);return this.o[a>>1]},aa:function(a,b){this.c[a]=b;this.ja=!0},ea:function(a,b){this.c[a]=b;this.ja=!0},ga:function(a,b,c){a&1&&ub(this.l,c);this.g.setUint16(a,b,!0);this.ja=!0},qa:function(a,b,c){a&1&&ub(this.l,c);this.o[a>>
|
S:function(a,b){return this.W(a,b)},da:function(a,b,c){this.v||this.xb(a,b,c)},ja:function(a,b,c){this.v||this.ra(a,b,c)},D:function(a){return this.c[a]},J:function(a){return this.c[a]},O:function(a,b){a&1&&vb(this.m,b);return this.g.getUint16(a,!0)},X:function(a,b){a&1&&vb(this.m,b);return this.o[a>>1]},ca:function(a,b){this.c[a]=b;this.la=!0},ga:function(a,b){this.c[a]=b;this.la=!0},ia:function(a,b,c){a&1&&vb(this.m,c);this.g.setUint16(a,b,!0);this.la=!0},sa:function(a,b,c){a&1&&vb(this.m,c);this.o[a>>
|
||||||
1]=b;this.ja=!0}};function db(a,b,c){a.G=b;a.i=a.m=0;c&&((a.i=c.i)&&Mb(a,Nb,!1),(a.m=c.m)&&Ob(a,Nb,!1))}function Ob(a,b,c){c&&a.m||(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 Mb(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 Ib(a,b){b||(b=Pb);Mb(a,b,void 0);Ob(a,b,void 0)}
|
1]=b;this.la=!0}};function eb(a,b,c){a.G=b;a.h=a.j=0;c&&((a.h=c.h)&&Nb(a,Ob,!1),(a.j=c.j)&&Pb(a,Ob,!1))}function Pb(a,b,c){c&&a.j||(a.ib=!a.v&&b[1]||a.A,a.Va=!a.v&&b[3]||a.B);if(c||void 0===c)a.xb=b[1]||a.A,a.ra=b[3]||a.B}function Nb(a,b,c){c&&a.h||(a.cb=b[0]||a.w,a.T=b[2]||a.s);if(c||void 0===c)a.I=b[0]||a.w,a.W=b[2]||a.s}function Jb(a,b){b||(b=Qb);Nb(a,b,void 0);Pb(a,b,void 0)}
|
||||||
var Pb=[],Lb=[F.prototype.M,F.prototype.fa,F.prototype.$,F.prototype.ra],Nb=[F.prototype.H,F.prototype.ba,F.prototype.R,F.prototype.ha];if(Sa)var Kb=[F.prototype.D,F.prototype.aa,F.prototype.N,F.prototype.ga],Jb=[F.prototype.J,F.prototype.ea,F.prototype.W,F.prototype.qa];
|
var Qb=[],Mb=[E.prototype.N,E.prototype.ha,E.prototype.ba,E.prototype.ta],Ob=[E.prototype.H,E.prototype.da,E.prototype.S,E.prototype.ja];if(Ta)var Lb=[E.prototype.D,E.prototype.ca,E.prototype.O,E.prototype.ia],Kb=[E.prototype.J,E.prototype.ga,E.prototype.X,E.prototype.sa];
|
||||||
function Qb(a,b){v.call(this,"CPU",a,Qb);var c=a.multiplier||1;this.La=a.cycles||b;this.ba=c;this.Va=Math.round(this.La/1E4)/100;this.ea=this.Va*this.ba;this.h.T=!1;this.h.qb=!1;this.h.Aa=a.autoStart;this.h.Ma=!1;this.Ja=this.ga=0;this.Ka=a.csStart;this.pa=a.csInterval;this.qa=a.csStop;this.H=[];this.mb=this.oc.bind(this);C(this)}x(Qb);var Rb=["power","reset"];g=Qb.prototype;
|
function Rb(a,b){u.call(this,"CPU",a,Rb);var c=a.multiplier||1;this.Pa=a.cycles||b;this.da=c;this.Ya=Math.round(this.Pa/1E4)/100;this.ga=this.Ya*this.da;this.i.U=!1;this.i.vb=!1;this.i.Ca=a.autoStart;this.i.Oa=!1;this.Ma=this.ia=0;this.Na=a.csStart;this.ra=a.csInterval;this.sa=a.csStop;this.H=[];this.rb=this.sc.bind(this);B(this)}w(Rb);var Sb=["power","reset"];g=Rb.prototype;
|
||||||
g.ca=function(a,b,c,d){this.w=a;this.l=b;this.G=d;for(b=0;b<Rb.length;b++)(c=this.v[Rb[b]])&&this.w.U(null,Rb[b],c);a=Sb(a,"autoStart");null!=a&&(this.h.Aa="true"==a?!0:"false"==a?!1:!!a);C(this)};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Y=function(a,b){if(!b){if(a&&this.restore){Tb(this);if(!this.restore(a))return!1;Ub(this)}else this.reset();this.O("No debugger detected")}this.w.da();return!0};g.X=function(a){return a?this.save():!0};
|
g.ea=function(a,b,c,d){this.w=a;this.m=b;this.G=d;for(b=0;b<Sb.length;b++)(c=this.v[Sb[b]])&&this.w.V(null,Sb[b],c);a=Tb(a,"autoStart");null!=a&&(this.i.Ca="true"==a?!0:"false"==a?!1:!!a);B(this)};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.$=function(a,b){if(!b){if(a&&this.restore){Ub(this);if(!this.restore(a))return!1;Vb(this)}else this.reset();this.P("No debugger detected")}this.w.fa();return!0};g.Z=function(a){return a?this.save():!0};
|
||||||
g.Aa=function(){return this.h.Aa||void 0===this.v.run?(Vb(this),!0):!1};g.hb=function(){return 0};function Ub(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.ga=a.Ka-a.J)}
|
g.Ca=function(){return this.i.Ca||void 0===this.v.run?(Wb(this),!0):!1};g.lb=function(){return 0};function Vb(a){void 0===a.Na&&(a.Na=0);void 0===a.ra&&(a.ra=-1);void 0===a.sa&&(a.sa=-1);a.i.Oa=0<=a.Na&&0<a.ra;a.i.Oa&&(a.Ma=0,a.ia=a.Na-a.J)}
|
||||||
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?Wa(d):Vb(d))},!0;case "speed":return this.v[b]=
|
g.V=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.i.M)a=!0;else{var b=null,c,l=x(a.id);for(c=0;c<l.length&&(b=l[c],b===a||b.i.ready);c++);if(c==l.length)for(c=0;c<l.length&&(b=l[c],b===a||b.i.M);c++);c==l.length&&(b=a);m("The "+b.type+" component ("+b.id+") is not "+(b.i.ready?"powered yet":"ready yet"+(b.Ra?" (waiting for notification)":""))+".");a=!1}a&&(d.i.U?Xa(d):Wb(d))},!0;case "speed":return this.v[b]=
|
||||||
c,!0;case "setSpeed":return this.v[b]=c,c.onclick=function(){Wb(d,d.ba<<1)},c.textContent=this.ea.toFixed(2)+"Mhz",!0}return!1};g.da=function(){var a=this.v.speed;a&&(a.textContent=this.h.T&&this.$?this.$.toFixed(2)+"Mhz":"Stopped")};function Xb(a,b){var c=1;b&&1<a.ba&&a.$&&(c=a.$/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 Yb(a){return a.J+a.V+a.fa-a.a}function Tb(a){a.$=0;a.lb=0;a.J=a.V=a.fa=a.a=0;Ub(a);Wb(a,1)}
|
c,!0;case "setSpeed":return this.v[b]=c,c.onclick=function(){Xb(d,d.da<<1)},c.textContent=this.ga.toFixed(2)+"Mhz",!0}return!1};g.fa=function(){var a=this.v.speed;a&&(a.textContent=this.i.U&&this.ba?this.ba.toFixed(2)+"Mhz":"Stopped")};function Yb(a,b){var c=1;b&&1<a.da&&a.ba&&(c=a.ba/a.Ya);a.pb=Math.round(1E3/30);a.Qa=Math.floor(a.Pa/30*c);b||(a.ta=a.Qa);a.$a=0}function Zb(a){return a.J+a.W+a.ha-a.a}function Ub(a){a.ba=0;a.qb=0;a.J=a.W=a.ha=a.a=0;Vb(a);Xb(a,1)}
|
||||||
function Wb(a,b){if(void 0!==b&&(.8>a.$/a.ea&&(b=1),a.ba=b,b=a.Va*a.ba,a.ea!=b)){a.ea=b;b=a.ea.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.aa=0;Xb(a)}function vb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function xb(a,b,c){0<=b&&b<a.H.length&&0>a.H[b][0]&&(c=a.La*a.ba/1E3*c|0,a.H[b][0]=c+Zb(a))}function Zb(a,b){var c=a.fa-=a.a;a.a=0;b&&(a.fa=0);return c}
|
function Xb(a,b){if(void 0!==b&&(.8>a.ba/a.ga&&(b=1),a.da=b,b=a.Ya*a.da,a.ga!=b)){a.ga=b;b=a.ga.toFixed(2)+"Mhz";var c=a.v.setSpeed;c&&(c.textContent=b);a.P("target speed: "+b)}a.J+=a.W;a.W=0;a.O=sa();a.ca=0;Yb(a)}function wb(a,b){var c=a.H.length;a.H.push([-1,b]);return c}function yb(a,b,c){0<=b&&b<a.H.length&&0>a.H[b][0]&&(c=a.Pa*a.da/1E3*c|0,a.H[b][0]=c+$b(a))}function $b(a,b){var c=a.ha-=a.a;a.a=0;b&&(a.ha=0);return c}
|
||||||
g.oc=function(){if(this.h.T){this.Xa>=this.La&&Xb(this,!0);this.ya=0;this.Da=sa();if(this.aa){var a=this.Da-this.aa;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=Zb(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.ga-=a;0>=this.ga&&(this.ga+=this.pa,f=!0);0<=this.qa&&this.qa<=Yb(this)&&
|
g.sc=function(){if(this.i.U){this.$a>=this.Pa&&Yb(this,!0);this.Aa=0;this.La=sa();if(this.ca){var a=this.La-this.ca;a>this.pb&&(this.O+=a,this.O>this.La&&(this.O=this.La))}try{do{for(var b,c=this.i.Oa?1:this.Qa,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.wb(b)}catch(n){if("number"!=typeof n)throw n;}b=$b(this,!0);this.Aa+=b;this.W+=b;a=b;if(this.i.Oa){var f=!1;this.Ma=this.Ma+this.lb()|0;this.ia-=a;0>=this.ia&&(this.ia+=this.ra,f=!0);0<=this.sa&&this.sa<=Zb(this)&&
|
||||||
(this.pa=this.qa=-1,Ub(this),Wa(this),f=!0);f&&this.O(Yb(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.da(),this.lb=0);break}}while(this.h.T)}catch(n){Wa(this);this.w&&this.w.stop(sa(),Yb(this));b=n.stack||n.message;this.h.error=!0;this.K(b);return}if(this.h.T){b=setTimeout;c=this.mb;this.aa=sa();d=this.kb;this.ya&&(d=Math.round(d*this.ya/
|
(this.ra=this.sa=-1,Vb(this),Xa(this),f=!0);f&&this.P(Zb(this)+" cycles: checksum="+ja(this.Ma))}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.ta-=b;if(0>=this.ta){this.ta+=this.Qa;15<=++this.qb&&(this.w&&this.w.fa(),this.qb=0);break}}while(this.i.U)}catch(n){Xa(this);this.w&&this.w.stop(sa(),Zb(this));b=n.stack||n.message;this.i.error=!0;this.L(b);return}if(this.i.U){b=setTimeout;c=this.rb;this.ca=sa();d=this.pb;this.Aa&&(d=Math.round(d*
|
||||||
this.Na));d-=this.aa-this.Da;if(e=this.aa-this.N)this.$=Math.round(this.V/(10*e))/100,864E5<=e&&(this.J=0,Wb(this));if(0>d||this.$<this.ea)-1E3>d&&(this.N-=d),d=0;this.Xa+=this.ya;this.aa+=d;b(c,d)}}};function Vb(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{Wb(a);a.h.T=!0;a.h.qb=!0;if(b=a.v.run)b.textContent="Halt";a.w&&a.w.start(a.N,Yb(a));setTimeout(a.mb,0)}}g.rb=function(){return 0};
|
this.Aa/this.Qa));d-=this.ca-this.La;if(e=this.ca-this.O)this.ba=Math.round(this.W/(10*e))/100,864E5<=e&&(this.J=0,Xb(this));if(0>d||this.ba<this.ga)-1E3>d&&(this.O-=d),d=0;this.$a+=this.Aa;this.ca+=d;b(c,d)}}};function Wb(a){var b;a.i.error?(a.P(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.i.U)a.P(a.toString()+" busy");else{Xb(a);a.i.U=!0;a.i.vb=!0;if(b=a.v.run)b.textContent="Halt";a.w&&a.w.start(a.O,Zb(a));setTimeout(a.rb,0)}}g.wb=function(){return 0};
|
||||||
function Wa(a){if(a.h.T){Zb(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(),Yb(a))}a.h.complete=void 0}function $b(a){this.Ia=+a.model||1170;this.Cb=a.resetAddr||0;Qb.call(this,a,6666667);this.decode=1120==this.Ia?ac.bind(this):bc.bind(this);cc(this);this.R=0;this.W=null;this.h.complete=this.h.wb=!1}x($b,Qb);g=$b.prototype;g.reset=function(){this.status("model "+this.Ia);this.h.T&&Wa(this);cc(this);Tb(this);this.h.error=!1;this.parent.reset.call(this)};
|
function Xa(a){if(a.i.U){$b(a);a.J+=a.W;a.W=0;a.i.U=!1;var b=a.v.run;b&&(b.textContent="Run");a.w&&a.w.stop(sa(),Zb(a))}a.i.complete=void 0}function ac(a){this.Fa=+a.model||1170;this.nb=a.addrReset||0;Rb.call(this,a,6666667);this.decode=1120==this.Fa?bc.bind(this):cc.bind(this);dc(this);this.S=0;this.X=null;this.i.complete=this.i.Bb=!1}w(ac,Rb);g=ac.prototype;g.reset=function(){this.status("model "+this.Fa);this.i.U&&Xa(this);dc(this);Ub(this);this.i.error=!1;this.parent.reset.call(this)};
|
||||||
function cc(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.Z=[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 dc(a){a.j=65536;a.g=32768;a.h=65535;a.o=32768;a.u=15;a.f=[0,0,0,0,0,0,0,a.nb];a.ua=[0,0,0,0,0,0];a.aa=[0,0,0,0];a.s=0;a.Ja=0;a.Fb=[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.R=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,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.Hb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.ha=-1;dc(a)}function dc(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.l&&zb(a)}function zb(a){a.Ba?(a.M=65536,a.I=a.zb,a.S=a.lc,a.Ra=a.Yc,gb(a.l,a.na&16?22:18)):(a.M=0,a.I=a.yb,a.S=a.kc,a.Ra=a.Xc,gb(a.l,16))}g.hb=function(){return 0};
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.ub=[0,0,0,0,0,0,0,0];a.tb=0;a.l=0;a.B=a.D=0;a.c=a.b=a.Xa=0;a.ja=-1;ec(a)}function ec(a){a.qa=255;a.F=0;a.gb=0;a.A=0;a.oa=0;a.fb=0;a.pa=0;a.Da=0;a.Ia=0;a.Za=262143;a.Ka=253952;a.l|=2;a.m&&Ab(a)}function Ab(a){a.Da?(a.N=65536,a.I=a.Eb,a.T=a.pc,a.Va=a.bd,hb(a.m,a.pa&16?22:18)):(a.N=0,a.I=a.Db,a.T=a.oc,a.Va=a.ad,hb(a.m,16))}g.lb=function(){return 0};
|
||||||
g.save=function(){var a=new L(this);a.set(0,[]);a.set(1,[this.J,this.ba]);a.set(2,qb(this.l));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Wb(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.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.m&65536?1:0}
|
g.save=function(){var a=new K(this);a.set(0,[]);a.set(1,[this.J,this.da]);a.set(2,rb(this.m));return a.data()};g.restore=function(a){var b=a[1];this.J=b[1];Xb(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)){m("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function L(a){return a.j&65536?1:0}
|
||||||
g.ka=function(){return this.o&32768?8:0};function ec(a){var b=a.S(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function yb(a,b){return{rc:a,ta:b,next:null}}function wb(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 Ya(a){return a.u=a.u&63728|a.ka()|(a.i&65535?0:4)|(a.g&32768?2:0)|M(a)}
|
g.ma=function(){return this.o&32768?8:0};function fc(a){var b=a.T(a.f[7]);a.f[7]=a.f[7]+2&65535;return b}function M(a,b){a.f[7]=b&65535}function zb(a,b){return{vc:a,va:b,next:null}}function xb(a,b){if(b!=a.X){var c=a.X;if(!c||c.va<=b.va)b.next=c,a.X=b;else{do{var d=c.next;if(!d||d.va<=b.va){b.next=d;c.next=b;break}c=d}while(c)}}a.l|=2}function Za(a){return a.u=a.u&63728|a.ma()|(a.h&65535?0:4)|(a.g&32768?2:0)|L(a)}
|
||||||
function Bb(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.Z[c]=a.f[6],a.f[6]=a.Z[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 fc(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 gc(a,b,c,d){a.j&128||(a.o=a.i=a.m=b,a.g=(c^d)&(d^b))}
|
function Cb(a,b){a.o=b<<12;a.h=~b&4;a.g=b<<14;a.j=b<<16;if((b^a.u)&2048)for(var c=a.ua.length;0<=--c;){var d=a.f[c];a.f[c]=a.ua[c];a.ua[c]=d}a.s=b>>14&3;c=a.u>>14&3;a.s!=c&&(a.aa[c]=a.f[6],a.f[6]=a.aa[a.s]);a.u=b;a.l|=2}function N(a,b){a.l&128||(a.o=a.h=b,a.g=0)}function O(a,b,c){a.l&128||(a.o=a.h=a.j=b,a.g=c||0)}function gc(a,b,c,d){a.l&128||(a.o=a.h=a.j=b,a.g=(c^b)&(d^b))}function P(a,b){a.l&128||(a.o=a.h=a.j=b,a.g=a.o^a.j>>1)}function hc(a,b,c,d){a.l&128||(a.o=a.h=a.j=b,a.g=(c^d)&(d^b))}
|
||||||
function G(a,b,c){if(!a.R){var d=!1;0>a.ha?a.ha=Ya(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);Bb(a,f&-12289|a.ha>>2&12288);d&&(a.F|=4,a.f[6]=4);hc(a,a.ha);hc(a,a.f[7]);a.f[7]=e&65535;a.j&=-113;a.ha=-1;if(26!=c)throw b;}}function ic(a){var b=jc(a),c=jc(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);a.f[7]=b&65535;Bb(a,c);a.j&=-17}
|
function F(a,b,c){if(!a.S){var d=!1;0>a.ja?a.ja=Za(a):a.s||(b=4,d=!0);a.A&57344||(a.oa=63222,a.fb=b);a.s=0;var e=a.T(b|a.N),f=a.T(b+2&65535|a.N);Cb(a,f&-12289|a.ja>>2&12288);d&&(a.F|=4,a.f[6]=4);ic(a,a.ja);ic(a,a.f[7]);M(a,e);a.l&=-113;a.ja=-1;if(26!=c)throw b;}}function jc(a){var b=kc(a),c=kc(a)&-1793;a.u&49152&&(c=c&-225|a.u&63712);M(a,b);Cb(a,c);a.l&=-17}
|
||||||
function kc(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,G(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,G(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 lc(a,b,c){var d,e,f,k=0;d=b>>13;a.pa&a.Fb[a.s]||(d&=7);e=a.C[a.s][d];f=(a.R[a.s][d]<<6)+(b&8191)&a.Za;if(f<a.Ka)f&1&&!(c&1)&&(a.F|=64,F(a,4,10));else if(a.pa&16||253952<=f&&(f|=4186112),4186112>f){if(3932160<=f){f&=262143;var l=f>>13&31;31>l?a.pa&32&&(f=a.Hb[l]+(f&8190)&4194302,3932160<=f&&4186112>f&&console.log("panic(898)")):f|=4186112}f>=a.Ka&&4186112>f&&(a.F|=32,F(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:
|
||||||
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.ha&&(k|=128),a.A&57344||(a.A=a.A|k|a.Fa<<5|a.Ga<<1),G(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.j|=32)));return f}function lc(a,b,c){b&1&&a.a--;a=a.l;a.b[(b&a.i)>>>a.l].eb(b&a.g,c&255,b)}function jc(a){var b=a.S(a.f[6]|a.M);a.f[6]=a.f[6]+2&65535;return 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.Ia=a.s,a.Ja=d;k&&(k&57344&&(0<=a.ja&&(k|=128),a.A&57344||(a.A=a.A|k|a.Ia<<5|a.Ja<<1),F(a,168,16)),a.A&61440||!(4191360>f||4194239<f)||(a.A|=4096,a.A&512&&(a.l|=32)));return f}function mc(a,b,c){b&1&&a.a--;a=a.m;a.b[(b&a.h)>>>a.m].ib(b&a.g,c&255,b)}function kc(a){var b=a.T(a.f[6]|a.N);a.f[6]=a.f[6]+2&65535;return b}
|
||||||
function hc(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,G(a,4,18)):(a.F|=8,a.j|=4));a.Ra(c,b)}
|
function ic(a,b){var c=a.f[6]-2&65535;a.f[6]=c;a.A&57344||(a.oa=a.oa<<8|246);!a.s&&c<=a.qa&&4<c&&(c<=a.qa-32?(a.F|=4,a.f[6]=4,F(a,4,18)):(a.F|=8,a.l|=4));a.Va(c,b)}
|
||||||
function mc(a,b,c,d){var e,f,k=d&8?0:a.M;switch(b){case 0:return G(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,G(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 nc(a,b,c,d){var e,f,k=d&8?0:a.N;switch(b){case 0:return F(a,4,20),0;case 1:return 6===c&&!a.s&&d&4&&(a.f[6]<=a.qa||65534<=a.f[6])&&(a.f[6]<=a.qa-32||65534<=a.f[6]?(a.F|=4,a.f[6]=4,F(a,4,22)):(a.F|=8,a.l|=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.T(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.T(e)|k;a.a-=
|
||||||
8;break;case 6:return e=ec(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=ec(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,G(a,4,24)):(a.F|=8,a.j|=64));return e}g.bb=function(a,b){this.Ba?(this.R++,lc(this,kc(this,a,5),b),this.R--):this.l.bb(a,b)};g.yb=function(a,b,c){return mc(this,a,b,c)};g.zb=function(a,b,c){return kc(this,mc(this,a,b,c),c)};
|
8;break;case 6:return e=fc(a),e=e+a.f[c]&65535|k,a.a-=6,e;case 7:return e=fc(a),e=e+a.f[c]&65535,e=a.T(e|a.N)|k,a.a-=10,e}a.f[c]=a.f[c]+f&65535;!k||a.A&57344||(a.oa=a.oa<<8|f<<3&248|c);6==c&&!a.s&&d&4&&0>=f&&(a.f[6]<=a.qa||65534<=a.f[6])&&(a.f[6]<=a.qa-32?(a.F|=4,a.f[6]=4,F(a,4,24)):(a.F|=8,a.l|=64));return e}g.Ta=function(a,b){this.Da?(this.S++,mc(this,lc(this,a,5),b),this.S--):this.m.Ta(a,b)};g.Db=function(a,b,c){return nc(this,a,b,c)};g.Eb=function(a,b,c){return lc(this,nc(this,a,b,c),c)};
|
||||||
g.kc=function(a){return ob(this.l,a)};g.lc=function(a){return ob(this.l,kc(this,a,2))};g.Xc=function(a,b){pb(this.l,a,b&65535)};g.Yc=function(a,b){pb(this.l,kc(this,a,4),b)};function nc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=mc(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.Z[a.u>>12&3];return c}
|
g.oc=function(a){return pb(this.m,a)};g.pc=function(a){return pb(this.m,lc(this,a,2))};g.ad=function(a,b){qb(this.m,a,b&65535)};g.bd=function(a,b){qb(this.m,lc(this,a,4),b)};function oc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=nc(a,b,d,2),c&65536||61440!==(a.u&61440)&&(d&=65535),a.s=a.u>>12&3,c=a.T(d|c&a.N),a.s=a.u>>14&3):c=6!=d||(a.u>>2&12288)===(a.u&12288)?a.f[d]:a.aa[a.u>>12&3];return c}
|
||||||
function oc(a,b,c,d){a.A&57344||(a.ma=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=mc(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=kc(a,e|c&65536,4),a.s=a.u>>14&3,pb(a.l,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.Z[a.u>>12&3]=d}function pc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=nb(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)?ob(a.l,a.I(b,c,2)):a.f[c]}function qc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return mc(a,b,c,8)}
|
function pc(a,b,c,d){a.A&57344||(a.oa=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=nc(a,b,e,4),c&65536||(e&=65535),a.s=a.u>>12&3,e=lc(a,e|c&65536,4),a.s=a.u>>14&3,qb(a.m,e,d)):6!=e||(a.u>>2&12288)===(a.u&12288)?a.f[e]=d:a.aa[a.u>>12&3]=d}function qc(a,b){b>>=6;var c=a.D=b&7;(b=a.B=(b&56)>>3)?(c=a.I(b,c,3),a=ob(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)?pb(a.m,a.I(b,c,2)):a.f[c]}function rc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return nc(a,b,c,8)}
|
||||||
function rc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=nb(a.l,c)):a=a.f[c]&255;return a}function sc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?ob(a.l,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),lc(a,e,d.call(a,c,nb(a.l,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),pb(a.l,e,d.call(a,c,ob(a.l,e)))):a.f[e]=d.call(a,c,a.f[e])}
|
function sc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.I(b,c,3),a=ob(a.m,c)):a=a.f[c]&255;return a}function tc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?pb(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.Xa=a.I(b,e,7),mc(a,e,d.call(a,c,ob(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),qb(a.m,e,d.call(a,c,pb(a.m,e)))):a.f[e]=d.call(a,c,a.f[e])}
|
||||||
function tc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?lc(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 uc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?pb(a.l,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}
|
function uc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?mc(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 vc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?qb(a.m,a.I(b,d,4),c):a.f[d]=c&65535;return c}function T(a,b,c){c&&(M(a,a.f[7]+(b<<24>>23)),a.a-=2);a.a-=3}
|
||||||
g.rb=function(a){this.h.complete=!0;this.h.wb=!1;this.h.qb=!1;this.fa=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?G(this,168,28):this.j&64?G(this,4,30):this.j&16&&G(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.rc,c=a.ta;c>(this.u&224)>>5?(this.j&4&&(this.f[7]=this.f[7]+2&65535,this.j&=-5),G(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&
|
g.wb=function(a){this.i.complete=!0;this.i.Bb=!1;this.i.vb=!1;this.ha=this.a=a;do{if(this.l&&(this.l&112&&(this.l&32?F(this,168,28):this.l&64?F(this,4,30):this.l&16&&F(this,12,32),this.l&=-113),this.l&7))if(this.l&2){this.l&=-3;var b=160,c=(this.gb&224)>>5;if(a=this.X&&this.X.va>c?this.X:null)b=a.vc,c=a.va;c>(this.u&224)>>5?(this.l&4&&(this.f[7]=this.f[7]+2&65535,this.l&=-5),F(this,b,26),c=!0):c=!1;if(c&&a)if(c=this.X,c==a)this.X=a.next;else for(;c;){b=c.next;if(b==a){c.next=b.next;break}c=b}}else this.l&
|
||||||
1&&this.j++;this.A&57344||(this.ma=0,this.$a=this.f[7]);this.j=this.j&7|this.u&16;this.decode(ec(this))}while(0<this.a);return this.h.complete?this.fa-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=B(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $b(d);A(d,c)}});function vc(a,b){var c=b+a;fc(this,c,a,b);return c&65535}function wc(a,b){var c=b+a;fc(this,c<<8,a<<8,b<<8);return c&255}function xc(a,b){a=b<<1;P(this,a);return a&65535}
|
1&&this.l++;this.A&57344||(this.oa=0,this.fb=this.f[7]);this.l=this.l&7|this.u&16;this.decode(fc(this))}while(0<this.a);return this.i.complete?this.ha-this.a:void 0===this.i.complete?0:-1};q(function(){for(var a=A(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new ac(d);z(d,c)}});function wc(a,b){var c=b+a;gc(this,c,a,b);return c&65535}function xc(a,b){var c=b+a;gc(this,c<<8,a<<8,b<<8);return c&255}function yc(a,b){a=b<<1;P(this,a);return a&65535}
|
||||||
function yc(a,b){a=b<<1;P(this,a<<8);return a&255}function zc(a,b){a=b&32768|b>>1|b<<16;P(this,a);return a&65535}function Ac(a,b){a=b&2048|b>>1|b<<8;P(this,a<<8);return a&255}function Bc(a,b){a=b&~a;N(this,a);return a}function Cc(a,b){a=b&~a;N(this,a<<8);return a}function Dc(a,b){a|=b;N(this,a);return a}function Ec(a,b){a|=b;N(this,a<<8);return a}function Fc(a,b){a=~b|65536;O(this,a);return a&65535}function Gc(a,b){a=~b|256;O(this,a<<8);return a&255}
|
function zc(a,b){a=b<<1;P(this,a<<8);return a&255}function Ac(a,b){a=b&32768|b>>1|b<<16;P(this,a);return a&65535}function Bc(a,b){a=b&2048|b>>1|b<<8;P(this,a<<8);return a&255}function Cc(a,b){a=b&~a;N(this,a);return a}function Dc(a,b){a=b&~a;N(this,a<<8);return a}function Ec(a,b){a|=b;N(this,a);return a}function Fc(a,b){a|=b;N(this,a<<8);return a}function Gc(a,b){a=~b|65536;O(this,a);return a&65535}function Hc(a,b){a=~b|256;O(this,a<<8);return a&255}
|
||||||
function Hc(a,b){a=b-a;this.j&128||(this.o=this.i=a,this.g=b&(b^a));return a&65535}function Ic(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 Jc(a,b){a=b+a;this.j&128||(this.o=this.i=a,this.g=a&(b^a));return a&65535}function Kc(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 Lc(a,b){a=-b;O(this,a,a&b&32768);return a&65535}function Mc(a,b){a=-b;O(this,a<<8,(a&b&128)<<8);return a&255}
|
function Ic(a,b){a=b-a;this.l&128||(this.o=this.h=a,this.g=b&(b^a));return a&65535}function Jc(a,b){a=b-a;var c=a<<8;b<<=8;this.l&128||(this.o=this.h=c,this.g=b&(b^c));return a&255}function Kc(a,b){a=b+a;this.l&128||(this.o=this.h=a,this.g=a&(b^a));return a&65535}function Lc(a,b){a=b+a;var c=a<<8;this.l&128||(this.o=this.h=c,this.g=c&(b<<8^c));return a&255}function Mc(a,b){a=-b;O(this,a,a&b&32768);return a&65535}function Nc(a,b){a=-b;O(this,a<<8,(a&b&128)<<8);return a&255}
|
||||||
function Nc(a,b){a=b<<1|this.m>>16&1;P(this,a);return a&65535}function Oc(a,b){a=b<<1|this.m>>16&1;P(this,a<<8);return a&255}function Pc(a,b){a=(this.m&65536|b)>>1|b<<16;P(this,a);return a&65535}function Qc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;P(this,a<<8);return a&255}function Rc(a,b){var c=b-a;gc(this,c,a,b);return c&65535}function Sc(a,b){var c=b-a;gc(this,c<<8,a<<8,b<<8);return c&255}function Tc(a,b){this.j&128||(this.o=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}
|
function Oc(a,b){a=b<<1|this.j>>16&1;P(this,a);return a&65535}function Pc(a,b){a=b<<1|this.j>>16&1;P(this,a<<8);return a&255}function Qc(a,b){a=(this.j&65536|b)>>1|b<<16;P(this,a);return a&65535}function Rc(a,b){a=((this.j&65536)>>8|b)>>1|b<<8;P(this,a<<8);return a&255}function Sc(a,b){var c=b-a;hc(this,c,a,b);return c&65535}function Tc(a,b){var c=b-a;hc(this,c<<8,a<<8,b<<8);return c&255}function Uc(a,b){this.l&128||(this.o=this.h=b&65280,this.g=this.j=0);return(b<<8|b>>8)&65535}
|
||||||
function Uc(a,b){a^=b;N(this,a);return a&65535}function Vc(a){S(this,a,Q(this,a),vc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Wc(a){var b=sc(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 Vc(a,b){a^=b;N(this,a);return a&65535}function Wc(a){S(this,a,Q(this,a),wc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function Xc(a){var b=tc(this,a);a=a>>6&7;var c=this.f[a];c&32768&&(c|=4294901760);this.j=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.j=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.j=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.f[a]=c&65535;this.o=this.h=c;this.a-=(this.c?6:7)+b}
|
||||||
function Xc(a){var b=sc(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 Yc(a){T(this,a,!M(this))}function Zc(a){T(this,a,M(this))}
|
function Yc(a){var b=tc(this,a);a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.j=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.j=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.j=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.h=d>>16|d;this.a-=(this.c?6:7)+b}function Zc(a){T(this,a,!L(this))}function $c(a){T(this,a,L(this))}
|
||||||
function $c(a){S(this,a,Q(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){R(this,a,pc(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){S(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)}function cd(a){R(this,a,pc(this,a),Ec);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,qc(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 cd(a){S(this,a,Q(this,a),Ec);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}function dd(a){R(this,a,qc(this,a),Fc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||||
function dd(a){N(this,Q(this,a)&sc(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function ed(a){N(this,(pc(this,a)&rc(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 fd(a){T(this,a,this.i&65535?0:4)}function gd(a){T(this,a,!this.ka()==!(this.g&32768))}function hd(a){T(this,a,!!(this.i&65535)&&!this.ka()==!(this.g&32768))}function id(a){T(this,a,!M(this)&&!!(this.i&65535))}
|
function ed(a){N(this,Q(this,a)&tc(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.B?4:3)+(7==this.b?2:0)}function fd(a){N(this,(qc(this,a)&sc(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 gd(a){T(this,a,this.h&65535?0:4)}function hd(a){T(this,a,!this.ma()==!(this.g&32768))}function id(a){T(this,a,!!(this.h&65535)&&!this.ma()==!(this.g&32768))}function jd(a){T(this,a,!L(this)&&!!(this.h&65535))}
|
||||||
function jd(a){T(this,a,(this.i&65535?0:4)||!this.ka()!=!(this.g&32768))}function kd(a){T(this,a,M(this)||(this.i&65535?0:4))}function ld(a){T(this,a,!this.ka()!=!(this.g&32768))}function md(a){T(this,a,this.ka())}function nd(a){T(this,a,!!(this.i&65535))}function od(a){T(this,a,!this.ka())}function pd(){G(this,12,1);this.a-=5}function qd(a){T(this,a,!0)}function rd(a){T(this,a,!(this.g&32768))}function sd(a){T(this,a,this.g&32768?2:0)}
|
function kd(a){T(this,a,(this.h&65535?0:4)||!this.ma()!=!(this.g&32768))}function ld(a){T(this,a,L(this)||(this.h&65535?0:4))}function md(a){T(this,a,!this.ma()!=!(this.g&32768))}function nd(a){T(this,a,this.ma())}function od(a){T(this,a,!!(this.h&65535))}function pd(a){T(this,a,!this.ma())}function qd(){F(this,12,1);this.a-=5}function rd(a){T(this,a,!0)}function sd(a){T(this,a,!(this.g&32768))}function td(a){T(this,a,this.g&32768?2:0)}
|
||||||
function U(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 td(a){var b=Q(this,a);a=sc(this,a);gc(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 ud(a){var b=pc(this,a)<<8;a=rc(this,a)<<8;gc(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 U(a){a&1&&(this.j=0);a&2&&(this.g=0);a&4&&(this.h=1);a&8&&(this.o=0);this.a-=5}function ud(a){var b=Q(this,a);a=tc(this,a);hc(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 vd(a){var b=qc(this,a)<<8;a=sc(this,a)<<8;hc(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 vd(a){var b=sc(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}function wd(){G(this,24,2);this.a-=25}function xd(){this.u&49152?(this.F|=128,G(this,4,3)):Wa(this);this.a-=7}
|
function wd(a){var b=tc(this,a);if(b){a=a>>6&7;var c=this.f[a]<<16|this.f[a|1];this.j=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.h=d>>16|d,this.o=d>>16):(this.g=32768,this.h=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.h=this.o=0,this.g=32768,this.j=65536,this.a-=7}function xd(){F(this,24,2);this.a-=25}function yd(){this.u&49152?(this.F|=128,F(this,4,3)):Xa(this);this.a-=7}
|
||||||
function yd(){G(this,16,4);this.a-=25}var zd=[0,7,7,10,7,11,9,13];function V(a){var b=this.a;a=qc(this,a);this.f[7]=a&65535;this.a=b-zd[this.c]}var Ad=[0,14,14,17,14,18,16,20];function Bd(a){var b=this.a,c=qc(this,a);a=a>>6&7;hc(this,this.f[a]);this.f[a]=this.f[7];this.f[7]=c&65535;this.a=b-Ad[this.c]}var Cd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Dd(a){var b=Q(this,a),c=this.a;N(this,uc(this,a,b));this.a=c-Cd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}
|
function zd(){F(this,16,4);this.a-=25}var Ad=[0,7,7,10,7,11,9,13];function V(a){var b=this.a;M(this,rc(this,a));this.a=b-Ad[this.c]}var Bd=[0,14,14,17,14,18,16,20];function Cd(a){var b=this.a,c=rc(this,a);a=a>>6&7;ic(this,this.f[a]);this.f[a]=this.f[7];M(this,c);this.a=b-Bd[this.c]}var Dd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];function Ed(a){var b=Q(this,a),c=this.a;N(this,vc(this,a,b));this.a=c-Dd[(this.B?8:0)+this.c]+(7!=this.b||this.c?0:2)}
|
||||||
function Ed(a){var b=pc(this,a);N(this,tc(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 Fd=[7,13,13,17,14,18,17,21];function Gd(a){var b=sc(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 Hd(){this.a-=5}function Id(){this.u&49152||(dc(this),this.l.reset());this.a-=667}
|
function Fd(a){var b=qc(this,a);N(this,uc(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 Gd=[7,13,13,17,14,18,17,21];function Hd(a){var b=tc(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.l&128||(this.o=b>>16,this.h=this.o|b,this.g=0,this.j=-32768>b||32767<b?65536:0);this.a-=23}function Id(){this.a-=5}function Jd(){this.u&49152||(ec(this),this.m.reset());this.a-=667}
|
||||||
function Jd(){ic(this);this.j|=this.u&16;this.a-=13}function Kd(a){if(a&8)G(this,8,6);else{var b=jc(this);a&=7;this.f[7]=this.f[a]&65535;this.f[a]=b;this.a-=9}}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 Ld(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),Rc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
function Kd(){jc(this);this.l|=this.u&16;this.a-=13}function Ld(a){if(a&8)F(this,8,6);else{var b=kc(this);a&=7;M(this,this.f[a]);this.f[a]=b;this.a-=9}}function W(a){a&1&&(this.j=65536);a&2&&(this.g=32768);a&4&&(this.h=0);a&8&&(this.o=32768);this.a-=5}function Md(a){var b=(a&448)>>6;if(this.f[b]=this.f[b]-1&65535)M(this,this.f[7]-((a&63)<<1)),this.a+=1;this.a-=6}function Nd(a){S(this,a,Q(this,a),Sc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.B?5:3)+(7==this.b?2:0)}
|
||||||
function X(a){S(this,a,0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)}function Od(){G(this,28,5);this.a-=5}function Pd(){this.j&4||this.w.da();this.j|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3}function Qd(a){S(this,a,Q(this,a),Uc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){G(this,8,6)}function ac(a){Rd[a>>12].call(this,a)}function Sd(a){Td[a>>6&3].call(this,a)}function Ud(a){Vd[a>>6&3].call(this,a)}function Wd(a){Xd[a>>6&3].call(this,a)}function Yd(a){Zd[a&15].call(this,a)}
|
function X(a){S(this,a,0,Uc);this.a-=this.c?9:3+(7==this.b?2:0)}function Od(){F(this,28,5);this.a-=5}function Qd(){this.l&4||this.w.fa();this.l|=4;this.f[7]=this.f[7]+-2&65535;this.a-=3}function Rd(a){S(this,a,Q(this,a),Vc);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){F(this,8,6)}function bc(a){Sd[a>>12].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>>6&3].call(this,a)}function Zd(a){$d[a&15].call(this,a)}
|
||||||
function $d(a){ae[a&15].call(this,a)}function be(a){ce[a>>6&3].call(this,a)}function de(a){ee[a>>6&3].call(this,a)}function fe(a){ge[a>>6&3].call(this,a)}
|
function ae(a){be[a&15].call(this,a)}function ce(a){de[a>>6&3].call(this,a)}function ee(a){fe[a>>6&3].call(this,a)}function ge(a){he[a>>6&3].call(this,a)}
|
||||||
var Rd=[function(a){he[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,Y,function(a){ie[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Md,Y],he=[function(a){je[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,Y,Y,Y],Td=[function(a){O(this,uc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Fc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Jc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Hc);this.a-=this.c?9:3+(7==this.b?2:0)}],Vd=[function(a){S(this,a,0,Lc);
|
var Sd=[function(a){ie[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Wc,Y,function(a){je[a>>8&15].call(this,a)},Fd,vd,fd,bd,dd,Nd,Y],ie=[function(a){ke[a>>4&15].call(this,a)},rd,od,gd,hd,md,id,kd,Cd,Cd,Td,Vd,Xd,Y,Y,Y],Ud=[function(a){O(this,vc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Gc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,Kc);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)}],Wd=[function(a){S(this,a,0,Mc);
|
||||||
this.a-=this.c?11:6},function(a){S(this,a,M(this)?1:0,vc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,M(this)?1:0,Rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=sc(this,a);O(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],Xd=[function(a){S(this,a,0,Pc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Nc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,xc);this.a-=this.c?9:3+(7==this.b?2:0)}],je=[function(a){ke[a&
|
this.a-=this.c?11:6},function(a){S(this,a,L(this)?1:0,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,L(this)?1:0,Sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=tc(this,a);O(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],Yd=[function(a){S(this,a,0,Qc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Oc);this.a-=this.c?9: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,a,0,yc);this.a-=this.c?9:3+(7==this.b?2:0)}],ke=[function(a){le[a&
|
||||||
15].call(this,a)},Y,Y,Y,V,V,V,V,Kd,Y,Yd,$d,X,X,X,X],ke=[xd,Pd,Jd,pd,yd,Id,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Zd=[Hd,function(){this.m=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],ae=[Hd,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],ie=[od,md,id,kd,rd,sd,Yc,Zc,wd,Od,be,de,fe,Y,Y,Y],ce=[function(a){O(this,tc(this,a,0));
|
15].call(this,a)},Y,Y,Y,V,V,V,V,Ld,Y,Zd,ae,X,X,X,X],le=[yd,Qd,Kd,qd,zd,Jd,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],$d=[Id,function(){this.j=0;this.a-=5},function(){this.g=0;this.a-=5},U,function(){this.h=1;this.a-=5},U,U,U,function(){this.o=0;this.a-=5},U,U,U,U,U,U,U],be=[Id,function(){this.j=65536;this.a-=5},function(){this.g=32768;this.a-=5},W,function(){this.h=0;this.a-=5},W,W,W,function(){this.o=32768;this.a-=5},W,W,W,W,W,W,W],je=[pd,nd,jd,ld,sd,td,Zc,$c,xd,Od,ce,ee,ge,Y,Y,Y],de=[function(a){O(this,uc(this,a,0));
|
||||||
this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Gc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Kc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Ic);this.a-=this.c?9:3+(7==this.b?2:0)}],ee=[function(a){R(this,a,0,Mc);this.a-=this.c?11:6},function(a){R(this,a,M(this)?1:0,wc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,M(this)?1:0,Sc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=rc(this,a);O(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],ge=
|
this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Hc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,1,Lc);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)}],fe=[function(a){R(this,a,0,Nc);this.a-=this.c?11:6},function(a){R(this,a,L(this)?1:0,xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,L(this)?1:0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=sc(this,a);O(this,a<<8);this.a-=this.c?4:3+(7==this.b?2:0)}],he=
|
||||||
[function(a){R(this,a,0,Qc);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,Oc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Ac);this.a-=this.c?9+(this.Ta&1):3+(7==this.b?2:0)},function(a){R(this,a,0,yc);this.a-=this.c?9:3+(7==this.b?2:0)}];function bc(a){le[a>>12].call(this,a)}
|
[function(a){R(this,a,0,Rc);this.a-=this.c?9+(this.Xa&1):3+(7==this.b?2:0)},function(a){R(this,a,0,Pc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){R(this,a,0,Bc);this.a-=this.c?9+(this.Xa&1):3+(7==this.b?2:0)},function(a){R(this,a,0,zc);this.a-=this.c?9:3+(7==this.b?2:0)}];function cc(a){me[a>>12].call(this,a)}
|
||||||
var le=[function(a){me[a>>8&15].call(this,a)},Dd,td,dd,$c,bd,Vc,function(a){ne[a>>8&15].call(this,a)},function(a){oe[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Md,Y],me=[function(a){pe[a>>4&15].call(this,a)},qd,nd,fd,gd,ld,hd,jd,Bd,Bd,Sd,Ud,Wd,function(a){qe[a>>6&3].call(this,a)},Y,Y],qe=[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=nc(this,a,0);hc(this,a);N(this,a);this.a-=11},function(a){var b=jc(this),
|
var me=[function(a){ne[a>>8&15].call(this,a)},Ed,ud,ed,ad,cd,Wc,function(a){oe[a>>8&15].call(this,a)},function(a){pe[a>>8&15].call(this,a)},Fd,vd,fd,bd,dd,Nd,Y],ne=[function(a){qe[a>>4&15].call(this,a)},rd,od,gd,hd,md,id,kd,Cd,Cd,Td,Vd,Xd,function(a){re[a>>6&3].call(this,a)},Y,Y],re=[function(a){a=this.f[7]+((a&63)<<1)&65535;var b=this.T(a|this.N);M(this,this.f[5]);this.f[6]=a+2&65535;this.f[5]=b;this.a-=8},function(a){a=oc(this,a,0);ic(this,a);N(this,a);this.a-=11},function(a){var b=kc(this),c=this.a;
|
||||||
c=this.a;oc(this,a,0,b);N(this,b);this.a=c-Fd[this.c]},function(a){N(this,uc(this,a,this.ka?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],pe=[function(a){re[a&15].call(this,a)},Y,Y,Y,V,V,V,V,Kd,function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.j|=1),this.a-=5):G(this,8,6)},Yd,$d,X,X,X,X],re=[xd,Pd,Jd,pd,yd,Id,function(){ic(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],ne=[Gd,Gd,vd,vd,Wc,Wc,Xc,Xc,Qd,Qd,Y,Y,Y,Y,Ld,Ld],oe=[od,md,id,kd,rd,sd,Yc,Zc,wd,Od,be,de,fe,function(a){se[a>>6&3].call(this,
|
pc(this,a,0,b);N(this,b);this.a=c-Gd[this.c]},function(a){N(this,vc(this,a,this.ma?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],qe=[function(a){se[a&15].call(this,a)},Y,Y,Y,V,V,V,V,Ld,function(a){a&8?(this.u&49152||(this.u=this.u&-2017|(a&7)<<5,this.l|=1),this.a-=5):F(this,8,6)},Zd,ae,X,X,X,X],se=[yd,Qd,Kd,qd,zd,Jd,function(){jc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],oe=[Hd,Hd,wd,wd,Xc,Xc,Yc,Yc,Rd,Rd,Y,Y,Y,Y,Md,Md],pe=[pd,nd,jd,ld,sd,td,Zc,$c,xd,Od,ce,ee,ge,function(a){te[a>>6&3].call(this,a)},Y,
|
||||||
a)},Y,Y],se=[Y,function(a){a=nc(this,a,65536);hc(this,a);N(this,a);this.a-=11},function(a){var b=jc(this),c=this.a;oc(this,a,65536,b);N(this,b);this.a=c-Fd[this.c]},Y];function te(a){v.call(this,"ROM",a,te);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){ue(c,a,b,f)})}}x(te);
|
Y],te=[Y,function(a){a=oc(this,a,65536);ic(this,a);N(this,a);this.a-=11},function(a){var b=kc(this),c=this.a;pc(this,a,65536,b);N(this,b);this.a=c-Gd[this.c]},Y];
|
||||||
te.prototype.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;ve(this)};te.prototype.Y=function(){this.m&&(this.G&&this.G.a(this.id,this.o,this.c,this.m),delete this.m);return!0};te.prototype.X=function(){return!0};
|
function ue(a){u.call(this,"ROM",a,ue);this.Y=this.b=null;this.j=a.addr;this.c=a.size;this.h=a.alias;this.g=a.file;this.o=ka(this.g);if(this.g){a=this.g;var b=la(this.o);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;h(a,null,!0,function(a,b,f){f?c.L("Unable to load ROM resource (error "+f+": "+a+")"):(Pa(c.Ha,a,b),(a=ua(a,b))?(c.b=a.K,c.Y=a.Y):c.g=null,ve(c))})}}w(ue);ue.prototype.ea=function(a,b,c,d){this.m=b;this.a=c;this.G=d;ve(this)};
|
||||||
function ue(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.m=l.symbols;if(!a.b.length){p("Empty ROM: "+b);
|
ue.prototype.$=function(){this.Y&&(this.G&&this.G.a(this.id,this.j,this.c,this.Y),delete this.Y);return!0};ue.prototype.Z=function(){return!0};
|
||||||
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]);ve(a)}}
|
function ve(a){if(!Sa(a)){if(a.g){if(!a.b||!a.m)return;a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+ja(a.b.length,8,!0)+") does not match specified size ("+ja(a.c,8,!0)+")";a.i.error=!0;a.L(b)}else{b=a.j;if(kb(a.m,b,a.c,Ib)){var c;for(c=0;c<a.b.length;c++)a.m.Ta(b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.h?b.push(a.h):null!=a.h&&a.h.length&&(b=a.h);for(c=0;c<b.length;c++){var d=a,e=b[c],f=jb(d.m,d.j,d.c);ib(d.m,e,d.c,f)}delete a.b}}}B(a)}}
|
||||||
function ve(a){if(!Ra(a))if(!a.i)C(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(jb(a.l,b,a.c,a.w?1:Hb)){var c;for(c=0;c<a.b.length;c++)a.l.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=ib(d.l,d.o,d.c);hb(d.l,e,d.c,f)}delete a.b}}C(a)}}
|
q(function(){for(var a=A(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new ue(d);z(d,c)}});
|
||||||
u(function(){for(var a=B(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new te(d);A(d,c)}});function we(a){v.call(this,"RAM",a,we);this.g=a.addr;this.c=a.size;this.b=!1}x(we);we.prototype.ca=function(a,b,c,d){this.l=b;this.a=c;this.G=d;!this.b&&this.c&&jb(this.l,this.g,this.c,1)&&(this.b=!0);this.b||p("No RAM allocated");C(this)};we.prototype.Y=function(){return!0};we.prototype.X=function(){return!0};we.prototype.reset=function(){};
|
function we(a){u.call(this,"RAM",a,we);this.Y=this.c=null;this.o=a.addr;this.w=a.size;this.h=a.load;this.g=a.exec;this.j=!1;this.b=a.file;this.s=ka(this.b);if(this.b){a=this.b;var b=la(this.s);"json"!=b&&"hex"!=b&&(a=na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;h(a,null,!0,function(a,b,f){f?c.L("Unable to load RAM resource (error "+f+": "+a+")"):(Pa(c.Ha,a,b),(a=ua(a,b))?(c.c=a.K,c.Y=a.Y,null==c.h&&null!=a.bb&&(c.h=a.bb),null==c.g&&null!=a.ab&&(c.g=a.ab)):c.b=null,xe(c))})}}
|
||||||
u(function(){for(var a=B(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new we(d);A(d,c)}});function xe(a){v.call(this,"Keyboard",a,xe);C(this)}x(xe);xe.prototype.U=function(){return!1};xe.prototype.ca=function(a,b,c,d){this.w=a;this.a=c;this.G=d};u(function(){for(var a=B(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new xe(d);A(d,c)}});
|
w(we);we.prototype.ea=function(a,b,c,d){this.m=b;this.a=c;this.G=d;xe(this)};we.prototype.$=function(){return!0};we.prototype.Z=function(){return!0};function xe(a){!a.j&&a.w&&kb(a.m,a.o,a.w,1)&&(a.j=!0);if(!Sa(a)){if(!a.j)m("No RAM allocated");else if(a.b){if(!a.c||!a.m)return;var b=a.o;null!==a.h&&(b=a.h);for(var c=0;c<a.c.length;c++)a.m.Ta(b+c,a.c[c]);null!==a.g&&(b=a.a,c=a.g,b.nb=c,M(b,c));delete a.c}B(a)}}we.prototype.reset=function(){};
|
||||||
function Z(a){this.g=this.m=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.m="";else{var c;a=ye;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 ye="buffer";g=Z.prototype;
|
q(function(){for(var a=A(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new we(d);z(d,c)}});function ye(a){u.call(this,"Keyboard",a,ye);B(this)}w(ye);ye.prototype.V=function(){return!1};ye.prototype.ea=function(a,b,c,d){this.w=a;this.a=c;this.G=d};q(function(){for(var a=A(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new ye(d);z(d,c)}});
|
||||||
g.U=function(a,b,c){var d=this;switch(b){case ye: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};
|
function Z(a){this.g=this.j=null;this.H=a.tabSize;this.B=a.charBOL;this.o=0;u.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.j="";else{var c;a=ze;b&&(void 0===c&&(c="Panel"),(c=Ra(c,this.id))&&(b=c.v[b])&&this.V(null,a,b))}this.s=this.A=null;this.exports={connect:this.mb,receiveData:this.eb}}w(Z);var ze="buffer";g=Z.prototype;
|
||||||
g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;var e=this;this.M=yb(48,4);this.I=vb(this.a,function(){e.b&128||!e.i.length||(e.D=e.i.shift(),e.b|=128,e.b&64&&wb(e.a,e.M))});this.N=yb(52,4);this.J=vb(this.a,function(){e.c|=128;e.c&64&&wb(e.a,e.N)});sb(b,this,ze);C(this)};
|
g.V=function(a,b,c){var d=this;switch(b){case ze: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.eb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.eb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||||
g.ib=function(){if(!this.s){var a=Sb(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.Y=function(a,b){if(!b)if(this.ib(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
g.ea=function(a,b,c,d){this.w=a;this.m=b;this.a=c;this.G=d;var e=this;this.N=zb(48,4);this.I=wb(this.a,function(){e.b&128||!e.h.length||(e.D=e.h.shift(),e.b|=128,e.b&64&&xb(e.a,e.N))});this.O=zb(52,4);this.J=wb(this.a,function(){e.c|=128;e.c&64&&xb(e.a,e.O)});tb(b,this,Ae);B(this)};
|
||||||
g.X=function(a){return a?this.save():!0};g.reset=function(){Ae(this)};g.save=function(){var a=new L(this);a.set(0,[]);return a.data()};g.restore=function(){return Ae(this)};function Ae(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);xb(this.a,this.I,1);return!0};g.$b=function(){return this.b&65535};g.Mc=function(a){this.b=this.b&-112|a&111};
|
g.mb=function(){if(!this.s){var a=Tb(this.w,"connection");if(a){var b=a.split("->");if(2==b.length){var c=qa(b[0]);if(c!=this.Ga)return;b=qa(b[1]);if(this.s=Qa(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.Ha+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};g.$=function(a,b){if(!b)if(this.mb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
g.Zb=function(){this.b&=-129;0<this.i.length&&xb(this.a,this.I,1);return this.D};g.Lc=function(){};g.nc=function(){return this.c};g.$c=function(a){128==(this.c&192)&&a&64&&xb(this.a,this.J,1);this.c=this.c&-70|a&69};g.mc=function(){return 0};
|
g.Z=function(a){return a?this.save():!0};g.reset=function(){Be(this)};g.save=function(){var a=new K(this);a.set(0,[]);return a.data()};g.restore=function(){return Be(this)};function Be(a){a.D=0;a.b=0;a.c=128;a.h=[];return!0}g.eb=function(a){if("number"==typeof a)this.h.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.h.push(a.charCodeAt(b));else this.h=this.h.concat(a);yb(this.a,this.I,1);return!0};g.dc=function(){return this.b&65535};g.Qc=function(a){this.b=this.b&-112|a&111};
|
||||||
g.Zc=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.m){if(10==a||1024<=this.m.length)this.O(this.m),
|
g.cc=function(){this.b&=-129;0<this.h.length&&yb(this.a,this.I,1);return this.D};g.Pc=function(){};g.rc=function(){return this.c};g.dd=function(a){128==(this.c&192)&&a&64&&yb(this.a,this.J,1);this.c=this.c&-70|a&69};g.qc=function(){return 0};
|
||||||
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;xb(this.a,this.J,1)}};var Be={},ze=(Be[65392]=[null,null,Z.prototype.$b,Z.prototype.Mc,"RCSR"],Be[65394]=[null,null,Z.prototype.Zb,Z.prototype.Lc,"RBUF"],Be[65396]=[null,null,Z.prototype.nc,Z.prototype.$c,"XCSR"],Be[65398]=[null,null,Z.prototype.mc,Z.prototype.Zc,"XBUF"],Be);u(function(){for(var a=B(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);A(d,c)}});
|
g.cd=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.j){if(10==a||1024<=this.j.length)this.P(this.j),
|
||||||
function K(a){v.call(this,"PC11",a,K);this.c=this.b=0}x(K);g=K.prototype;g.U=function(){return!1};g.ca=function(a,b,c,d){this.w=a;this.l=b;this.a=c;this.G=d;sb(b,this,Ce);C(this)};g.Y=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.X=function(a){return a?this.save():!0};g.reset=function(){this.b&=-2241;this.c=0};g.save=function(){return(new L(this)).data()};g.restore=function(){return!0};g.Tb=function(){return this.b};
|
this.j="";10!=a&&(this.j+=String.fromCharCode(a))}this.c&=-129;yb(this.a,this.J,1)}};var Ce={},Ae=(Ce[65392]=[null,null,Z.prototype.dc,Z.prototype.Qc,"RCSR"],Ce[65394]=[null,null,Z.prototype.cc,Z.prototype.Pc,"RBUF"],Ce[65396]=[null,null,Z.prototype.rc,Z.prototype.dd,"XCSR"],Ce[65398]=[null,null,Z.prototype.qc,Z.prototype.cd,"XBUF"],Ce);q(function(){for(var a=A(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=y(c),d=new Z(d);z(d,c)}});
|
||||||
g.Fc=function(a){a&1&&(this.b&32768?a&=-2:(this.b&=-129,this.b|=2048));this.b=this.b&-66|a&65};g.Sb=function(){return this.c};g.Ec=function(){};var De={},Ce=(De[65384]=[null,null,K.prototype.Tb,K.prototype.Fc,"PRS"],De[65386]=[null,null,K.prototype.Sb,K.prototype.Ec,"PRB"],De);
|
function J(a){u.call(this,"PC11",a,J);this.c=this.b=0}w(J);g=J.prototype;g.V=function(){return!1};g.ea=function(a,b,c,d){this.w=a;this.m=b;this.a=c;this.G=d;tb(b,this,De);B(this)};g.$=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};g.Z=function(a){return a?this.save():!0};g.reset=function(){this.b&=-2241;this.c=0};g.save=function(){return(new K(this)).data()};g.restore=function(){return!0};g.Xb=function(){return this.b};
|
||||||
function Ee(a,b,c){v.call(this,"Computer",a,Ee);this.h.L=!1;Fe(this,b);this.B=Sb(this,"autoPower",a);this.g=0;this.M=a.busWidth||a.buswidth;this.b=Ge;this.s=null;this.o=this.I=!1;this.N=Sb(this,"url")||"";(Math.random()+.1).toString(36);this.c=He(this);if(this.a=Qa("CPU",this.id)){this.G=Qa("Debugger",this.id);this.l=new Za({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;
|
g.Jc=function(a){a&1&&(this.b&32768?a&=-2:(this.b&=-129,this.b|=2048));this.b=this.b&-66|a&65};g.Wb=function(){return this.c};g.Ic=function(){};var Ee={},De=(Ee[65384]=[null,null,J.prototype.Xb,J.prototype.Jc,"PRS"],Ee[65386]=[null,null,J.prototype.Wb,J.prototype.Ic,"PRB"],Ee);
|
||||||
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.ca&&d.ca(this,this.l,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=Sb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=Ge),this.b&&(this.A=new L(this,
|
function Fe(a,b,c){u.call(this,"Computer",a,Fe);this.i.M=!1;Ge(this,b);this.B=Tb(this,"autoPower",a);this.g=0;this.N=a.busWidth||a.buswidth;this.b=He;this.s=null;this.o=this.I=!1;this.O=Tb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Ie(this);if(this.a=Ra("CPU",this.id)){this.G=Ra("Debugger",this.id);this.m=new $a({id:this.Ha+".bus",busWidth:this.N},this.a,this.G);var d,e=x(this.id);if((this.h=Ra("Panel",this.id))&&this.h.Wa)for(b=0;b<e.length;b++)d=e[b],d.L=this.h.L,d.P=this.h.P,d.Wa=this.h.Wa;
|
||||||
"1.30.1"),Ie(this.A)?b=null:delete this.A);!b&&this.b&&(b=Je(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);C(k)})}else C(this);this.v.power||(this.B=!0);!c&&this.B&&Ke(this,this.Ca)}else p("Unable to find CPU component")}x(Ee);var Ge=0;
|
this.P("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.P("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.ea&&d.ea(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=Tb(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.o=!0,this.b=He),this.b&&(this.A=new K(this,
|
||||||
function Fe(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 Sb(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 Ke(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(){Ke(a,b,c)});return}}b.call(a,c)}
|
"1.30.1"),Je(this.A)?b=null:delete this.A);!b&&this.b&&(b=Ke(this))&&(this.o=!0);if(b){var k=this;h(b,null,!0,function(a,b,c){c?(k.w=null,k.o=!1,k.L("Unable to load machine state from server (error "+c+(b?": "+qa(b):"")+")")):(k.s=b,k.I=!0);B(k)})}else B(this);this.v.power||(this.B=!0);!c&&this.B&&Le(this,this.Ea)}else m("Unable to find CPU component")}w(Fe);var He=0;
|
||||||
function Le(a,b){var c=new L(a,"1.30.1","validate");if(Ie(c)&&Me(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=Ee.prototype;
|
function Ge(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){m(d.message+" ("+c+")")}}a.J=b}function Tb(a,b,c){var d=b.toLowerCase(),d=Ja[b]||Ja[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 Le(a,b,c){for(var d=x(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Sa(f)){Sa(f,function(){Le(a,b,c)});return}}b.call(a,c)}
|
||||||
g.Ca=function(a){void 0===a&&(a=this.b||(this.s?1:Ge));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>Ge){if(Ie(d,this.s)){this.m=new L(this,"1.30.1","failsafe");Ie(this.m)&&(Ne(this,d),a=2,Oe(this.m));this.m.set("timestamp",ta());Pe(this.m);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=Me(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?Ie(d,k):("error"==
|
function Me(a,b){var c=new K(a,"1.30.1","validate");if(Je(c)&&Ne(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.L("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}g=Fe.prototype;
|
||||||
f&&"no machine state"!=k?(this.K("Error: "+k),"unable to verify user"==k&&(ya("user",""),this.c=null)):this.O(f+": "+k),Oe(d),Ie(d)?(c=Me(d),e=!0):c=!1))}e&&Le(this,c?d:null)}else 2==a&&d.clear()}else Le(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=Qe(this,k,d,b,c));b=[d,a,c];-1!=a?Ke(this,this.gb,b):this.gb(b)}};
|
g.Ea=function(a){void 0===a&&(a=this.b||(this.s?1:He));if(!this.g){this.g++;var b=!1,c=!1;this.H=!1;var d=this.A||new K(this,"1.30.1");if(-1==a)b=!0;else if(a>He){if(Je(d,this.s)){this.j=new K(this,"1.30.1","failsafe");Je(this.j)&&(Oe(this,d),a=2,Pe(this.j));this.j.set("timestamp",ta());Qe(this.j);var e=this.b&&!this.o;if(1==a||va("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Ne(d)){var f=d.get("code"),k=d.get("data");f&&("ok"==f?Je(d,k):("error"==
|
||||||
function Qe(a,b,c,d,e){if(!b.h.L){b.h.L=!0;if(b.Y){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.Y(f,d)&&f&&(p("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=Ge,window&&window.location.reload()):a.H=!0,b.Y(null),e=!1)}if(!d&&b.jb)for(a=b.jb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
f&&"no machine state"!=k?(this.L("Error: "+k),"unable to verify user"==k&&(za("user",""),this.c=null)):this.P(f+": "+k),Pe(d),Je(d)?(c=Ne(d),e=!0):c=!1))}e&&Me(this,c?d:null)}else 2==a&&d.clear()}else Me(this);delete this.s;delete this.A}e=x(this.id);for(f=0;f<e.length;f++)k=e[f],k!==this&&k!=this.a&&(c=Re(this,k,d,b,c));b=[d,a,c];-1!=a?Le(this,this.kb,b):this.kb(b)}};
|
||||||
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&&(Qe(this,this.a,b,c,a),this.a.Aa());this.H&&(Ne(this,b),b.clear());!c&&this.m&&(this.m.clear(),delete this.m);this.g=0};
|
function Re(a,b,c,d,e){if(!b.i.M){b.i.M=!0;if(b.$){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.$(f,d)&&f&&(m("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=He,window&&window.location.reload()):a.H=!0,b.$(null),e=!1)}if(!d&&b.ob)for(a=b.ob.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
function Ne(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)}}
|
g.kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.i.M=!0;var d=this.v.power;d&&(d.textContent="Shutdown");this.a&&(Re(this,this.a,b,c,a),this.a.Ca());this.H&&(Oe(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.g=0};
|
||||||
function Re(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.X&&(c&&Wa(a.a),d=a.a.X(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.X&&(d=r.X(b,c),"object"===typeof d&&f.set(r.id,
|
function Oe(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.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.1"};d.url=a.O;d.user=c;d.type="bug";d.data=b;h("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
d)),c&&(r.h.L=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Se(a,a.c,f.toString()),Pe(k)&&Pe(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.da(!0)};
|
function Se(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new K(a,"1.30.1"),k=new K(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.Z&&(c&&Xa(a.a),d=a.a.Z(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.i.M=!1,!1===d&&(e=null)));for(var l=x(a.id),n=0;n<l.length;n++){var r=l[n];r.i.M&&(r.Z&&(d=r.Z(b,c),"object"===typeof d&&f.set(r.id,
|
||||||
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.da(!0)};
|
d)),c&&(r.i.M=!1,!1===d&&(e=null)))}e&&(c?(l=d=!1,b?(a.c&&Te(a,a.c,f.toString()),Qe(k)&&Qe(f)||(e=null,d=l=!0)):a.b&&(d=!0,l=3==a.b),d&&f.clear(l)):e=f.toString());c&&(a.i.M=!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=x(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=x(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.fa(!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?Re(d,!1,!0):Ke(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.");Re(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ca(Ge)}else d.reset(),d.a&&d.a.Aa()},!0;case "save":if(ma())c.parentNode.removeChild(c);else return this.v[b]=
|
g.stop=function(a,b){for(var c=x(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.fa(!0)};
|
||||||
c,c.onclick=function(){var a=He(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Re(d,b);b?Se(d,a,c):d.K("Resume disabled, machine state not saved")}},!0}return!1};
|
g.V=function(a,b,c){var d=this;switch(b){case "power":return this.v[b]=c,c.onclick=function(){d.g||(d.i.M?Se(d,!1,!0):Le(d,d.Ea))},!0;case "reset":return this.v[b]=c,c.onclick=function(){if(d.i.M&&!d.g)if(d.b&&!d.w){var a=va("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Se(d,a,!0);!a&&d.D?window&&window.location.reload():d.Ea(He)}else d.reset(),d.a&&d.a.Ca()},!0;case "save":if(ma())c.parentNode.removeChild(c);else return this.v[b]=
|
||||||
function He(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=Te(a,c))||a.K("The user ID is invalid.")):b&&a.K("Browser local storage is not available"));return c}
|
c,c.onclick=function(){var a=Ie(d,!0);if(a){var b=!!(d.b&&!d.w||d.D),c=Se(d,b);b?Te(d,a,c):d.L("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function Te(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 Je(a){var b=null;a.c&&(b=na()+"/api/v1/user?req=load&user="+a.c+"&state="+Ue(a,"1.30.1"));return b}
|
function Ie(a,b){var c=a.c;c||((c=ya("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=Ue(a,c))||a.L("The user ID is invalid.")):b&&a.L("Browser local storage is not available"));return c}
|
||||||
function Se(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ue(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)}}
|
function Ue(a,b){a.c=null;b=h(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&&(za("user",b.data),a.c=b.data)}catch(d){m(d.message+" ("+c+")")}return a.c}function Ke(a){var b=null;a.c&&(b=na()+"/api/v1/user?req=load&user="+a.c+"&state="+Ve(a,"1.30.1"));return b}
|
||||||
g.da=function(a){this.a&&this.a.da(a);this.i&&this.i.da(a)};u(function(){for(var a=B(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],k=z(f),k=new Ee(k,d,!0);A(k,f);k.B&&Ke(k,k.Ca)}});q.show.push(function(){for(var a=B(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)}});
|
function Te(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ve(a,"1.30.1");d.data=c;b=h(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.L("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.L(c),za("user",""),a.c=null)}}
|
||||||
q.exit.push(function(){for(var a=B(document,"pdp11","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Qa("Computer",c.id))&&c.h.L&&Re(c,!(!c.b||c.w),!0)}});function L(a,b,c){this.id=a.id;this.key=Ue(a,b,c);this.G=a.G;Oe(this,a.Bb)}function Ue(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}
|
g.fa=function(a){this.a&&this.a.fa(a);this.h&&this.h.fa(a)};q(function(){for(var a=A(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=y(c),c=A(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],k=y(f),k=new Fe(k,d,!0);z(k,f);k.B&&Le(k,k.Ea)}});p.show.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Ra("Computer",c.id))&&c.S&&!c.i.M&&c.Ea(-1)}});
|
||||||
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){Oe(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,
|
p.exit.push(function(){for(var a=A(document,"pdp11","computer"),b=0;b<a.length;b++){var c=y(a[b]);(c=Ra("Computer",c.id))&&c.i.M&&Se(c,!(!c.b||c.w),!0)}});function K(a,b,c){this.id=a.id;this.key=Ve(a,b,c);this.G=a.G;Pe(this,a.Gb)}function Ve(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}
|
||||||
1);c=0}}};function Oe(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Pe(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 Me(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){p(c.message||c),b=!1}return b}function Ie(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 Ve=0;
|
K.prototype={constructor:K,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){Pe(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,
|
||||||
function We(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)):Xe(l,a,b,c,d,e,f)})}
|
1);c=0}}};function Pe(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Qe(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Ne(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){m(c.message||c),b=!1}return b}function Je(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:xa()&&(b=ya(a.key))?(a[a.id]=b,a.a=!0):!1}var We=0;
|
||||||
function Xe(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"),
|
function Xe(a,b,c,d,e,f){e("Loading "+a+"...");h(a,null,!0,function(k,l,n){n?(l||(l="unable to load "+a+" ("+n+")"),f(l,null)):Ye(l,a,b,c,d,e,f)})}
|
||||||
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?Ye(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
function Ye(a,b,c,d,e,f,k){function l(a,f){if(f)k(f,null);else{c&&(Pa(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 Ye(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(/(<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?Ze(a,f,l):l(a,null):k("no data"+(b?" for file: "+b:""),null)}
|
||||||
"");a=a.replace(d[0],k);Ye(a,b,c)}})}else c(a,null)}
|
function Ze(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");h(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]*/,
|
||||||
function Ze(a,b,c,d){function e(a){if(void 0===l){var b=k&&B(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--Ve||Fa(!0));n=!1}var k,l,n=!0;Ve++;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],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=r:D.appendChild(document.createTextNode(r));t.appendChild(D)}c||
|
"");a=a.replace(d[0],k);Ze(a,b,c)}})}else c(a,null)}
|
||||||
(c="/versions/pdpjs/1.30.1/components.xsl");r=function(d,l){l?We(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,--Ve||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),--Ve||Fa(!0)):f("invalid machine element: "+
|
function $e(a,b,c,d){function e(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=pa(a))}function f(a){e("Error: "+a);n&&(--We||Ga(!0));n=!1}var k,l,n=!0;We++;Oa[a]={};try{if(k=document.getElementById(a)){var r;if("object"==typeof resources&&(r=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],C=document.createElement("style");C.type="text/css";C.styleSheet?C.styleSheet.cssText=r:C.appendChild(document.createTextNode(r));t.appendChild(C)}c||
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?We(b,a,d,!0,e,r):Xe(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(Nd){f(Nd.message)}return n}window.embedPDP11=function(a,b,c,d){Fa(!1);return Ze(a,b,c,d)};window.enableEvents=Fa;window.sendEvent=Ga;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map
|
(c="/versions/pdpjs/1.30.1/components.xsl");r=function(d,l){l?Xe(c,null,null,!1,e,function(d,n){n?(Pa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(n=l.transformNode(n))?(k.outerHTML=n,--We||Ga(!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),--We||Ga(!0)):f("invalid machine element: "+
|
||||||
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Xe(b,a,d,!0,e,r):Ye(b,null,a,d,!1,e,r)}else f("missing machine element: "+a)}catch(Pd){f(Pd.message)}return n}window.embedPDP11=function(a,b,c,d){Ga(!1);return $e(a,b,c,d)};window.enableEvents=Ga;window.sendEvent=Ha;})();//# sourceMappingURL=/tmp/pdpjs/1.30.1/pdp11.map
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue