Fixed LOCAL/ONLINE LED

This commit is contained in:
Jeff Parsons 2016-08-14 22:05:59 -07:00
commit a6376d3e8b
7 changed files with 4951 additions and 4939 deletions

View file

@ -6,7 +6,7 @@ one of several JavaScript Machines in the [PCjs Project](https://github.com/jeff
includes: includes:
* [PCx86](/docs/pcx86/), an x86-based IBM PC and PC-compatible emulator * [PCx86](/docs/pcx86/), an x86-based IBM PC and PC-compatible emulator
* [PC8080](/modules/pc8080/), a 8080-based machine emulator (e.g., [Space Invaders](/devices/pc8080/machine/invaders/), [VT100](pc8080/machine/vt100/)) * [PC8080](/modules/pc8080/), a 8080-based machine emulator (e.g., [Space Invaders](/devices/pc8080/machine/invaders/), [VT100](/devices/pc8080/machine/vt100/))
* [C1Pjs](/docs/c1pjs/), a 6502-based emulation of the Ohio Scientific [Challenger 1P](/devices/c1p/) * [C1Pjs](/docs/c1pjs/), a 6502-based emulation of the Ohio Scientific [Challenger 1P](/devices/c1p/)
All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are

View file

@ -27,7 +27,8 @@ maps modern keys to VT100 key addresses, and most of the mappings are 1-1. Func
- F8: NO SCROLL - F8: NO SCROLL
- F9: SET-UP - F9: SET-UP
The simulation is not fully operational yet, but it is now possible to access the SET-UP screen. The simulation is not fully operational yet, but it is now possible to access the SET-UP screen, press 4 to switch to LOCAL
mode, and verify that most VT100 keys work properly.
{% include machine.html id="vt100" %} {% include machine.html id="vt100" %}

View file

@ -28,6 +28,7 @@ scratch_start equ 204eh
key_flags equ 2068h ; "Keys Flag Buffer" key_flags equ 2068h ; "Keys Flag Buffer"
key_buffer equ 206ah ; start of the "three place New Key Address Buffer" key_buffer equ 206ah ; start of the "three place New Key Address Buffer"
cursor_address equ 20f6h
cursor_countdn equ 212dh cursor_countdn equ 212dh
cursor_visible equ 21bah cursor_visible equ 21bah
@ -454,7 +455,7 @@ X0269: call X03a2
ani 7fh ani 7fh
X0285: sta X21bd X0285: sta X21bd
adi 30h adi 30h
lhld X20f6 lhld cursor_address
mov m,a mov m,a
cpi 34h cpi 34h
jz X0298 jz X0298
@ -476,7 +477,7 @@ X02a4: lxi h,scratch_start ;; HL = 0x204e (just above stack)
lxi h,X2004 ;; HL <- 0x2004 lxi h,X2004 ;; HL <- 0x2004
shld X2052 ;; *(0x2052) = 0x2004 shld X2052 ;; *(0x2052) = 0x2004
lxi h,X22d0 ;; HL <- 0x22d0 lxi h,X22d0 ;; HL <- 0x22d0
shld X20f6 ;; *(20f6) = 0x22d0 shld cursor_address ;; *(20f6) = 0x22d0
ret ret
;; ;;
;; Initialize start of screen RAM and wipe attribute RAM to 0xff ;; Initialize start of screen RAM and wipe attribute RAM to 0xff
@ -486,8 +487,8 @@ X02c0: call X0a15 ;; 0x2140 = 0xe605
lxi d,X02d9 ;; DE = 0x02d9 lxi d,X02d9 ;; DE = 0x02d9
mvi b,12h ;; B = 18 mvi b,12h ;; B = 18
call memmove ;; copy 18 bytes from 0x02d9 to 0x2000 call memmove ;; copy 18 bytes from 0x02d9 to 0x2000
lxi h,X3000 ;; HL = 0x3000 lxi h,3000h ;; HL = 0x3000
lxi d,X1000 ;; DE = 0x1000 lxi d,1000h ;; DE = 0x1000
mvi b,0ffh ;; B = 0xFF mvi b,0ffh ;; B = 0xFF
jmp memset ;; invoke memset(0x1083) to set all of attribute RAM to 0xFF and return jmp memset ;; invoke memset(0x1083) to set all of attribute RAM to 0xFF and return
;; ;;
@ -931,7 +932,7 @@ X0624: lda X20fb
push b push b
call X0955 call X0955
pop b pop b
X0641: lhld X20f6 X0641: lhld cursor_address
mov m,c mov m,c
mov a,h mov a,h
adi 10h adi 10h
@ -1010,7 +1011,7 @@ X06aa: lda key_flags ; A <- [Keys flag buffer]
X06c2: mov d,a X06c2: mov d,a
mvi c,0 mvi c,0
mvi b,4 mvi b,4
lxi h,X206e lxi h,key_buffer+4
X06ca: mov a,m X06ca: mov a,m
ora a ora a
jz X06e8 jz X06e8
@ -1072,7 +1073,7 @@ X071b: cmp m
cpi 1 cpi 1
rnz rnz
mvi b,4 mvi b,4
lxi h,X206e lxi h,key_buffer+4
X0738: mov a,m X0738: mov a,m
ora a ora a
jnz X0743 jnz X0743
@ -1088,7 +1089,7 @@ X0747: mov a,c
cpi 4 cpi 4
rp rp
lxi b,key_buffer lxi b,key_buffer
X074e: lxi h,X206e X074e: lxi h,key_buffer+4
X0751: mov a,m X0751: mov a,m
ora a ora a
jz X075b jz X075b
@ -1099,7 +1100,7 @@ X075b: inx h
mov a,l mov a,l
cpi 72h cpi 72h
jnz X0751 jnz X0751
ldax b ldax b ; A = key (loaded from BC, typically 0x206a)
jmp X076c jmp X076c
X0766: inx b X0766: inx b
@ -1200,14 +1201,14 @@ X080d: ori 80h
X0812: call X0853 X0812: call X0853
X0815: lda X2150 X0815: lda X2150
mvi d,4 mvi d,4
lxi h,X206e lxi h,key_buffer+4
X081d: cmp m X081d: cmp m
jz X0841 jz X0841
inx h inx h
dcr d dcr d
jnz X081d jnz X081d
mvi d,4 mvi d,4
lxi h,X206e lxi h,key_buffer+4
X082b: mov a,m X082b: mov a,m
ora a ora a
jz X0838 jz X0838
@ -2477,7 +2478,7 @@ X0ffa: call X13e6
mov a,e mov a,e
sub d sub d
X0fff: mov c,a X0fff: mov c,a
X1000: lda X212b lda X212b
X1003: mov d,m X1003: mov d,m
mov m,a mov m,a
mov a,b mov a,b
@ -2897,7 +2898,7 @@ X12b0: call X1191
cmp m cmp m
jnc X1012 jnc X1012
lxi h,X20f4 lxi h,X20f4
shld X20f6 shld cursor_address
jmp X1012 jmp X1012
lda X2130 lda X2130
@ -3217,12 +3218,15 @@ X14d4: lda cursor_visible ; A = 0xff (visible) or 0x00 (invisible)
jnz X14e5 ; and stick with that if cursor still visible jnz X14e5 ; and stick with that if cursor still visible
lxi h,109h ; otherwise, use half that value (0x0109) if invisible lxi h,109h ; otherwise, use half that value (0x0109) if invisible
X14e5: shld cursor_countdn ; store new cursor countdown X14e5: shld cursor_countdn ; store new cursor countdown
lhld X20f6 lhld cursor_address
mov b,m mov b,m ; B = current cursor
lda X2159 lda X2159 ; A = cursor inversion mask (typically 0x80)
xra b xra b ; B = new (inverted) cursor
mov m,a mov m,a ; store new cursor
lxi d,X1000 ;
; Guessing this is AVO-only code, because it's monkeying with cursor_address + 0x1000, which doesn't exist without AVO
;
lxi d,1000h
dad d dad d
lda X215a lda X215a
xra m xra m
@ -3253,7 +3257,7 @@ X1515: lda X20f8
rrc rrc
X1524: sub b X1524: sub b
mov b,a mov b,a
lhld X20f6 lhld cursor_address
X1529: mov a,h X1529: mov a,h
adi 10h adi 10h
mov d,a mov d,a
@ -3421,7 +3425,7 @@ X1636: lxi h,13
shld cursor_countdn ; reset cursor countdown to 13 (0x000d) shld cursor_countdn ; reset cursor countdown to 13 (0x000d)
xra a xra a
sta cursor_visible ; reset cursor visibility sta cursor_visible ; reset cursor visibility
lhld X20f6 lhld cursor_address
lda X20f4 lda X20f4
mov b,a mov b,a
mov m,a mov m,a
@ -3476,7 +3480,7 @@ X16a1: lda X20f8
sta X21bb sta X21bb
lhld X214e lhld X214e
call X13de call X13de
shld X20f6 shld cursor_address
mov a,m mov a,m
sta X20f4 sta X20f4
mov b,a mov b,a
@ -3485,7 +3489,7 @@ X16a1: lda X20f8
mov h,a mov h,a
mov a,m mov a,m
sta X20f5 sta X20f5
lhld X20f6 lhld cursor_address
mov m,b mov m,b
ret ret
@ -4007,7 +4011,7 @@ X1a45: lhld X2004
X1a61: lhld X2111 X1a61: lhld X2111
shld X2140 shld X2140
call X1bba call X1bba
lxi d,X1000 lxi d,1000h
dad d dad d
lda X2050 lda X2050
X1a71: mvi m,0ffh X1a71: mvi m,0ffh
@ -4292,7 +4296,7 @@ X1c60: sta X21be
ret ret
X1c71: push h X1c71: push h
lxi d,X1000 lxi d,1000h
dad d dad d
pop d pop d
X1c77: push psw X1c77: push psw
@ -4839,7 +4843,6 @@ X205c equ 205ch
X2065 equ 2065h X2065 equ 2065h
X2067 equ 2067h X2067 equ 2067h
X2069 equ 2069h X2069 equ 2069h
X206e equ 206eh
X2072 equ 2072h X2072 equ 2072h
X2073 equ 2073h X2073 equ 2073h
X2074 equ 2074h X2074 equ 2074h
@ -4860,7 +4863,6 @@ X20de equ 20deh
X20f2 equ 20f2h X20f2 equ 20f2h
X20f4 equ 20f4h X20f4 equ 20f4h
X20f5 equ 20f5h X20f5 equ 20f5h
X20f6 equ 20f6h
X20f8 equ 20f8h X20f8 equ 20f8h
X20f9 equ 20f9h X20f9 equ 20f9h
X20fa equ 20fah X20fa equ 20fah
@ -4953,7 +4955,6 @@ X225a equ 225ah
X2265 equ 2265h X2265 equ 2265h
X22d0 equ 22d0h X22d0 equ 22d0h
X2839 equ 2839h X2839 equ 2839h
X3000 equ 3000h
X3030 equ 3030h X3030 equ 3030h
X3031 equ 3031h X3031 equ 3031h
X3032 equ 3032h X3032 equ 3032h

File diff suppressed because it is too large Load diff

View file

@ -249,15 +249,15 @@ Keyboard.STUPID_KEYCODES[Keyboard.KEYCODE.FF_DASH] = Keyboard.ASCII['-'];
Keyboard.MINPRESSTIME = 100; // 100ms Keyboard.MINPRESSTIME = 100; // 100ms
/** /**
* Alternate keyCode mappings (to support popular "WASD"-style directional-key mappings) * Alternate keyCode mappings to support popular "WASD"-style directional-key mappings.
* *
* TODO: ES6 computed property name support may now be in all mainstream browsers, allowing us to use * TODO: ES6 computed property name support may now be in all mainstream browsers, allowing us to use
* a simple object literal for this and all other object initializations. * a simple object literal for this and all other object initializations.
*/ */
Keyboard.ALTCODES = {}; Keyboard.WASDCODES = {};
Keyboard.ALTCODES[Keyboard.ASCII.A] = Keyboard.KEYCODE.LEFT; Keyboard.WASDCODES[Keyboard.ASCII.A] = Keyboard.KEYCODE.LEFT;
Keyboard.ALTCODES[Keyboard.ASCII.D] = Keyboard.KEYCODE.RIGHT; Keyboard.WASDCODES[Keyboard.ASCII.D] = Keyboard.KEYCODE.RIGHT;
Keyboard.ALTCODES[Keyboard.ASCII.L] = Keyboard.KEYCODE.SPACE; Keyboard.WASDCODES[Keyboard.ASCII.L] = Keyboard.KEYCODE.SPACE;
/* /*
* Supported configurations * Supported configurations
@ -265,6 +265,7 @@ Keyboard.ALTCODES[Keyboard.ASCII.L] = Keyboard.KEYCODE.SPACE;
Keyboard.SI1978 = { Keyboard.SI1978 = {
MODEL: 1978.1, MODEL: 1978.1,
KEYMAP: {}, KEYMAP: {},
ALTCODES: Keyboard.WASDCODES,
LEDCODES: {}, LEDCODES: {},
SOFTCODES: { SOFTCODES: {
'1p': Keyboard.KEYCODE.ONE, '1p': Keyboard.KEYCODE.ONE,
@ -279,6 +280,7 @@ Keyboard.SI1978 = {
Keyboard.VT100 = { Keyboard.VT100 = {
MODEL: 100.0, MODEL: 100.0,
KEYMAP: {}, KEYMAP: {},
ALTCODES: {},
LEDCODES: {}, LEDCODES: {},
SOFTCODES: {}, SOFTCODES: {},
/* /*
@ -302,7 +304,7 @@ Keyboard.VT100 = {
LED2: 0x04, LED2: 0x04,
LED1: 0x08, LED1: 0x08,
LOCKED: 0x10, LOCKED: 0x10,
ONLINE: 0x20, LOCAL: 0x20,
LEDS: 0x3F, // all LEDs LEDS: 0x3F, // all LEDs
START: 0x40, // set to initiate a scan START: 0x40, // set to initiate a scan
/* /*
@ -411,8 +413,8 @@ Keyboard.VT100.LEDCODES = {
'l2': Keyboard.VT100.STATUS.LED2, 'l2': Keyboard.VT100.STATUS.LED2,
'l1': Keyboard.VT100.STATUS.LED1, 'l1': Keyboard.VT100.STATUS.LED1,
'locked': Keyboard.VT100.STATUS.LOCKED, 'locked': Keyboard.VT100.STATUS.LOCKED,
'online': Keyboard.VT100.STATUS.ONLINE, 'local': Keyboard.VT100.STATUS.LOCAL,
'local': ~Keyboard.VT100.STATUS.ONLINE 'online': ~Keyboard.VT100.STATUS.LOCAL
}; };
/* /*
@ -689,7 +691,7 @@ Keyboard.prototype.updateLEDs = function(bLEDs)
*/ */
Keyboard.prototype.getSoftCode = function(keyCode) Keyboard.prototype.getSoftCode = function(keyCode)
{ {
keyCode = Keyboard.ALTCODES[keyCode] || keyCode; keyCode = this.config.ALTCODES[keyCode] || keyCode;
if (this.config.KEYMAP[keyCode]) { if (this.config.KEYMAP[keyCode]) {
return keyCode; return keyCode;
} }
@ -786,31 +788,30 @@ Keyboard.prototype.onSoftKeyDown = function(softCode, fDown)
} }
if (this.chipset) { if (this.chipset) {
var bit = 0;
switch(softCode) { switch(softCode) {
case '1p': case '1p':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.P1, fDown); bit = ChipSet.SI1978.STATUS1.P1;
break; break;
case '2p': case '2p':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.P2, fDown); bit = ChipSet.SI1978.STATUS1.P2;
break; break;
case 'coin': case 'coin':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.CREDIT, fDown); bit = ChipSet.SI1978.STATUS1.CREDIT;
break; break;
case 'left': case 'left':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.P1_LEFT, fDown); bit = ChipSet.SI1978.STATUS1.P1_LEFT;
break; break;
case 'right': case 'right':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.P1_RIGHT, fDown); bit = ChipSet.SI1978.STATUS1.P1_RIGHT;
break; break;
case 'fire': case 'fire':
this.chipset.updateStatus1(ChipSet.SI1978.STATUS1.P1_FIRE, fDown); bit = ChipSet.SI1978.STATUS1.P1_FIRE;
break; break;
} }
if (bit) {
this.chipset.updateStatus1(bit, fDown);
}
} }
return true; return true;
}; };
@ -885,7 +886,18 @@ Keyboard.prototype.inVT100UARTAddress = function(port, addrFrom)
var b = this.bVT100Address; var b = this.bVT100Address;
if (this.iKeyNext >= 0) { if (this.iKeyNext >= 0) {
if (this.iKeyNext < this.aKeysActive.length) { if (this.iKeyNext < this.aKeysActive.length) {
var key = this.aKeysActive[this.iKeyNext++]; var key = this.aKeysActive[this.iKeyNext];
if (!MAXDEBUG) {
this.iKeyNext++;
} else {
/*
* In MAXDEBUG builds, this code removes the key as soon as it's been reported, because
* when debugging, it's easy for the window to lose focus and never receive the keyUp event,
* thereby leaving us with a stuck key. However, this causes more problems than it solves,
* and seems to illustrate that key presses need to be persist for more than a single poll.
*/
this.aKeysActive.splice(this.iKeyNext, 1);
}
b = Keyboard.VT100.KEYMAP[key.softCode]; b = Keyboard.VT100.KEYMAP[key.softCode];
if (b & 0x80) { if (b & 0x80) {
/* /*

View file

@ -9,54 +9,54 @@ function qa(){return window?window.navigator.userAgent:""}function u(a){window&&
function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function wa(a){if(window){var b=qa();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 xa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function wa(a){if(window){var b=qa();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 xa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function ya(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 Aa={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Aa.init.push(a)} function ya(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 Aa={init:[],show:[],exit:[]},Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Aa.init.push(a)}
function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ka("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function La(a){!Ga&&a?(Ga=!0,Fa&&Ma("init")):Ga=a}function Ma(a){Aa[a]&&Ja(Aa[a])}Ha("onload",function(){Fa=!0;Ja(Aa.init)});Ha("onpageshow",function(){Ja(Aa.show)});Ha(wa("Opera")||wa("iOS")?"onunload":"onbeforeunload",function(){Ja(Aa.exit)}); function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){Ka("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function La(a){!Ga&&a?(Ga=!0,Fa&&Ma("init")):Ga=a}function Ma(a){Aa[a]&&Ja(Aa[a])}Ha("onload",function(){Fa=!0;Ja(Aa.init)});Ha("onpageshow",function(){Ja(Aa.show)});Ha(wa("Opera")||wa("iOS")?"onunload":"onbeforeunload",function(){Ja(Aa.exit)});
function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.oc=b.comment;this.zc=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Tb=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.C={jb:!1,gb:!1,Ub:!1,sa:!1,ib:!1};this.Kb=null;this.C.ib=!1;this.L={};this.I=null;this.pa=d||0;Na.push(this)}var Qa=void 0,Ra={}; function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.pc=b.comment;this.Ac=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Tb=this.id.substr(0,b),this.ab=this.id.substr(b+1)):this.ab=this.id;this[a]=c;this.D={jb:!1,gb:!1,Ub:!1,sa:!1,ib:!1};this.Kb=null;this.D.ib=!1;this.L={};this.H=null;this.pa=d||0;Na.push(this)}var Qa=void 0,Ra={};
if(window){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Ya(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){Qa||(Qa=window.location.search.substr(1));for(var Sa,Ta=/\+/g,Ua=/([^&=]+)=?([^&]*)/g;Sa=Ua.exec(Qa);)Ra[decodeURIComponent(Sa[1].replace(Ta," "))]=decodeURIComponent(Sa[2].replace(Ta," "))}function Ya(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 Za(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Na=[],$a={};function ab(a,b,c){$a[a]&&b&&($a[a][b]=c)}function Ka(a,b,c){b||u((c?c+": ":"")+a)}function bb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c} function Za(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var Na=[],$a={};function ab(a,b,c){$a[a]&&b&&($a[a][b]=c)}function Ka(a,b,c){b||u((c?c+": ":"")+a)}function bb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Na.length;b++){var d=Na[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function cb(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<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b} function cb(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<Na.length;d++)if(c)c==Na[d]&&(c=null);else if(!(a!=Na[d].type||b&&Na[d].id.indexOf(b)))return Na[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
function db(a,b){for(var c=B(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.ka(g.type,g.binding,h,g.value),l=k.length}}}} function db(a,b){for(var c=B(b.parentNode,"pc8080-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(1===h.nodeType){var g=h.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pc8080-binding":(g=z(h))&&g.binding&&a.ka(g.type,g.binding,h,g.value),l=k.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}
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ka:function(a,b,c){switch(b){case "clear":return this.L[b]||(this.L[b]=c,c.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.Da=this.L[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), x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ka:function(a,b,c){switch(b){case "clear":return this.L[b]||(this.L[b]=c,c.onclick=function(a){return function(){a.L.print&&(a.L.print.value="")}}(this)),!0;case "print":return this.L[b]||(this.Da=this.L[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.ga=function(a){this.g(a,this.ab)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.ab+": "+a)},ga:function(a,b,c){Ka(a,b,c||this.type)},Aa:function(){return this.C.sa=!0},Fa:function(a,b){b&&(this.C.sa=!1);return!0}};function C(a,b,c,d,e,f,h){a.I&&(!0===h?h=0:null==h&&(h=a.pa),eb(a.I,a,b,c,d,e,f,h))}function fb(a,b,c){a.I&&(!0===c||gb(a,c|0))&&a.I.message(b,void 0)} this.ga=function(a){this.g(a,this.ab)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.ab+": "+a)},ga:function(a,b,c){Ka(a,b,c||this.type)},Aa:function(){return this.D.sa=!0},Fa:function(a,b){b&&(this.D.sa=!1);return!0}};function C(a,b,c,d,e,f,h){a.H&&(!0===h?h=0:null==h&&(h=a.pa),eb(a.H,a,b,c,d,e,f,h))}function fb(a,b,c){a.H&&(!0===c||gb(a,c|0))&&a.H.message(b,void 0)}
function gb(a,b){if(a.I){a===a.I?b|=0:b=b||a.pa;var c=a.I.pa&b;return!!b&&c===b||!!(c&a.I.fd)}return!1}function hb(a,b){if(a.C.Ub)return a.C.gb&&(a.C.gb=!1),a.C.Ub=!1;if(a.C.ib)return a.g(a.toString()+" error"),!1;a.C.gb=b;return a.C.gb}function ib(a,b){a.C.gb&&(b?a.C.Ub=!0:void 0===b&&a.g(a.toString()+" busy"));return a.C.gb}function D(a){if(!a.C.ib&&(a.C.jb=!0,a.C.jb)){var b=a.Kb;a.Kb=null;b&&b()}}function jb(a,b){b&&(a.C.jb?b():a.Kb=b);return a.C.jb}function kb(a,b){a.C.ib=!0;a.ga(b)} function gb(a,b){if(a.H){a===a.H?b|=0:b=b||a.pa;var c=a.H.pa&b;return!!b&&c===b||!!(c&a.H.gd)}return!1}function hb(a,b){if(a.D.Ub)return a.D.gb&&(a.D.gb=!1),a.D.Ub=!1;if(a.D.ib)return a.g(a.toString()+" error"),!1;a.D.gb=b;return a.D.gb}function ib(a,b){a.D.gb&&(b?a.D.Ub=!0:void 0===b&&a.g(a.toString()+" busy"));return a.D.gb}function D(a){if(!a.D.ib&&(a.D.jb=!0,a.D.jb)){var b=a.Kb;a.Kb=null;b&&b()}}function jb(a,b){b&&(a.D.jb?b():a.Kb=b);return a.D.jb}function kb(a,b){a.D.ib=!0;a.ga(b)}
var lb="undefined"!==typeof ArrayBuffer,ob=[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 nb="undefined"!==typeof ArrayBuffer,ob=[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 pb(a){x.call(this,"Panel",a,pb)}Za(pb);m=pb.prototype;m.ka=function(a,b,c,d){return this.u&&this.u.ka(a,b,c,d)||this.b&&this.b.ka(a,b,c,d)||this.M&&this.M.ka(a,b,c,d)||this.I&&this.I.ka(a,b,c,d)?!0:this.parent.ka.call(this,a,b,c,d)};m.Na=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.I=d;this.M=qb(a,"Keyboard")};m.Aa=function(a,b){b||rb();return!0};m.Fa=function(){return!0};m.Ga=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 pb(a){x.call(this,"Panel",a,pb)}Za(pb);m=pb.prototype;m.ka=function(a,b,c,d){return this.u&&this.u.ka(a,b,c,d)||this.b&&this.b.ka(a,b,c,d)||this.M&&this.M.ka(a,b,c,d)||this.H&&this.H.ka(a,b,c,d)?!0:this.parent.ka.call(this,a,b,c,d)};m.Na=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.H=d;this.M=qb(a,"Keyboard")};m.Aa=function(a,b){b||rb();return!0};m.Fa=function(){return!0};m.Ga=function(){};
function rb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Na.length;h++)if(Na[h].id===f){f=Na[h];break a}f=null}f||(a=!0,f=new pb(e));db(f,d);a&&D(f)}}Ia(rb); function rb(){for(var a=!1,b=B(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<Na.length;h++)if(Na[h].id===f){f=Na[h];break a}f=null}f||(a=!0,f=new pb(e));db(f,d);a&&D(f)}}Ia(rb);
function sb(a,b,c){x.call(this,"Bus",a,sb);this.b=b;this.I=c;this.J=a.busWidth||16;this.O=Math.pow(2,this.J);this.D=this.O-1|0;this.na=16>=this.J?10:20>=this.J?12:24>=this.J?14:15;this.Ea=1<<this.na;this.P=this.Ea>>2;this.A=this.Ea-1;this.M=this.O/this.Ea|0;this.K=this.M-1;this.u=[];this.w=[];this.F=this.H=!1;this.Z=[];this.ba=[];a=new E;tb(a,this.I);this.W=Array(this.M);for(b=0;b<this.M;b++)this.W[b]=a;D(this)}Za(sb);m=sb.prototype;m.reset=function(){};m.Aa=function(a,b){b||this.reset();return!0}; function sb(a,b,c){x.call(this,"Bus",a,sb);this.b=b;this.H=c;this.J=a.busWidth||16;this.O=Math.pow(2,this.J);this.C=this.O-1|0;this.na=16>=this.J?10:20>=this.J?12:24>=this.J?14:15;this.Ea=1<<this.na;this.P=this.Ea>>2;this.A=this.Ea-1;this.M=this.O/this.Ea|0;this.K=this.M-1;this.u=[];this.w=[];this.I=this.G=!1;this.Z=[];this.ba=[];a=new E;tb(a,this.H);this.W=Array(this.M);for(b=0;b<this.M;b++)this.W[b]=a;D(this)}Za(sb);m=sb.prototype;m.reset=function(){};m.Aa=function(a,b){b||this.reset();return!0};
function ub(a,b,c,d){for(var e=b,f=c,h=e>>>a.na;0<f&&h<a.W.length;){var g=a.W[h],k=h*a.Ea,l=a.Ea-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.G)return g.Fb+=g.G-e,g.G=e,!0;if(e>=g.G+g.Fb){l=g.size-(e-k);l>f&&(l=f);g.Fb=e-g.G+l;e=k+a.Ea;f-=l;h++;continue}}return vb(1,e,f)}e=new E(e,l,a.Ea,d);tb(e,a.I,g);a.W[h++]=e;e=k+a.Ea;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+wb[d]+" at "+t(b)),!0):vb(2,b,c)}m.Y=function(a){return this.W[(a&this.D)>>>this.na].qb(a&this.A,a)}; function ub(a,b,c,d){for(var e=b,f=c,h=e>>>a.na;0<f&&h<a.W.length;){var g=a.W[h],k=h*a.Ea,l=a.Ea-(e-k);l>f&&(l=f);if(g&&g.size){if(g.type==d){if(e+f<=g.F)return g.Fb+=g.F-e,g.F=e,!0;if(e>=g.F+g.Fb){l=g.size-(e-k);l>f&&(l=f);g.Fb=e-g.F+l;e=k+a.Ea;f-=l;h++;continue}}return vb(1,e,f)}e=new E(e,l,a.Ea,d);tb(e,a.H,g);a.W[h++]=e;e=k+a.Ea;f-=l}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+wb[d]+" at "+t(b)),!0):vb(2,b,c)}m.Y=function(a){return this.W[(a&this.C)>>>this.na].qb(a&this.A,a)};
function xb(a,b){return a.W[(b&a.D)>>>a.na].Db(b&a.A,b)}m.Qa=function(a){var b=a&this.A,c=(a&this.D)>>>this.na;return b!=this.A?this.W[c].Ac(b,a):this.W[c++].qb(b,a)|this.W[c&this.K].qb(0,a+1)<<8};function yb(a,b){var c=b&a.A,d=(b&a.D)>>>a.na;return c!=a.A?a.W[d].ac(c,b):a.W[d++].Db(c,b)|a.W[d&a.K].Db(0,b+1)<<8}m.ra=function(a,b){this.W[(a&this.D)>>>this.na].sb(a&this.A,b&255,a)};function zb(a,b,c){a.W[(b&a.D)>>>a.na].Gb(b&a.A,c&255,b)} function xb(a,b){return a.W[(b&a.C)>>>a.na].Db(b&a.A,b)}m.Qa=function(a){var b=a&this.A,c=(a&this.C)>>>this.na;return b!=this.A?this.W[c].Bc(b,a):this.W[c++].qb(b,a)|this.W[c&this.K].qb(0,a+1)<<8};function yb(a,b){var c=b&a.A,d=(b&a.C)>>>a.na;return c!=a.A?a.W[d].ac(c,b):a.W[d++].Db(c,b)|a.W[d&a.K].Db(0,b+1)<<8}m.ra=function(a,b){this.W[(a&this.C)>>>this.na].sb(a&this.A,b&255,a)};function zb(a,b,c){a.W[(b&a.C)>>>a.na].Gb(b&a.A,c&255,b)}
m.Rb=function(a,b){var c=a&this.A,d=(a&this.D)>>>this.na;c!=this.A?this.W[d].Cc(c,b&65535,a):(this.W[d++].sb(c,b&255,a),this.W[d&this.K].sb(0,b>>8&255,a+1))};function Ab(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}function Bb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.u[k]?u("Input port "+t(k)+" already registered"):f.u[k]=[g,!1]}} m.Rb=function(a,b){var c=a&this.A,d=(a&this.C)>>>this.na;c!=this.A?this.W[d].Dc(c,b&65535,a):(this.W[d++].sb(c,b&255,a),this.W[d&this.K].sb(0,b>>8&255,a+1))};function Ab(a,b){if(void 0===b)return a.I=!a.I,a.I;void 0===a.u[b]&&(a.u[b]=[null,!1]);a.u[b][1]=!a.u[b][1];return a.u[b][1]}function Bb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.u[k]?u("Input port "+t(k)+" already registered"):f.u[k]=[g,!1]}}
function Cb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.u[b],g=a.Z[b]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h?(h[0]&&(l=h[0](b,c),void 0===l?l=k:l&=k),a.I&&a.F!=h[1]&&Db(a.I,b,l)):a.I&&(eb(a.I,a,b,null,c),a.F&&Db(a.I,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Eb(a,b){if(void 0===b)return a.H=!a.H,a.H;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]} function Cb(a,b,c){for(var d=1,e=0,f=0;0<d;){var h=a.u[b],g=a.Z[b]||1,k=1==g?255:2==g?65535:-1,l=k;void 0!==h?(h[0]&&(l=h[0](b,c),void 0===l?l=k:l&=k),a.H&&a.I!=h[1]&&Db(a.H,b,l)):a.H&&(eb(a.H,a,b,null,c),a.I&&Db(a.H,b,l));e|=l<<f;f+=g<<3;b+=g;d-=g}return e}function Eb(a,b){if(void 0===b)return a.G=!a.G,a.G;void 0===a.w[b]&&(a.w[b]=[null,!1]);a.w[b][1]=!a.w[b][1];return a.w[b][1]}
function Fb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.w[k]?u("Output port "+t(k)+" already registered"):f.w[k]=[g,!1]}}function Gb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.w[b],g=a.ba[b]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.I&&a.H!=h[1]&&Hb(a.I,b,k)}else a.I&&(eb(a.I,a,b,k,d),a.H&&Hb(a.I,b,k));f+=g<<3;b+=g;e-=g}} function Fb(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.w[k]?u("Output port "+t(k)+" already registered"):f.w[k]=[g,!1]}}function Gb(a,b,c,d){for(var e=1,f=0;0<e;){var h=a.w[b],g=a.ba[b]||1,k=1==g?255:2==g?65535:-1,k=(c>>>=f)&k;if(void 0!==h){if(h[0])h[0](b,k,d);a.H&&a.G!=h[1]&&Hb(a.H,b,k)}else a.H&&(eb(a.H,a,b,k,d),a.G&&Hb(a.H,b,k));f+=g<<3;b+=g;e-=g}}
function vb(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ib;if(lb){var Jb=new ArrayBuffer(2);(new DataView(Jb)).setUint16(0,256,!0);Ib=256===(new Uint16Array(Jb))[0]}else Ib=!1;var Kb=Ib; function vb(a,b,c){u("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ib;if(nb){var Jb=new ArrayBuffer(2);(new DataView(Jb)).setUint16(0,256,!0);Ib=256===(new Uint16Array(Jb))[0]}else Ib=!1;var Sb=Ib;
function E(a,b,c,d){this.id=Tb+=2;this.b=null;this.G=a;this.Fb=b;this.size=c||0;this.type=d||Ub;this.L=d==Vb;tb(this);this.La=this.lc=!1;if(c)if(lb)this.F=new ArrayBuffer(c),this.H=new DataView(this.F,0,c),this.A=new Uint8Array(this.F,0,c),this.K=new Uint16Array(this.F,0,c>>1),this.b=new Int32Array(this.F,0,c>>2),Wb(this,Kb?Xb:Yb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Wb(this,Zb)}else Wb(this)}var Ub=0,Vb=2,wb=["NONE","RAM","ROM","VID","H/W"],Tb=0; function E(a,b,c,d){this.id=Tb+=2;this.b=null;this.F=a;this.Fb=b;this.size=c||0;this.type=d||Ub;this.L=d==Vb;tb(this);this.La=this.mc=!1;if(c)if(nb)this.I=new ArrayBuffer(c),this.G=new DataView(this.I,0,c),this.A=new Uint8Array(this.I,0,c),this.K=new Uint16Array(this.I,0,c>>1),this.b=new Int32Array(this.I,0,c>>2),Wb(this,Sb?Xb:Yb);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;Wb(this,Zb)}else Wb(this)}var Ub=0,Vb=2,wb=["NONE","RAM","ROM","VID","H/W"],Tb=0;
E.prototype={constructor:E,parent:null,save:function(){var a,b;if(lb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.H.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(lb)for(b=0;b<a.length;b++)this.H.setInt32(b<<2,a[b],!0);else this.b=a;return this.La=!0}return!1},Va:function(a,b){b?0===this.w++&&$b(this,ac,!1):0===this.u++&&bc(this,ac,!1)},M:function(){this.I&&gb(this.I,129)&&this.I.message("attempt to read invalid block %"+n(this.G),!0); E.prototype={constructor:E,parent:null,save:function(){var a,b;if(nb)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(a&&this.size==a.length<<2){var b;if(nb)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.La=!0}return!1},Va:function(a,b){b?0===this.w++&&$b(this,ac,!1):0===this.u++&&bc(this,ac,!1)},M:function(){this.H&&gb(this.H,129)&&this.H.message("attempt to read invalid block %"+n(this.F),!0);
return 255},D:function(a,b){this.I&&gb(this.I,129)&&this.I.message("attempt to write "+t(b)+" to invalid block %"+n(this.G),!0)},O:function(a,b){return this.qb(a++,b++)|this.qb(a,b)<<8},J:function(a,b,c){this.sb(a++,b&255,c++);this.sb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma: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},Ba:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.La=!0},ab:function(a, return 255},C:function(a,b){this.H&&gb(this.H,129)&&this.H.message("attempt to write "+t(b)+" to invalid block %"+n(this.F),!0)},O:function(a,b){return this.qb(a++,b++)|this.qb(a,b)<<8},J:function(a,b,c){this.sb(a++,b&255,c++);this.sb(a,b>>8,c)},da:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma: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},Ba:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<<d)|b<<d;this.La=!0},ab:function(a,
b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.La=!0},Z:function(a,b){if(this.I&&null!=this.G){var c=this.I;cc(c,this.G+a,1,c.Z)&&c.la(!0)}return this.Db(a,b)},fa:function(a,b){if(this.I&&null!=this.G){var c=this.I;cc(c,this.G+a,2,c.Z)&&c.la(!0)}return this.ac(a,b)},va:function(a,b,c){if(this.I&&null!=this.G){var d=this.I;cc(d,this.G+a,1,d.H)&&d.la(!0)}this.L?this.D(a,b,c):this.Gb(a,b,c)},Ja:function(a, b){var c=a>>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<<d)|b<<d:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.La=!0},Z:function(a,b){if(this.H&&null!=this.F){var c=this.H;cc(c,this.F+a,1,c.Z)&&c.la(!0)}return this.Db(a,b)},fa:function(a,b){if(this.H&&null!=this.F){var c=this.H;cc(c,this.F+a,2,c.Z)&&c.la(!0)}return this.ac(a,b)},va:function(a,b,c){if(this.H&&null!=this.F){var d=this.H;cc(d,this.F+a,1,d.G)&&d.la(!0)}this.L?this.C(a,b,c):this.Gb(a,b,c)},Ja:function(a,
b,c){if(this.I&&null!=this.G){var d=this.I;cc(d,this.G+a,2,d.H)&&d.la(!0)}this.L?this.D(a,b,c):this.cc(a,b,c)},P:function(a){return this.A[a]},ba:function(a){return this.A[a]},ea:function(a){return this.H.getUint16(a,!0)},ha:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},oa:function(a,b){this.A[a]=b;this.La=!0},wa:function(a,b){this.A[a]=b;this.La=!0},Ca:function(a,b){this.H.setUint16(a,b,!0);this.La=!0},Ka:function(a,b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.La=!0}}; b,c){if(this.H&&null!=this.F){var d=this.H;cc(d,this.F+a,2,d.G)&&d.la(!0)}this.L?this.C(a,b,c):this.cc(a,b,c)},P:function(a){return this.A[a]},ba:function(a){return this.A[a]},ea:function(a){return this.G.getUint16(a,!0)},ha:function(a){return a&1?this.A[a]|this.A[a+1]<<8:this.K[a>>1]},oa:function(a,b){this.A[a]=b;this.La=!0},wa:function(a,b){this.A[a]=b;this.La=!0},Ca:function(a,b){this.G.setUint16(a,b,!0);this.La=!0},Ka:function(a,b){a&1?(this.A[a]=b,this.A[a+1]=b>>8):this.K[a>>1]=b;this.La=!0}};
function tb(a,b,c){a.I=b;a.u=a.w=0;c&&((a.u=c.u)&&bc(a,ac,!1),(a.w=c.w)&&$b(a,ac,!1))}function dc(a,b){b?0===--a.w&&(a.sb=a.L?a.D:a.Gb,a.Cc=a.L?a.J:a.cc):0===--a.u&&(a.qb=a.Db,a.Ac=a.ac)}function $b(a,b,c){c&&a.w||(a.sb=!a.L&&b[2]||a.D,a.Cc=!a.L&&b[3]||a.J);if(c||void 0===c)a.Gb=b[2]||a.D,a.cc=b[3]||a.J}function bc(a,b,c){c&&a.u||(a.qb=b[0]||a.M,a.Ac=b[1]||a.O);if(c||void 0===c)a.Db=b[0]||a.M,a.ac=b[1]||a.O}function Wb(a,b){b||(b=ec);bc(a,b,void 0);$b(a,b,void 0)} function tb(a,b,c){a.H=b;a.u=a.w=0;c&&((a.u=c.u)&&bc(a,ac,!1),(a.w=c.w)&&$b(a,ac,!1))}function dc(a,b){b?0===--a.w&&(a.sb=a.L?a.C:a.Gb,a.Dc=a.L?a.J:a.cc):0===--a.u&&(a.qb=a.Db,a.Bc=a.ac)}function $b(a,b,c){c&&a.w||(a.sb=!a.L&&b[2]||a.C,a.Dc=!a.L&&b[3]||a.J);if(c||void 0===c)a.Gb=b[2]||a.C,a.cc=b[3]||a.J}function bc(a,b,c){c&&a.u||(a.qb=b[0]||a.M,a.Bc=b[1]||a.O);if(c||void 0===c)a.Db=b[0]||a.M,a.ac=b[1]||a.O}function Wb(a,b){b||(b=ec);bc(a,b,void 0);$b(a,b,void 0)}
var ec=[],Zb=[E.prototype.da,E.prototype.ma,E.prototype.Ba,E.prototype.ab],ac=[E.prototype.Z,E.prototype.fa,E.prototype.va,E.prototype.Ja];if(lb)var Yb=[E.prototype.P,E.prototype.ea,E.prototype.oa,E.prototype.Ca],Xb=[E.prototype.ba,E.prototype.ha,E.prototype.wa,E.prototype.Ka]; var ec=[],Zb=[E.prototype.da,E.prototype.ma,E.prototype.Ba,E.prototype.ab],ac=[E.prototype.Z,E.prototype.fa,E.prototype.va,E.prototype.Ja];if(nb)var Yb=[E.prototype.P,E.prototype.ea,E.prototype.oa,E.prototype.Ca],Xb=[E.prototype.ba,E.prototype.ha,E.prototype.wa,E.prototype.Ka];
function fc(a,b){x.call(this,"CPU",a,fc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.pb=c;this.i.Ob=0;this.i.Za=d;this.i.Xb=Math.round(this.i.pb/1E4)/100;this.i.Xa=this.i.Xb*this.i.Za;this.C.xa=!1;this.C.Vb=!1;this.C.kc=a.autoStart;this.C.mc=!1;this.C.hb=!1;this.i.xb=this.i.mb=0;this.i.yb=a.csStart;this.i.lb=a.csInterval;this.i.nb=a.csStop;this.ba=this.$a.bind(this);D(this)}Za(fc);var gc=["power","reset"];m=fc.prototype; function fc(a,b){x.call(this,"CPU",a,fc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.pb=c;this.i.Ob=0;this.i.Za=d;this.i.Xb=Math.round(this.i.pb/1E4)/100;this.i.Xa=this.i.Xb*this.i.Za;this.D.xa=!1;this.D.Vb=!1;this.D.lc=a.autoStart;this.D.nc=!1;this.D.hb=!1;this.i.xb=this.i.mb=0;this.i.yb=a.csStart;this.i.lb=a.csInterval;this.i.nb=a.csStop;this.ba=this.$a.bind(this);D(this)}Za(fc);var gc=["power","reset"];m=fc.prototype;
m.Na=function(a,b,c,d){this.u=a;this.A=b;this.I=d;for(b=0;b<gc.length;b++)(c=this.L[gc[b]])&&this.u.ka(null,gc[b],c);this.M=(b=qb(a,"Video"))&&Math.max(b.Kd,b.Wb)||60;this.D=qb(a,"ChipSet");a=hc(a,"autoStart");null!=a&&(this.C.kc="true"==a?!0:"false"==a?!1:!!a);D(this)};m.reset=function(){this.i.Ob=0};m.save=function(){return null};m.restore=function(){return!1}; m.Na=function(a,b,c,d){this.u=a;this.A=b;this.H=d;for(b=0;b<gc.length;b++)(c=this.L[gc[b]])&&this.u.ka(null,gc[b],c);this.M=(b=qb(a,"Video"))&&Math.max(b.Ld,b.Wb)||60;this.I=qb(a,"ChipSet");a=hc(a,"autoStart");null!=a&&(this.D.lc="true"==a?!0:"false"==a?!1:!!a);D(this)};m.reset=function(){this.i.Ob=0};m.save=function(){return null};m.restore=function(){return!1};
m.Aa=function(a,b){if(!b){if(a&&this.restore){ic(this);if(!this.restore(a))return!1;jc(this)}else this.reset();if(this.I){var c=this.I;c.g("Type ? for help with PC8080 Debugger commands");c.Ga();if(c.Ka){var d=c.Ka;c.Ka=null;kc(c,d)}}else this.g("No debugger detected")}lc(this);return!0};m.Fa=function(a){return a?this.save():!0};function mc(a){(a.C.kc||!a.I&&void 0===a.L.run)&&a.$a(!0)}m.nc=function(){return 0}; m.Aa=function(a,b){if(!b){if(a&&this.restore){ic(this);if(!this.restore(a))return!1;jc(this)}else this.reset();if(this.H){var c=this.H;c.g("Type ? for help with PC8080 Debugger commands");c.Ga();if(c.Ka){var d=c.Ka;c.Ka=null;kc(c,d)}}else this.g("No debugger detected")}lc(this);return!0};m.Fa=function(a){return a?this.save():!0};function mc(a){(a.D.lc||!a.H&&void 0===a.L.run)&&a.$a(!0)}m.oc=function(){return 0};
function jc(a){void 0===a.i.yb&&(a.i.yb=0);void 0===a.i.lb&&(a.i.lb=-1);void 0===a.i.nb&&(a.i.nb=-1);a.C.hb=0<=a.i.yb&&0<a.i.lb;a.C.hb&&(a.i.xb=0,a.i.mb=a.i.yb-a.J)}function nc(a,b){if(a.C.hb){var c=!1;a.i.xb=a.i.xb+a.nc()|0;a.i.mb-=b;0>=a.i.mb&&(a.i.mb+=a.i.lb,c=!0);0<=a.i.nb&&a.i.nb<=oc(a)&&(a.i.lb=a.i.nb=-1,jc(a),a.la(),c=!0);c&&a.g(oc(a)+" cycles: checksum="+n(a.i.xb))}} function jc(a){void 0===a.i.yb&&(a.i.yb=0);void 0===a.i.lb&&(a.i.lb=-1);void 0===a.i.nb&&(a.i.nb=-1);a.D.hb=0<=a.i.yb&&0<a.i.lb;a.D.hb&&(a.i.xb=0,a.i.mb=a.i.yb-a.J)}function nc(a,b){if(a.D.hb){var c=!1;a.i.xb=a.i.xb+a.oc()|0;a.i.mb-=b;0>=a.i.mb&&(a.i.mb+=a.i.lb,c=!0);0<=a.i.nb&&a.i.nb<=Ac(a)&&(a.i.lb=a.i.nb=-1,jc(a),a.la(),c=!0);c&&a.g(Ac(a)+" cycles: checksum="+n(a.i.xb))}}
m.ka=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.L[b]=c;a=!0;break;case "run":this.L[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.C.sa)a=!0;else{var b=null,c,g=bb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.C.jb);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.C.sa);c++);c==g.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.C.jb?"powered yet":"ready yet"+(b.Kb?" (waiting for notification)":""))+".");a=!1}a&&(d.C.xa?d.la(!0):d.$a(!0))};a= m.ka=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.L[b]=c;a=!0;break;case "run":this.L[b]=c;c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.D.sa)a=!0;else{var b=null,c,g=bb(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.D.jb);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.D.sa);c++);c==g.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.D.jb?"powered yet":"ready yet"+(b.Kb?" (waiting for notification)":""))+".");a=!1}a&&(d.D.xa?d.la(!0):d.$a(!0))};a=
!0;break;case "speed":this.L[b]=c;a=!0;break;case "setSpeed":this.L[b]=c,c.onclick=function(){Bc(d,d.i.Za<<1,!0)},c.textContent=this.i.Xa.toFixed(2)+"Mhz",a=!0}return a};function Cc(a,b,c){a.J+=b;c&&(a.F=a.b=0)} !0;break;case "speed":this.L[b]=c;a=!0;break;case "setSpeed":this.L[b]=c,c.onclick=function(){Bc(d,d.i.Za<<1,!0)},c.textContent=this.i.Xa.toFixed(2)+"Mhz",a=!0}return a};function Cc(a,b,c){a.J+=b;c&&(a.C=a.b=0)}
function Dc(a,b){var c=30;c<a.M&&(c=a.M);2>c&&(c=2);var d=1;b&&1<a.i.Za&&a.i.Wa&&(d=a.i.Wa/a.i.Xb);a.i.tc=Math.round(1E3/30);a.i.rd=Math.floor(a.i.pb/c*d);a.i.Zb=Math.floor(a.i.pb/30*d);a.i.vc=Math.floor(a.i.pb/a.M*d);a.i.uc=Math.floor(a.i.pb/2*d);b||(a.i.ob=a.i.Zb,a.i.Ab=a.i.vc,a.i.zb=a.i.uc);a.i.$b=0}function oc(a){return a.J+a.H+a.F-a.b}function ic(a){a.i.Wa=0;a.J=a.H=a.F=a.b=0;jc(a);Bc(a,1)} function Dc(a,b){var c=30;c<a.M&&(c=a.M);2>c&&(c=2);var d=1;b&&1<a.i.Za&&a.i.Wa&&(d=a.i.Wa/a.i.Xb);a.i.uc=Math.round(1E3/30);a.i.sd=Math.floor(a.i.pb/c*d);a.i.Zb=Math.floor(a.i.pb/30*d);a.i.wc=Math.floor(a.i.pb/a.M*d);a.i.vc=Math.floor(a.i.pb/2*d);b||(a.i.ob=a.i.Zb,a.i.Ab=a.i.wc,a.i.zb=a.i.vc);a.i.$b=0}function Ac(a){return a.J+a.G+a.C-a.b}function ic(a){a.i.Wa=0;a.J=a.G=a.C=a.b=0;jc(a);Bc(a,1)}
function Bc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Wa/a.i.Xa?b=1:d=!0;a.i.Za=b;b=a.i.Xb*a.i.Za;if(a.i.Xa!=b){a.i.Xa=b;b=a.i.Xa.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.Eb()}Cc(a,a.H);a.H=0;a.i.kb=la();a.i.Ya=0;Dc(a);return d} function Bc(a,b,c){var d=!1;if(void 0!==b){.8>a.i.Wa/a.i.Xa?b=1:d=!0;a.i.Za=b;b=a.i.Xb*a.i.Za;if(a.i.Xa!=b){a.i.Xa=b;b=a.i.Xa.toFixed(2)+"Mhz";var e=a.L.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.u&&a.u.Eb()}Cc(a,a.G);a.G=0;a.i.kb=la();a.i.Ya=0;Dc(a);return d}
m.$a=function(a){if(hb(this,!0)){if(!this.C.xa){Bc(this);this.u&&this.u.start(this.i.kb,oc(this));this.C.xa=!0;this.C.Vb=!0;this.D&&this.D.start();var b=this.L.run;b&&(b.textContent="Halt");this.u&&(this.u.Ga(!0),a&&this.u.Eb(!0))}this.i.$b>=this.i.pb&&Dc(this,!0);this.i.Bb=0;this.i.Nb=la();this.i.Ya&&(a=this.i.Nb-this.i.Ya,a>this.i.tc&&(this.i.kb+=a,this.i.kb>this.i.Nb&&(this.i.kb=this.i.Nb)));try{do{this.rb(this.C.hb?1:this.i.rd);var c=this.F-this.b;this.H+=c;this.i.Bb+=c;Cc(this,0,!0);nc(this, m.$a=function(a){if(hb(this,!0)){if(!this.D.xa){Bc(this);this.u&&this.u.start(this.i.kb,Ac(this));this.D.xa=!0;this.D.Vb=!0;this.I&&this.I.start();var b=this.L.run;b&&(b.textContent="Halt");this.u&&(this.u.Ga(!0),a&&this.u.Eb(!0))}this.i.$b>=this.i.pb&&Dc(this,!0);this.i.Bb=0;this.i.Nb=la();this.i.Ya&&(a=this.i.Nb-this.i.Ya,a>this.i.uc&&(this.i.kb+=a,this.i.kb>this.i.Nb&&(this.i.kb=this.i.Nb)));try{do{this.rb(this.D.hb?1:this.i.sd);var c=this.C-this.b;this.G+=c;this.i.Bb+=c;Cc(this,0,!0);nc(this,
c);this.i.Ab-=c;0>=this.i.Ab&&(this.i.Ab+=this.i.vc,this.u&&Ec(this.u,this.i.Ob++),this.i.Ob>this.M&&(this.i.Ob=0));this.i.zb-=c;0>=this.i.zb&&(this.i.zb+=this.i.uc,this.u&&this.u.Ga());this.i.ob-=c;if(0>=this.i.ob){this.i.ob+=this.i.Zb;break}}while(this.C.xa)}catch(e){this.la();lc(this);this.u&&this.u.stop(la(),oc(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Ya=la();b=this.i.tc;this.i.Bb&&(b=Math.round(b*this.i.Bb/this.i.Zb));var b=b-(this.i.Ya-this.i.Nb),d= c);this.i.Ab-=c;0>=this.i.Ab&&(this.i.Ab+=this.i.wc,this.u&&Ec(this.u,this.i.Ob++),this.i.Ob>this.M&&(this.i.Ob=0));this.i.zb-=c;0>=this.i.zb&&(this.i.zb+=this.i.vc,this.u&&this.u.Ga());this.i.ob-=c;if(0>=this.i.ob){this.i.ob+=this.i.Zb;break}}while(this.D.xa)}catch(e){this.la();lc(this);this.u&&this.u.stop(la(),Ac(this));hb(this,!1);kb(this,e.stack||e.message);return}c=setTimeout;a=this.ba;this.i.Ya=la();b=this.i.uc;this.i.Bb&&(b=Math.round(b*this.i.Bb/this.i.Zb));var b=b-(this.i.Ya-this.i.Nb),d=
this.i.Ya-this.i.kb;d&&(this.i.Wa=Math.round(this.H/(10*d))/100,864E5<=d&&(this.J=0,Bc(this)));if(0>b||this.i.Wa<this.i.Xa)b=0;this.i.$b+=this.i.Bb;this.i.Ya+=b;c(a,b)}else lc(this),this.u&&this.u.stop(la(),oc(this))};m.rb=function(){return 0};m.la=function(a){ib(this,!0);this.F-=this.b;this.b=0;Cc(this,this.H);this.H=0;if(this.C.xa){this.C.xa=!1;this.D&&this.D.stop();var b=this.L.run;b&&(b.textContent="Run")}this.C.Jb=a};function lc(a,b){a.u&&(Ec(a.u,-1),a.u.Ga(b))} this.i.Ya-this.i.kb;d&&(this.i.Wa=Math.round(this.G/(10*d))/100,864E5<=d&&(this.J=0,Bc(this)));if(0>b||this.i.Wa<this.i.Xa)b=0;this.i.$b+=this.i.Bb;this.i.Ya+=b;c(a,b)}else lc(this),this.u&&this.u.stop(la(),Ac(this))};m.rb=function(){return 0};m.la=function(a){ib(this,!0);this.C-=this.b;this.b=0;Cc(this,this.G);this.G=0;if(this.D.xa){this.D.xa=!1;this.I&&this.I.stop();var b=this.L.run;b&&(b.textContent="Run")}this.D.Jb=a};function lc(a,b){a.u&&(Ec(a.u,-1),a.u.Ga(b))}
function Fc(a){this.sc=+a.model||8080;fc.call(this,a,1E6);this.O=Gc;ic(this);this.C.Jb=this.C.gd=!1;this.Z=0;this.K=[];this.P=0;Hc(this)}Za(Fc,fc);function Ic(a,b){a.K.push(b)}m=Fc.prototype;m.reset=function(){this.C.xa&&this.la();Hc(this);ic(this);this.C.ib=!1;this.parent.reset.call(this)};function Hc(a){a.j=0;a.R=0;a.S=0;a.T=0;a.U=0;a.V=0;a.X=0;a.ja=0;F(a,a.P);Jc(a,0);a.w=0}function Kc(a,b){a.P=b;F(a,b)} function Fc(a){this.tc=+a.model||8080;fc.call(this,a,1E6);this.O=Gc;ic(this);this.D.Jb=this.D.hd=!1;this.Z=0;this.K=[];this.P=0;Hc(this)}Za(Fc,fc);function Ic(a,b){a.K.push(b)}m=Fc.prototype;m.reset=function(){this.D.xa&&this.la();Hc(this);ic(this);this.D.ib=!1;this.parent.reset.call(this)};function Hc(a){a.j=0;a.R=0;a.S=0;a.T=0;a.U=0;a.V=0;a.X=0;a.ja=0;F(a,a.P);Jc(a,0);a.w=0}function Kc(a,b){a.P=b;F(a,b)}
m.nc=function(){var a=this.j+this.R+this.S+this.T+this.U+this.V+this.X|0;return a=a+this.ja+this.N+Lc(this)|0}; m.oc=function(){var a=this.j+this.R+this.S+this.T+this.U+this.V+this.X|0;return a=a+this.ja+this.N+Lc(this)|0};
m.save=function(){var a=new G(this);H(a,0,[this.j,this.R,this.S,this.T,this.U,this.V,this.X,this.ja,this.N,Lc(this)]);H(a,1,[this.w,this.J,this.i.Za]);for(var b=this.A,c=0,d=[],e=0;e<b.M;e++){var f=b.W[e];if(f.La||f.lc){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var p=f[g],q=g+1;q<f.length&&f[q]===p;)q++;l[k++]=q-g;l[k++]=p;g=q}if(l.length<f.length){f=l;break a}}d[h]=f}}H(a,2,d);return a.data()}; m.save=function(){var a=new G(this);H(a,0,[this.j,this.R,this.S,this.T,this.U,this.V,this.X,this.ja,this.N,Lc(this)]);H(a,1,[this.w,this.J,this.i.Za]);for(var b=this.A,c=0,d=[],e=0;e<b.M;e++){var f=b.W[e];if(f.La||f.mc){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,l=[];g<f.length;){for(var p=f[g],q=g+1;q<f.length&&f[q]===p;)q++;l[k++]=q-g;l[k++]=p;g=q}if(l.length<f.length){f=l;break a}}d[h]=f}}H(a,2,d);return a.data()};
m.restore=function(a){var b=a[0];this.j=b[0];this.R=b[1];this.S=b[2];this.T=b[3];this.U=b[4];this.V=b[5];this.X=b[6];this.ja=b[7]&65535;F(this,b[8]);Jc(this,b[9]);b=a[1];this.w=b[0];this.J=b[1];Bc(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.P){for(var f=0,h=Array(b.P),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.W[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; m.restore=function(a){var b=a[0];this.j=b[0];this.R=b[1];this.S=b[2];this.T=b[3];this.U=b[4];this.V=b[5];this.X=b[6];this.ja=b[7]&65535;F(this,b[8]);Jc(this,b[9]);b=a[1];this.w=b[0];this.J=b[1];Bc(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.P){for(var f=0,h=Array(b.P),g=0;g<e.length-1;)for(var k=e[g++],l=e[g++];k--;)h[f++]=l;e=h}f=b.W[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
m.ka=function(a,b,c){var d=!1;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.L[b]=c;this.Z++;d=!0;break;default:d=this.parent.ka.call(this,a,b,c)}return d};function Mc(a){return a.R<<8|a.S}function Nc(a,b){a.R=b>>8&255;a.S=b&255}function Oc(a){return a.T<<8|a.U}function Pc(a,b){a.T=b>>8&255;a.U=b&255}function K(a){return a.V<<8|a.X} m.ka=function(a,b,c){var d=!1;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.L[b]=c;this.Z++;d=!0;break;default:d=this.parent.ka.call(this,a,b,c)}return d};function Mc(a){return a.R<<8|a.S}function Nc(a,b){a.R=b>>8&255;a.S=b&255}function Oc(a){return a.T<<8|a.U}function Pc(a,b){a.T=b>>8&255;a.U=b&255}function K(a){return a.V<<8|a.X}
function Qc(a,b){a.V=b>>8&255;a.X=b&255}function F(a,b){a.N=b&65535}function Rc(a){return a.aa&256?1:0}function Sc(a,b){a.aa=a.aa&255|b}function Tc(a){return ob[a.ca&255]?4:0}function Uc(a){return(a.ca^a.ua)&16?16:0}function Vc(a){return a.aa&255?0:64}function Wc(a){return a.ca&128?128:0}function Lc(a){return a.ta&-214|Wc(a)|Vc(a)|Uc(a)|Tc(a)|Rc(a)}function Jc(a,b){a.aa=a.ca=a.ua=0;b&1&&(a.aa|=256);b&4||(a.ca|=1);b&16&&(a.ua|=16);b&64||(a.aa|=255);b&128&&(a.ca^=192);a.ta=a.ta&-726|b&512|2} function Qc(a,b){a.V=b>>8&255;a.X=b&255}function F(a,b){a.N=b&65535}function Rc(a){return a.aa&256?1:0}function Sc(a,b){a.aa=a.aa&255|b}function Tc(a){return ob[a.ca&255]?4:0}function Uc(a){return(a.ca^a.ua)&16?16:0}function Vc(a){return a.aa&255?0:64}function Wc(a){return a.ca&128?128:0}function Lc(a){return a.ta&-214|Wc(a)|Vc(a)|Uc(a)|Tc(a)|Rc(a)}function Jc(a,b){a.aa=a.ca=a.ua=0;b&1&&(a.aa|=256);b&4||(a.ca|=1);b&16&&(a.ua|=16);b&64||(a.aa|=255);b&128&&(a.ca^=192);a.ta=a.ta&-726|b&512|2}
function Xc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b)&255}function Yc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?1:0))&255}function Zc(a,b){a.aa=a.ca=a.ua=a.j&b;(a.j|b)&8&&(a.ua^=16);return a.aa}function $c(a,b){a.ua=b^255;b=a.ca=b+255&255;a.aa=a.aa&-256|b;return b}function ad(a,b){a.ua=b;b=a.ca=b+1&255;a.aa=a.aa&-256|b;return b}function bd(a,b){return a.ca=a.aa=a.ua=a.j|b}function L(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+1^256)&255} function Xc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b)&255}function Yc(a,b){a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?1:0))&255}function Zc(a,b){a.aa=a.ca=a.ua=a.j&b;(a.j|b)&8&&(a.ua^=16);return a.aa}function $c(a,b){a.ua=b^255;b=a.ca=b+255&255;a.aa=a.aa&-256|b;return b}function ad(a,b){a.ua=b;b=a.ca=b+1&255;a.aa=a.aa&-256|b;return b}function bd(a,b){return a.ca=a.aa=a.ua=a.j|b}function L(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+1^256)&255}
function cd(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?0:1)^256)&255}function dd(a,b){return a.ca=a.aa=a.ua=a.j^b}m.Y=function(a){return this.A.Y(a)};m.ra=function(a,b){this.A.ra(a,b)};function M(a){var b=a.Y(a.N);F(a,a.N+1);return b}function N(a){var b=a.A.Qa(a.N);F(a,a.N+2);return b}function P(a){var b=a.A.Qa(a.ja);a.ja=a.ja+2&65535;return b}function Q(a,b){a.ja=a.ja-2&65535;a.A.Rb(a.ja,b)}function ed(a,b){a.w=a.w&-8|b|8} function cd(a,b){b^=255;a.ua=a.j^b;return a.ca=(a.aa=a.j+b+(a.aa&256?0:1)^256)&255}function dd(a,b){return a.ca=a.aa=a.ua=a.j^b}m.Y=function(a){return this.A.Y(a)};m.ra=function(a,b){this.A.ra(a,b)};function M(a){var b=a.Y(a.N);F(a,a.N+1);return b}function N(a){var b=a.A.Qa(a.N);F(a,a.N+2);return b}function P(a){var b=a.A.Qa(a.ja);a.ja=a.ja+2&65535;return b}function Q(a,b){a.ja=a.ja-2&65535;a.A.Rb(a.ja,b)}function ed(a,b){a.w=a.w&-8|b|8}
function S(a,b,c,d){d=d||2;a.L[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.la()),c=!a.C.xa||a.C.mc?n(c,d):"--------".substr(0,d),a.L[b].textContent!=c&&(a.L[b].textContent=c))} function S(a,b,c,d){d=d||2;a.L[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),a.la()),c=!a.D.xa||a.D.nc?n(c,d):"--------".substr(0,d),a.L[b].textContent!=c&&(a.L[b].textContent=c))}
m.Ga=function(a){this.Z&&(a||!this.C.xa||this.C.mc)&&(S(this,"A",this.j),S(this,"B",this.R),S(this,"C",this.S),S(this,"BC",Mc(this),4),S(this,"D",this.T),S(this,"E",this.U),S(this,"DE",Oc(this),4),S(this,"H",this.V),S(this,"L",this.X),S(this,"HL",K(this),4),S(this,"SP",this.ja,4),S(this,"PC",this.N,4),a=Lc(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.L.speed)a.textContent= m.Ga=function(a){this.Z&&(a||!this.D.xa||this.D.nc)&&(S(this,"A",this.j),S(this,"B",this.R),S(this,"C",this.S),S(this,"BC",Mc(this),4),S(this,"D",this.T),S(this,"E",this.U),S(this,"DE",Oc(this),4),S(this,"H",this.V),S(this,"L",this.X),S(this,"HL",K(this),4),S(this,"SP",this.ja,4),S(this,"PC",this.N,4),a=Lc(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.L.speed)a.textContent=
this.C.xa&&this.i.Wa?this.i.Wa.toFixed(2)+"Mhz":"Stopped"};m.rb=function(a){this.C.Jb=!0;var b=this.C.gd=this.I&&fd(this.I),c=a?this.C.Vb?0:1:-1;this.C.Vb=!1;this.F=this.b=a;do{if(this.w){if(a&&this.w&8&&this.ta&512){var d=199|(this.w&7)<<3;this.w&=-17;this.w&=-16;this.ta&=-513;this.O[d].call(this)}if(this.w&16){this.b=0;break}}if(b){if(zd(this.I,this.N,c)){this.la();break}c=1}this.O[M(this)].call(this)}while(0<this.b);return this.C.Jb?this.F-this.b:void 0===this.C.Jb?0:-1}; this.D.xa&&this.i.Wa?this.i.Wa.toFixed(2)+"Mhz":"Stopped"};m.rb=function(a){this.D.Jb=!0;var b=this.D.hd=this.H&&yd(this.H),c=a?this.D.Vb?0:1:-1;this.D.Vb=!1;this.C=this.b=a;do{if(this.w){if(a&&this.w&8&&this.ta&512){var d=199|(this.w&7)<<3;this.w&=-17;this.w&=-16;this.ta&=-513;this.O[d].call(this)}if(this.w&16){this.b=0;break}}if(b){if(zd(this.H,this.N,c)){this.la();break}c=1}this.O[M(this)].call(this)}while(0<this.b);return this.D.Jb?this.C-this.b:void 0===this.D.Jb?0:-1};
Ia(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Fc(d);db(d,c)}});function Ad(){this.b-=4}function Bd(){F(this,N(this));this.b-=10}function Cd(){F(this,P(this));this.b-=10}function Dd(){var a=N(this);Q(this,this.N);F(this,a);this.b-=17} Ia(function(){for(var a=B(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Fc(d);db(d,c)}});function Ad(){this.b-=4}function Bd(){F(this,N(this));this.b-=10}function Cd(){F(this,P(this));this.b-=10}function Dd(){var a=N(this);Q(this,this.N);F(this,a);this.b-=17}
var Gc=[Ad,function(){Nc(this,N(this));this.b-=10},function(){this.ra(Mc(this),this.j);this.b-=7},function(){Nc(this,Mc(this)+1);this.b-=5},function(){this.R=ad(this,this.R);this.b-=5},function(){this.R=$c(this,this.R);this.b-=5},function(){this.R=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Sc(this,a&256);this.b-=4},Ad,function(){var a;Qc(this,a=K(this)+Mc(this));Sc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Mc(this));this.b-=7},function(){Nc(this,Mc(this)-1);this.b-= var Gc=[Ad,function(){Nc(this,N(this));this.b-=10},function(){this.ra(Mc(this),this.j);this.b-=7},function(){Nc(this,Mc(this)+1);this.b-=5},function(){this.R=ad(this,this.R);this.b-=5},function(){this.R=$c(this,this.R);this.b-=5},function(){this.R=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|a>>8;Sc(this,a&256);this.b-=4},Ad,function(){var a;Qc(this,a=K(this)+Mc(this));Sc(this,a>>8&256);this.b-=10},function(){this.j=this.Y(Mc(this));this.b-=7},function(){Nc(this,Mc(this)-1);this.b-=
5},function(){this.S=ad(this,this.S);this.b-=5},function(){this.S=$c(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Sc(this,a);this.b-=4},Ad,function(){Pc(this,N(this));this.b-=10},function(){this.ra(Oc(this),this.j);this.b-=7},function(){Pc(this,Oc(this)+1);this.b-=5},function(){this.T=ad(this,this.T);this.b-=5},function(){this.T=$c(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255| 5},function(){this.S=ad(this,this.S);this.b-=5},function(){this.S=$c(this,this.S);this.b-=5},function(){this.S=M(this);this.b-=7},function(){var a=this.j<<8&256;this.j=(a|this.j)>>1;Sc(this,a);this.b-=4},Ad,function(){Pc(this,N(this));this.b-=10},function(){this.ra(Oc(this),this.j);this.b-=7},function(){Pc(this,Oc(this)+1);this.b-=5},function(){this.T=ad(this,this.T);this.b-=5},function(){this.T=$c(this,this.T);this.b-=5},function(){this.T=M(this);this.b-=7},function(){var a=this.j<<1;this.j=a&255|
@ -67,7 +67,7 @@ ad(this,this.X);this.b-=5},function(){this.X=$c(this,this.X);this.b-=5},function
5},function(){this.R=this.X;this.b-=5},function(){this.R=this.Y(K(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.R;this.b-=5},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.X;this.b-=5},function(){this.S=this.Y(K(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.R;this.b-=5},function(){this.T=this.S;this.b-=5},function(){this.b-=5},function(){this.T= 5},function(){this.R=this.X;this.b-=5},function(){this.R=this.Y(K(this));this.b-=7},function(){this.R=this.j;this.b-=5},function(){this.S=this.R;this.b-=5},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.X;this.b-=5},function(){this.S=this.Y(K(this));this.b-=7},function(){this.S=this.j;this.b-=5},function(){this.T=this.R;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.X;this.b-=5},function(){this.T=this.Y(K(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.R;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.X;this.b-=5},function(){this.U=this.Y(K(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.R;this.b-=5},function(){this.V= this.U;this.b-=5},function(){this.T=this.V;this.b-=5},function(){this.T=this.X;this.b-=5},function(){this.T=this.Y(K(this));this.b-=7},function(){this.T=this.j;this.b-=5},function(){this.U=this.R;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.X;this.b-=5},function(){this.U=this.Y(K(this));this.b-=7},function(){this.U=this.j;this.b-=5},function(){this.V=this.R;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.X;this.b-=5},function(){this.V=this.Y(K(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.X=this.R;this.b-=5},function(){this.X=this.S;this.b-=5},function(){this.X=this.T;this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.b-=5},function(){this.X=this.Y(K(this));this.b-=7},function(){this.X=this.j; 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.X;this.b-=5},function(){this.V=this.Y(K(this));this.b-=7},function(){this.V=this.j;this.b-=5},function(){this.X=this.R;this.b-=5},function(){this.X=this.S;this.b-=5},function(){this.X=this.T;this.b-=5},function(){this.X=this.U;this.b-=5},function(){this.X=this.V;this.b-=5},function(){this.b-=5},function(){this.X=this.Y(K(this));this.b-=7},function(){this.X=this.j;
this.b-=5},function(){this.ra(K(this),this.R);this.b-=7},function(){this.ra(K(this),this.S);this.b-=7},function(){this.ra(K(this),this.T);this.b-=7},function(){this.ra(K(this),this.U);this.b-=7},function(){this.ra(K(this),this.V);this.b-=7},function(){this.ra(K(this),this.X);this.b-=7},function(){var a=this.N-1;if(this.K.length)for(var b=0;b<this.K.length;b++)if(this.K[b](a))return;this.w|=16;this.b-=7;this.I&&gb(this,-2147483648)?(F(this,a),this.I.la()):this.ta&512||(this.I&&F(this,a),this.la())}, this.b-=5},function(){this.ra(K(this),this.R);this.b-=7},function(){this.ra(K(this),this.S);this.b-=7},function(){this.ra(K(this),this.T);this.b-=7},function(){this.ra(K(this),this.U);this.b-=7},function(){this.ra(K(this),this.V);this.b-=7},function(){this.ra(K(this),this.X);this.b-=7},function(){var a=this.N-1;if(this.K.length)for(var b=0;b<this.K.length;b++)if(this.K[b](a))return;this.w|=16;this.b-=7;this.H&&gb(this,-2147483648)?(F(this,a),this.H.la()):this.ta&512||(this.H&&F(this,a),this.la())},
function(){this.ra(K(this),this.j);this.b-=7},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Y(K(this));this.b-=7},function(){this.b-=5},function(){this.j=Xc(this,this.R);this.b-=4},function(){this.j=Xc(this,this.S);this.b-=4},function(){this.j=Xc(this,this.T);this.b-=4},function(){this.j=Xc(this,this.U);this.b-= function(){this.ra(K(this),this.j);this.b-=7},function(){this.j=this.R;this.b-=5},function(){this.j=this.S;this.b-=5},function(){this.j=this.T;this.b-=5},function(){this.j=this.U;this.b-=5},function(){this.j=this.V;this.b-=5},function(){this.j=this.X;this.b-=5},function(){this.j=this.Y(K(this));this.b-=7},function(){this.b-=5},function(){this.j=Xc(this,this.R);this.b-=4},function(){this.j=Xc(this,this.S);this.b-=4},function(){this.j=Xc(this,this.T);this.b-=4},function(){this.j=Xc(this,this.U);this.b-=
4},function(){this.j=Xc(this,this.V);this.b-=4},function(){this.j=Xc(this,this.X);this.b-=4},function(){this.j=Xc(this,this.Y(K(this)));this.b-=7},function(){this.j=Xc(this,this.j);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-=4},function(){this.j=Yc(this,this.U);this.b-=4},function(){this.j=Yc(this,this.V);this.b-=4},function(){this.j=Yc(this,this.X);this.b-=4},function(){this.j=Yc(this,this.Y(K(this))); 4},function(){this.j=Xc(this,this.V);this.b-=4},function(){this.j=Xc(this,this.X);this.b-=4},function(){this.j=Xc(this,this.Y(K(this)));this.b-=7},function(){this.j=Xc(this,this.j);this.b-=4},function(){this.j=Yc(this,this.R);this.b-=4},function(){this.j=Yc(this,this.S);this.b-=4},function(){this.j=Yc(this,this.T);this.b-=4},function(){this.j=Yc(this,this.U);this.b-=4},function(){this.j=Yc(this,this.V);this.b-=4},function(){this.j=Yc(this,this.X);this.b-=4},function(){this.j=Yc(this,this.Y(K(this)));
this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){this.j=L(this,this.R);this.b-=4},function(){this.j=L(this,this.S);this.b-=4},function(){this.j=L(this,this.T);this.b-=4},function(){this.j=L(this,this.U);this.b-=4},function(){this.j=L(this,this.V);this.b-=4},function(){this.j=L(this,this.X);this.b-=4},function(){this.j=L(this,this.Y(K(this)));this.b-=7},function(){this.j=L(this,this.j);this.b-=4},function(){this.j=cd(this,this.R);this.b-=4},function(){this.j=cd(this,this.S);this.b-= this.b-=7},function(){this.j=Yc(this,this.j);this.b-=4},function(){this.j=L(this,this.R);this.b-=4},function(){this.j=L(this,this.S);this.b-=4},function(){this.j=L(this,this.T);this.b-=4},function(){this.j=L(this,this.U);this.b-=4},function(){this.j=L(this,this.V);this.b-=4},function(){this.j=L(this,this.X);this.b-=4},function(){this.j=L(this,this.Y(K(this)));this.b-=7},function(){this.j=L(this,this.j);this.b-=4},function(){this.j=cd(this,this.R);this.b-=4},function(){this.j=cd(this,this.S);this.b-=
@ -81,161 +81,161 @@ N(this);Rc(this)&&(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},Dd,function()
11},function(){this.j=Zc(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,32);this.b-=11},function(){Tc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},function(){F(this,K(this));this.b-=5},function(){var a=N(this);Tc(this)&&F(this,a);this.b-=10},function(){var a=K(this);Qc(this,Oc(this));Pc(this,a);this.b-=5},function(){var a=N(this);Tc(this)&&(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=dd(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,40);this.b-=11}, 11},function(){this.j=Zc(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,32);this.b-=11},function(){Tc(this)&&(F(this,P(this)),this.b-=6);this.b-=5},function(){F(this,K(this));this.b-=5},function(){var a=N(this);Tc(this)&&F(this,a);this.b-=10},function(){var a=K(this);Qc(this,Oc(this));Pc(this,a);this.b-=5},function(){var a=N(this);Tc(this)&&(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},Dd,function(){this.j=dd(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,40);this.b-=11},
function(){Wc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Jc(this,a&255|this.ta&-256);this.j=a>>8;this.b-=10},function(){var a=N(this);Wc(this)||F(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=N(this);Wc(this)||(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Lc(this)&255|this.j<<8);this.b-=11},function(){this.j=bd(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,48);this.b-=11},function(){Wc(this)&&(F(this,P(this)), function(){Wc(this)||(F(this,P(this)),this.b-=6);this.b-=5},function(){var a=P(this);Jc(this,a&255|this.ta&-256);this.j=a>>8;this.b-=10},function(){var a=N(this);Wc(this)||F(this,a);this.b-=10},function(){this.ta&=-513;this.b-=4},function(){var a=N(this);Wc(this)||(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},function(){Q(this,Lc(this)&255|this.j<<8);this.b-=11},function(){this.j=bd(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,48);this.b-=11},function(){Wc(this)&&(F(this,P(this)),
this.b-=6);this.b-=5},function(){this.ja=K(this)&65535;this.b-=5},function(){var a=N(this);Wc(this)&&F(this,a);this.b-=10},function(){this.ta|=512;this.b-=4},function(){var a=N(this);Wc(this)&&(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},Dd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,56);this.b-=11}]; this.b-=6);this.b-=5},function(){this.ja=K(this)&65535;this.b-=5},function(){var a=N(this);Wc(this)&&F(this,a);this.b-=10},function(){this.ta|=512;this.b-=4},function(){var a=N(this);Wc(this)&&(Q(this,this.N),F(this,a),this.b-=6);this.b-=11},Dd,function(){L(this,M(this));this.b-=7},function(){Q(this,this.N);F(this,56);this.b-=11}];
function T(a){x.call(this,"ChipSet",a,T,32768);var b=a.model;b&&!Ed[b]&&Ka("Unrecognized ChipSet model: "+b);this.D=Ed[b]||{};a.sound&&(this.da=null,window&&(this.da=window.AudioContext||window.webkitAudioContext),this.da&&new this.da);D(this)}Za(T); function T(a){x.call(this,"ChipSet",a,T,32768);var b=a.model;b&&!Ed[b]&&Ka("Unrecognized ChipSet model: "+b);this.C=Ed[b]||{};a.sound&&(this.da=null,window&&(this.da=window.AudioContext||window.webkitAudioContext),this.da&&new this.da);D(this)}Za(T);
var U={ya:1978.1,bd:{za:0,Pd:1,Td:16,$d:32,ie:64,he:128,tb:14},Sa:{za:1,Hc:1,Xc:2,Tc:4,Uc:16,Vc:32,Wc:64,tb:8},cd:{za:2,Od:3,pe:4,Qd:8,de:16,ee:32,fe:64,Rd:128,tb:0},le:{za:3},je:{za:2,ae:7},ne:{za:3,qe:1,me:2,ge:4,Yd:8,Sd:16,Md:32},ke:{za:4},oe:{za:5,Ud:1,Vd:2,Wd:4,Xd:8,re:16}},V={ya:100,Pa:{za:66,se:1,Rc:2,Sc:4,ce:8,be:16,gc:32,fc:64,dc:128},Gc:{za:66,INIT:0},Ha:{Zd:{za:98},Ra:{Ec:0,Dc:1,Zc:2,dd:4,Kc:5,Yc:6,$c:7},Hb:16383},Jc:{za:162,INIT:0},Ic:{za:194,INIT:0}},Ed={SI1978:U,VT100:V}; var U={ya:1978.1,cd:{za:0,Qd:1,Ud:16,ae:32,je:64,ie:128,tb:14},Sa:{za:1,Ic:1,Yc:2,Uc:4,Vc:16,Wc:32,Xc:64,tb:8},dd:{za:2,Pd:3,qe:4,Rd:8,ee:16,fe:32,ge:64,Sd:128,tb:0},me:{za:3},ke:{za:2,be:7},oe:{za:3,re:1,ne:2,he:4,Zd:8,Td:16,Nd:32},le:{za:4},pe:{za:5,Vd:1,Wd:2,Xd:4,Yd:8,se:16}},V={ya:100,Pa:{za:66,te:1,Sc:2,Tc:4,de:8,ce:16,ic:32,hc:64,ec:128},Hc:{za:66,INIT:0},Ha:{$d:{za:98},Ra:{Fc:0,Ec:1,$c:2,ed:4,Lc:5,Zc:6,ad:7},Hb:16383},Kc:{za:162,INIT:0},Jc:{za:194,INIT:0}},Ed={SI1978:U,VT100:V};
T.prototype.ka=function(){return!1};T.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.I=d;this.u=a;this.M=qb(a,"Keyboard");Bb(b,this,this.D.Pb);Fb(b,this,this.D.Qb)};T.prototype.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.Fa=function(a){return a?this.save():!0};U.INIT=[[U.bd.tb,U.Sa.tb,U.cd.tb,0,0,0,0]]; T.prototype.ka=function(){return!1};T.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;this.u=a;this.M=qb(a,"Keyboard");Bb(b,this,this.C.Pb);Fb(b,this,this.C.Qb)};T.prototype.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};T.prototype.Fa=function(a){return a?this.save():!0};U.INIT=[[U.cd.tb,U.Sa.tb,U.dd.tb,0,0,0,0]];
V.INIT=[[V.Gc.INIT,V.Pa.Rc|V.Pa.Sc,V.Jc.INIT,V.Ic.INIT],[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,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];m=T.prototype; V.INIT=[[V.Hc.INIT,V.Pa.Sc|V.Pa.Tc,V.Kc.INIT,V.Jc.INIT],[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,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]]];m=T.prototype;
m.reset=function(){this.D.INIT&&!this.restore(this.D.INIT)&&this.ga("reset error")};m.save=function(){var a=new G(this);switch(this.D.ya){case U.ya:H(a,0,[this.va,this.F,this.wa,this.P,this.ba,this.ma,this.oa]);break;case V.ya:H(a,0,[this.ea,this.J,this.ha,this.fa]),H(a,1,[this.O,this.w,this.K,this.Z,this.H])}return a.data()}; m.reset=function(){this.C.INIT&&!this.restore(this.C.INIT)&&this.ga("reset error")};m.save=function(){var a=new G(this);switch(this.C.ya){case U.ya:H(a,0,[this.va,this.I,this.wa,this.P,this.ba,this.ma,this.oa]);break;case V.ya:H(a,0,[this.ea,this.J,this.ha,this.fa]),H(a,1,[this.O,this.w,this.K,this.Z,this.G])}return a.data()};
m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.D.ya){case U.ya:return this.va=b[0],this.F=b[1],this.wa=b[2],this.P=b[3],this.ba=b[4],this.ma=b[5],this.oa=b[6],!0;case V.ya:return this.ea=b[0],this.J=b[1],this.ha=b[2],this.fa=b[3],b=a[1],this.O=b[0],this.w=b[1],this.K=b[2],this.Z=b[3],this.H=b[4],!0}return!1};m.start=function(){};m.stop=function(){};function Fd(a,b,c){a.F&=~b;c&&(a.F|=b)}m.ld=function(a,b){var c=this.va;C(this,a,null,b,"STATUS0",c,!0);return c}; m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.C.ya){case U.ya:return this.va=b[0],this.I=b[1],this.wa=b[2],this.P=b[3],this.ba=b[4],this.ma=b[5],this.oa=b[6],!0;case V.ya:return this.ea=b[0],this.J=b[1],this.ha=b[2],this.fa=b[3],b=a[1],this.O=b[0],this.w=b[1],this.K=b[2],this.Z=b[3],this.G=b[4],!0}return!1};m.start=function(){};m.stop=function(){};m.md=function(a,b){var c=this.va;C(this,a,null,b,"STATUS0",c,!0);return c};
m.md=function(a,b){var c=this.F;C(this,a,null,b,"STATUS1",c,!0);return c};m.nd=function(a,b){var c=this.wa;C(this,a,null,b,"STATUS2",c,!0);return c};m.kd=function(a,b){var c=this.P>>8-this.ba&255;C(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.vd=function(a,b,c){C(this,a,b,c,"SHIFT.COUNT",null,!0);this.ba=b};m.xd=function(a,b,c){C(this,a,b,c,"SOUND1",null,!0);this.ma=b};m.wd=function(a,b,c){C(this,a,b,c,"SHIFT.DATA",null,!0);this.P=b<<8|this.P>>8}; m.nd=function(a,b){var c=this.I;C(this,a,null,b,"STATUS1",c,!0);return c};m.od=function(a,b){var c=this.wa;C(this,a,null,b,"STATUS2",c,!0);return c};m.ld=function(a,b){var c=this.P>>8-this.ba&255;C(this,a,null,b,"SHIFT.RESULT",c,!0);return c};m.wd=function(a,b,c){C(this,a,b,c,"SHIFT.COUNT",null,!0);this.ba=b};m.yd=function(a,b,c){C(this,a,b,c,"SOUND1",null,!0);this.ma=b};m.xd=function(a,b,c){C(this,a,b,c,"SHIFT.DATA",null,!0);this.P=b<<8|this.P>>8};
m.yd=function(a,b,c){C(this,a,b,c,"SOUND2",null,!0);this.oa=b};m.zd=function(a,b,c){C(this,a,b,c,"WATCHDOG",null,!0)};function Gd(a){var b=0,c=0,d=~a.O;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} m.zd=function(a,b,c){C(this,a,b,c,"SOUND2",null,!0);this.oa=b};m.Ad=function(a,b,c){C(this,a,b,c,"WATCHDOG",null,!0)};function Fd(a){var b=0,c=0,d=~a.O;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}
m.od=function(a,b){var c=this.J,c=c&~V.Pa.fc;if((oc(this.b)&64)<<1&&(c|=V.Pa.fc,c!=this.J)){var d,e;d=this.K&1;e=this.K>>1&7;switch(e){case V.Ha.Ra.$c:break;case V.Ha.Ra.Dc:this.O=this.O<<1|d;break;case V.Ha.Ra.Kc:d=Gd(this);this.H[d]=V.Ha.Hb;fb(this,"doNVRCommand(): erase data at addr "+t(d));break;case V.Ha.Ra.Ec:this.w=this.w<<1|d;break;case V.Ha.Ra.dd:d=Gd(this);e=this.w&V.Ha.Hb;this.H[d]=e;fb(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case V.Ha.Ra.Yc:d=Gd(this);e=this.H[d]; m.pd=function(a,b){var c=this.J,c=c&~V.Pa.hc;if((Ac(this.b)&64)<<1&&(c|=V.Pa.hc,c!=this.J)){var d,e;d=this.K&1;e=this.K>>1&7;switch(e){case V.Ha.Ra.ad:break;case V.Ha.Ra.Ec:this.O=this.O<<1|d;break;case V.Ha.Ra.Lc:d=Fd(this);this.G[d]=V.Ha.Hb;fb(this,"doNVRCommand(): erase data at addr "+t(d));break;case V.Ha.Ra.Fc:this.w=this.w<<1|d;break;case V.Ha.Ra.ed:d=Fd(this);e=this.w&V.Ha.Hb;this.G[d]=e;fb(this,"doNVRCommand(): write data "+t(e)+" to addr "+t(d));break;case V.Ha.Ra.Zc:d=Fd(this);e=this.G[d];
null==e&&(e=V.Ha.Hb);this.w=e;fb(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case V.Ha.Ra.Zc:this.w<<=1;this.Z=this.w&V.Ha.Hb+1;break;default:fb(this,"doNVRCommand(): unrecognized command 0x"+n(e,2))}}c&=~V.Pa.gc;this.Z&&(c|=V.Pa.gc);c&=~V.Pa.dc;this.M&&(c|=V.Pa.dc);this.J=c;C(this,a,null,b,"FLAGS.BUFFER",c);return c};m.Ad=function(a,b,c){C(this,a,b,c,"BRIGHTNESS");this.ea=b};m.Dd=function(a,b,c){C(this,a,b,c,"NVR.LATCH");this.K=b}; null==e&&(e=V.Ha.Hb);this.w=e;fb(this,"doNVRCommand(): read data "+t(e)+" from addr "+t(d));break;case V.Ha.Ra.$c:this.w<<=1;this.Z=this.w&V.Ha.Hb+1;break;default:fb(this,"doNVRCommand(): unrecognized command 0x"+n(e,2))}}c&=~V.Pa.ic;this.Z&&(c|=V.Pa.ic);c&=~V.Pa.ec;this.M&&(c|=V.Pa.ec);this.J=c;C(this,a,null,b,"FLAGS.BUFFER",c);return c};m.Bd=function(a,b,c){C(this,a,b,c,"BRIGHTNESS");this.ea=b};m.Ed=function(a,b,c){C(this,a,b,c,"NVR.LATCH");this.K=b};
m.Cd=function(a,b,c){C(this,a,b,c,"DC012");this.ha=b};m.Bd=function(a,b,c){C(this,a,b,c,"DC011");this.fa=b};U.Pb={0:T.prototype.ld,1:T.prototype.md,2:T.prototype.nd,3:T.prototype.kd};U.Qb={2:T.prototype.vd,3:T.prototype.xd,4:T.prototype.wd,5:T.prototype.yd,6:T.prototype.zd};V.Pb={66:T.prototype.od};V.Qb={66:T.prototype.Ad,98:T.prototype.Dd,162:T.prototype.Cd,194:T.prototype.Bd};Ia(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new T(d);db(d,c)}}); m.Dd=function(a,b,c){C(this,a,b,c,"DC012");this.ha=b};m.Cd=function(a,b,c){C(this,a,b,c,"DC011");this.fa=b};U.Pb={0:T.prototype.md,1:T.prototype.nd,2:T.prototype.od,3:T.prototype.ld};U.Qb={2:T.prototype.wd,3:T.prototype.yd,4:T.prototype.xd,5:T.prototype.zd,6:T.prototype.Ad};V.Pb={66:T.prototype.pd};V.Qb={66:T.prototype.Bd,98:T.prototype.Ed,162:T.prototype.Dd,194:T.prototype.Cd};Ia(function(){for(var a=B(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new T(d);db(d,c)}});
function Hd(a){x.call(this,"ROM",a,Hd);this.u=null;this.H=a.addr;this.w=a.size;this.J=a.writable;this.D=a.alias;this.F=a.file;this.K=ca(this.F);if(this.F){a=this.F;var b=da(this.K);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.F+"&format=bytes&decimal=true");var c=this;oa(a,null,!0,function(a,b,f){Id(c,a,b,f)})}}Za(Hd);var Jd=[0,5];Hd.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.I=d;Kd(this)}; function Gd(a){x.call(this,"ROM",a,Gd);this.u=null;this.G=a.addr;this.w=a.size;this.J=a.writable;this.C=a.alias;this.I=a.file;this.K=ca(this.I);if(this.I){a=this.I;var b=da(this.K);"json"!=b&&"hex"!=b&&(a=pa()+"/api/v1/dump?file="+this.I+"&format=bytes&decimal=true");var c=this;oa(a,null,!0,function(a,b,f){Hd(c,a,b,f)})}}Za(Gd);var Id=[0,5];Gd.prototype.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;Jd(this)};
Hd.prototype.Aa=function(){if(this.Oa){if(this.I){var a=this.I,b=this.id,c=this.H,d=this.w,e=this.Oa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var p=f,k=[k>>>0,h],q=ka(p,k,a.Ua);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({te:b,G:c,qd:d,Oa:e,ic:f})}delete this.Oa}return!0};Hd.prototype.Fa=function(){return!0}; Gd.prototype.Aa=function(){if(this.Oa){if(this.H){var a=this.H,b=this.id,c=this.G,d=this.w,e=this.Oa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var p=f,k=[k>>>0,h],q=ka(p,k,a.Ua);0>q&&p.splice(-(q+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.J.push({ue:b,F:c,rd:d,Oa:e,jc:f})}delete this.Oa}return!0};Gd.prototype.Fa=function(){return!0};
function Id(a,b,c,d){if(d)a.ga("Unable to load system ROM (error "+d+": "+b+")");else{ab(a.Tb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.Oa=e.symbols;if(!a.u.length){u("Empty ROM: "+b);return}if(1==a.u.length){u(a.u[0]);return}}catch(g){a.ga("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function Hd(a,b,c,d){if(d)a.ga("Unable to load system ROM (error "+d+": "+b+")");else{ab(a.Tb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.u=f;else if(h)for(a.u=Array(4*h.length),d=c=0;c<h.length;c++)a.u[d++]=h[c]&255,a.u[d++]=h[c]>>8&255,a.u[d++]=h[c]>>16&255,a.u[d++]=h[c]>>24&255;else a.u=e;a.Oa=e.symbols;if(!a.u.length){u("Empty ROM: "+b);return}if(1==a.u.length){u(a.u[0]);return}}catch(g){a.ga("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
" ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=ba(b[e],16);Kd(a)}} " ").replace(/ +$/,"").split(" "),a.u=Array(b.length),e=0;e<b.length;e++)a.u[e]=ba(b[e],16);Jd(a)}}
function Kd(a){if(!jb(a))if(!a.F)D(a);else if(a.u&&a.A){a.w||(a.w=a.u.length);if(a.u.length!=a.w)kb(a,"ROM size (0x"+n(a.u.length)+") does not match specified size ("+("0x"+n(a.w))+")");else if(Ld(a,a.H)){var b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.A,h=d.w,g=[],k=d.H>>>f.na;0<h&&k<f.W.length;)g.push(f.W[k++]),h-=f.Ea;f=d.A;d=d.w;h=0;for(e>>>=f.na;0<d&&e<f.W.length;){k=g[h++];if(!k)break;f.W[e++]=k;d-=f.Ea}}delete a.u}D(a)}} function Jd(a){if(!jb(a))if(!a.I)D(a);else if(a.u&&a.A){a.w||(a.w=a.u.length);if(a.u.length!=a.w)kb(a,"ROM size (0x"+n(a.u.length)+") does not match specified size ("+("0x"+n(a.w))+")");else if(Kd(a,a.G)){var b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(var c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.A,h=d.w,g=[],k=d.G>>>f.na;0<h&&k<f.W.length;)g.push(f.W[k++]),h-=f.Ea;f=d.A;d=d.w;h=0;for(e>>>=f.na;0<d&&e<f.W.length;){k=g[h++];if(!k)break;f.W[e++]=k;d-=f.Ea}}delete a.u}D(a)}}
function Ld(a,b){if(ub(a.A,b,a.w,a.J?1:Vb)){var c;for(c=0;c<a.u.length;c++)zb(a.A,b+c,a.u[c]);if(a.J&&256==b){for(c=0;c<Jd.length;c++)zb(a.A,Jd[c],118);Ic(a.b,function(a){return function(b){if(0<=Jd.indexOf(b)){var c=!1,h=a.b,g=a.I;if(5==b)switch(c=!0,h.S){case 2:Md(a,String.fromCharCode(h.U));break;case 9:for(var k=Oc(h),l="",p=255;p--;){var q=a.b.Y(k++);if(36==q)break;l+=String.fromCharCode(q)}Md(a,l);break;default:c=!1}c?Cd.call(h):g&&(a.g("\nCP/M vector "+t(b)),F(h,b),g.la());b=!0}else b=!1;return b}}(a)); function Kd(a,b){if(ub(a.A,b,a.w,a.J?1:Vb)){var c;for(c=0;c<a.u.length;c++)zb(a.A,b+c,a.u[c]);if(a.J&&256==b){for(c=0;c<Id.length;c++)zb(a.A,Id[c],118);Ic(a.b,function(a){return function(b){if(0<=Id.indexOf(b)){var c=!1,h=a.b,g=a.H;if(5==b)switch(c=!0,h.S){case 2:Ld(a,String.fromCharCode(h.U));break;case 9:for(var k=Oc(h),l="",p=255;p--;){var q=a.b.Y(k++);if(36==q)break;l+=String.fromCharCode(q)}Ld(a,l);break;default:c=!1}c?Cd.call(h):g&&(a.g("\nCP/M vector "+t(b)),F(h,b),g.la());b=!0}else b=!1;return b}}(a));
Kc(a.b,b)}return!0}return!1}function Md(a,b){b=b.replace(/\r/g,"");a.Da&&(a.Da.value+=b,a.Da.scrollTop=a.Da.scrollHeight)}Ia(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Hd(d);db(d,c)}});function Nd(a){x.call(this,"RAM",a,Nd);this.D=a.addr;this.w=a.size;this.u=!1}Za(Nd);m=Nd.prototype;m.Na=function(a,b,c,d){this.A=b;this.b=c;this.I=d;D(this)};m.Aa=function(a,b){b||this.reset();return!0};m.Fa=function(a){return a?this.save():!0}; Kc(a.b,b)}return!0}return!1}function Ld(a,b){b=b.replace(/\r/g,"");a.Da&&(a.Da.value+=b,a.Da.scrollTop=a.Da.scrollHeight)}Ia(function(){for(var a=B(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Gd(d);db(d,c)}});function Md(a){x.call(this,"RAM",a,Md);this.C=a.addr;this.w=a.size;this.u=!1}Za(Md);m=Md.prototype;m.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;D(this)};m.Aa=function(a,b){b||this.reset();return!0};m.Fa=function(a){return a?this.save():!0};
m.reset=function(){!this.u&&this.w&&ub(this.A,this.D,this.w,1)&&(this.u=!0);this.u||u("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ia(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nd(d);db(d,c)}});function Od(a){x.call(this,"Keyboard",a,Od,65536);(a=a.model)&&!Pd[a]&&Ka("Unrecognized Keyboard model: "+a);this.u=Pd[a]||{};this.reset();D(this)}Za(Od); m.reset=function(){!this.u&&this.w&&ub(this.A,this.C,this.w,1)&&(this.u=!0);this.u||u("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Ia(function(){for(var a=B(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Md(d);db(d,c)}});function Nd(a){x.call(this,"Keyboard",a,Nd,65536);(a=a.model)&&!Od[a]&&Ka("Unrecognized Keyboard model: "+a);this.A=Od[a]||{};this.reset();D(this)}Za(Nd);
var Qd={65:37,68:39,76:32},Rd={ya:1978.1,B:{},ub:{},vb:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},W={ya:100,B:{},ub:{},vb:{},Fc:{za:130,INIT:127},Ia:{za:130,Pc:1,Oc:2,Nc:4,Mc:8,Qc:16,hc:32,ec:63,ad:64,Nd:128,INIT:0},Lc:127};W.B[46]=3;W.B[80]=5;W.B[79]=6;W.B[89]=7;W.B[84]=8;W.B[87]=9;W.B[81]=10;W.B[39]=16;W.B[221]=20;W.B[219]=21;W.B[73]=22;W.B[85]=23;W.B[82]=24;W.B[69]=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; var Pd={ya:1978.1,B:{},dc:{65:37,68:39,76:32},ub:{},vb:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},W={ya:100,B:{},dc:{},ub:{},vb:{},Gc:{za:130,INIT:127},Ia:{za:130,Qc:1,Pc:2,Oc:4,Nc:8,Rc:16,gc:32,fc:63,bd:64,Od:128,INIT:0},Mc:127};W.B[46]=3;W.B[80]=5;W.B[79]=6;W.B[89]=7;W.B[84]=8;W.B[87]=9;W.B[81]=10;W.B[39]=16;W.B[221]=20;W.B[219]=21;W.B[73]=22;W.B[85]=23;W.B[82]=24;W.B[69]=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[76]=70;W.B[75]=71;W.B[71]=72;W.B[70]=73;W.B[65]=74;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[74]=87;W.B[72]=88;W.B[68]=89;W.B[83]=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[78]=103;W.B[66]=104; 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[76]=70;W.B[75]=71;W.B[71]=72;W.B[70]=73;W.B[65]=74;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[74]=87;W.B[72]=88;W.B[68]=89;W.B[83]=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[78]=103;W.B[66]=104;
W.B[88]=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[77]=118;W.B[32]=119;W.B[86]=120;W.B[67]=121;W.B[90]=122;W.B[120]=123;W.B[17]=124;W.B[16]=125;W.B[20]=126;W.ub={l4:W.Ia.Pc,l3:W.Ia.Oc,l2:W.Ia.Nc,l1:W.Ia.Mc,locked:W.Ia.Qc,online:W.Ia.hc,local:~W.Ia.hc};var Pd={SI1978:Rd,VT100:W}; W.B[88]=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[77]=118;W.B[32]=119;W.B[86]=120;W.B[67]=121;W.B[90]=122;W.B[120]=123;W.B[17]=124;W.B[16]=125;W.B[20]=126;W.ub={l4:W.Ia.Qc,l3:W.Ia.Pc,l2:W.Ia.Oc,l1:W.Ia.Nc,locked:W.Ia.Rc,local:W.Ia.gc,online:~W.Ia.gc};var Od={SI1978:Pd,VT100:W};
Od.prototype.ka=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.L[e]){if("led"==a&&this.u.ub[b])return this.L[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Sd(d,a,!0)},c.onkeyup=function(a){return Sd(d,a,!1)},!0;default:if(this.u.vb&&void 0!==this.u.vb[b])return this.L[e]=c,a=function(a,b){return function(){Td(a,b,!0)}}(this,b),b=function(a,b){return function(){Td(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout= Nd.prototype.ka=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.L[e]){if("led"==a&&this.A.ub[b])return this.L[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return Qd(d,a,!0)},c.onkeyup=function(a){return Qd(d,a,!1)},!0;default:if(this.A.vb&&void 0!==this.A.vb[b])return this.L[e]=c,a=function(a,b){return function(){Rd(a,b,!0)}}(this,b),b=function(a,b){return function(){Rd(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=
b),!0}}return!1};Od.prototype.Na=function(a,b,c,d){this.b=c;this.I=d;this.D=qb(a,"ChipSet");Bb(b,this,this.u.Pb);Fb(b,this,this.u.Qb)};Od.prototype.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Od.prototype.Fa=function(a){return a?this.save():!0};W.INIT=[[W.Ia.INIT,W.Fc.INIT,-1]];m=Od.prototype;m.reset=function(){this.A=[];this.u.INIT&&!this.restore(this.u.INIT)&&this.ga("reset error")}; b),!0}}return!1};Nd.prototype.Na=function(a,b,c,d){this.b=c;this.H=d;this.I=qb(a,"ChipSet");Bb(b,this,this.A.Pb);Fb(b,this,this.A.Qb)};Nd.prototype.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};Nd.prototype.Fa=function(a){return a?this.save():!0};W.INIT=[[W.Ia.INIT,W.Gc.INIT,-1]];m=Nd.prototype;m.reset=function(){this.u=[];this.A.INIT&&!this.restore(this.A.INIT)&&this.ga("reset error")};
m.save=function(){var a=new G(this);switch(this.u.ya){case W.ya:H(a,0,[this.H,this.F,-1])}return a.data()};m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.u.ya){case Rd.ya:return!0;case W.ya:return this.H=b[0],Ud(this,this.H&W.Ia.ec),this.F=b[1],this.w=b[2],!0}return!1};function Ud(a,b){for(var c in a.u.ub){var d=a.L["led-"+c];if(d){var e=a.u.ub[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}} m.save=function(){var a=new G(this);switch(this.A.ya){case W.ya:H(a,0,[this.G,this.C,-1])}return a.data()};m.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.A.ya){case Pd.ya:return!0;case W.ya:return this.G=b[0],Sd(this,this.G&W.Ia.fc),this.C=b[1],this.w=b[2],!0}return!1};function Sd(a,b){for(var c in a.A.ub){var d=a.L["led-"+c];if(d){var e=a.A.ub[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function Sd(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=Qd[e]||e,!a.u.B[e]){for(var f in a.u.vb)if(a.u.vb[f]===e){e=f;break a}e=null}e&&(d=Td(a,e,c),b.preventDefault());return d} function Qd(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.A.dc[e]||e,!a.A.B[e]){for(var f in a.A.vb)if(a.A.vb[f]===e){e=f;break a}e=null}e&&(d=Rd(a,e,c),b.preventDefault());return d}
function Td(a,b,c){var d;a:{for(d=0;d<a.A.length;d++)if(a.A[d].bc==b)break a;d=-1}if(c)0>d?a.A.push({bc:b,Yb:Date.now(),Ib:!1}):(a.A[d].Yb=Date.now(),a.A[d].Ib=!1);else if(0<=d){if(!a.A[d].Ib){var e=a.A[d].Yb;if(e&&100>Date.now()-e)return a.A[d].Ib=!0,Vd(a),!0}a.A.splice(d,1)}if(a.D)switch(b){case "1p":Fd(a.D,U.Sa.Tc,c);break;case "2p":Fd(a.D,U.Sa.Xc,c);break;case "coin":Fd(a.D,U.Sa.Hc,c);break;case "left":Fd(a.D,U.Sa.Vc,c);break;case "right":Fd(a.D,U.Sa.Wc,c);break;case "fire":Fd(a.D,U.Sa.Uc,c)}return!0} function Rd(a,b,c){var d;a:{for(d=0;d<a.u.length;d++)if(a.u[d].bc==b)break a;d=-1}if(c)0>d?a.u.push({bc:b,Yb:Date.now(),Ib:!1}):(a.u[d].Yb=Date.now(),a.u[d].Ib=!1);else if(0<=d){if(!a.u[d].Ib){var e=a.u[d].Yb;if(e&&100>Date.now()-e)return a.u[d].Ib=!0,Td(a),!0}a.u.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=U.Sa.Uc;break;case "2p":d=U.Sa.Yc;break;case "coin":d=U.Sa.Ic;break;case "left":d=U.Sa.Wc;break;case "right":d=U.Sa.Xc;break;case "fire":d=U.Sa.Vc}d&&(a=a.I,b=d,a.I&=~b,c&&(a.I|=b))}return!0}
function Vd(a){for(var b=0,c=-1;b<a.A.length;){if(a.A[b].Ib){var d=a.A[b].bc,e=100-(Date.now()-a.A[b].Yb);if(0<e){if(0>c||c>e)c=e}else{Td(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Vd(a)},c)}m.pd=function(a,b){var c=this.F;0<=this.w&&(this.w<this.A.length?(c=this.A[this.w++],c=W.B[c.bc],c&128&&(c&=127)):(this.w=-1,c=W.Lc),this.F=c,ed(this.b,1));C(this,a,null,b,"KBDUART.ADDRESS",c);return c}; function Td(a){for(var b=0,c=-1;b<a.u.length;){if(a.u[b].Ib){var d=a.u[b].bc,e=100-(Date.now()-a.u[b].Yb);if(0<e){if(0>c||c>e)c=e}else{Rd(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){Td(a)},c)}m.qd=function(a,b){var c=this.C;0<=this.w&&(this.w<this.u.length?(c=this.u[this.w],this.w++,c=W.B[c.bc],c&128&&(c&=127)):(this.w=-1,c=W.Mc),this.C=c,ed(this.b,1));C(this,a,null,b,"KBDUART.ADDRESS",c);return c};
m.Ed=function(a,b,c){C(this,a,b,c,"KBDUART.STATUS");this.H=b;Ud(this,b&W.Ia.ec);b&W.Ia.ad&&(this.w=0,ed(this.b,1))};W.Pb={130:Od.prototype.pd};W.Qb={130:Od.prototype.Ed};Ia(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Od(d);db(d,c)}}); m.Fd=function(a,b,c){C(this,a,b,c,"KBDUART.STATUS");this.G=b;Sd(this,b&W.Ia.fc);b&W.Ia.bd&&(this.w=0,ed(this.b,1))};W.Pb={130:Nd.prototype.qd};W.Qb={130:Nd.prototype.Fd};Ia(function(){for(var a=B(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nd(d);db(d,c)}});
function Wd(a,b,c,d,e){var f=this;this.qc=wa("Gecko/");var h=["","moz","ms","webkit"];x.call(this,"Video",a,Wd,262144);this.ba=a.screenWidth;this.Z=a.screenHeight;this.va=a.bufferAddr;this.Id=a.bufferRAM;var g=a.bufferFormat;this.ea=g&&Xd[g.toUpperCase()]||Yd;this.Ja=a.bufferCols;this.fa=a.bufferRows;this.Fd=this.qa=a.cellWidth||1;this.ia=a.cellHeight||1;this.bb=null;this.pc=!1;this.Ta=a.bufferBits||1;this.Jd=a.bufferLeft||0;if(this.D=a.bufferRotate)this.D=this.D%360,0<this.D&&(this.D-=360),-90!= function Ud(a,b,c,d,e){var f=this;this.rc=wa("Gecko/");var h=["","moz","ms","webkit"];x.call(this,"Video",a,Ud,262144);this.ba=a.screenWidth;this.Z=a.screenHeight;this.va=a.bufferAddr;this.Jd=a.bufferRAM;var g=a.bufferFormat;this.ea=g&&Vd[g.toUpperCase()]||Wd;this.Ja=a.bufferCols;this.fa=a.bufferRows;this.Gd=this.qa=a.cellWidth||1;this.ia=a.cellHeight||1;this.bb=null;this.qc=!1;this.Ta=a.bufferBits||1;this.Kd=a.bufferLeft||0;if(this.C=a.bufferRotate)this.C=this.C%360,0<this.C&&(this.C-=360),-90!=
this.D&&(this.ga("unsupported buffer rotation: "+this.D),this.D=0);this.Wb=a.interruptRate;this.Kd=a.refreshRate||60;this.P=b;this.F=c;this.Ba=(this.Ld=d)||b||null;this.Gd=this.ba;this.Hd=this.Z;this.Lb=this.ba/this.Ja|0;this.Mb=this.Z/this.fa|0;1<this.ia&&this.fa++;b=a.smoothing;(c=Ra.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.F[d]){this.F[d]=b;break}if(this.H=a.screenRotate)this.H=this.H%360,0<this.H&& this.C&&(this.ga("unsupported buffer rotation: "+this.C),this.C=0);this.Wb=a.interruptRate;this.Ld=a.refreshRate||60;this.P=b;this.I=c;this.Ba=(this.Md=d)||b||null;this.Hd=this.ba;this.Id=this.Z;this.Lb=this.ba/this.Ja|0;this.Mb=this.Z/this.fa|0;1<this.ia&&this.fa++;b=a.smoothing;(c=Ra.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.I[d]){this.I[d]=b;break}if(this.G=a.screenRotate)this.G=this.G%360,0<this.G&&
(this.H-=360),-90!=this.H?(this.ga("unsupported screen rotation: "+this.H),this.H=0):(this.F.translate(0,this.Z),this.F.rotate(this.H*Math.PI/180),this.F.scale(this.Z/this.ba,this.ba/this.Z));if(this.w=e)if(this.w.fb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.w.fb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Zd(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement|| (this.G-=360),-90!=this.G?(this.ga("unsupported screen rotation: "+this.G),this.G=0):(this.I.translate(0,this.Z),this.I.rotate(this.G*Math.PI/180),this.I.scale(this.Z/this.ba,this.ba/this.Z));if(this.w=e)if(this.w.fb=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.w.fb){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Xd(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||
document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Zd(f,null)},!1);break}}if(this.ha=a.fontROM)"json"!=da(this.ha)&&(this.ha=pa()+"/api/v1/dump?file="+this.ha+"&format=bytes"),oa(this.ha,null,!0,function(a,b,c){$d(f,a,b,c)});this.wb={}}Za(Wd);var Yd=0,Xd={SI1978:1,VT100:2}; document.webkitFullscreenElement?!0:!1)},!1);break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Xd(f,null)},!1);break}}if(this.ha=a.fontROM)"json"!=da(this.ha)&&(this.ha=pa()+"/api/v1/dump?file="+this.ha+"&format=bytes"),oa(this.ha,null,!0,function(a,b,c){Yd(f,a,b,c)});this.wb={}}Za(Ud);var Wd=0,Vd={SI1978:1,VT100:2};
Wd.prototype.Na=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.I=d;this.K=this.Ja*this.qa;this.da=this.fa*this.ia;b=this.K;c=this.da;this.D&&(b=this.da,c=this.K);this.Ua=(this.K*this.Ta>>3)*this.da;if(this.Id||ub(this.A,this.va,this.Ua,3))1<this.qa?ae(this,(this.Ja+1)*this.fa):(this.rc=this.F.createImageData(b,c),this.xc=16/this.Ta|0,ae(this,this.Ua>>1)),this.O=document.createElement("canvas"),this.O.width=b,this.O.height=c,this.cb=this.O.getContext("2d"),this.ma={},this.Ca=1<<this.Ta,this.oa= Ud.prototype.Na=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.H=d;this.K=this.Ja*this.qa;this.da=this.fa*this.ia;b=this.K;c=this.da;this.C&&(b=this.da,c=this.K);this.Ua=(this.K*this.Ta>>3)*this.da;if(this.Jd||ub(this.A,this.va,this.Ua,3))1<this.qa?Zd(this,(this.Ja+1)*this.fa):(this.sc=this.I.createImageData(b,c),this.yc=16/this.Ta|0,Zd(this,this.Ua>>1)),this.O=document.createElement("canvas"),this.O.width=b,this.O.height=c,this.cb=this.O.getContext("2d"),this.ma={},this.Ca=1<<this.Ta,this.oa=
Array(this.Ca+2),this.oa[0]=[0,0,0,255],this.oa[1]=[255,255,255,255],1==this.ea&&(this.oa[this.Ca+0]=[255,255,0,255],this.oa[this.Ca+1]=[0,255,0,255]),2==this.ea&&(this.yc=60,this.eb=!1,this.Ka=Array(this.Ja));if(this.M=qb(a,"Keyboard")){for(var e in this.wb)this.M.ka("led",e,this.wb[e]);this.P&&this.M.ka(this.Ld?"textarea":"canvas","kbd",this.Ba)}this.ha||D(this)}; Array(this.Ca+2),this.oa[0]=[0,0,0,255],this.oa[1]=[255,255,255,255],1==this.ea&&(this.oa[this.Ca+0]=[255,255,0,255],this.oa[this.Ca+1]=[0,255,0,255]),2==this.ea&&(this.zc=60,this.eb=!1,this.Ka=Array(this.Ja));if(this.M=qb(a,"Keyboard")){for(var e in this.wb)this.M.ka("led",e,this.wb[e]);this.P&&this.M.ka(this.Md?"textarea":"canvas","kbd",this.Ba)}this.ha||D(this)};
function $d(a,b,c,d){if(d)a.ga("Unable to load font ROM (error "+d+": "+b+")");else{ab(a.Tb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){u("Empty font ROM: "+b);return}if(1==f.length){u(f[0]);return}if(2048==f.length)be(a,f);else{a.ga("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ga("Font ROM data error: "+h.message);return}(a.F||a.I)&&D(a)}} function Yd(a,b,c,d){if(d)a.ga("Unable to load font ROM (error "+d+": "+b+")");else{ab(a.Tb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){u("Empty font ROM: "+b);return}if(1==f.length){u(f[0]);return}if(2048==f.length)$d(a,f);else{a.ga("Unrecognized font data length ("+f.length+")");return}}catch(h){a.ga("Font ROM data error: "+h.message);return}(a.I||a.H)&&D(a)}}
function be(a,b){a.bb=b;a.pc=2==a.ea;a.ma[96]=[ce(a,a.qa,a.ia),ce(a,a.qa,a.ia,a.eb)];a.ma[64]=[ce(a,2*a.qa,a.ia),ce(a,2*a.qa,a.ia,a.eb)];a.ma[32]=a.ma[0]=[ce(a,2*a.qa,2*a.ia),ce(a,2*a.qa,2*a.ia,a.eb)]} function $d(a,b){a.bb=b;a.qc=2==a.ea;a.ma[96]=[ae(a,a.qa,a.ia),ae(a,a.qa,a.ia,a.eb)];a.ma[64]=[ae(a,2*a.qa,a.ia),ae(a,2*a.qa,a.ia,a.eb)];a.ma[32]=a.ma[0]=[ae(a,2*a.qa,2*a.ia),ae(a,2*a.qa,2*a.ia,a.eb)]}
function ce(a,b,c,d){var e=8>=a.Fd?8:16,f=8<e?15:0,h=a.bb.length/e,g=!1===d,k={qa:b,ia:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),p=0;p<h;p++){for(var q=0,r=q;q<a.ia;q++)for(var y=p*e+(f+q&e-1),y=d&&8==q?255:a.bb[y],v=0;v<c/a.ia;v++){for(var I=0,w=0,J=w;w<a.qa;w++){for(var A=y&128>>(7<w?7:w),I=a.pc&&!A&&I?I:A,R=0;R<b/a.qa;R++)g&&(I=!I),de(a,l,J,r,I?1:0),J++;I=A}r++}k.context.putImageData(l, function ae(a,b,c,d){var e=8>=a.Gd?8:16,f=8<e?15:0,h=a.bb.length/e,g=!1===d,k={qa:b,ia:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var l=k.context.createImageData(b,c),p=0;p<h;p++){for(var q=0,r=q;q<a.ia;q++)for(var y=p*e+(f+q&e-1),y=d&&8==q?255:a.bb[y],v=0;v<c/a.ia;v++){for(var I=0,w=0,J=w;w<a.qa;w++){for(var A=y&128>>(7<w?7:w),I=a.qc&&!A&&I?I:A,R=0;R<b/a.qa;R++)g&&(I=!I),be(a,l,J,r,I?1:0),J++;I=A}r++}k.context.putImageData(l,
(p&15)*b,(p>>4)*c)}return k} (p&15)*b,(p>>4)*c)}return k}
Wd.prototype.Aa=function(){if(2==this.ea){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.va,c=-1,d=-1,e,f=-(60==this.yc?2:5);f<this.fa;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;zb(this.A,b++,e);zb(this.A,b++, Ud.prototype.Aa=function(){if(2==this.ea){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.va,c=-1,d=-1,e,f=-(60==this.zc?2:5);f<this.fa;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;zb(this.A,b++,e);zb(this.A,b++,
c&255);if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)zb(this.A,b++,g.charCodeAt(k)|c);c^=128}zb(this.A,b++,127);c=b}ee(this)}return!0};Wd.prototype.ka=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.wb[b]=c,!0;switch(b){case "fullScreen":return this.L[b]=c,this.w&&this.w.fb?c.onclick=function(){d.fb()}:c.parentNode.removeChild(c),!0}return!1}; c&255);if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)zb(this.A,b++,g.charCodeAt(k)|c);c^=128}zb(this.A,b++,127);c=b}ce(this)}return!0};Ud.prototype.ka=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.wb[b]=c,!0;switch(b){case "fullScreen":return this.L[b]=c,this.w&&this.w.fb?c.onclick=function(){d.fb()}:c.parentNode.removeChild(c),!0}return!1};
Wd.prototype.fb=function(){var a=!1;if(this.w){if(this.w.fb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.Z;b>c&&(a=Math.round(c/b*100)+"%")}this.qc?(this.P.style.width=a,this.P.style.width=a,this.P.style.display="block",this.P.style.margin="auto"):(this.w.style.width=a,this.w.style.height="auto");this.w.style.backgroundColor="black";this.w.fb();a=!0}this.Ba&&this.Ba.focus()}return a}; Ud.prototype.fb=function(){var a=!1;if(this.w){if(this.w.fb){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.ba/this.Z;b>c&&(a=Math.round(c/b*100)+"%")}this.rc?(this.P.style.width=a,this.P.style.width=a,this.P.style.display="block",this.P.style.margin="auto"):(this.w.style.width=a,this.w.style.height="auto");this.w.style.backgroundColor="black";this.w.fb();a=!0}this.Ba&&this.Ba.focus()}return a};
function Zd(a,b){!b&&a.w&&(a.qc?a.P.style.width=a.P.style.height="":a.w.style.width=a.w.style.height="");fb(a,"notifyFullScreen("+b+")",!0)}function ae(a,b){a.wc=b;a.wa=!1;if(void 0===a.J||a.J.length!=a.wc)a.J=Array(a.wc)}function de(a,b,c,d,e){d=a.D?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ea&&(208<=c&&236>c?e=a.Ca+0:28<=c&&72>c&&(e=a.Ca+1));a=a.oa[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 Xd(a,b){!b&&a.w&&(a.rc?a.P.style.width=a.P.style.height="":a.w.style.width=a.w.style.height="");fb(a,"notifyFullScreen("+b+")",!0)}function Zd(a,b){a.xc=b;a.wa=!1;if(void 0===a.J||a.J.length!=a.xc)a.J=Array(a.xc)}function be(a,b,c,d,e){d=a.C?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.ea&&(208<=c&&236>c?e=a.Ca+0:28<=c&&72>c&&(e=a.Ca+1));a=a.oa[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 ee(a){for(var b=a.va,c=-1,d=0,e=60==a.yc?2:5,f=0,h=0;d<a.fa;){var g=0,k=b,l=c,p=a.Ja;for(96!=l&&(p>>=1);;){var q=xb(a.A,k++);if(127==(q&127)){var r=xb(a.A,k++),c=r&96,b=(r&15)<<8|xb(a.A,k),b=b+(r&16?8192:16384);break}if(g<p)a.Ka[g++]=q;else break}if(e)e--;else{for(;g<a.Ka.length;)a.Ka[g++]=0;if(0<=l)for(k=a.wa&&a.J[f]==p,a.J[f++]=p,p=0;p<g;p++){q=a.Ka[p];if(!k||q!==a.J[f]){a.J[f]=q;var r=a,y=a.cb,v=q&127;if(q=r.ma[l][q&128?1:0]){var I=(v&15)*q.qa,v=(v>>4)*q.ia,w=void 0,J=void 0,A=void 0, function ce(a){for(var b=a.va,c=-1,d=0,e=60==a.zc?2:5,f=0,h=0;d<a.fa;){var g=0,k=b,l=c,p=a.Ja;for(96!=l&&(p>>=1);;){var q=xb(a.A,k++);if(127==(q&127)){var r=xb(a.A,k++),c=r&96,b=(r&15)<<8|xb(a.A,k),b=b+(r&16?8192:16384);break}if(g<p)a.Ka[g++]=q;else break}if(e)e--;else{for(;g<a.Ka.length;)a.Ka[g++]=0;if(0<=l)for(k=a.wa&&a.J[f]==p,a.J[f++]=p,p=0;p<g;p++){q=a.Ka[p];if(!k||q!==a.J[f]){a.J[f]=q;var r=a,y=a.cb,v=q&127;if(q=r.ma[l][q&128?1:0]){var I=(v&15)*q.qa,v=(v>>4)*q.ia,w=void 0,J=void 0,A=void 0,
R=void 0,za=q.qa,Z=q.ia;y?(w=p*r.qa,J=d*r.ia,A=r.qa,R=r.ia):(w=p*r.Lb,J=d*r.Mb,A=r.Lb,R=r.Mb);q.qa>r.qa&&(w*=2,A*=2);q.ia>r.ia&&(0==l&&(v+=r.ia),Z=r.ia);y?y.drawImage(q.canvas,I,v,za,Z,w,J,A,R):(w+=0,J+=0,r.F.drawImage(q.canvas,I,v,za,Z,w,J,A,R))}h++}f++}d++}}a.wa=!0;h&&a.cb&&a.F.drawImage(a.O,0,0,a.K,a.da-a.ia,0,0,a.Gd,a.Hd)} R=void 0,za=q.qa,Z=q.ia;y?(w=p*r.qa,J=d*r.ia,A=r.qa,R=r.ia):(w=p*r.Lb,J=d*r.Mb,A=r.Lb,R=r.Mb);q.qa>r.qa&&(w*=2,A*=2);q.ia>r.ia&&(0==l&&(v+=r.ia),Z=r.ia);y?y.drawImage(q.canvas,I,v,za,Z,w,J,A,R):(w+=0,J+=0,r.I.drawImage(q.canvas,I,v,za,Z,w,J,A,R))}h++}f++}d++}}a.wa=!0;h&&a.cb&&a.I.drawImage(a.O,0,0,a.K,a.da-a.ia,0,0,a.Hd,a.Id)}
Ia(function(){for(var a=B(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; 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<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= Ia(function(){for(var a=B(document,"pc8080","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=document.createElement("canvas");if(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; 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<=qa().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height=
(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("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");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Wd(d,e,h,f,c);db(d,c)}}); (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Ra.aspect);f&&.3<=f&&3.33>=f&&(Ha("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");wa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new Ud(d,e,h,f,c);db(d,c)}});
function fe(a){this.H=+a.adapter;switch(this.H){case 0:this.J=0;break;default:u("Unrecognized serial adapter #"+this.H);return}x.call(this,"SerialPort",a,fe,8388608);var b=a.binding;if("console"!=b){var c;a=ge;b&&(void 0===c&&(c="Panel"),(c=cb(c,this.id))&&(b=c.L[b])&&this.ka(null,a,b))}}Za(fe);var ge="buffer";m=fe.prototype; function de(a){this.G=+a.adapter;switch(this.G){case 0:this.J=0;break;default:u("Unrecognized serial adapter #"+this.G);return}x.call(this,"SerialPort",a,de,8388608);var b=a.binding;if("console"!=b){var c;a=ee;b&&(void 0===c&&(c="Panel"),(c=cb(c,this.id))&&(b=c.L[b])&&this.ka(null,a,b))}}Za(de);var ee="buffer";m=de.prototype;
m.ka=function(a,b,c){switch(b){case ge:return this.L[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;(8===b||a.ctrlKey&&65<=b&&90>=b)&&a.preventDefault&&a.preventDefault();return!0},c.onkeypress=function(a){a=a||window.event;a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};m.Na=function(a,b,c,d){this.A=b;this.b=c;this.I=d;this.D=qb(a,"ChipSet");Bb(b,this,he,this.J);Fb(b,this,ie,this.J);D(this)}; m.ka=function(a,b,c){switch(b){case ee:return this.L[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;(8===b||a.ctrlKey&&65<=b&&90>=b)&&a.preventDefault&&a.preventDefault();return!0},c.onkeypress=function(a){a=a||window.event;a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};m.Na=function(a,b,c,d){this.A=b;this.b=c;this.H=d;this.I=qb(a,"ChipSet");Bb(b,this,fe,this.J);Fb(b,this,ge,this.J);D(this)};
m.Aa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.Fa=function(a){return a?this.save():!0};m.reset=function(){je(this)};m.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.w;c[b++]=this.u;c[b++]=this.F;H(a,0,c);return a.data()};m.restore=function(a){return je(this,a[0])};function je(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.w=b[c++];a.u=b[c++];a.F=b[c++];return!0}m.jd=function(a,b){var c=this.w;C(this,a,null,b,"DATA",c);return c}; m.Aa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.Fa=function(a){return a?this.save():!0};m.reset=function(){he(this)};m.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.w;c[b++]=this.u;c[b++]=this.C;H(a,0,c);return a.data()};m.restore=function(a){return he(this,a[0])};function he(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.w=b[c++];a.u=b[c++];a.C=b[c++];return!0}m.kd=function(a,b){var c=this.w;C(this,a,null,b,"DATA",c);return c};
m.hd=function(a,b){var c=this.u;C(this,a,null,b,"COMMAND",c);return c};m.ud=function(a,b,c){C(this,a,b,c,"DATA");this.w=b};m.td=function(a,b,c){C(this,a,b,c,"COMMAND");this.u=b};m.sd=function(a,b,c){C(this,a,b,c,"BAUDRATE");this.F=b};var he={0:fe.prototype.jd,1:fe.prototype.hd},ie={0:fe.prototype.ud,1:fe.prototype.td,2:fe.prototype.sd};Ia(function(){for(var a=B(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new fe(d);db(d,c)}}); m.jd=function(a,b){var c=this.u;C(this,a,null,b,"COMMAND",c);return c};m.vd=function(a,b,c){C(this,a,b,c,"DATA");this.w=b};m.ud=function(a,b,c){C(this,a,b,c,"COMMAND");this.u=b};m.td=function(a,b,c){C(this,a,b,c,"BAUDRATE");this.C=b};var fe={0:de.prototype.kd,1:de.prototype.jd},ge={0:de.prototype.vd,1:de.prototype.ud,2:de.prototype.td};Ia(function(){for(var a=B(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new de(d);db(d,c)}});
function ke(a){x.call(this,"Debugger",a,ke);this.style=le;this.da=this.Ca=this.M=0;this.P=X();this.bb=X();this.F=-1;this.D=[];this.fa=!1;this.ea=X();this.J=[];this.ha={};this.w=this.Z=this.H=[];me(this);this.va=0;ne(this);this.Ja=[];oe(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return kc(b,a)}):void 0===global.$&&(global.$=function(a){return kc(b,a)})}Za(ke); function ie(a){x.call(this,"Debugger",a,ie);this.style=je;this.da=this.Ca=this.M=0;this.P=X();this.bb=X();this.I=-1;this.C=[];this.fa=!1;this.ea=X();this.J=[];this.ha={};this.w=this.Z=this.G=[];ke(this);this.va=0;le(this);this.Ja=[];me(this,a.messages);this.Ka=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return kc(b,a)}):void 0===global.$&&(global.$=function(a){return kc(b,a)})}Za(ie);
var pe={"?":"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"},
le=8080,qe="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(" "),re="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(" "),
se="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),te=[[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]],ue={cpu:1,bus:64,mem:128,port:256,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};m=ke.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]],se={cpu:1,bus:64,mem:128,port:256,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};m=ie.prototype;
m.Na=function(a,b,c,d){this.A=b;this.b=c;this.u=a;(a=hc(a,"messages"))&&oe(this,a);this.Ta=te;ve(this,function(a){a:{var b=d.A.W,c=a[0],g=a=0,k=b.length;if(c){a=we(xe(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.A.na;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=wb[c],p&&d.g(n(p.id)+" %"+n(g<<d.A.na)+" %%"+n(p.G)+" "+t(p.Fb)+" "+ m.Na=function(a,b,c,d){this.A=b;this.b=c;this.u=a;(a=hc(a,"messages"))&&me(this,a);this.Ta=re;te(this,function(a){a:{var b=d.A.W,c=a[0],g=a=0,k=b.length;if(c){a=ue(ve(d,c));if(-1===a){d.g("invalid address: "+c);break a}g=a>>>d.A.na;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[g];p.type==c?l++||d.g("..."):(c=p.type,l=wb[c],p&&d.g(n(p.id)+" %"+n(g<<d.A.na)+" %%"+n(p.F)+" "+t(p.Fb)+" "+
t(p.size)+" "+l),c!=Ub&&(c=-1),l=0);a+=d.A.Ea;g++}}});D(this)}; t(p.size)+" "+l),c!=Ub&&(c=-1),l=0);a+=d.A.Ea;g++}}});D(this)};
m.ka=function(a,b,c){var d=this;switch(b){case "debugInput":return this.oa=this.L[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.F<d.D.length-1&&(b=d.D[++d.F]):40==a.keyCode&&(0<d.F?b=d.D[--d.F]:(b="",d.F=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.L[b]=c,ya(c,function(){if(d.oa){var a=d.oa.value;d.oa.value= m.ka=function(a,b,c){var d=this;switch(b){case "debugInput":return this.oa=this.L[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",kc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.I<d.C.length-1&&(b=d.C[++d.I]):40==a.keyCode&&(0<d.I?b=d.C[--d.I]:(b="",d.I=-1)),null!=b){var h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.L[b]=c,ya(c,function(){if(d.oa){var a=d.oa.value;d.oa.value=
"";kc(d,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=c,ya(c,function(a){var b=!1;ib(d,!0)||(hb(d,!0),b=d.rb(a?1:0),hb(d,!1));return b}),!0}return!1};m.Eb=function(){this.oa&&this.oa.focus()};function we(a){a=a&&a.G;null==a&&(a=-1);return a}m.Y=function(a,b){var c=255,d=we(a);-1!==d&&(c=xb(this.A,d),b&&ye(a,b));return c};m.Qa=function(a,b){var c=65535,d=we(a);-1!==d&&(c=yb(this.A,d),b&&ye(a,b));return c};m.ra=function(a,b,c){var d=we(a);-1!==d&&(zb(this.A,d,b),c&&ye(a,c),lc(this.b,!0))}; "";kc(d,a,!0);return!0}return!1}),!0;case "step":return this.L[b]=c,ya(c,function(a){var b=!1;ib(d,!0)||(hb(d,!0),b=d.rb(a?1:0),hb(d,!1));return b}),!0}return!1};m.Eb=function(){this.oa&&this.oa.focus()};function ue(a){a=a&&a.F;null==a&&(a=-1);return a}m.Y=function(a,b){var c=255,d=ue(a);-1!==d&&(c=xb(this.A,d),b&&we(a,b));return c};m.Qa=function(a,b){var c=65535,d=ue(a);-1!==d&&(c=yb(this.A,d),b&&we(a,b));return c};m.ra=function(a,b,c){var d=ue(a);-1!==d&&(zb(this.A,d,b),c&&we(a,c),lc(this.b,!0))};
m.Rb=function(a,b,c){var d=we(a);if(-1!==d){var e=this.A,f=d&e.A,h=(d&e.D)>>>e.na;f!=e.A?e.W[h].cc(f,b&65535,d):(e.W[h++].Gb(f,b&255,d),e.W[h&e.K].Gb(0,b>>8&255,d+1));c&&ye(a,c);lc(this.b,!0)}};function X(a){return{G:a,Ma:!1}}function ze(a){return[a.G,a.Ma]}function Ae(a){return{G:a[0],Ma:a[1]}} m.Rb=function(a,b,c){var d=ue(a);if(-1!==d){var e=this.A,f=d&e.A,h=(d&e.C)>>>e.na;f!=e.A?e.W[h].cc(f,b&65535,d):(e.W[h++].Gb(f,b&255,d),e.W[h&e.K].Gb(0,b>>8&255,d+1));c&&we(a,c);lc(this.b,!0)}};function X(a){return{F:a,Ma:!1}}function xe(a){return[a.F,a.Ma]}function ye(a){return{F:a[0],Ma:a[1]}}
function xe(a,b,c){var d;c=(c?a.P:a.bb).G;if(void 0!==b){d=b=Be(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].Oa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=X(d));break}}if(d=e)return d;c=Ce(a,b,void 0)}null!=c&&(d=X(c));return d}function De(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.ed=Ee(a,b.Bc=c[2]))}function ye(a,b){null!=a.G&&(a.G+=b||1)}function Y(a){return n(a,4)} function ve(a,b,c){var d;c=(c?a.P:a.bb).F;if(void 0!==b){d=b=ze(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.J.length;c++){var f=a.J[c].Oa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=X(d));break}}if(d=e)return d;c=Ae(a,b,void 0)}null!=c&&(d=X(c));return d}function Be(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.fd=Ce(a,b.Cc=c[2]))}function we(a,b){null!=a.F&&(a.F+=b||1)}function Y(a){return n(a,4)}
function Fe(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Y(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function oe(a,b){a.I=a;a.pa=a.fd=536870912;a.wa=null;a.Ba=[];var c=Ee(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in ue)0<=na(c,d)&&(a.pa|=ue[d],a.g(d+" messages enabled"))}function ve(a,b){for(var c in ue)if(64==ue[c]){a.Ja[c]=b;break}} function De(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Y(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function me(a,b){a.H=a;a.pa=a.gd=536870912;a.wa=null;a.Ba=[];var c=Ce(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in se)0<=na(c,d)&&(a.pa|=se[d],a.g(d+" messages enabled"))}function te(a,b){for(var c in se)if(64==se[c]){a.Ja[c]=b;break}}
function Ge(a,b){var c;a=a.toUpperCase();null==b?c=na(se,a):(c=na(se,a.substr(b,2)),0>c&&(c=na(se,a.substr(b,1))));return c}function He(a,b){var c=0,d=Ie(a,b);if(void 0!==d)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?n(d,c):"??"} function Ee(a,b){var c;a=a.toUpperCase();null==b?c=na(qe,a):(c=na(qe,a.substr(b,2)),0>c&&(c=na(qe,a.substr(b,1))));return c}function Fe(a,b){var c=0,d=Ge(a,b);if(void 0!==d)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?n(d,c):"??"}
function Ie(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.R;break;case 1:c=d.S;break;case 8:c=Mc(d);break;case 2:c=d.T;break;case 3:c=d.U;break;case 9:c=Oc(d);break;case 4:c=d.V;break;case 5:c=d.X;break;case 10:c=K(d);break;case 6:c=d.Y(K(d));break;case 11:c=d.ja;break;case 12:c=d.N;break;case 13:c=Lc(d);break;case 14:c=Lc(d)&255|d.j<<8}}return c} function Ge(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.j;break;case 0:c=d.R;break;case 1:c=d.S;break;case 8:c=Mc(d);break;case 2:c=d.T;break;case 3:c=d.U;break;case 9:c=Oc(d);break;case 4:c=d.V;break;case 5:c=d.X;break;case 10:c=K(d);break;case 6:c=d.Y(K(d));break;case 11:c=d.ja;break;case 12:c=d.N;break;case 13:c=Lc(d);break;case 14:c=Lc(d)&255|d.j<<8}}return c}
function Je(a,b){b=Be(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Ge(b,c+1),0<=e&&(b=b.substr(0,c)+He(a,e)+b.substr(c+1+se[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ba(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=xe(a,e))?(d=e+' "'+Fe(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=xe(a,e))?(ye(d),d=e+' "'+ function He(a,b){b=ze(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=Ee(b,c+1),0<=e&&(b=b.substr(0,c)+Fe(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=ba(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=ve(a,e))?(d=e+' "'+De(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=ve(a,e))?(we(d),d=e+' "'+
Fe(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Y(X(this.b.N).G));if(this.pa&1073741824)this.Ba.push(a);else if(!this.wa||a!=this.wa)if(this.wa=a,this.pa&-2147483648&&(this.la(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.ob=0;c.F-=c.b;c.b=0;lc(c)}}; De(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+Y(X(this.b.N).F));if(this.pa&1073741824)this.Ba.push(a);else if(!this.wa||a!=this.wa)if(this.wa=a,this.pa&-2147483648&&(this.la(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.ob=0;c.C-=c.b;c.b=0;lc(c)}};
function eb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.pa&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?",0x"+n(d,2):"")+")"+(null!=h?": 0x"+n(h,2):"")+(null!=e?" at "+Y(e):""))} function eb(a,b,c,d,e,f,h,g){g|=256;null!=f&&(a.pa&g)!=g||a.message(b.ab+"."+(null!=d?"outPort":"inPort")+"("+t(c)+","+(f?f:"unknown")+(null!=d?",0x"+n(d,2):"")+")"+(null!=h?": 0x"+n(h,2):"")+(null!=e?" at "+Y(e):""))}
function ne(a){var b;if(fd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=X();a.ma=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.O&&a.O.length&&a.g("instruction history buffer freed"),a.ma=0,a.O=[],a.K=[]}m.$a=function(a){if(!Ke(this))return!1;this.b.$a(a);return!0}; function le(a){var b;if(yd(a)){if(!a.O||!a.O.length){a.O=Array(1E3);for(b=0;b<a.O.length;b++)a.O[b]=X();a.ma=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.O&&a.O.length&&a.g("instruction history buffer freed"),a.ma=0,a.O=[],a.K=[]}m.$a=function(a){if(!Ie(this))return!1;this.b.$a(a);return!0};
m.rb=function(a,b,c){if(!Ke(this))return!1;this.M=0;a||fd(this)&&zd(this,this.b.N,0);try{var d=this.b.rb(a);0<d&&(this.M+=d,Cc(this.b,d,!0),nc(this.b,d),this.da++)}catch(e){"number"!=typeof e&&(this.M=0,kb(this.b,e.stack||e.message))}!1!==c&&lc(this.b);this.Ga(b||!1);return 0<this.M};m.la=function(a){this.b&&this.b.la(a)};m.Ga=function(a){void 0===a&&(a=!0);this.P=X(this.b.N);a&&1!=this.ba?Le(this):Me(this)}; m.rb=function(a,b,c){if(!Ie(this))return!1;this.M=0;a||yd(this)&&zd(this,this.b.N,0);try{var d=this.b.rb(a);0<d&&(this.M+=d,Cc(this.b,d,!0),nc(this.b,d),this.da++)}catch(e){"number"!=typeof e&&(this.M=0,kb(this.b,e.stack||e.message))}!1!==c&&lc(this.b);this.Ga(b||!1);return 0<this.M};m.la=function(a){this.b&&this.b.la(a)};m.Ga=function(a){void 0===a&&(a=!0);this.P=X(this.b.N);a&&1!=this.ba?Je(this):Ke(this)};
function Ke(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.C.sa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.C.ib?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Aa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Fa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ne(this);this.da=this.Ca=0;this.wa=null;this.M=0;this.P=X(this.b.N);this.C.xa=!1;Ne(this);a||this.Ga()}; function Ie(a){var b;if(b=a.b&&jb(a.b))b=a.b,b.D.sa?b=!0:(b.g(b.toString()+" not powered"),b=!1);b&&!ib(a.b)?(a=a.b,a.D.ib?(a.g(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.Aa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.Fa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){le(this);this.da=this.Ca=0;this.wa=null;this.M=0;this.P=X(this.b.N);this.D.xa=!1;Le(this);a||this.Ga()};
m.save=function(){var a=new G(this);H(a,0,ze(this.P));H(a,1,ze(this.ea));H(a,2,[this.D,this.fa,this.pa]);H(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.P=Ae(a[b++]),this.ea=Ae(a[b++]),this.D=a[b][0],"string"==typeof this.D&&(this.D=[this.D]),this.fa=a[b][1],this.pa|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.C.xa=!0;this.wb=a;this.Lb=b}; m.save=function(){var a=new G(this);H(a,0,xe(this.P));H(a,1,xe(this.ea));H(a,2,[this.C,this.fa,this.pa]);H(a,3,this.J);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.P=ye(a[b++]),this.ea=ye(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.fa=a[b][1],this.pa|=a[b][2]);a[3]&&(this.J=a[3]);return!0};m.start=function(a,b){this.ba||this.g("running");this.D.xa=!0;this.wb=a;this.Lb=b};
m.stop=function(a,b){if(this.C.xa){this.C.xa=!1;this.M=b-this.Lb;if(!this.ba){var c="stopped";if(this.M){var d=a-this.wb,e=0<d?Math.round(1E3*this.M/d):0,c=c+" (";fd(this)&&(c+=this.da+" opcodes, ",this.Ca-=this.da,this.da=0);c+=this.M+" cycles, "+d+" ms, "+e+" hz)"}else gb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ga(!0);this.Eb();Ne(this,this.b.N)}};function fd(a){return 1<a.w.length||!!a.va} m.stop=function(a,b){if(this.D.xa){this.D.xa=!1;this.M=b-this.Lb;if(!this.ba){var c="stopped";if(this.M){var d=a-this.wb,e=0<d?Math.round(1E3*this.M/d):0,c=c+" (";yd(this)&&(c+=this.da+" opcodes, ",this.Ca-=this.da,this.da=0);c+=this.M+" cycles, "+d+" ms, "+e+" hz)"}else gb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.g(c)}this.Ga(!0);this.Eb();Le(this,this.b.N)}};function yd(a){return 1<a.w.length||!!a.va}
function zd(a,b,c){var d=a.b;if(0<c&&(a.va&&!--a.va||cc(a,b,1,a.w)))return!0;0<=c&&a.K.length&&(a.da++,b=xb(a.A,b),null!=b&&(a.K[b][1]++,b=a.O[a.ma],b.G=d.N,b.Ma=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Db(a,b,c){a.g("break on input from port "+t(b)+": "+n(c));a.la(!0)}function Hb(a,b,c){a.g("break on output to port "+t(b)+": "+n(c));a.la(!0)} function zd(a,b,c){var d=a.b;if(0<c&&(a.va&&!--a.va||cc(a,b,1,a.w)))return!0;0<=c&&a.K.length&&(a.da++,b=xb(a.A,b),null!=b&&(a.K[b][1]++,b=a.O[a.ma],b.F=d.N,b.Ma=!1,++a.ma==a.O.length&&(a.ma=0)));return!1}function Db(a,b,c){a.g("break on input from port "+t(b)+": "+n(c));a.la(!0)}function Hb(a,b,c){a.g("break on output to port "+t(b)+": "+n(c));a.la(!0)}
function me(a){var b,c;a.w=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.A;dc(d.W[we(c)>>>d.na],!1)}a.Z=["br"];if(void 0!==a.H)for(b=1;b<a.H.length;b++)c=a.H[b],d=a.A,dc(d.W[we(c)>>>d.na],!0);a.H=["bw"];a.cb=0}m.Va=function(a,b,c){var d=!0;c||mf(this,a,b,!1,!0);if(a!=this.w){var e=we(b);if(-1===e)this.g("invalid address: "+Y(b.G)),d=!1;else{var f=this.A;f.W[e>>>f.na].Va(e&f.A,a==this.H)}}d&&(a.push(b),c?b.Ma=!0:(nf(this,a,a.length-1,"set"),ne(this)));return d}; function ke(a){var b,c;a.w=["bp"];if(void 0!==a.Z)for(b=1;b<a.Z.length;b++){c=a.Z[b];var d=a.A;dc(d.W[ue(c)>>>d.na],!1)}a.Z=["br"];if(void 0!==a.G)for(b=1;b<a.G.length;b++)c=a.G[b],d=a.A,dc(d.W[ue(c)>>>d.na],!0);a.G=["bw"];a.cb=0}m.Va=function(a,b,c){var d=!0;c||Me(this,a,b,!1,!0);if(a!=this.w){var e=ue(b);if(-1===e)this.g("invalid address: "+Y(b.F)),d=!1;else{var f=this.A;f.W[e>>>f.na].Va(e&f.A,a==this.G)}}d&&(a.push(b),c?b.Ma=!0:(lf(this,a,a.length-1,"set"),le(this)));return d};
function mf(a,b,c,d,e){var f=!1;c=we(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==we(g)&&(!d||g.Ma)){f=!0;g.Ma||e||nf(a,b,h,"cleared");b.splice(h,1);b!=a.w&&(d=a.A,dc(d.W[c>>>d.na],b==a.H));g.Ma||ne(a);break}}return f}function of(a,b){for(var c=1;c<b.length;c++)nf(a,b,c);return b.length-1}function nf(a,b,c,d){c=b[c];a.g(b[0]+" "+Y(c.G)+(d?" "+d:c.Bc?' "'+c.Bc+'"':""))} function Me(a,b,c,d,e){var f=!1;c=ue(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==ue(g)&&(!d||g.Ma)){f=!0;g.Ma||e||lf(a,b,h,"cleared");b.splice(h,1);b!=a.w&&(d=a.A,dc(d.W[c>>>d.na],b==a.G));g.Ma||le(a);break}}return f}function mf(a,b){for(var c=1;c<b.length;c++)lf(a,b,c);return b.length-1}function lf(a,b,c,d){c=b[c];a.g(b[0]+" "+Y(c.F)+(d?" "+d:c.Cc?' "'+c.Cc+'"':""))}
function Ne(a,b){if(void 0!==b)cc(a,b,1,a.w,!0),a.ba=0;else for(var c=1;c<a.w.length;c++){var d=a.w[c];if(d.Ma){if(!mf(a,a.w,d,!0))break;c=0}}} function Le(a,b){if(void 0!==b)cc(a,b,1,a.w,!0),a.ba=0;else for(var c=1;c<a.w.length;c++){var d=a.w[c];if(d.Ma){if(!Me(a,a.w,d,!0))break;c=0}}}
function cc(a,b,c,d,e){var f=!1;if(!a.cb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ma)for(var k=we(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.Ma&&(mf(a,d,g,!0),e=!0);if(p=g.ed){for(var f=!1,q=0;q<p.length;q++)if(!pf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var r=q+1;r<p.length&&p[r].indexOf("else");r++)q++;if(r==p.length){f=!0;break}}a.b.C.xa||(f=!0)}if(f){e||nf(a,d,h,"hit");break}}}a.cb--;return f} function cc(a,b,c,d,e){var f=!1;if(!a.cb++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.Ma)for(var k=ue(g),l=0;l<c;l++)if(b+l==k){var p,f=!0;g.Ma&&(Me(a,d,g,!0),e=!0);if(p=g.fd){for(var f=!1,q=0;q<p.length;q++)if(!nf(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var r=q+1;r<p.length&&p[r].indexOf("else");r++)q++;if(r==p.length){f=!0;break}}a.b.D.xa||(f=!0)}if(f){e||lf(a,d,h,"hit");break}}}a.cb--;return f}
function qf(a,b,c,d){for(var e=X(b.G),f=a.Y(b,1),h=a.Ta[f],g="",k=(8086!=a.style?qe:re)[h[0]],l=h.length-1,p=0,q,r=1;r<=l;r++){var y="";q=h[r];if(void 0!==q&&!(q&16384&&a.style==le)){var v=q&240;if(v){var I=q&15;I?p=I:q|=p;q&61440||(q|=1==r?8192:4096);if(v&32)a:{var y=a,v=q,I=b,w=" ";switch(v&15){case 1:w=n(y.Y(I,1),2);break;case 2:w=n(y.Y(I,1)<<24>>24,4);break;case 3:w=n(y.Qa(I,2),4);break;default:y="imm("+t(v)+")";break a}8086==y.style&&v&64?w="["+w+"]":v&16||(w=(y.style==le?"$":"0x")+w);y=w}else v& function of(a,b,c,d){for(var e=X(b.F),f=a.Y(b,1),h=a.Ta[f],g="",k=(8086!=a.style?oe:pe)[h[0]],l=h.length-1,p=0,q,r=1;r<=l;r++){var y="";q=h[r];if(void 0!==q&&!(q&16384&&a.style==je)){var v=q&240;if(v){var I=q&15;I?p=I:q|=p;q&61440||(q|=1==r?8192:4096);if(v&32)a:{var y=a,v=q,I=b,w=" ";switch(v&15){case 1:w=n(y.Y(I,1),2);break;case 2:w=n(y.Y(I,1)<<24>>24,4);break;case 3:w=n(y.Qa(I,2),4);break;default:y="imm("+t(v)+")";break a}8086==y.style&&v&64?w="["+w+"]":v&16||(w=(y.style==je?"$":"0x")+w);y=w}else v&
16?(y=(q&3840)>>8,v=se[y],8086==a.style&&q&64&&(6==y&&(v="HL"),v="["+v+"]"),y=v):v&128&&(y=(f>>3&7).toString());if(!y||!y.length){g="INVALID";break}0<g.length&&(g+=",");g+=y||"???"}}}f="";h=Y(e.G)+" ";if(-1!==e.G&&-1!==b.G){do if(f+=n(a.Y(e,1),2),null==e.G)break;while(e.G!=b.G)}h+=ia(f,10);h=h+(q&32768?"*":" ")+ia(k,7);g&&(h+=" "+g);c&&(h=ia(h,40)+";"+c,h=a.b.C.hb?h+("cycles="+oc(a.b).toString()+" cs="+n(a.b.i.xb)):h+(null!=d?"="+d.toString():""));return h} 16?(y=(q&3840)>>8,v=qe[y],8086==a.style&&q&64&&(6==y&&(v="HL"),v="["+v+"]"),y=v):v&128&&(y=(f>>3&7).toString());if(!y||!y.length){g="INVALID";break}0<g.length&&(g+=",");g+=y||"???"}}}f="";h=Y(e.F)+" ";if(-1!==e.F&&-1!==b.F){do if(f+=n(a.Y(e,1),2),null==e.F)break;while(e.F!=b.F)}h+=ia(f,10);h=h+(q&32768?"*":" ")+ia(k,7);g&&(h+=" "+g);c&&(h=ia(h,40)+";"+c,h=a.b.D.hb?h+("cycles="+Ac(a.b).toString()+" cs="+n(a.b.i.xb)):h+(null!=d?"="+d.toString():""));return h}
function rf(a,b){var c;switch(b){case "IF":c=a.b.ta&512;break;case "SF":c=Wc(a.b);break;case "ZF":c=Vc(a.b);break;case "AF":c=Uc(a.b);break;case "PF":c=Tc(a.b);break;case "CF":c=Rc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function sf(a,b){return se[b]+"="+He(a,b)+" "}function tf(a){return sf(a,7)+sf(a,8)+sf(a,9)+sf(a,10)+sf(a,11)+rf(a,"IF")+rf(a,"SF")+rf(a,"ZF")+rf(a,"AF")+rf(a,"PF")+rf(a,"CF")} function pf(a,b){var c;switch(b){case "IF":c=a.b.ta&512;break;case "SF":c=Wc(a.b);break;case "ZF":c=Vc(a.b);break;case "AF":c=Uc(a.b);break;case "PF":c=Tc(a.b);break;case "CF":c=Rc(a.b);break;default:c=0}return b.charAt(0)+(c?"1":"0")+" "}function qf(a,b){return qe[b]+"="+Fe(a,b)+" "}function rf(a){return qf(a,7)+qf(a,8)+qf(a,9)+qf(a,10)+qf(a,11)+pf(a,"IF")+pf(a,"SF")+pf(a,"ZF")+pf(a,"AF")+pf(a,"PF")+pf(a,"CF")}
var uf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var sf={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function vf(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 tf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
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 Ce(a,b,c){var d;if(b){b=Be(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var p=l[e++],q=p.length,p=ja(p);if(!p){f=!0;break}p=wf(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}g.push(p);if(e==l.length)break;var p=l[e++],r=p.length;k.length&&uf[p]<uf[k[k.length-1]]&&vf(g,k,1);k.push(p);b=b.substr(q+r)}vf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&xf(a,null, function Ae(a,b,c){var d;if(b){b=ze(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var p=l[e++],q=p.length,p=ja(p);if(!p){f=!0;break}p=uf(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}g.push(p);if(e==l.length)break;var p=l[e++],r=p.length;k.length&&sf[p]<sf[k[k.length-1]]&&tf(g,k,1);k.push(p);b=b.substr(q+r)}tf(g,k)&&1==g.length||(f=!0);f?c&&a.g("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&vf(a,null,
d))}return d}function Be(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ce(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=xe(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Qa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.da-a.Ca}if(null==e)break;c=c.replace(d[0],e.toString())}return c} d))}return d}function ze(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Ae(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?n(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=ve(a,c[1]),b=b.replace("["+c[1]+"]",d?n(a.Qa(d,0),4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.da-a.Ca}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
function wf(a,b,c,d){var e;void 0!==b?(e=Ge(b),0<=e?e=Ie(a,e):(e=a.ha[b],void 0===e&&(e=ba(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e} function uf(a,b,c,d){var e;void 0!==b?(e=Ee(b),0<=e?e=Ge(a,e):(e=a.ha[b],void 0===e&&(e=ba(b))),void 0!==e||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return e}
function xf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,p="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)p="?"+p;else for(;0<l--;)p=(k&1?"1":"0")+p,k>>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function yf(a,b){if(b)return xf(a,b,a.ha[b]);var c=0;for(b in a.ha)xf(a,b,a.ha[b]),c++;return 0<c}ke.prototype.Ua=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function vf(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,p="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)p="?"+p;else for(;0<l--;)p=(k&1?"1":"0")+p,k>>=1;h=p+"b"+h;d>>=8}d="0x"+n(c)+" "+c+". ("+h+")"}a.g((null!=b?b+": ":"")+d);return e}function wf(a,b){if(b)return vf(a,b,a.ha[b]);var c=0;for(b in a.ha)vf(a,b,a.ha[b]),c++;return 0<c}ie.prototype.Ua=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function zf(a,b,c){var d=[],e=we(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.G>>>0,g=f.qd;if(e>=h&&e<h+g){e=ka(f.ic,[e-h],a.Ua);0<=e?Af(a,b,e,d):c&&(e=~e,Af(a,b,e-1,d),Af(a,b,e,d));break}}return d}function Af(a,b,c,d){var e={},f=a.J[b].ic,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].Oa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)} function xf(a,b,c){var d=[],e=ue(b)>>>0;for(b=0;b<a.J.length;b++){var f=a.J[b],h=f.F>>>0,g=f.rd;if(e>=h&&e<h+g){e=ka(f.jc,[e-h],a.Ua);0<=e?yf(a,b,e,d):c&&(e=~e,yf(a,b,e-1,d),yf(a,b,e,d));break}}return d}function yf(a,b,c,d){var e={},f=a.J[b].jc,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.J[b].Oa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
function Bf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?qe:re;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ta[h][0]]+" ").substr(0,5)+" ("+("0x"+n(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}} function zf(a,b){if("?"==b)a.g("frequency commands:"),a.g("\tclear\tclear all frequency counts");else{var c,d=0;if(a.K)if("clear"==b){for(c=0;c<a.K.length;c++)a.K[c]=[c,0];a.g("frequency data cleared");d++}else if(void 0!==b)a.g("unknown frequency command: "+b),d++;else{var e=a.K.slice();e.sort(function(a,b){return b[1]-a[1]});var f=8086!=a.style?oe:pe;for(c=0;c<e.length;c++){var h=e[c][0],g=e[c][1];g&&(a.g((f[a.Ta[h][0]]+" ").substr(0,5)+" ("+("0x"+n(h,2))+"): "+g+" times"),d++)}}d||a.g("no frequency data available")}}
function Cf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return yf(a)||a.g("no variables"),!0;if(!c[2])return yf(a,c[1]);if(!c[3])return delete a.ha[c[1]],!0;var d=Ce(a,c[3]);return void 0!==d?(a.ha[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1} function Af(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return wf(a)||a.g("no variables"),!0;if(!c[2])return wf(a,c[1]);if(!c[3])return delete a.ha[c[1]],!0;var d=Ae(a,c[3]);return void 0!==d?(a.ha[c[1]]=d,!0):!1}a.g("invalid assignment:"+b);return!1}
function Df(a,b,c){var d=null;if(b=xe(a,b,!0)){var e=zf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.G-e[1])&&(h=" + "+t(f)),f=e[0]+" ("+Y(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.G)&&(h=" - "+t(f)),f=e[4]+" ("+Y(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d} function Bf(a,b,c){var d=null;if(b=ve(a,b,!0)){var e=xf(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.F-e[1])&&(h=" + "+t(f)),f=e[0]+" ("+Y(e[1])+")"+h,c&&a.g(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.F)&&(h=" - "+t(f)),f=e[4]+" ("+Y(e[5])+")"+h,c&&a.g(f),d||(d=f))}else c&&a.g("no symbols")}return d}
function Ef(a,b){switch(b[1]){case "8080":a.style=le;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.i.lb=c;break;case "start":a.b.i.yb=c;break;case "stop":a.b.i.nb=c;break;default:a.g("unknown cs option");return}void 0!==c&&jc(a.b);a.g("checksums "+(a.b.C.hb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Bc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Xa.toFixed(2)+"Mhz")+ function Cf(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.i.lb=c;break;case "start":a.b.i.yb=c;break;case "stop":a.b.i.nb=c;break;default:a.g("unknown cs option");return}void 0!==c&&jc(a.b);a.g("checksums "+(a.b.D.hb?"enabled":"disabled"));return;case "sp":void 0!==b[2]&&(Bc(a.b,+b[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.Xa.toFixed(2)+"Mhz")+
" ("+a.b.i.Za+"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.i.Za+"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 Le(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(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Ce(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.R=g&255;break;case "BC":d.R=g>>8&255;case "C":d.S=g&255;break;case "D":d.T= function Je(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(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.g("missing value for "+b[1]);return}var h=!1,g=Ae(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "A":d.j=g&255;break;case "B":d.R=g&255;break;case "BC":d.R=g>>8&255;case "C":d.S=g&255;break;case "D":d.T=
g&255;break;case "DE":d.T=g>>8&255;case "E":d.U=g&255;break;case "H":d.V=g&255;break;case "HL":d.V=g>>8&255;case "L":d.X=g&255;break;case "SP":d.ja=g&65535;break;case "PC":F(d,g);a.P=X(d.N);break;case "PS":Jc(d,g);break;case "PSW":Jc(d,g&255|d.ta&-256);d.j=g>>8;break;case "CF":d.aa=g?d.aa|256:d.aa&255;break;case "PF":g?Tc(d)||(d.ca^=1):Tc(d)&&(d.ca^=1);break;case "AF":d.ua=g?~d.ca&16|d.ua&-17:d.ca&16|d.ua&-17;break;case "ZF":d.aa=g?d.aa&-256:d.aa|255;break;case "SF":g?Wc(d)||(d.ca^=192):Wc(d)&&(d.ca^= g&255;break;case "DE":d.T=g>>8&255;case "E":d.U=g&255;break;case "H":d.V=g&255;break;case "HL":d.V=g>>8&255;case "L":d.X=g&255;break;case "SP":d.ja=g&65535;break;case "PC":F(d,g);a.P=X(d.N);break;case "PS":Jc(d,g);break;case "PSW":Jc(d,g&255|d.ta&-256);d.j=g>>8;break;case "CF":d.aa=g?d.aa|256:d.aa&255;break;case "PF":g?Tc(d)||(d.ca^=1):Tc(d)&&(d.ca^=1);break;case "AF":d.ua=g?~d.ca&16|d.ua&-17:d.ca&16|d.ua&-17;break;case "ZF":d.aa=g?d.aa&-256:d.aa|255;break;case "SF":g?Wc(d)||(d.ca^=192):Wc(d)&&(d.ca^=
192);break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}lc(d);a.g("updated registers:")}a.g(tf(a));c&&(a.P=X(d.N),Me(a,Y(a.P.G)))}}function Ff(a,b){b=ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Je(a,c[2])):Ce(a,b,!0)}function Gf(a,b,c){var d="t"!=b;c=wf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);xa(c,function(){return hb(a,!0)&&a.rb(e,d,!1)},function(){lc(a.b);hb(a,!1)})} 192);break;case "IF":d.ta=g?d.ta|512:d.ta&-513;break;default:a.g("unknown register: "+e);return}if(!h){a.g("invalid value: "+f);return}lc(d);a.g("updated registers:")}a.g(rf(a));c&&(a.P=X(d.N),Ke(a,Y(a.P.F)))}}function Df(a,b){b=ja(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(He(a,c[2])):Ae(a,b,!0)}function Ef(a,b,c){var d="t"!=b;c=uf(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);xa(c,function(){return hb(a,!0)&&a.rb(e,d,!1)},function(){lc(a.b);hb(a,!1)})}
function Me(a,b,c,d){if(b=xe(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=xe(a,c,!0);if(!d||d.G<b.G)return;e=d.G-b.G;if(256<e){a.g("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=ib(a,!1)||a.ba?a.M:null;var h=null!=f?"cycles":null,g=zf(a,b),k=b.G;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=qf(a,b,h,f);a.g(f);a.P=b;e-=b.G-k;c++}}} function Ke(a,b,c,d){if(b=ve(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=ve(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=ib(a,!1)||a.ba?a.M:null;var h=null!=f?"cycles":null,g=xf(a,b),k=b.F;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.g(l)}g[3]&&(h=g[3],f=null);f=of(a,b,h,f);a.g(f);a.P=b;e-=b.F-k;c++}}}
function Ee(a,b,c,d){if(c)if(b){0>a.F&&a.D.length&&(a.F=0);if(0>a.F||b!=a.D[a.F])a.D.splice(0,0,b),a.F=0;a.F--}else a.fa?b="end":b=a.D[a.F+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ja(b.substring(c,f))),c=f+1}}return a} function Ce(a,b,c,d){if(c)if(b){0>a.I&&a.C.length&&(a.I=0);if(0>a.I||b!=a.C[a.I])a.C.splice(0,0,b),a.I=0;a.I--}else a.fa?b="end":b=a.C[a.I+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(ja(b.substring(c,f))),c=f+1}}return a}
function pf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.fa&&(a.g("ended assemble at "+Y(a.ea.G)),a.P=a.ea,a.fa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.wa=null;if(jb(a)&&0<b.length){a.fa&&(b="a "+Y(a.ea.G)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=xe(a,f[1],!0);if(p)if(a.ea= function nf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.fa&&(a.g("ended assemble at "+Y(a.ea.F)),a.P=a.ea,a.fa=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.wa=null;if(jb(a)&&0<b.length){a.fa&&(b="a "+Y(a.ea.F)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var p=ve(a,f[1],!0);if(p)if(a.ea=
p,void 0===f[2])a.g("begin assemble at "+Y(p.G)),a.fa=!0,lc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var r=0;r<q.length;r++)a.ra(p,q[r],1);a.g(qf(a,a.ea))}}break;case "b":a:{var y=f[0],v=f[1],I=b;if("?"==v)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]"), p,void 0===f[2])a.g("begin assemble at "+Y(p.F)),a.fa=!0,lc(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var r=0;r<q.length;r++)a.ra(p,q[r],1);a.g(of(a,a.ea))}}break;case "b":a:{var y=f[0],v=f[1],I=b;if("?"==v)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 w=y.charAt(1);if("l"==w){var J=0,J=J+of(a,a.w),J=J+of(a,a.Z);(J+=of(a,a.H))||a.g("no breakpoints")}else if("n"==w)a.va=wf(a,v),a.g("break after "+a.va+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var A=X();if("*"!=v&&(A=xe(a,v,!0),!A))break a;v=t(A.G);"c"==w?null==A.G?(me(a),a.g("all breakpoints cleared")):mf(a,a.w,A)||mf(a,a.Z,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 w=y.charAt(1);if("l"==w){var J=0,J=J+mf(a,a.w),J=J+mf(a,a.Z);(J+=mf(a,a.G))||a.g("no breakpoints")}else if("n"==w)a.va=uf(a,v),a.g("break after "+a.va+" instruction(s)");else if(void 0===v)a.g("missing breakpoint address");else{var A=X();if("*"!=v&&(A=ve(a,v,!0),!A))break a;v=t(A.F);"c"==w?null==A.F?(ke(a),a.g("all breakpoints cleared")):Me(a,a.w,A)||Me(a,a.Z,A)||
mf(a,a.H,A)||a.g("breakpoint missing: "+Y(A.G)):"i"==w?a.g("breakpoint "+(Ab(a.A,A.G)?"enabled":"cleared")+": port "+v+" (input)"):"o"==w?a.g("breakpoint "+(Eb(a.A,A.G)?"enabled":"cleared")+": port "+v+" (output)"):null!=A.G&&(De(a,A,I),"p"==w?a.Va(a.w,A):"r"==w?a.Va(a.Z,A):"w"==w?a.Va(a.H,A):a.g("unknown breakpoint command: "+w))}}}break;case "c":a.Da&&(a.Da.value="");break;case "d":a:{var R,za=f[0],Z=f[1],Va=f[2],ag=f[3];if("?"==Z){var Ba="";for(R in ue)a.Ja[R]&&(Ba&&(Ba+=","),Ba+=R);Ba+=",state,symbols"; Me(a,a.G,A)||a.g("breakpoint missing: "+Y(A.F)):"i"==w?a.g("breakpoint "+(Ab(a.A,A.F)?"enabled":"cleared")+": port "+v+" (input)"):"o"==w?a.g("breakpoint "+(Eb(a.A,A.F)?"enabled":"cleared")+": port "+v+" (output)"):null!=A.F&&(Be(a,A,I),"p"==w?a.Va(a.w,A):"r"==w?a.Va(a.Z,A):"w"==w?a.Va(a.G,A):a.g("unknown breakpoint command: "+w))}}}break;case "c":a.Da&&(a.Da.value="");break;case "d":a:{var R,za=f[0],Z=f[1],Va=f[2],Zf=f[3];if("?"==Z){var Ba="";for(R in se)a.Ja[R]&&(Ba&&(Ba+=","),Ba+=R);Ba+=",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");Ba.length&&a.g("dump extension commands:\n\t"+Ba)}else if("state"==Z){var Oe=Hf(a.u,!0);"console"==Va?console.log(Oe):(a.Da&&(a.Da.value=""),a.g(Oe))}else if("symbols"==Z)for(var gd=0;gd<a.J.length;gd++){var hd=a.J[gd],mb;for(mb in hd.Oa)if("."!=mb.charAt(0)){var Pe=hd.Oa[mb].o; 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");Ba.length&&a.g("dump extension commands:\n\t"+Ba)}else if("state"==Z){var Ne=Ff(a.u,!0);"console"==Va?console.log(Ne):(a.Da&&(a.Da.value=""),a.g(Ne))}else if("symbols"==Z)for(var fd=0;fd<a.J.length;fd++){var gd=a.J[fd],lb;for(lb in gd.Oa)if("."!=lb.charAt(0)){var Oe=gd.Oa[lb].o;
if(void 0!==Pe){var Qe=hd.Oa[mb].l;Qe&&(mb=Qe);a.g(Y(Pe)+" "+mb)}}}else{if("d"==za){for(R in ue)if(f[1]==R){var Re=a.Ja[R];Re?(f.shift(),f.shift(),Re(f)):a.g("no dump registered for "+Z);break a}Z||(za=a.Mb||"db")}else a.Mb=za;if("dh"==za){var Se=Z,Te=Va,Ue="",Ve=0,aa=a.ma,Ca=a.O;if(Ca.length){var fa=+Se||a.eb,nb=+Te||10;isNaN(fa)?fa=nb:Ue="more ";fa>Ca.length&&(a.g("note: only "+Ca.length+" available"),fa=Ca.length);aa-=fa;0>aa&&(null==Ca[Ca.length-1].G?(fa=aa+fa,aa=0):aa+=Ca.length);var id=[];"call"== if(void 0!==Oe){var Pe=gd.Oa[lb].l;Pe&&(lb=Pe);a.g(Y(Oe)+" "+lb)}}}else{if("d"==za){for(R in se)if(f[1]==R){var Qe=a.Ja[R];Qe?(f.shift(),f.shift(),Qe(f)):a.g("no dump registered for "+Z);break a}Z||(za=a.Mb||"db")}else a.Mb=za;if("dh"==za){var Re=Z,Se=Va,Te="",Ue=0,aa=a.ma,Ca=a.O;if(Ca.length){var fa=+Re||a.eb,mb=+Se||10;isNaN(fa)?fa=mb:Te="more ";fa>Ca.length&&(a.g("note: only "+Ca.length+" available"),fa=Ca.length);aa-=fa;0>aa&&(null==Ca[Ca.length-1].F?(fa=aa+fa,aa=0):aa+=Ca.length);var hd=[];"call"==
Te&&(nb=1E5,id=["CALL"]);for(void 0!==Se&&a.g(fa+" instructions earlier:");0<nb&&aa!=a.ma;){var We=Ca[aa++];if(null==We.G)break;var Lb=X(We.G),bg=fa--,Xe=qf(a,Lb,"history",bg);(!id.length||0<=Xe.indexOf(id[0]))&&a.g(Xe);Lb.Sb&&(aa+=Lb.Sb,nb-=Lb.Sb,fa-=Lb.Sb);aa>=Ca.length&&(aa=0);a.eb=fa;Ve++;nb--}}Ve||(a.g("no "+Ue+"history available"),a.eb=void 0)}else{var pc=xe(a,Z);if(pc){var qc=0;Va&&("l"==Va.charAt(0)&&(Va=Va.substr(1)||ag),qc=wf(a,Va)>>>0,65536<qc&&(qc=65536));for(var Wa="",rc="dd"==za?4:"dw"== Se&&(mb=1E5,hd=["CALL"]);for(void 0!==Re&&a.g(fa+" instructions earlier:");0<mb&&aa!=a.ma;){var Ve=Ca[aa++];if(null==Ve.F)break;var Kb=X(Ve.F),$f=fa--,We=of(a,Kb,"history",$f);(!hd.length||0<=We.indexOf(hd[0]))&&a.g(We);Kb.Sb&&(aa+=Kb.Sb,mb-=Kb.Sb,fa-=Kb.Sb);aa>=Ca.length&&(aa=0);a.eb=fa;Ue++;mb--}}Ue||(a.g("no "+Te+"history available"),a.eb=void 0)}else{var oc=ve(a,Z);if(oc){var pc=0;Va&&("l"==Va.charAt(0)&&(Va=Va.substr(1)||Zf),pc=uf(a,Va)>>>0,65536<pc&&(pc=65536));for(var Wa="",qc="dd"==za?4:"dw"==
za?2:1,sc=rc*qc||128,cg=sc+15>>4||1;cg--&&0<sc;){var tc=0,jd=0,Mb,Nb="",kd="",Z=Y(pc.G);for(Mb=16;0<Mb&&0<sc;Mb--){var uc=a.Y(pc,1),tc=tc|uc<<(jd++<<3);jd==rc&&(Nb+=n(tc,2*rc),Nb+=1==rc?9==Mb?"-":" ":" ",tc=jd=0);kd+=32<=uc&&128>uc?String.fromCharCode(uc):".";sc--}Wa&&(Wa+="\n");Wa+=Z+" "+Nb+(0==Mb?" "+kd:"")}Wa&&a.g(Wa);a.bb=pc}}}}break;case "e":if("else"==f[0])break;var vc=1,Ye=255,Ze=a.Y,$e=a.ra;"ew"==f[0]&&(vc=2,Ye=65535,Ze=a.Qa,$e=a.Rb);var af=vc<<1,bf=f[1];if(null==bf)a.g("edit memory commands:"), za?2:1,rc=qc*pc||128,ag=rc+15>>4||1;ag--&&0<rc;){var sc=0,id=0,Lb,Mb="",jd="",Z=Y(oc.F);for(Lb=16;0<Lb&&0<rc;Lb--){var tc=a.Y(oc,1),sc=sc|tc<<(id++<<3);id==qc&&(Mb+=n(sc,2*qc),Mb+=1==qc?9==Lb?"-":" ":" ",sc=id=0);jd+=32<=tc&&128>tc?String.fromCharCode(tc):".";rc--}Wa&&(Wa+="\n");Wa+=Z+" "+Mb+(0==Lb?" "+jd:"")}Wa&&a.g(Wa);a.bb=oc}}}}break;case "e":if("else"==f[0])break;var uc=1,Xe=255,Ye=a.Y,Ze=a.ra;"ew"==f[0]&&(uc=2,Xe=65535,Ye=a.Qa,Ze=a.Rb);var $e=uc<<1,af=f[1];if(null==af)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 wc=xe(a,bf);if(wc)for(var xc=2;xc<f.length;xc++){var Ob=Ce(a,f[xc]);if(void 0===Ob){a.g("unrecognized value: "+f[xc]);break}Ob&~Ye&&a.g("warning: "+n(Ob)+" exceeds "+vc+"-byte value");var dg=Ze.call(a,wc);a.g("changing "+Y(wc.G)+" from 0x"+n(dg,af)+" to 0x"+n(Ob,af));$e.call(a,wc,Ob,vc)}}break;case "f":Bf(a,f[1]);break;case "g":a:{var cf=f[1],eg=b;if(void 0!==cf){var ld=xe(a,cf,!0);if(!ld)break a; a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var vc=ve(a,af);if(vc)for(var wc=2;wc<f.length;wc++){var Nb=Ae(a,f[wc]);if(void 0===Nb){a.g("unrecognized value: "+f[wc]);break}Nb&~Xe&&a.g("warning: "+n(Nb)+" exceeds "+uc+"-byte value");var bg=Ye.call(a,vc);a.g("changing "+Y(vc.F)+" from 0x"+n(bg,$e)+" to 0x"+n(Nb,$e));Ze.call(a,vc,Nb,uc)}}break;case "f":zf(a,f[1]);break;case "g":a:{var bf=f[1],cg=b;if(void 0!==bf){var kd=ve(a,bf,!0);if(!kd)break a;
De(a,ld,eg);a.Va(a.w,ld,!0)}a.$a(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var md;if(a.C.xa)md="halting",a.la();else{if(ib(a,!0))break a;md="already halted"}c||a.g(md)}break;case "i":if("if"==f[0]){var nd;var Pb=b.substr(2),Pb=ja(Pb);Ce(a,Pb)?(c||a.g("true: "+Pb),nd=!0):(c||a.g("false: "+Pb),nd=!1);nd||(d=!1);break}if("int"==f[0]){var yc;var fg=f[1];if(a.b.ta&512){var od=Ce(a,fg);null==od?yc=!1:(a.g("requesting interrupt level "+od),ed(a.b,od),yc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"), Be(a,kd,cg);a.Va(a.w,kd,!0)}a.$a(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ld;if(a.D.xa)ld="halting",a.la();else{if(ib(a,!0))break a;ld="already halted"}c||a.g(ld)}break;case "i":if("if"==f[0]){var md;var Ob=b.substr(2),Ob=ja(Ob);Ae(a,Ob)?(c||a.g("true: "+Ob),md=!0):(c||a.g("false: "+Ob),md=!1);md||(d=!1);break}if("int"==f[0]){var xc;var dg=f[1];if(a.b.ta&512){var nd=Ae(a,dg);null==nd?xc=!1:(a.g("requesting interrupt level "+nd),ed(a.b,nd),xc=!0)}else a.g("interrupts disabled (use rif=1 to enable)"),
yc=!1;yc||(d=!1);break}var pd=f[1];if(pd&&"?"!=pd){var qd=wf(a,pd);if(void 0!==qd){var gg=Cb(a.A,qd);a.g(t(qd)+": "+("0x"+n(gg,2)))}}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 hg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var rd=0,df=X(),Qb=X(a.b.ja);for(a.g("stack trace for "+Y(Qb.G));10>rd;){for(var Xa=null,ig=256;65536>Qb.G>>>0;){df.G= xc=!1;xc||(d=!1);break}var od=f[1];if(od&&"?"!=od){var pd=uf(a,od);if(void 0!==pd){var eg=Cb(a.A,pd);a.g(t(pd)+": "+("0x"+n(eg,2)))}}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 fg=f[0];if("?"==f[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var qd=0,cf=X(),Pb=X(a.b.ja);for(a.g("stack trace for "+Y(Pb.F));10>qd;){for(var Xa=null,gg=256;65536>Pb.F>>>0;){cf.F=
a.Qa(Qb,2);if(null==Qb.G||!ig--)break;for(var jg=a,zc=df,ef=null,Rb=zc.G,ff=Rb,sd=1;6>=sd&&Rb;sd++){if(2<sd){zc.G=Rb;var Ac=qf(jg,zc);if(0<=Ac.indexOf("CALL")){var gf=Ac.indexOf(" ");if(Rb+(Ac.indexOf(" ",gf+1)-gf-1)/2==ff){ef=Ac;break}}}Rb--}zc.G=ff;if(Xa=ef)break}if(!Xa||null==Xa)break;var hf=null;if("ks"==hg){var jf=Xa.match(/[0-9A-F]+$/);jf&&(hf=Df(a,jf[0]))}Xa=ia(Xa,50)+" ;"+(hf||"stack="+Y(Qb.G));a.g(Xa);rd++}rd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Df(a,f[1],!0); a.Qa(Pb,2);if(null==Pb.F||!gg--)break;for(var hg=a,yc=cf,df=null,Qb=yc.F,ef=Qb,rd=1;6>=rd&&Qb;rd++){if(2<rd){yc.F=Qb;var zc=of(hg,yc);if(0<=zc.indexOf("CALL")){var ff=zc.indexOf(" ");if(Qb+(zc.indexOf(" ",ff+1)-ff-1)/2==ef){df=zc;break}}}Qb--}yc.F=ef;if(Xa=df)break}if(!Xa||null==Xa)break;var gf=null;if("ks"==fg){var hf=Xa.match(/[0-9A-F]+$/);hf&&(gf=Bf(a,hf[0]))}Xa=ia(Xa,50)+" ;"+(gf||"stack="+Y(Pb.F));a.g(Xa);qd++}qd||a.g("no return addresses found")}break;case "l":if("ln"==f[0]){Bf(a,f[1],!0);
break}break;case "m":a:{var Da,Ea=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==O){var Oa=0;if("all"==O)Oa=1878917119,O=null;else if("on"==O)Ea=!0,O=null;else if("off"==O)Ea=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Da in ue)if(O==Da){Oa=ue[Da];Ea=!!(a.pa&Oa);break}if(!Oa){a.g("unknown message category: "+O);break a}}if(Oa)if("on"==f[2])a.pa|=Oa,Ea=!0;else if("off"==f[2]&&(a.pa&=~Oa,Ea=!1,1073741824==Oa)){for(var td=0;td<a.Ba.length;td++)a.g(a.Ba[td]);a.Ba=[]}}var kg=0,Pa="";for(Da in ue)if(!O|| break}break;case "m":a:{var Da,Ea=null,O=f[1];"?"==O&&(O=void 0);if(void 0!==O){var Oa=0;if("all"==O)Oa=1878917119,O=null;else if("on"==O)Ea=!0,O=null;else if("off"==O)Ea=!1,O=null;else{"keys"==O&&(O="key");"kbd"==O&&(O="keyboard");for(Da in se)if(O==Da){Oa=se[Da];Ea=!!(a.pa&Oa);break}if(!Oa){a.g("unknown message category: "+O);break a}}if(Oa)if("on"==f[2])a.pa|=Oa,Ea=!0;else if("off"==f[2]&&(a.pa&=~Oa,Ea=!1,1073741824==Oa)){for(var sd=0;sd<a.Ba.length;sd++)a.g(a.Ba[sd]);a.Ba=[]}}var ig=0,Pa="";for(Da in se)if(!O||
O==Da){var lg=!!(a.pa&ue[Da]);if(null===Ea||Ea==lg)Pa&&(Pa+=","),++kg%10||(Pa+="\n\t"),"key"==Da&&(Da="keys"),Pa+=Da}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ea?Ea?"messages on: ":"messages off: ":"message categories:\n\t")+(Pa||"none"));ne(a)}break;case "o":var ud=f[1],mg=f[2];if(ud&&"?"!=ud){var vd=wf(a,ud,"port #"),wd=wf(a,mg);void 0!==vd&&void 0!==wd&&(Gb(a.A,vd,wd),a.g(t(vd)+": "+("0x"+n(wd,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"), O==Da){var jg=!!(a.pa&se[Da]);if(null===Ea||Ea==jg)Pa&&(Pa+=","),++ig%10||(Pa+="\n\t"),"key"==Da&&(Da="keys"),Pa+=Da}void 0===O&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.g((null!==Ea?Ea?"messages on: ":"messages off: ":"message categories:\n\t")+(Pa||"none"));le(a)}break;case "o":var td=f[1],kg=f[2];if(td&&"?"!=td){var ud=uf(a,td,"port #"),vd=uf(a,kg);void 0!==ud&&void 0!==vd&&(Gb(a.A,ud,vd),a.g(t(ud)+": "+("0x"+n(vd,2))))}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),
a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Ff(a,b.substr(5));break}var kf="pr"==f[0]?1:0,ng=1+kf;if(a.ba)a.g("step in progress");else{var xd=X(a.b.N);switch(a.Y(xd)){case 205:a.ba=ng,ye(xd,3)}a.ba?(a.Va(a.w,xd,!0),a.$a()||(a.u&&a.u.Eb(),a.ba=0)):Gf(a,kf?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}Le(a,f);break;case "s":Ef(a,f);break;case "t":Gf(a,f[0],f[1]);break;case "u":Me(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Cf(a,b.substr(3))|| a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){Df(a,b.substr(5));break}var jf="pr"==f[0]?1:0,lg=1+jf;if(a.ba)a.g("step in progress");else{var wd=X(a.b.N);switch(a.Y(wd)){case 205:a.ba=lg,we(wd,3)}a.ba?(a.Va(a.w,wd,!0),a.$a()||(a.u&&a.u.Eb(),a.ba=0)):Ef(a,jf?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}Je(a,f);break;case "s":Cf(a,f);break;case "t":Ef(a,f[0],f[1]);break;case "u":Ke(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Af(a,b.substr(3))||
(d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.sc+",RELEASE"+(lb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(qa());break;case "?":if(f[1]){Ff(a,b.substr(1));break}var Sb="commands:",yd;for(yd in pe)Sb+="\n"+ia(yd,9)+pe[yd];fd(a)||(Sb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Sb);break;default:a.g("unknown command: "+b),d=!1}}}catch(lf){a.g("debugger error: "+(lf.stack||lf.message)),d=!1}return d}function kc(a,b,c){b=Ee(a,b,c);for(var d in b)if(!pf(a,b[d]))return!1;return!0} (d=!1);break}a.g("PC8080 version 1.23.3 ("+a.b.tc+",RELEASE"+(nb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(qa());break;case "?":if(f[1]){Df(a,b.substr(1));break}var Rb="commands:",xd;for(xd in ne)Rb+="\n"+ia(xd,9)+ne[xd];yd(a)||(Rb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(Rb);break;default:a.g("unknown command: "+b),d=!1}}}catch(kf){a.g("debugger error: "+(kf.stack||kf.message)),d=!1}return d}function kc(a,b,c){b=Ce(a,b,c);for(var d in b)if(!nf(a,b[d]))return!1;return!0}
Ia(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ke(d);db(d,c)}});function G(a,b,c){this.id=a.id;this.key=If(a,b,c);this.I=a.I;Jf(this,a.zc)}function If(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} Ia(function(){for(var a=B(document,"pc8080","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ie(d);db(d,c)}});function G(a,b,c){this.id=a.id;this.key=Gf(a,b,c);this.H=a.H;Hf(this,a.Ac)}function Gf(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.prototype={constructor:G,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){Jf(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}}}; G.prototype={constructor:G,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){Hf(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 Jf(a,b){a[a.id]={};b&&H(a,"parms",b);a.b=!1}function Kf(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);va(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Lf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Mf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ta()&&(b=ua(a.key))?(a[a.id]=b,a.b=!0):!1}function Nf(a,b){return a[a.id][b]||null}function H(a,b,c){try{a[a.id][b]=c}catch(d){}} function Hf(a,b){a[a.id]={};b&&H(a,"parms",b);a.b=!1}function If(a){var b=!0;if(ta()){var c=JSON.stringify(a[a.id]);va(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Jf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Kf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ta()&&(b=ua(a.key))?(a[a.id]=b,a.b=!0):!1}function Lf(a,b){return a[a.id][b]||null}function H(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Of(a,b,c){x.call(this,"Computer",a,Of,67108864);this.C.sa=!1;Pf(this,b);this.ba=hc(this,"autoPower",a);this.D=0;this.ha=a.busWidth||a.buswidth;this.u=Qf;this.P=null;this.K=this.fa=!1;this.ma=hc(this,"url")||"";(Math.random()+.1).toString(36);this.w=Rf(this);if(this.b=cb("CPU",this.id)){this.I=cb("Debugger",this.id);this.J=[];for(b=null;b=qb(this,"Video",b);)this.J.push(b);this.A=new sb({id:this.Tb+".bus",busWidth:this.ha},this.b,this.I);var d,e=bb(this.id);if((this.F=cb("Panel",this.id))&& function Mf(a,b,c){x.call(this,"Computer",a,Mf,67108864);this.D.sa=!1;Nf(this,b);this.ba=hc(this,"autoPower",a);this.C=0;this.ha=a.busWidth||a.buswidth;this.u=Of;this.P=null;this.K=this.fa=!1;this.ma=hc(this,"url")||"";(Math.random()+.1).toString(36);this.w=Pf(this);if(this.b=cb("CPU",this.id)){this.H=cb("Debugger",this.id);this.J=[];for(b=null;b=qb(this,"Video",b);)this.J.push(b);this.A=new sb({id:this.Tb+".bus",busWidth:this.ha},this.b,this.H);var d,e=bb(this.id);if((this.I=cb("Panel",this.id))&&
this.F.Da)for(b=0;b<e.length;b++)d=e[b],d.ga=this.F.ga,d.g=this.F.g,d.Da=this.F.Da;this.g("PC8080 v1.23.3\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.Na&&d.Na(this,this.A,this.b,this.I);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.O=d:this.u=parseInt(d,10));var f;if(a=hc(this,"state")||(f=!0,a.state))b=this.da=a,f||(this.K=!0,this.u=Qf),this.u&&(this.Z=new G(this,"1.23.3"),Mf(this.Z)? this.I.Da)for(b=0;b<e.length;b++)d=e[b],d.ga=this.I.ga,d.g=this.I.g,d.Da=this.I.Da;this.g("PC8080 v1.23.3\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.Na&&d.Na(this,this.A,this.b,this.H);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.O=d:this.u=parseInt(d,10));var f;if(a=hc(this,"state")||(f=!0,a.state))b=this.da=a,f||(this.K=!0,this.u=Of),this.u&&(this.Z=new G(this,"1.23.3"),Kf(this.Z)?
b=null:delete this.Z);!b&&this.u&&(b=Sf(this))&&(this.K=!0);if(b){var h=this;oa(b,null,!0,function(a,b,c){c?(h.O=null,h.K=!1,h.ga("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):(h.P=b,h.fa=!0);D(h)})}else D(this);this.L.power||(this.ba=!0);!c&&this.ba&&Tf(this,this.Cb)}else u("Unable to find CPU component")}Za(Of);var Qf=0;function Pf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.M=b} b=null:delete this.Z);!b&&this.u&&(b=Qf(this))&&(this.K=!0);if(b){var h=this;oa(b,null,!0,function(a,b,c){c?(h.O=null,h.K=!1,h.ga("Unable to load machine state from server (error "+c+(b?": "+ja(b):"")+")")):(h.P=b,h.fa=!0);D(h)})}else D(this);this.L.power||(this.ba=!0);!c&&this.ba&&Rf(this,this.Cb)}else u("Unable to find CPU component")}Za(Mf);var Of=0;function Nf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.M=b}
function hc(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Tf(a,b,c){for(var d=bb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!jb(f)){jb(f,function(){Tf(a,b,c)});return}}b.call(a,c)} function hc(a,b,c){var d=b.toLowerCase(),d=Ra[b]||Ra[d];void 0===d&&a.M&&(d=a.M[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Rf(a,b,c){for(var d=bb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!jb(f)){jb(f,function(){Rf(a,b,c)});return}}b.call(a,c)}
function Uf(a,b){var c=new G(a,"1.23.3","validate");if(Mf(c)&&Lf(c)){var d=Nf(c,"timestamp"),e=b?Nf(b,"timestamp"):"unknown";d!=e&&(a.ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Of.prototype; function Sf(a,b){var c=new G(a,"1.23.3","validate");if(Kf(c)&&Jf(c)){var d=Lf(c,"timestamp"),e=b?Lf(b,"timestamp"):"unknown";d!=e&&(a.ga("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=Mf.prototype;
m.Cb=function(a){void 0===a&&(a=this.u||(this.P?1:Qf));if(!this.D){this.D++;var b=!1,c=!1;this.ea=!1;var d=this.Z||new G(this,"1.23.3");if(-1==a)b=!0;else if(a>Qf){if(Mf(d,this.P)){this.H=new G(this,"1.23.3","failsafe");Mf(this.H)&&(Vf(this,d),a=2,Jf(this.H));H(this.H,"timestamp",ma());Kf(this.H);var e=this.u&&!this.K;if(1==a||ra("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Lf(d)){var f=Nf(d,"code"),h=Nf(d,"data");f&&("ok"==f?Mf(d,h):("error"==f&& m.Cb=function(a){void 0===a&&(a=this.u||(this.P?1:Of));if(!this.C){this.C++;var b=!1,c=!1;this.ea=!1;var d=this.Z||new G(this,"1.23.3");if(-1==a)b=!0;else if(a>Of){if(Kf(d,this.P)){this.G=new G(this,"1.23.3","failsafe");Kf(this.G)&&(Tf(this,d),a=2,Hf(this.G));H(this.G,"timestamp",ma());If(this.G);var e=this.u&&!this.K;if(1==a||ra("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Jf(d)){var f=Lf(d,"code"),h=Lf(d,"data");f&&("ok"==f?Kf(d,h):("error"==f&&
"no machine state"!=h?(this.ga("Error: "+h),"unable to verify user"==h&&(va("user",""),this.w=null)):this.g(f+": "+h),Jf(d),Mf(d)?(c=Lf(d),e=!0):c=!1))}e&&Uf(this,c?d:null)}else 2==a&&d.clear()}else Uf(this);delete this.P;delete this.Z}e=bb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Wf(this,h,d,b,c));b=[d,a,c];-1!=a?Tf(this,this.jc,b):this.jc(b)}}; "no machine state"!=h?(this.ga("Error: "+h),"unable to verify user"==h&&(va("user",""),this.w=null)):this.g(f+": "+h),Hf(d),Kf(d)?(c=Jf(d),e=!0):c=!1))}e&&Sf(this,c?d:null)}else 2==a&&d.clear()}else Sf(this);delete this.P;delete this.Z}e=bb(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.b&&(c=Uf(this,h,d,b,c));b=[d,a,c];-1!=a?Rf(this,this.kc,b):this.kc(b)}};
function Wf(a,b,c,d,e){if(!b.C.sa){b.C.sa=!0;if(b.Aa){var f=null;e&&((f=Nf(c,b.id))||(f=Nf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Aa(f,d)&&f&&(u("Unable to restore state for "+b.type),a.da&&!a.fa?(c.clear(),a.u=Qf,window&&window.location.reload()):a.ea=!0,b.Aa(null),e=!1)}if(!d&&b.oc)for(a=b.oc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e} function Uf(a,b,c,d,e){if(!b.D.sa){b.D.sa=!0;if(b.Aa){var f=null;e&&((f=Lf(c,b.id))||(f=Lf(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Aa(f,d)&&f&&(u("Unable to restore state for "+b.type),a.da&&!a.fa?(c.clear(),a.u=Of,window&&window.location.reload()):a.ea=!0,b.Aa(null),e=!1)}if(!d&&b.pc)for(a=b.pc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
m.jc=function(a){var b=a[0],c=0>a[1];a=a[2];this.oa=!0;this.C.sa=!0;var d=this.L.power;d&&(d.textContent="Shutdown");this.b&&(Wf(this,this.b,b,c,a),mc(this.b));this.ea&&(Vf(this,b),b.clear());!c&&this.H&&(this.H.clear(),delete this.H);this.D=0}; m.kc=function(a){var b=a[0],c=0>a[1];a=a[2];this.oa=!0;this.D.sa=!0;var d=this.L.power;d&&(d.textContent="Shutdown");this.b&&(Uf(this,this.b,b,c,a),mc(this.b));this.ea&&(Tf(this,b),b.clear());!c&&this.G&&(this.G.clear(),delete this.G);this.C=0};
function Vf(a,b){if(ra("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.w||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ma;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}} function Tf(a,b){if(ra("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.w||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.ma;e.user=c;e.type="bug";e.data=d;oa("http://www.pcjs.org/api/v1/report",e,!0)}}
function Hf(a,b,c){var d,e="none";if(a.D)return null;a.D--;var f=new G(a,"1.23.3"),h=new G(a,"1.23.3","validate"),g=ma();H(h,"timestamp",g);H(f,"timestamp",g);H(f,"version","1.23.3");H(f,"url",window?window.location.href:null);H(f,"browser",qa());a.b&&a.b.Fa&&(c&&a.b.la(),d=a.b.Fa(b,c),"object"===typeof d&&H(f,a.b.id,d),c&&(a.b.C.sa=!1,!1===d&&(e=null)));for(var g=bb(a.id),k=0;k<g.length;k++){var l=g[k];l.C.sa&&(l.Fa&&(d=l.Fa(b,c),"object"===typeof d&&H(f,l.id,d)),c&&(l.C.sa=!1,!1===d&&(e=null)))}e&& function Ff(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new G(a,"1.23.3"),h=new G(a,"1.23.3","validate"),g=ma();H(h,"timestamp",g);H(f,"timestamp",g);H(f,"version","1.23.3");H(f,"url",window?window.location.href:null);H(f,"browser",qa());a.b&&a.b.Fa&&(c&&a.b.la(),d=a.b.Fa(b,c),"object"===typeof d&&H(f,a.b.id,d),c&&(a.b.D.sa=!1,!1===d&&(e=null)));for(var g=bb(a.id),k=0;k<g.length;k++){var l=g[k];l.D.sa&&(l.Fa&&(d=l.Fa(b,c),"object"===typeof d&&H(f,l.id,d)),c&&(l.D.sa=!1,!1===d&&(e=null)))}e&&
(c?(g=d=!1,b?(a.w&&Xf(a,a.w,f.toString()),Kf(h)&&Kf(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.C.sa=!1,b=a.L.power)&&(b.textContent="Power");a.D=0;return e}m.reset=function(){this.A&&this.A.reset&&(fb(this,"Resetting "+this.A.type),this.A.reset());for(var a=bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(fb(this,"Resetting "+c.type),c.reset())}}; (c?(g=d=!1,b?(a.w&&Vf(a,a.w,f.toString()),If(h)&&If(f)||(e=null,d=g=!0)):a.u&&(d=!0,g=3==a.u),d&&f.clear(g)):e=f.toString());c&&(a.D.sa=!1,b=a.L.power)&&(b.textContent="Power");a.C=0;return e}m.reset=function(){this.A&&this.A.reset&&(fb(this,"Resetting "+this.A.type),this.A.reset());for(var a=bb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(fb(this,"Resetting "+c.type),c.reset())}};
m.start=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}}; m.start=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};m.stop=function(a,b){for(var c=bb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
m.ka=function(a,b,c){var d=this;switch(b){case "power":return this.L[b]=c,c.onclick=function(){d.D||(d.C.sa?Hf(d,!1,!0):Tf(d,d.Cb))},!0;case "reset":return this.L[b]=c,c.onclick=function(){if(d.C.sa&&!d.D)if(d.u&&!d.O){var a=ra("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Hf(d,a,!0);!a&&d.da?window&&window.location.reload():d.Cb(Qf)}else d.reset(),d.b&&mc(d.b)},!0;case "save":if(ea(pa(),"pcjs.org")){c.parentNode.removeChild(c); m.ka=function(a,b,c){var d=this;switch(b){case "power":return this.L[b]=c,c.onclick=function(){d.C||(d.D.sa?Ff(d,!1,!0):Rf(d,d.Cb))},!0;case "reset":return this.L[b]=c,c.onclick=function(){if(d.D.sa&&!d.C)if(d.u&&!d.O){var a=ra("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ff(d,a,!0);!a&&d.da?window&&window.location.reload():d.Cb(Of)}else d.reset(),d.b&&mc(d.b)},!0;case "save":if(ea(pa(),"pcjs.org")){c.parentNode.removeChild(c);
break}this.L[b]=c;c.onclick=function(){var a=Rf(d,!0);if(a){var b=!!(d.u&&!d.O||d.da),c=Hf(d,b);b?Xf(d,a,c):d.ga("Resume disabled, machine state not saved")}};return!0}return!1}; break}this.L[b]=c;c.onclick=function(){var a=Pf(d,!0);if(a){var b=!!(d.u&&!d.O||d.da),c=Ff(d,b);b?Vf(d,a,c):d.ga("Resume disabled, machine state not saved")}};return!0}return!1};
function Rf(a,b){var c=a.w;c||(c=ua("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=Yf(a,c))||a.ga("The user ID is invalid."))):b&&a.ga("Browser local storage is not available"));return c} function Pf(a,b){var c=a.w;c||(c=ua("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=Wf(a,c))||a.ga("The user ID is invalid."))):b&&a.ga("Browser local storage is not available"));return c}
function Yf(a,b){a.w=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(va("user",c.data),a.w=c.data)}catch(e){u(e.message+" ("+d+")")}return a.w}function Sf(a){var b=null;a.w&&(b=pa()+"/api/v1/user?req=load&user="+a.w+"&state="+If(a,"1.23.3"));return b} function Wf(a,b){a.w=null;var c=oa(pa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(va("user",c.data),a.w=c.data)}catch(e){u(e.message+" ("+d+")")}return a.w}function Qf(a){var b=null;a.w&&(b=pa()+"/api/v1/user?req=load&user="+a.w+"&state="+Gf(a,"1.23.3"));return b}
function Xf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=If(a,"1.23.3");d.data=c;b=oa(pa()+"/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.ga("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.ga(c),va("user",""),a.w=null)}} function Vf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Gf(a,"1.23.3");d.data=c;b=oa(pa()+"/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.ga("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.ga(c),va("user",""),a.w=null)}}
function qb(a,b,c){a=bb(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}m.Eb=function(a){if(this.J.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.J[0];d.Ba&&d.Ba.focus();a&&window&&window.scrollTo(b,c)}};m.Ga=function(a){this.b&&this.b.Ga(a);this.F&&this.F.Ga(a)}; function qb(a,b,c){a=bb(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}m.Eb=function(a){if(this.J.length){var b=0,c=0;a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.J[0];d.Ba&&d.Ba.focus();a&&window&&window.scrollTo(b,c)}};m.Ga=function(a){this.b&&this.b.Ga(a);this.I&&this.I.Ga(a)};
function Ec(a,b){for(var c=0;c<a.J.length;c++){var d=a.J[c],e=!0;if(0<=b){d.Wb&&(120==d.Wb?b&1?(ed(d.b,2),e=!1):ed(d.b,1):ed(d.b,4));var f;if(f=e&&d.wa){f=d.A;for(var h=d.Ua,g=!0,k=d.va>>>f.na;0<h&&k<f.W.length;)f.W[k].La&&(f.W[k].La=g=!1,f.W[k].lc=!0),h-=f.Ea,k++;f=g}f&&(e=!1)}if(e)if(1<d.qa)switch(d.ea){case 2:ee(d)}else{var g=d.va,k=g+d.Ua,l=0,p=0,q=0,e=d.K,r=0;f=d.da;var y=h=0,v=d.Ta,I=(1<<v)-1;d.Jd&&(v=-v,y=16+v);for(;g<k;){var w=yb(d.A,g);if(d.wa&&w===d.J[l])p+=d.xc;else{d.J[l]=w;var J=y;J&& function Ec(a,b){for(var c=0;c<a.J.length;c++){var d=a.J[c],e=!0;if(0<=b){d.Wb&&(120==d.Wb?b&1?(ed(d.b,2),e=!1):ed(d.b,1):ed(d.b,4));var f;if(f=e&&d.wa){f=d.A;for(var h=d.Ua,g=!0,k=d.va>>>f.na;0<h&&k<f.W.length;)f.W[k].La&&(f.W[k].La=g=!1,f.W[k].mc=!0),h-=f.Ea,k++;f=g}f&&(e=!1)}if(e)if(1<d.qa)switch(d.ea){case 2:ce(d)}else{var g=d.va,k=g+d.Ua,l=0,p=0,q=0,e=d.K,r=0;f=d.da;var y=h=0,v=d.Ta,I=(1<<v)-1;d.Kd&&(v=-v,y=16+v);for(;g<k;){var w=yb(d.A,g);if(d.wa&&w===d.J[l])p+=d.yc;else{d.J[l]=w;var J=y;J&&
(w=w>>8|(w&255)<<8);p<e&&(e=p);for(var A=d.xc;A--;){var R=w>>J&I;de(d,d.rc,p++,q,R);J+=v}p>r&&(r=p);q<f&&(f=q);q>=h&&(h=q+1)}g+=2;l++;if(p>=d.K&&(p=0,q++,q>d.da))break}d.wa=!0;e<d.K&&(g=r-e,h-=f,d.D&&(k=e,l=g,e=f,g=h,f=d.K-(k+l),h=l),d.cb.putImageData(d.rc,0,0,e,f,g,h),d.F.drawImage(d.O,0,0,d.O.width,d.O.height,0,0,d.ba,d.Z))}}} (w=w>>8|(w&255)<<8);p<e&&(e=p);for(var A=d.yc;A--;){var R=w>>J&I;be(d,d.sc,p++,q,R);J+=v}p>r&&(r=p);q<f&&(f=q);q>=h&&(h=q+1)}g+=2;l++;if(p>=d.K&&(p=0,q++,q>d.da))break}d.wa=!0;e<d.K&&(g=r-e,h-=f,d.C&&(k=e,l=g,e=f,g=h,f=d.K-(k+l),h=l),d.cb.putImageData(d.sc,0,0,e,f,g,h),d.I.drawImage(d.O,0,0,d.O.width,d.O.height,0,0,d.ba,d.Z))}}}
Ia(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Of(h,d,!0);db(h,f);h.ba&&Tf(h,h.Cb)}});Aa.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=cb("Computer",c.id))&&c.oa&&!c.C.sa&&c.Cb(-1)}}); Ia(function(){for(var a=B(document,"pc8080-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=B(c,"pc8080","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new Mf(h,d,!0);db(h,f);h.ba&&Rf(h,h.Cb)}});Aa.show.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=cb("Computer",c.id))&&c.oa&&!c.D.sa&&c.Cb(-1)}});
Aa.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=cb("Computer",c.id))&&c.C.sa&&Hf(c,!(!c.u||c.O),!0)}});var Zf=0;function $f(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):og(g,a,b,c,d,e,f)})} Aa.exit.push(function(){for(var a=B(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=cb("Computer",c.id))&&c.D.sa&&Ff(c,!(!c.u||c.O),!0)}});var Xf=0;function Yf(a,b,c,d,e,f){e("Loading "+a+"...");oa(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):mg(g,a,b,c,d,e,f)})}
function og(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){ab(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2")); function mg(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){ab(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?pg(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?ng(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function pg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function ng(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");oa(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],l,p=/( [a-z]+=)(['"])(.*?)\2/g;l=p.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);pg(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],h);ng(a,b,c)}})}else c(a,null)}
function qg(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ha(a))}function f(a){e("Error: "+a);k&&(--Zf||La(!0));k=!1}var h,g,k=!0;Zf++;$a[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c|| function og(a,b,c,d){function e(a){if(void 0===g){var b=h&&B(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ha(a))}function f(a){e("Error: "+a);k&&(--Xf||La(!0));k=!1}var h,g,k=!0;Xf++;$a[a]={};try{if(h=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));p.appendChild(q)}c||
(c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?$f(c,null,null,!1,e,function(d,k){if(k)if(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Zf||La(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Zf||La(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");l=function(d,g){g?Yf(c,null,null,!1,e,function(d,k){if(k)if(ab(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=g.transformNode(k);l?(h.outerHTML=l,--Xf||La(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(l,h),--Xf||La(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?$f(b,a,d,!0,e,l):og(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(r){f(r.message)}return k}window.embedPC8080=function(a,b,c,d){La(!1);return qg(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Yf(b,a,d,!0,e,l):mg(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(r){f(r.message)}return k}window.embedPC8080=function(a,b,c,d){La(!1);return og(a,b,c,d)};window.enableEvents=La;window.sendEvent=Ma;
function rg(a,b,c,d){if(!c&&b){d.push(b);a=$a[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){sg(b,d)}):sg(null,d)}else u("Error ("+c+") requesting "+a)} function pg(a,b,c,d){if(!c&&b){d.push(b);a=$a[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?oa(b,null,!0,function(a,b){qg(b,d)}):qg(null,d)}else u("Error ("+c+") requesting "+a)}
function sg(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=$a[f],k={},l;for(l in g){var p=g[l],q=da(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[l]);){var r=d[2];r&&(g[r]||(p=p.replace(d[0],"")))}d=l=ca(l)}else"xsl"==q&&(e=l=ca(l));k[l]=p}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function qg(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=$a[f],k={},l;for(l in g){var p=g[l],q=da(l);if("xml"==q){for(q=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(g[l]);){var r=d[2];r&&(g[r]||(p=p.replace(d[0],"")))}d=l=ca(l)}else"xsl"==q&&(e=l=ca(l));k[l]=p}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),l=h,g=null,k="data:application/javascript,",k=wa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),l=h,g=null,k="data:application/javascript,",k=wa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),l&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=l,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+l+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(l?" ("+l+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",u(c)):u("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",u(c)):u("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=cb("Computer",a),e=cb("Debugger",a);if(d){var f=Hf(d,!0),h=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,zc:h}))return!0;oa(b,null,!0,function(c,d,e){rg(c,d,e,[a,ca(b,!0),h,f])});return!0}u("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=cb("Computer",a),e=cb("Debugger",a);if(d){var f=Ff(d,!0),h=d.M?JSON.stringify(d.M):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ac:h}))return!0;oa(b,null,!0,function(c,d,e){pg(c,d,e,[a,ca(b,!0),h,f])});return!0}u("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -6,7 +6,7 @@ typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encod
function t(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){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}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function t(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){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}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(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 qa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ua(a){qa.init.push(a)} function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(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 qa={init:[],show:[],exit:[]},ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ua(a){qa.init.push(a)}
function va(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){wa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function xa(a){!sa&&a?(sa=!0,ra&&ya("init")):sa=a}function ya(a){qa[a]&&va(qa[a])}ta("onload",function(){ra=!0;va(qa.init)});ta("onpageshow",function(){va(qa.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){va(qa.exit)}); function va(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){wa("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.",void 0,void 0)}}function xa(a){!sa&&a?(sa=!0,ra&&ya("init")):sa=a}function ya(a){qa[a]&&va(qa[a])}ta("onload",function(){ra=!0;va(qa.init)});ta("onpageshow",function(){va(qa.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){va(qa.exit)});
function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.vb=b.comment;this.Mb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.fb=this.id.substr(0,b),this.eb=this.id.substr(b+1)):this.eb=this.id;this[a]=c;this.j={ua:!1,Ea:!1,ib:!1,S:!1,na:!1};this.Sa=null;this.j.na=!1;this.w={};this.L=null;x.push(this)}var za=void 0,Aa={}; function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.wb=b.comment;this.Nb=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.fb=this.id.substr(0,b),this.eb=this.id.substr(b+1)):this.eb=this.id;this[a]=c;this.j={ua:!1,Ea:!1,ib:!1,S:!1,na:!1};this.Sa=null;this.j.na=!1;this.w={};this.L=null;x.push(this)}var za=void 0,Aa={};
if(window){za||(za=window.location.search.substr(1));for(var Ba,Ca=/\+/g,Da=/([^&=]+)=?([^&]*)/g;Ba=Da.exec(za);)Aa[decodeURIComponent(Ba[1].replace(Ca," "))]=decodeURIComponent(Ba[2].replace(Ca," "))}function Ea(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b} if(window){za||(za=window.location.search.substr(1));for(var Ba,Ca=/\+/g,Da=/([^&=]+)=?([^&]*)/g;Ba=Da.exec(za);)Aa[decodeURIComponent(Ba[1].replace(Ca," "))]=decodeURIComponent(Ba[2].replace(Ca," "))}function Ea(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
function y(a,b){b||(b=w);a.prototype=Ea(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var x=[],Fa={};function Ga(a,b,c){Fa[a]&&b&&(Fa[a][b]=c)}function wa(a,b,c){b||t((c?c+": ":"")+a)}function Ha(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c} function y(a,b){b||(b=w);a.prototype=Ea(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}var x=[],Fa={};function Ga(a,b,c){Fa[a]&&b&&(Fa[a][b]=c)}function wa(a,b,c){b||t((c?c+": ":"")+a)}function Ha(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Ia(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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b} function Ia(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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
@ -20,142 +20,142 @@ var Ma="undefined"!==typeof ArrayBuffer,Na=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,
function Qa(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<x.length;h++)if(x[h].id===f){f=x[h];break a}f=null}f||(a=!0,f=new Oa(e));Ja(f,d);a&&B(f)}}ua(Qa); function Qa(){for(var a=!1,b=A(document,"pc8080","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f;a:{f=e.id;if(void 0!==f)for(var h=void 0,h=0;h<x.length;h++)if(x[h].id===f){f=x[h];break a}f=null}f||(a=!0,f=new Oa(e));Ja(f,d);a&&B(f)}}ua(Qa);
function Ra(a,b,c){w.call(this,"Bus",a,Ra);this.a=b;this.L=c;this.i=a.busWidth||16;this.u=Math.pow(2,this.i);this.h=this.u-1|0;this.c=16>=this.i?10:20>=this.i?12:24>=this.i?14:15;this.m=1<<this.c;this.v=this.m>>2;this.f=this.m-1;this.l=this.u/this.m|0;this.A=this.l-1;this.o=[];this.s=[];this.B=[];this.F=[];a=new C;Sa(a,this.L);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;B(this)}y(Ra);Ra.prototype.reset=function(){};Ra.prototype.Y=function(a,b){b||this.reset();return!0}; function Ra(a,b,c){w.call(this,"Bus",a,Ra);this.a=b;this.L=c;this.i=a.busWidth||16;this.u=Math.pow(2,this.i);this.h=this.u-1|0;this.c=16>=this.i?10:20>=this.i?12:24>=this.i?14:15;this.m=1<<this.c;this.v=this.m>>2;this.f=this.m-1;this.l=this.u/this.m|0;this.A=this.l-1;this.o=[];this.s=[];this.B=[];this.F=[];a=new C;Sa(a,this.L);this.b=Array(this.l);for(b=0;b<this.l;b++)this.b[b]=a;B(this)}y(Ra);Ra.prototype.reset=function(){};Ra.prototype.Y=function(a,b){b||this.reset();return!0};
function Ta(a,b,c,d){for(var e=b,f=c,h=e>>>a.c;0<f&&h<a.b.length;){var g=a.b[h],k=h*a.m,m=a.m-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Da)return g.$a+=g.Da-e,g.Da=e,!0;if(e>=g.Da+g.$a){m=g.size-(e-k);m>f&&(m=f);g.$a=e-g.Da+m;e=k+a.m;f-=m;h++;continue}}return Ua(1,e,f)}e=new C(e,m,a.m,d);Sa(e,a.L,g);a.b[h++]=e;e=k+a.m;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Va[d]+" at "+("0x"+n(b,4))),!0):Ua(2,b,c)} function Ta(a,b,c,d){for(var e=b,f=c,h=e>>>a.c;0<f&&h<a.b.length;){var g=a.b[h],k=h*a.m,m=a.m-(e-k);m>f&&(m=f);if(g&&g.size){if(g.type==d){if(e+f<=g.Da)return g.$a+=g.Da-e,g.Da=e,!0;if(e>=g.Da+g.$a){m=g.size-(e-k);m>f&&(m=f);g.$a=e-g.Da+m;e=k+a.m;f-=m;h++;continue}}return Ua(1,e,f)}e=new C(e,m,a.m,d);Sa(e,a.L,g);a.b[h++]=e;e=k+a.m;f-=m}return 0>=f?(a.status(Math.floor(c/1024)+"Kb "+Va[d]+" at "+("0x"+n(b,4))),!0):Ua(2,b,c)}
Ra.prototype.I=function(a){return this.b[(a&this.h)>>>this.c].Ma(a&this.f,a)};function Wa(a,b){return a.b[(b&a.h)>>>a.c].Za(b&a.f,b)}function Xa(a,b){var c=b&a.f,d=(b&a.h)>>>a.c;return c!=a.f?a.b[d].Uc(c,b):a.b[d++].Ma(c,b)|a.b[d&a.A].Ma(0,b+1)<<8}Ra.prototype.V=function(a,b){this.b[(a&this.h)>>>this.c].Na(a&this.f,b&255,a)};function Ya(a,b,c){a.b[(b&a.h)>>>a.c].Pb(b&a.f,c&255,b)} Ra.prototype.H=function(a){return this.b[(a&this.h)>>>this.c].Ma(a&this.f,a)};function Wa(a,b){return a.b[(b&a.h)>>>a.c].Za(b&a.f,b)}function Xa(a,b){var c=b&a.f,d=(b&a.h)>>>a.c;return c!=a.f?a.b[d].Vc(c,b):a.b[d++].Ma(c,b)|a.b[d&a.A].Ma(0,b+1)<<8}Ra.prototype.V=function(a,b){this.b[(a&this.h)>>>this.c].Na(a&this.f,b&255,a)};function Ya(a,b,c){a.b[(b&a.h)>>>a.c].Qb(b&a.f,c&255,b)}
function Za(a,b,c){var d=b&a.f,e=(b&a.h)>>>a.c;d!=a.f?a.b[e].Vc(d,c&65535,b):(a.b[e++].Na(d,c&255,b),a.b[e&a.A].Na(0,c>>8&255,b+1))}function $a(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.o[k]?t("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}} function Za(a,b,c){var d=b&a.f,e=(b&a.h)>>>a.c;d!=a.f?a.b[e].Wc(d,c&65535,b):(a.b[e++].Na(d,c&255,b),a.b[e&a.A].Na(0,c>>8&255,b+1))}function $a(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.o[k]?t("Input port 0x"+n(k,4)+" already registered"):f.o[k]=[g,!1]}}
function ab(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.s[k]?t("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Ua(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var bb;if(Ma){var cb=new ArrayBuffer(2);(new DataView(cb)).setUint16(0,256,!0);bb=256===(new Uint16Array(cb))[0]}else bb=!1;var db=bb; function ab(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,h=+e+d,g=c[e].bind(b);if(void 0!==g)for(var k=+e+d;k<=h;k++)void 0!==f.s[k]?t("Output port 0x"+n(k,4)+" already registered"):f.s[k]=[g,!1]}}function Ua(a,b,c){t("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var bb;if(Ma){var cb=new ArrayBuffer(2);(new DataView(cb)).setUint16(0,256,!0);bb=256===(new Uint16Array(cb))[0]}else bb=!1;var db=bb;
function C(a,b,c,d){this.id=eb+=2;this.a=null;this.Da=a;this.$a=b;this.size=c||0;this.type=d||fb;this.w=d==gb;Sa(this);this.fa=this.Eb=!1;if(c)if(Ma)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.i=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),hb(this,db?ib:jb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;hb(this,kb)}else hb(this)}var fb=0,gb=2,Va=["NONE","RAM","ROM","VID","H/W"],eb=0; function C(a,b,c,d){this.id=eb+=2;this.a=null;this.Da=a;this.$a=b;this.size=c||0;this.type=d||fb;this.w=d==gb;Sa(this);this.fa=this.Fb=!1;if(c)if(Ma)this.c=new ArrayBuffer(c),this.m=new DataView(this.c,0,c),this.b=new Uint8Array(this.c,0,c),this.i=new Uint16Array(this.c,0,c>>1),this.a=new Int32Array(this.c,0,c>>2),hb(this,db?ib:jb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;hb(this,kb)}else hb(this)}var fb=0,gb=2,Va=["NONE","RAM","ROM","VID","H/W"],eb=0;
C.prototype={constructor:C,parent:null,save:function(){var a,b;if(Ma)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.m.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ma)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.fa=!0}return!1},l:function(){return 255},s:function(){},o:function(a,b){return this.Ma(a++,b++)|this.Ma(a,b)<<8},A:function(a,b,c){this.Na(a++,b&255,c++);this.Na(a,b>>8,c)},F:function(a){return this.a[a>> C.prototype={constructor:C,parent:null,save:function(){var a,b;if(Ma)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.m.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(a&&this.size==a.length<<2){var b;if(Ma)for(b=0;b<a.length;b++)this.m.setInt32(b<<2,a[b],!0);else this.a=a;return this.fa=!0}return!1},l:function(){return 255},s:function(){},o:function(a,b){return this.Ma(a++,b++)|this.Ma(a,b)<<8},A:function(a,b,c){this.Na(a++,b&255,c++);this.Na(a,b>>8,c)},F:function(a){return this.a[a>>
2]>>>((a&3)<<3)&255},M: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},ba:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.fa=!0},sa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.fa=!0},v:function(a,b){return this.Za(a,b)},H:function(a,b){return this.Nb(a,b)},T:function(a,b,c){this.w||this.Pb(a,b,c)},da:function(a, 2]>>>((a&3)<<3)&255},M: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},ba:function(a,b){var c=a>>2,d=(a&3)<<3;this.a[c]=this.a[c]&~(255<<d)|b<<d;this.fa=!0},sa:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.a[c]=this.a[c]&~(65535<<d)|b<<d:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.fa=!0},v:function(a,b){return this.Za(a,b)},I:function(a,b){return this.Ob(a,b)},T:function(a,b,c){this.w||this.Qb(a,b,c)},da:function(a,
b,c){this.w||this.ja(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.m.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},N:function(a,b){this.b[a]=b;this.fa=!0},U:function(a,b){this.b[a]=b;this.fa=!0},ca:function(a,b){this.m.setUint16(a,b,!0);this.fa=!0},ka:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.fa=!0}}; b,c){this.w||this.ja(a,b,c)},u:function(a){return this.b[a]},B:function(a){return this.b[a]},G:function(a){return this.m.getUint16(a,!0)},K:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.i[a>>1]},N:function(a,b){this.b[a]=b;this.fa=!0},U:function(a,b){this.b[a]=b;this.fa=!0},ca:function(a,b){this.m.setUint16(a,b,!0);this.fa=!0},ka:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.i[a>>1]=b;this.fa=!0}};
function Sa(a,b,c){a.L=b;a.f=a.h=0;c&&((a.f=c.f)&&lb(a,mb,!1),(a.h=c.h)&&nb(a,mb,!1))}function nb(a,b,c){c&&a.h||(a.Na=!a.w&&b[2]||a.s,a.Vc=!a.w&&b[3]||a.A);if(c||void 0===c)a.Pb=b[2]||a.s,a.ja=b[3]||a.A}function lb(a,b,c){c&&a.f||(a.Ma=b[0]||a.l,a.Uc=b[1]||a.o);if(c||void 0===c)a.Za=b[0]||a.l,a.Nb=b[1]||a.o}function hb(a,b){b||(b=ob);lb(a,b,void 0);nb(a,b,void 0)}var ob=[],kb=[C.prototype.F,C.prototype.M,C.prototype.ba,C.prototype.sa],mb=[C.prototype.v,C.prototype.H,C.prototype.T,C.prototype.da]; function Sa(a,b,c){a.L=b;a.f=a.h=0;c&&((a.f=c.f)&&lb(a,mb,!1),(a.h=c.h)&&nb(a,mb,!1))}function nb(a,b,c){c&&a.h||(a.Na=!a.w&&b[2]||a.s,a.Wc=!a.w&&b[3]||a.A);if(c||void 0===c)a.Qb=b[2]||a.s,a.ja=b[3]||a.A}function lb(a,b,c){c&&a.f||(a.Ma=b[0]||a.l,a.Vc=b[1]||a.o);if(c||void 0===c)a.Za=b[0]||a.l,a.Ob=b[1]||a.o}function hb(a,b){b||(b=ob);lb(a,b,void 0);nb(a,b,void 0)}var ob=[],kb=[C.prototype.F,C.prototype.M,C.prototype.ba,C.prototype.sa],mb=[C.prototype.v,C.prototype.I,C.prototype.T,C.prototype.da];
if(Ma)var jb=[C.prototype.u,C.prototype.G,C.prototype.N,C.prototype.ca],ib=[C.prototype.B,C.prototype.K,C.prototype.U,C.prototype.ka]; if(Ma)var jb=[C.prototype.u,C.prototype.G,C.prototype.N,C.prototype.ca],ib=[C.prototype.B,C.prototype.K,C.prototype.U,C.prototype.ka];
function pb(a,b){w.call(this,"CPU",a,pb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.za=c;this.c.Wa=0;this.c.ya=d;this.c.jb=Math.round(this.c.za/1E4)/100;this.c.va=this.c.jb*this.c.ya;this.j.ga=!1;this.j.Gb=!1;this.j.Db=a.autoStart;this.j.Fb=!1;this.j.Qa=!1;this.c.Ua=this.c.xa=0;this.c.Va=a.csStart;this.c.Fa=a.csInterval;this.c.Ga=a.csStop;this.ka=this.nb.bind(this);B(this)}y(pb);var qb=["power","reset"];l=pb.prototype; function pb(a,b){w.call(this,"CPU",a,pb);var c=a.cycles||b,d=a.multiplier||1;this.c={};this.c.za=c;this.c.Wa=0;this.c.ya=d;this.c.jb=Math.round(this.c.za/1E4)/100;this.c.va=this.c.jb*this.c.ya;this.j.ga=!1;this.j.Hb=!1;this.j.Eb=a.autoStart;this.j.Gb=!1;this.j.Qa=!1;this.c.Ua=this.c.xa=0;this.c.Va=a.csStart;this.c.Fa=a.csInterval;this.c.Ga=a.csStop;this.ka=this.nb.bind(this);B(this)}y(pb);var qb=["power","reset"];l=pb.prototype;
l.ha=function(a,b,c,d){this.A=a;this.m=b;this.L=d;for(b=0;b<qb.length;b++)(c=this.w[qb[b]])&&this.A.R(null,qb[b],c);this.U=(b=Pa(a,"Video"))&&Math.max(b.Ec,b.hb)||60;this.G=Pa(a,"ChipSet");a=rb(a,"autoStart");null!=a&&(this.j.Db="true"==a?!0:"false"==a?!1:!!a);B(this)};l.reset=function(){this.c.Wa=0};l.save=function(){return null};l.restore=function(){return!1}; l.ha=function(a,b,c,d){this.A=a;this.m=b;this.L=d;for(b=0;b<qb.length;b++)(c=this.w[qb[b]])&&this.A.R(null,qb[b],c);this.U=(b=Pa(a,"Video"))&&Math.max(b.Fc,b.hb)||60;this.I=Pa(a,"ChipSet");a=rb(a,"autoStart");null!=a&&(this.j.Eb="true"==a?!0:"false"==a?!1:!!a);B(this)};l.reset=function(){this.c.Wa=0};l.save=function(){return null};l.restore=function(){return!1};
l.Y=function(a,b){if(!b){if(a&&this.restore){sb(this);if(!this.restore(a))return!1;tb(this)}else this.reset();this.Z("No debugger detected")}ub(this);return!0};l.aa=function(a){return a?this.save():!0};function vb(a){(a.j.Db||void 0===a.w.run)&&a.nb(!0)}l.Ib=function(){return 0};function tb(a){void 0===a.c.Va&&(a.c.Va=0);void 0===a.c.Fa&&(a.c.Fa=-1);void 0===a.c.Ga&&(a.c.Ga=-1);a.j.Qa=0<=a.c.Va&&0<a.c.Fa;a.j.Qa&&(a.c.Ua=0,a.c.xa=a.c.Va-a.N)} l.Y=function(a,b){if(!b){if(a&&this.restore){sb(this);if(!this.restore(a))return!1;tb(this)}else this.reset();this.Z("No debugger detected")}ub(this);return!0};l.aa=function(a){return a?this.save():!0};function vb(a){(a.j.Eb||void 0===a.w.run)&&a.nb(!0)}l.Jb=function(){return 0};function tb(a){void 0===a.c.Va&&(a.c.Va=0);void 0===a.c.Fa&&(a.c.Fa=-1);void 0===a.c.Ga&&(a.c.Ga=-1);a.j.Qa=0<=a.c.Va&&0<a.c.Fa;a.j.Qa&&(a.c.Ua=0,a.c.xa=a.c.Va-a.N)}
l.R=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.w[b]=c;a=!0;break;case "run":this.w[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.S)a=!0;else{var b=null,c,g=Ha(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.j.ua);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.j.S);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.j.ua?"powered yet":"ready yet"+(b.Sa?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ga?wb(d,!0):d.nb(!0))};a=!0; l.R=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.w[b]=c;a=!0;break;case "run":this.w[b]=c;c.onclick=function(){var a;if(a=d.A)if(a=d.A,a.j.S)a=!0;else{var b=null,c,g=Ha(a.id);for(c=0;c<g.length&&(b=g[c],b===a||b.j.ua);c++);if(c==g.length)for(c=0;c<g.length&&(b=g[c],b===a||b.j.S);c++);c==g.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.j.ua?"powered yet":"ready yet"+(b.Sa?" (waiting for notification)":""))+".");a=!1}a&&(d.j.ga?wb(d,!0):d.nb(!0))};a=!0;
break;case "speed":this.w[b]=c;a=!0;break;case "setSpeed":this.w[b]=c,c.onclick=function(){xb(d,d.c.ya<<1,!0)},c.textContent=this.c.va.toFixed(2)+"Mhz",a=!0}return a};function yb(a,b,c){a.N+=b;c&&(a.M=a.a=0)} break;case "speed":this.w[b]=c;a=!0;break;case "setSpeed":this.w[b]=c,c.onclick=function(){xb(d,d.c.ya<<1,!0)},c.textContent=this.c.va.toFixed(2)+"Mhz",a=!0}return a};function yb(a,b,c){a.N+=b;c&&(a.M=a.a=0)}
function zb(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.c.ya&&a.c.oa&&(d=a.c.oa/a.c.jb);a.c.Jb=Math.round(1E3/30);a.c.Gc=Math.floor(a.c.za/c*d);a.c.lb=Math.floor(a.c.za/30*d);a.c.Lb=Math.floor(a.c.za/a.U*d);a.c.Kb=Math.floor(a.c.za/2*d);b||(a.c.Ja=a.c.lb,a.c.Ia=a.c.Lb,a.c.Ha=a.c.Kb);a.c.mb=0}function Ab(a){return a.N+a.K+a.M-a.a}function sb(a){a.c.oa=0;a.N=a.K=a.M=a.a=0;tb(a);xb(a,1)} function zb(a,b){var c=30;c<a.U&&(c=a.U);2>c&&(c=2);var d=1;b&&1<a.c.ya&&a.c.oa&&(d=a.c.oa/a.c.jb);a.c.Kb=Math.round(1E3/30);a.c.Hc=Math.floor(a.c.za/c*d);a.c.lb=Math.floor(a.c.za/30*d);a.c.Mb=Math.floor(a.c.za/a.U*d);a.c.Lb=Math.floor(a.c.za/2*d);b||(a.c.Ja=a.c.lb,a.c.Ia=a.c.Mb,a.c.Ha=a.c.Lb);a.c.mb=0}function Ab(a){return a.N+a.K+a.M-a.a}function sb(a){a.c.oa=0;a.N=a.K=a.M=a.a=0;tb(a);xb(a,1)}
function xb(a,b,c){if(void 0!==b){.8>a.c.oa/a.c.va&&(b=1);a.c.ya=b;b=a.c.jb*a.c.ya;if(a.c.va!=b){a.c.va=b;b=a.c.va.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.A&&Bb(a.A)}yb(a,a.K);a.K=0;a.c.wa=ha();a.c.pa=0;zb(a)} function xb(a,b,c){if(void 0!==b){.8>a.c.oa/a.c.va&&(b=1);a.c.ya=b;b=a.c.jb*a.c.ya;if(a.c.va!=b){a.c.va=b;b=a.c.va.toFixed(2)+"Mhz";var d=a.w.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.A&&Bb(a.A)}yb(a,a.K);a.K=0;a.c.wa=ha();a.c.pa=0;zb(a)}
l.nb=function(a){if(Ka(this,!0)){if(!this.j.ga){xb(this);this.A&&this.A.start(this.c.wa,Ab(this));this.j.ga=!0;this.j.Gb=!0;this.G&&this.G.start();var b=this.w.run;b&&(b.textContent="Halt");this.A&&(this.A.qa(!0),a&&Bb(this.A,!0))}this.c.mb>=this.c.za&&zb(this,!0);this.c.Ka=0;this.c.Ta=ha();this.c.pa&&(a=this.c.Ta-this.c.pa,a>this.c.Jb&&(this.c.wa+=a,this.c.wa>this.c.Ta&&(this.c.wa=this.c.Ta)));try{do{this.Ob(this.j.Qa?1:this.c.Gc);var c=this.M-this.a;this.K+=c;this.c.Ka+=c;yb(this,0,!0);a=c;this.j.Qa&& l.nb=function(a){if(Ka(this,!0)){if(!this.j.ga){xb(this);this.A&&this.A.start(this.c.wa,Ab(this));this.j.ga=!0;this.j.Hb=!0;this.I&&this.I.start();var b=this.w.run;b&&(b.textContent="Halt");this.A&&(this.A.qa(!0),a&&Bb(this.A,!0))}this.c.mb>=this.c.za&&zb(this,!0);this.c.Ka=0;this.c.Ta=ha();this.c.pa&&(a=this.c.Ta-this.c.pa,a>this.c.Kb&&(this.c.wa+=a,this.c.wa>this.c.Ta&&(this.c.wa=this.c.Ta)));try{do{this.Pb(this.j.Qa?1:this.c.Hc);var c=this.M-this.a;this.K+=c;this.c.Ka+=c;yb(this,0,!0);a=c;this.j.Qa&&
(b=!1,this.c.Ua=this.c.Ua+this.Ib()|0,this.c.xa-=a,0>=this.c.xa&&(this.c.xa+=this.c.Fa,b=!0),0<=this.c.Ga&&this.c.Ga<=Ab(this)&&(this.c.Fa=this.c.Ga=-1,tb(this),wb(this),b=!0),b&&this.Z(Ab(this)+" cycles: checksum="+n(this.c.Ua)));this.c.Ia-=c;0>=this.c.Ia&&(this.c.Ia+=this.c.Lb,this.A&&Cb(this.A,this.c.Wa++),this.c.Wa>this.U&&(this.c.Wa=0));this.c.Ha-=c;0>=this.c.Ha&&(this.c.Ha+=this.c.Kb,this.A&&this.A.qa());this.c.Ja-=c;if(0>=this.c.Ja){this.c.Ja+=this.c.lb;break}}while(this.j.ga)}catch(e){wb(this); (b=!1,this.c.Ua=this.c.Ua+this.Jb()|0,this.c.xa-=a,0>=this.c.xa&&(this.c.xa+=this.c.Fa,b=!0),0<=this.c.Ga&&this.c.Ga<=Ab(this)&&(this.c.Fa=this.c.Ga=-1,tb(this),wb(this),b=!0),b&&this.Z(Ab(this)+" cycles: checksum="+n(this.c.Ua)));this.c.Ia-=c;0>=this.c.Ia&&(this.c.Ia+=this.c.Mb,this.A&&Cb(this.A,this.c.Wa++),this.c.Wa>this.U&&(this.c.Wa=0));this.c.Ha-=c;0>=this.c.Ha&&(this.c.Ha+=this.c.Lb,this.A&&this.A.qa());this.c.Ja-=c;if(0>=this.c.Ja){this.c.Ja+=this.c.lb;break}}while(this.j.ga)}catch(e){wb(this);
ub(this);this.A&&this.A.stop(ha(),Ab(this));Ka(this,!1);c=e.stack||e.message;this.j.na=!0;this.J(c);return}c=setTimeout;a=this.ka;this.c.pa=ha();b=this.c.Jb;this.c.Ka&&(b=Math.round(b*this.c.Ka/this.c.lb));var b=b-(this.c.pa-this.c.Ta),d=this.c.pa-this.c.wa;d&&(this.c.oa=Math.round(this.K/(10*d))/100,864E5<=d&&(this.N=0,xb(this)));if(0>b||this.c.oa<this.c.va)b=0;this.c.mb+=this.c.Ka;this.c.pa+=b;c(a,b)}else ub(this),this.A&&this.A.stop(ha(),Ab(this))};l.Ob=function(){return 0}; ub(this);this.A&&this.A.stop(ha(),Ab(this));Ka(this,!1);c=e.stack||e.message;this.j.na=!0;this.J(c);return}c=setTimeout;a=this.ka;this.c.pa=ha();b=this.c.Kb;this.c.Ka&&(b=Math.round(b*this.c.Ka/this.c.lb));var b=b-(this.c.pa-this.c.Ta),d=this.c.pa-this.c.wa;d&&(this.c.oa=Math.round(this.K/(10*d))/100,864E5<=d&&(this.N=0,xb(this)));if(0>b||this.c.oa<this.c.va)b=0;this.c.mb+=this.c.Ka;this.c.pa+=b;c(a,b)}else ub(this),this.A&&this.A.stop(ha(),Ab(this))};l.Pb=function(){return 0};
function wb(a,b){a.j.Ea&&(a.j.ib=!0);a.M-=a.a;a.a=0;yb(a,a.K);a.K=0;if(a.j.ga){a.j.ga=!1;a.G&&a.G.stop();var c=a.w.run;c&&(c.textContent="Run")}a.j.Ra=b}function ub(a){a.A&&(Cb(a.A,-1),a.A.qa(void 0))}function Db(a){this.ja=+a.model||8080;pb.call(this,a,1E6);this.ba=Eb;sb(this);this.j.Ra=this.j.qc=!1;this.da=0;this.T=[];this.ca=0;Fb(this)}y(Db,pb);function Hb(a,b){a.T.push(b)}l=Db.prototype;l.reset=function(){this.j.ga&&wb(this);Fb(this);sb(this);this.j.na=!1;this.parent.reset.call(this)}; function wb(a,b){a.j.Ea&&(a.j.ib=!0);a.M-=a.a;a.a=0;yb(a,a.K);a.K=0;if(a.j.ga){a.j.ga=!1;a.I&&a.I.stop();var c=a.w.run;c&&(c.textContent="Run")}a.j.Ra=b}function ub(a){a.A&&(Cb(a.A,-1),a.A.qa(void 0))}function Db(a){this.ja=+a.model||8080;pb.call(this,a,1E6);this.ba=Eb;sb(this);this.j.Ra=this.j.rc=!1;this.da=0;this.T=[];this.ca=0;Gb(this)}y(Db,pb);function Hb(a,b){a.T.push(b)}l=Db.prototype;l.reset=function(){this.j.ga&&wb(this);Gb(this);sb(this);this.j.na=!1;this.parent.reset.call(this)};
function Fb(a){a.b=0;a.f=0;a.C=0;a.h=0;a.D=0;a.i=0;a.l=0;a.v=0;D(a,a.ca);Ib(a,0);a.F=0}function Jb(a,b){a.ca=b;D(a,b)}l.Ib=function(){var a=this.b+this.f+this.C+this.h+this.D+this.i+this.l|0;return a=a+this.v+this.s+Kb(this)|0}; function Gb(a){a.b=0;a.f=0;a.C=0;a.h=0;a.D=0;a.i=0;a.l=0;a.v=0;D(a,a.ca);Ib(a,0);a.F=0}function Jb(a,b){a.ca=b;D(a,b)}l.Jb=function(){var a=this.b+this.f+this.C+this.h+this.D+this.i+this.l|0;return a=a+this.v+this.s+Kb(this)|0};
l.save=function(){var a=new F(this);G(a,0,[this.b,this.f,this.C,this.h,this.D,this.i,this.l,this.v,this.s,Kb(this)]);G(a,1,[this.F,this.N,this.c.ya]);for(var b=this.m,c=0,d=[],e=0;e<b.l;e++){var f=b.b[e];if(f.fa||f.Eb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,m=[];g<f.length;){for(var r=f[g],p=g+1;p<f.length&&f[p]===r;)p++;m[k++]=p-g;m[k++]=r;g=p}if(m.length<f.length){f=m;break a}}d[h]=f}}G(a,2,d);return a.data()}; l.save=function(){var a=new F(this);G(a,0,[this.b,this.f,this.C,this.h,this.D,this.i,this.l,this.v,this.s,Kb(this)]);G(a,1,[this.F,this.N,this.c.ya]);for(var b=this.m,c=0,d=[],e=0;e<b.l;e++){var f=b.b[e];if(f.fa||f.Fb){d[c++]=e;var h=c++;a:if(f=f.save()){for(var g=0,k=0,m=[];g<f.length;){for(var r=f[g],p=g+1;p<f.length&&f[p]===r;)p++;m[k++]=p-g;m[k++]=r;g=p}if(m.length<f.length){f=m;break a}}d[h]=f}}G(a,2,d);return a.data()};
l.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.C=b[2];this.h=b[3];this.D=b[4];this.i=b[5];this.l=b[6];this.v=b[7]&65535;D(this,b[8]);Ib(this,b[9]);b=a[1];this.F=b[0];this.N=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.v){for(var f=0,h=Array(b.v),g=0;g<e.length-1;)for(var k=e[g++],m=e[g++];k--;)h[f++]=m;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b}; l.restore=function(a){var b=a[0];this.b=b[0];this.f=b[1];this.C=b[2];this.h=b[3];this.D=b[4];this.i=b[5];this.l=b[6];this.v=b[7]&65535;D(this,b[8]);Ib(this,b[9]);b=a[1];this.F=b[0];this.N=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.v){for(var f=0,h=Array(b.v),g=0;g<e.length-1;)for(var k=e[g++],m=e[g++];k--;)h[f++]=m;e=h}f=b.b[d];if(!f||!f.restore(e)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
l.R=function(a,b,c){var d=!1;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.w[b]=c;this.da++;d=!0;break;default:d=this.parent.R.call(this,a,b,c)}return d};function Lb(a){return a.f<<8|a.C}function Mb(a,b){a.f=b>>8&255;a.C=b&255}function Nb(a){return a.h<<8|a.D}function Ob(a,b){a.h=b>>8&255;a.D=b&255}function J(a){return a.i<<8|a.l} l.R=function(a,b,c){var d=!1;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.w[b]=c;this.da++;d=!0;break;default:d=this.parent.R.call(this,a,b,c)}return d};function Lb(a){return a.f<<8|a.C}function Mb(a,b){a.f=b>>8&255;a.C=b&255}function Nb(a){return a.h<<8|a.D}function Ob(a,b){a.h=b>>8&255;a.D=b&255}function J(a){return a.i<<8|a.l}
function K(a,b){a.i=b>>8&255;a.l=b&255}function D(a,b){a.s=b&65535}function L(a){return a.o&256?1:0}function M(a,b){a.o=a.o&255|b}function Pb(a){return Na[a.u&255]?4:0}function Kb(a){return a.H&-214|(a.u&128?128:0)|(a.o&255?0:64)|((a.u^a.B)&16?16:0)|Pb(a)|L(a)}function Ib(a,b){a.o=a.u=a.B=0;b&1&&(a.o|=256);b&4||(a.u|=1);b&16&&(a.B|=16);b&64||(a.o|=255);b&128&&(a.u^=192);a.H=a.H&-726|b&512|2}function N(a,b){a.B=a.b^b;return a.u=(a.o=a.b+b)&255} function K(a,b){a.i=b>>8&255;a.l=b&255}function D(a,b){a.s=b&65535}function L(a){return a.o&256?1:0}function M(a,b){a.o=a.o&255|b}function Pb(a){return Na[a.u&255]?4:0}function Kb(a){return a.G&-214|(a.u&128?128:0)|(a.o&255?0:64)|((a.u^a.B)&16?16:0)|Pb(a)|L(a)}function Ib(a,b){a.o=a.u=a.B=0;b&1&&(a.o|=256);b&4||(a.u|=1);b&16&&(a.B|=16);b&64||(a.o|=255);b&128&&(a.u^=192);a.G=a.G&-726|b&512|2}function N(a,b){a.B=a.b^b;return a.u=(a.o=a.b+b)&255}
function Qb(a,b){a.B=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?1:0))&255}function Rb(a,b){a.o=a.u=a.B=a.b&b;(a.b|b)&8&&(a.B^=16);return a.o}function Sb(a,b){a.B=b^255;b=a.u=b+255&255;a.o=a.o&-256|b;return b}function Tb(a,b){a.B=b;b=a.u=b+1&255;a.o=a.o&-256|b;return b}function Ub(a,b){return a.u=a.o=a.B=a.b|b}function O(a,b){b^=255;a.B=a.b^b;return a.u=(a.o=a.b+b+1^256)&255}function Vb(a,b){b^=255;a.B=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?0:1)^256)&255}function Wb(a,b){return a.u=a.o=a.B=a.b^b}l.I=function(a){return this.m.I(a)}; function Qb(a,b){a.B=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?1:0))&255}function Rb(a,b){a.o=a.u=a.B=a.b&b;(a.b|b)&8&&(a.B^=16);return a.o}function Sb(a,b){a.B=b^255;b=a.u=b+255&255;a.o=a.o&-256|b;return b}function Tb(a,b){a.B=b;b=a.u=b+1&255;a.o=a.o&-256|b;return b}function Ub(a,b){return a.u=a.o=a.B=a.b|b}function O(a,b){b^=255;a.B=a.b^b;return a.u=(a.o=a.b+b+1^256)&255}function Vb(a,b){b^=255;a.B=a.b^b;return a.u=(a.o=a.b+b+(a.o&256?0:1)^256)&255}function Wb(a,b){return a.u=a.o=a.B=a.b^b}l.H=function(a){return this.m.H(a)};
l.V=function(a,b){this.m.V(a,b)};function Q(a){var b=a.I(a.s);D(a,a.s+1);return b}function S(a){var b=Xa(a.m,a.s);D(a,a.s+2);return b}function T(a){var b=Xa(a.m,a.v);a.v=a.v+2&65535;return b}function U(a,b){a.v=a.v-2&65535;Za(a.m,a.v,b)}function Xb(a,b){a.F=a.F&-8|b|8}function V(a,b,c,d){d=d||2;a.w[b]&&(void 0===c&&(a.j.na=!0,a.J("Value for "+b+" is invalid"),wb(a)),c=!a.j.ga||a.j.Fb?n(c,d):"--------".substr(0,d),a.w[b].textContent!=c&&(a.w[b].textContent=c))} l.V=function(a,b){this.m.V(a,b)};function Q(a){var b=a.H(a.s);D(a,a.s+1);return b}function S(a){var b=Xa(a.m,a.s);D(a,a.s+2);return b}function T(a){var b=Xa(a.m,a.v);a.v=a.v+2&65535;return b}function U(a,b){a.v=a.v-2&65535;Za(a.m,a.v,b)}function Xb(a,b){a.F=a.F&-8|b|8}function V(a,b,c,d){d=d||2;a.w[b]&&(void 0===c&&(a.j.na=!0,a.J("Value for "+b+" is invalid"),wb(a)),c=!a.j.ga||a.j.Gb?n(c,d):"--------".substr(0,d),a.w[b].textContent!=c&&(a.w[b].textContent=c))}
l.qa=function(a){this.da&&(a||!this.j.ga||this.j.Fb)&&(V(this,"A",this.b),V(this,"B",this.f),V(this,"C",this.C),V(this,"BC",Lb(this),4),V(this,"D",this.h),V(this,"E",this.D),V(this,"DE",Nb(this),4),V(this,"H",this.i),V(this,"L",this.l),V(this,"HL",J(this),4),V(this,"SP",this.v,4),V(this,"PC",this.s,4),a=Kb(this),V(this,"PS",a,4),V(this,"IF",a&512?1:0,1),V(this,"SF",a&128?1:0,1),V(this,"ZF",a&64?1:0,1),V(this,"AF",a&16?1:0,1),V(this,"PF",a&4?1:0,1),V(this,"CF",a&1?1:0,1));if(a=this.w.speed)a.textContent= l.qa=function(a){this.da&&(a||!this.j.ga||this.j.Gb)&&(V(this,"A",this.b),V(this,"B",this.f),V(this,"C",this.C),V(this,"BC",Lb(this),4),V(this,"D",this.h),V(this,"E",this.D),V(this,"DE",Nb(this),4),V(this,"H",this.i),V(this,"L",this.l),V(this,"HL",J(this),4),V(this,"SP",this.v,4),V(this,"PC",this.s,4),a=Kb(this),V(this,"PS",a,4),V(this,"IF",a&512?1:0,1),V(this,"SF",a&128?1:0,1),V(this,"ZF",a&64?1:0,1),V(this,"AF",a&16?1:0,1),V(this,"PF",a&4?1:0,1),V(this,"CF",a&1?1:0,1));if(a=this.w.speed)a.textContent=
this.j.ga&&this.c.oa?this.c.oa.toFixed(2)+"Mhz":"Stopped"};l.Ob=function(a){this.j.Ra=!0;this.j.qc=!1;this.j.Gb=!1;this.M=this.a=a;do{if(this.F){if(a&&this.F&8&&this.H&512){var b=199|(this.F&7)<<3;this.F&=-17;this.F&=-16;this.H&=-513;this.ba[b].call(this)}if(this.F&16){this.a=0;break}}this.ba[Q(this)].call(this)}while(0<this.a);return this.j.Ra?this.M-this.a:void 0===this.j.Ra?0:-1};ua(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Db(d);Ja(d,c)}}); this.j.ga&&this.c.oa?this.c.oa.toFixed(2)+"Mhz":"Stopped"};l.Pb=function(a){this.j.Ra=!0;this.j.rc=!1;this.j.Hb=!1;this.M=this.a=a;do{if(this.F){if(a&&this.F&8&&this.G&512){var b=199|(this.F&7)<<3;this.F&=-17;this.F&=-16;this.G&=-513;this.ba[b].call(this)}if(this.F&16){this.a=0;break}}this.ba[Q(this)].call(this)}while(0<this.a);return this.j.Ra?this.M-this.a:void 0===this.j.Ra?0:-1};ua(function(){for(var a=A(document,"pc8080","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Db(d);Ja(d,c)}});
function Yb(){this.a-=4}function Zb(){D(this,S(this));this.a-=10}function $b(){D(this,T(this));this.a-=10}function ac(){var a=S(this);U(this,this.s);D(this,a);this.a-=17} function Yb(){this.a-=4}function Zb(){D(this,S(this));this.a-=10}function $b(){D(this,T(this));this.a-=10}function ac(){var a=S(this);U(this,this.s);D(this,a);this.a-=17}
var Eb=[Yb,function(){Mb(this,S(this));this.a-=10},function(){this.V(Lb(this),this.b);this.a-=7},function(){Mb(this,Lb(this)+1);this.a-=5},function(){this.f=Tb(this,this.f);this.a-=5},function(){this.f=Sb(this,this.f);this.a-=5},function(){this.f=Q(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;M(this,a&256);this.a-=4},Yb,function(){var a;K(this,a=J(this)+Lb(this));M(this,a>>8&256);this.a-=10},function(){this.b=this.I(Lb(this));this.a-=7},function(){Mb(this,Lb(this)-1);this.a-=5},function(){this.C= var Eb=[Yb,function(){Mb(this,S(this));this.a-=10},function(){this.V(Lb(this),this.b);this.a-=7},function(){Mb(this,Lb(this)+1);this.a-=5},function(){this.f=Tb(this,this.f);this.a-=5},function(){this.f=Sb(this,this.f);this.a-=5},function(){this.f=Q(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|a>>8;M(this,a&256);this.a-=4},Yb,function(){var a;K(this,a=J(this)+Lb(this));M(this,a>>8&256);this.a-=10},function(){this.b=this.H(Lb(this));this.a-=7},function(){Mb(this,Lb(this)-1);this.a-=5},function(){this.C=
Tb(this,this.C);this.a-=5},function(){this.C=Sb(this,this.C);this.a-=5},function(){this.C=Q(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;M(this,a);this.a-=4},Yb,function(){Ob(this,S(this));this.a-=10},function(){this.V(Nb(this),this.b);this.a-=7},function(){Ob(this,Nb(this)+1);this.a-=5},function(){this.h=Tb(this,this.h);this.a-=5},function(){this.h=Sb(this,this.h);this.a-=5},function(){this.h=Q(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|L(this);M(this,a&256); Tb(this,this.C);this.a-=5},function(){this.C=Sb(this,this.C);this.a-=5},function(){this.C=Q(this);this.a-=7},function(){var a=this.b<<8&256;this.b=(a|this.b)>>1;M(this,a);this.a-=4},Yb,function(){Ob(this,S(this));this.a-=10},function(){this.V(Nb(this),this.b);this.a-=7},function(){Ob(this,Nb(this)+1);this.a-=5},function(){this.h=Tb(this,this.h);this.a-=5},function(){this.h=Sb(this,this.h);this.a-=5},function(){this.h=Q(this);this.a-=7},function(){var a=this.b<<1;this.b=a&255|L(this);M(this,a&256);
this.a-=4},Yb,function(){var a;K(this,a=J(this)+Nb(this));M(this,a>>8&256);this.a-=10},function(){this.b=this.I(Nb(this));this.a-=7},function(){Ob(this,Nb(this)-1);this.a-=5},function(){this.D=Tb(this,this.D);this.a-=5},function(){this.D=Sb(this,this.D);this.a-=5},function(){this.D=Q(this);this.a-=7},function(){var a=this.b<<8;this.b=(L(this)<<8|this.b)>>1;M(this,a&256);this.a-=4},Yb,function(){K(this,S(this));this.a-=10},function(){var a=S(this);Za(this.m,a,J(this));this.a-=16},function(){K(this, this.a-=4},Yb,function(){var a;K(this,a=J(this)+Nb(this));M(this,a>>8&256);this.a-=10},function(){this.b=this.H(Nb(this));this.a-=7},function(){Ob(this,Nb(this)-1);this.a-=5},function(){this.D=Tb(this,this.D);this.a-=5},function(){this.D=Sb(this,this.D);this.a-=5},function(){this.D=Q(this);this.a-=7},function(){var a=this.b<<8;this.b=(L(this)<<8|this.b)>>1;M(this,a&256);this.a-=4},Yb,function(){K(this,S(this));this.a-=10},function(){var a=S(this);Za(this.m,a,J(this));this.a-=16},function(){K(this,
J(this)+1);this.a-=5},function(){this.i=Tb(this,this.i);this.a-=5},function(){this.i=Sb(this,this.i);this.a-=5},function(){this.i=Q(this);this.a-=7},function(){var a=0,b=L(this);if((this.u^this.B)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=N(this,a);M(this,b?256:0);this.a-=4},Yb,function(){var a;K(this,a=J(this)+J(this));M(this,a>>8&256);this.a-=10},function(){var a;a=S(this);a=Xa(this.m,a);K(this,a);this.a-=16},function(){K(this,J(this)-1);this.a-=5},function(){this.l=Tb(this,this.l); J(this)+1);this.a-=5},function(){this.i=Tb(this,this.i);this.a-=5},function(){this.i=Sb(this,this.i);this.a-=5},function(){this.i=Q(this);this.a-=7},function(){var a=0,b=L(this);if((this.u^this.B)&16||9<(this.b&15))a|=6;if(b||154<=this.b)a|=96,b=1;this.b=N(this,a);M(this,b?256:0);this.a-=4},Yb,function(){var a;K(this,a=J(this)+J(this));M(this,a>>8&256);this.a-=10},function(){var a;a=S(this);a=Xa(this.m,a);K(this,a);this.a-=16},function(){K(this,J(this)-1);this.a-=5},function(){this.l=Tb(this,this.l);
this.a-=5},function(){this.l=Sb(this,this.l);this.a-=5},function(){this.l=Q(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Yb,function(){this.v=S(this)&65535;this.a-=10},function(){this.V(S(this),this.b);this.a-=13},function(){this.v=this.v+1&65535;this.a-=5},function(){var a=J(this);this.V(a,Tb(this,this.I(a)));this.a-=10},function(){var a=J(this);this.V(a,Sb(this,this.I(a)));this.a-=10},function(){this.V(J(this),Q(this));this.a-=10},function(){this.o|=256;this.a-=4},Yb,function(){var a; this.a-=5},function(){this.l=Sb(this,this.l);this.a-=5},function(){this.l=Q(this);this.a-=7},function(){this.b=~this.b&255;this.a-=4},Yb,function(){this.v=S(this)&65535;this.a-=10},function(){this.V(S(this),this.b);this.a-=13},function(){this.v=this.v+1&65535;this.a-=5},function(){var a=J(this);this.V(a,Tb(this,this.H(a)));this.a-=10},function(){var a=J(this);this.V(a,Sb(this,this.H(a)));this.a-=10},function(){this.V(J(this),Q(this));this.a-=10},function(){this.o|=256;this.a-=4},Yb,function(){var a;
K(this,a=J(this)+this.v);M(this,a>>8&256);this.a-=10},function(){this.b=this.I(S(this));this.a-=13},function(){this.v=this.v-1&65535;this.a-=5},function(){this.b=Tb(this,this.b);this.a-=5},function(){this.b=Sb(this,this.b);this.a-=5},function(){this.b=Q(this);this.a-=7},function(){M(this,L(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.C;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.l; K(this,a=J(this)+this.v);M(this,a>>8&256);this.a-=10},function(){this.b=this.H(S(this));this.a-=13},function(){this.v=this.v-1&65535;this.a-=5},function(){this.b=Tb(this,this.b);this.a-=5},function(){this.b=Sb(this,this.b);this.a-=5},function(){this.b=Q(this);this.a-=7},function(){M(this,L(this)?0:256);this.a-=4},function(){this.a-=5},function(){this.f=this.C;this.a-=5},function(){this.f=this.h;this.a-=5},function(){this.f=this.D;this.a-=5},function(){this.f=this.i;this.a-=5},function(){this.f=this.l;
this.a-=5},function(){this.f=this.I(J(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.C=this.f;this.a-=5},function(){this.a-=5},function(){this.C=this.h;this.a-=5},function(){this.C=this.D;this.a-=5},function(){this.C=this.i;this.a-=5},function(){this.C=this.l;this.a-=5},function(){this.C=this.I(J(this));this.a-=7},function(){this.C=this.b;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.C;this.a-=5},function(){this.a-=5},function(){this.h=this.D;this.a-= this.a-=5},function(){this.f=this.H(J(this));this.a-=7},function(){this.f=this.b;this.a-=5},function(){this.C=this.f;this.a-=5},function(){this.a-=5},function(){this.C=this.h;this.a-=5},function(){this.C=this.D;this.a-=5},function(){this.C=this.i;this.a-=5},function(){this.C=this.l;this.a-=5},function(){this.C=this.H(J(this));this.a-=7},function(){this.C=this.b;this.a-=5},function(){this.h=this.f;this.a-=5},function(){this.h=this.C;this.a-=5},function(){this.a-=5},function(){this.h=this.D;this.a-=
5},function(){this.h=this.i;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.I(J(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.C;this.a-=5},function(){this.D=this.h;this.a-=5},function(){this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.l;this.a-=5},function(){this.D=this.I(J(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.C;this.a-= 5},function(){this.h=this.i;this.a-=5},function(){this.h=this.l;this.a-=5},function(){this.h=this.H(J(this));this.a-=7},function(){this.h=this.b;this.a-=5},function(){this.D=this.f;this.a-=5},function(){this.D=this.C;this.a-=5},function(){this.D=this.h;this.a-=5},function(){this.a-=5},function(){this.D=this.i;this.a-=5},function(){this.D=this.l;this.a-=5},function(){this.D=this.H(J(this));this.a-=7},function(){this.D=this.b;this.a-=5},function(){this.i=this.f;this.a-=5},function(){this.i=this.C;this.a-=
5},function(){this.i=this.h;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.a-=5},function(){this.i=this.l;this.a-=5},function(){this.i=this.I(J(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.l=this.f;this.a-=5},function(){this.l=this.C;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.D;this.a-=5},function(){this.l=this.i;this.a-=5},function(){this.a-=5},function(){this.l=this.I(J(this));this.a-=7},function(){this.l=this.b;this.a-=5},function(){this.V(J(this), 5},function(){this.i=this.h;this.a-=5},function(){this.i=this.D;this.a-=5},function(){this.a-=5},function(){this.i=this.l;this.a-=5},function(){this.i=this.H(J(this));this.a-=7},function(){this.i=this.b;this.a-=5},function(){this.l=this.f;this.a-=5},function(){this.l=this.C;this.a-=5},function(){this.l=this.h;this.a-=5},function(){this.l=this.D;this.a-=5},function(){this.l=this.i;this.a-=5},function(){this.a-=5},function(){this.l=this.H(J(this));this.a-=7},function(){this.l=this.b;this.a-=5},function(){this.V(J(this),
this.f);this.a-=7},function(){this.V(J(this),this.C);this.a-=7},function(){this.V(J(this),this.h);this.a-=7},function(){this.V(J(this),this.D);this.a-=7},function(){this.V(J(this),this.i);this.a-=7},function(){this.V(J(this),this.l);this.a-=7},function(){var a=this.s-1;if(this.T.length)for(var b=0;b<this.T.length;b++)if(this.T[b](a))return;this.F|=16;this.a-=7;this.H&512||wb(this)},function(){this.V(J(this),this.b);this.a-=7},function(){this.b=this.f;this.a-=5},function(){this.b=this.C;this.a-=5}, this.f);this.a-=7},function(){this.V(J(this),this.C);this.a-=7},function(){this.V(J(this),this.h);this.a-=7},function(){this.V(J(this),this.D);this.a-=7},function(){this.V(J(this),this.i);this.a-=7},function(){this.V(J(this),this.l);this.a-=7},function(){var a=this.s-1;if(this.T.length)for(var b=0;b<this.T.length;b++)if(this.T[b](a))return;this.F|=16;this.a-=7;this.G&512||wb(this)},function(){this.V(J(this),this.b);this.a-=7},function(){this.b=this.f;this.a-=5},function(){this.b=this.C;this.a-=5},
function(){this.b=this.h;this.a-=5},function(){this.b=this.D;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.I(J(this));this.a-=7},function(){this.a-=5},function(){this.b=N(this,this.f);this.a-=4},function(){this.b=N(this,this.C);this.a-=4},function(){this.b=N(this,this.h);this.a-=4},function(){this.b=N(this,this.D);this.a-=4},function(){this.b=N(this,this.i);this.a-=4},function(){this.b=N(this,this.l);this.a-=4},function(){this.b=N(this,this.I(J(this))); function(){this.b=this.h;this.a-=5},function(){this.b=this.D;this.a-=5},function(){this.b=this.i;this.a-=5},function(){this.b=this.l;this.a-=5},function(){this.b=this.H(J(this));this.a-=7},function(){this.a-=5},function(){this.b=N(this,this.f);this.a-=4},function(){this.b=N(this,this.C);this.a-=4},function(){this.b=N(this,this.h);this.a-=4},function(){this.b=N(this,this.D);this.a-=4},function(){this.b=N(this,this.i);this.a-=4},function(){this.b=N(this,this.l);this.a-=4},function(){this.b=N(this,this.H(J(this)));
this.a-=7},function(){this.b=N(this,this.b);this.a-=4},function(){this.b=Qb(this,this.f);this.a-=4},function(){this.b=Qb(this,this.C);this.a-=4},function(){this.b=Qb(this,this.h);this.a-=4},function(){this.b=Qb(this,this.D);this.a-=4},function(){this.b=Qb(this,this.i);this.a-=4},function(){this.b=Qb(this,this.l);this.a-=4},function(){this.b=Qb(this,this.I(J(this)));this.a-=7},function(){this.b=Qb(this,this.b);this.a-=4},function(){this.b=O(this,this.f);this.a-=4},function(){this.b=O(this,this.C); this.a-=7},function(){this.b=N(this,this.b);this.a-=4},function(){this.b=Qb(this,this.f);this.a-=4},function(){this.b=Qb(this,this.C);this.a-=4},function(){this.b=Qb(this,this.h);this.a-=4},function(){this.b=Qb(this,this.D);this.a-=4},function(){this.b=Qb(this,this.i);this.a-=4},function(){this.b=Qb(this,this.l);this.a-=4},function(){this.b=Qb(this,this.H(J(this)));this.a-=7},function(){this.b=Qb(this,this.b);this.a-=4},function(){this.b=O(this,this.f);this.a-=4},function(){this.b=O(this,this.C);
this.a-=4},function(){this.b=O(this,this.h);this.a-=4},function(){this.b=O(this,this.D);this.a-=4},function(){this.b=O(this,this.i);this.a-=4},function(){this.b=O(this,this.l);this.a-=4},function(){this.b=O(this,this.I(J(this)));this.a-=7},function(){this.b=O(this,this.b);this.a-=4},function(){this.b=Vb(this,this.f);this.a-=4},function(){this.b=Vb(this,this.C);this.a-=4},function(){this.b=Vb(this,this.h);this.a-=4},function(){this.b=Vb(this,this.D);this.a-=4},function(){this.b=Vb(this,this.i);this.a-= this.a-=4},function(){this.b=O(this,this.h);this.a-=4},function(){this.b=O(this,this.D);this.a-=4},function(){this.b=O(this,this.i);this.a-=4},function(){this.b=O(this,this.l);this.a-=4},function(){this.b=O(this,this.H(J(this)));this.a-=7},function(){this.b=O(this,this.b);this.a-=4},function(){this.b=Vb(this,this.f);this.a-=4},function(){this.b=Vb(this,this.C);this.a-=4},function(){this.b=Vb(this,this.h);this.a-=4},function(){this.b=Vb(this,this.D);this.a-=4},function(){this.b=Vb(this,this.i);this.a-=
4},function(){this.b=Vb(this,this.l);this.a-=4},function(){this.b=Vb(this,this.I(J(this)));this.a-=7},function(){this.b=Vb(this,this.b);this.a-=4},function(){this.b=Rb(this,this.f);this.a-=4},function(){this.b=Rb(this,this.C);this.a-=4},function(){this.b=Rb(this,this.h);this.a-=4},function(){this.b=Rb(this,this.D);this.a-=4},function(){this.b=Rb(this,this.i);this.a-=4},function(){this.b=Rb(this,this.l);this.a-=4},function(){this.b=Rb(this,this.I(J(this)));this.a-=7},function(){this.b=Rb(this,this.b); 4},function(){this.b=Vb(this,this.l);this.a-=4},function(){this.b=Vb(this,this.H(J(this)));this.a-=7},function(){this.b=Vb(this,this.b);this.a-=4},function(){this.b=Rb(this,this.f);this.a-=4},function(){this.b=Rb(this,this.C);this.a-=4},function(){this.b=Rb(this,this.h);this.a-=4},function(){this.b=Rb(this,this.D);this.a-=4},function(){this.b=Rb(this,this.i);this.a-=4},function(){this.b=Rb(this,this.l);this.a-=4},function(){this.b=Rb(this,this.H(J(this)));this.a-=7},function(){this.b=Rb(this,this.b);
this.a-=4},function(){this.b=Wb(this,this.f);this.a-=4},function(){this.b=Wb(this,this.C);this.a-=4},function(){this.b=Wb(this,this.h);this.a-=4},function(){this.b=Wb(this,this.D);this.a-=4},function(){this.b=Wb(this,this.i);this.a-=4},function(){this.b=Wb(this,this.l);this.a-=4},function(){this.b=Wb(this,this.I(J(this)));this.a-=7},function(){this.b=Wb(this,this.b);this.a-=4},function(){this.b=Ub(this,this.f);this.a-=4},function(){this.b=Ub(this,this.C);this.a-=4},function(){this.b=Ub(this,this.h); this.a-=4},function(){this.b=Wb(this,this.f);this.a-=4},function(){this.b=Wb(this,this.C);this.a-=4},function(){this.b=Wb(this,this.h);this.a-=4},function(){this.b=Wb(this,this.D);this.a-=4},function(){this.b=Wb(this,this.i);this.a-=4},function(){this.b=Wb(this,this.l);this.a-=4},function(){this.b=Wb(this,this.H(J(this)));this.a-=7},function(){this.b=Wb(this,this.b);this.a-=4},function(){this.b=Ub(this,this.f);this.a-=4},function(){this.b=Ub(this,this.C);this.a-=4},function(){this.b=Ub(this,this.h);
this.a-=4},function(){this.b=Ub(this,this.D);this.a-=4},function(){this.b=Ub(this,this.i);this.a-=4},function(){this.b=Ub(this,this.l);this.a-=4},function(){this.b=Ub(this,this.I(J(this)));this.a-=7},function(){this.b=Ub(this,this.b);this.a-=4},function(){O(this,this.f);this.a-=4},function(){O(this,this.C);this.a-=4},function(){O(this,this.h);this.a-=4},function(){O(this,this.D);this.a-=4},function(){O(this,this.i);this.a-=4},function(){O(this,this.l);this.a-=4},function(){O(this,this.I(J(this))); this.a-=4},function(){this.b=Ub(this,this.D);this.a-=4},function(){this.b=Ub(this,this.i);this.a-=4},function(){this.b=Ub(this,this.l);this.a-=4},function(){this.b=Ub(this,this.H(J(this)));this.a-=7},function(){this.b=Ub(this,this.b);this.a-=4},function(){O(this,this.f);this.a-=4},function(){O(this,this.C);this.a-=4},function(){O(this,this.h);this.a-=4},function(){O(this,this.D);this.a-=4},function(){O(this,this.i);this.a-=4},function(){O(this,this.l);this.a-=4},function(){O(this,this.H(J(this)));
this.a-=7},function(){O(this,this.b);this.a-=4},function(){this.o&255&&(D(this,T(this)),this.a-=6);this.a-=5},function(){Mb(this,T(this));this.a-=10},function(){var a=S(this);this.o&255&&D(this,a);this.a-=10},Zb,function(){var a=S(this);this.o&255&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Lb(this));this.a-=11},function(){this.b=N(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,0);this.a-=11},function(){this.o&255||(D(this,T(this)),this.a-=6);this.a-=5},$b,function(){var a= this.a-=7},function(){O(this,this.b);this.a-=4},function(){this.o&255&&(D(this,T(this)),this.a-=6);this.a-=5},function(){Mb(this,T(this));this.a-=10},function(){var a=S(this);this.o&255&&D(this,a);this.a-=10},Zb,function(){var a=S(this);this.o&255&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Lb(this));this.a-=11},function(){this.b=N(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,0);this.a-=11},function(){this.o&255||(D(this,T(this)),this.a-=6);this.a-=5},$b,function(){var a=
S(this);this.o&255||D(this,a);this.a-=10},Zb,function(){var a=S(this);this.o&255||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Qb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,8);this.a-=11},function(){L(this)||(D(this,T(this)),this.a-=6);this.a-=5},function(){Ob(this,T(this));this.a-=10},function(){var a=S(this);L(this)||D(this,a);this.a-=10},function(){for(var a=Q(this),b=this.m,c=this.b,d=this.s+-2&65535,e=1,f=0;0<e;){var h=b.s[a],g=b.F[a]||1,k=1==g?255:2== S(this);this.o&255||D(this,a);this.a-=10},Zb,function(){var a=S(this);this.o&255||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Qb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,8);this.a-=11},function(){L(this)||(D(this,T(this)),this.a-=6);this.a-=5},function(){Ob(this,T(this));this.a-=10},function(){var a=S(this);L(this)||D(this,a);this.a-=10},function(){for(var a=Q(this),b=this.m,c=this.b,d=this.s+-2&65535,e=1,f=0;0<e;){var h=b.s[a],g=b.F[a]||1,k=1==g?255:2==
g?65535:-1,k=(c>>>=f)&k;if(void 0!==h&&h[0])h[0](a,k,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=S(this);L(this)||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Nb(this));this.a-=11},function(){this.b=O(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,16);this.a-=11},function(){L(this)&&(D(this,T(this)),this.a-=6);this.a-=5},$b,function(){var a=S(this);L(this)&&D(this,a);this.a-=10},function(){for(var a=Q(this),b=this.m,c=this.s+-2&65535,d=1,e=0,f=0;0<d;){var h= g?65535:-1,k=(c>>>=f)&k;if(void 0!==h&&h[0])h[0](a,k,d);f+=g<<3;a+=g;e-=g}this.a-=10},function(){var a=S(this);L(this)||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Nb(this));this.a-=11},function(){this.b=O(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,16);this.a-=11},function(){L(this)&&(D(this,T(this)),this.a-=6);this.a-=5},$b,function(){var a=S(this);L(this)&&D(this,a);this.a-=10},function(){for(var a=Q(this),b=this.m,c=this.s+-2&65535,d=1,e=0,f=0;0<d;){var h=
b.o[a],g=b.B[a]||1,k=1==g?255:2==g?65535:-1,m=k;void 0!==h&&h[0]&&(m=h[0](a,c),void 0===m?m=k:m&=k);e|=m<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=S(this);L(this)&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Vb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,24);this.a-=11},function(){Pb(this)||(D(this,T(this)),this.a-=6);this.a-=5},function(){K(this,T(this));this.a-=10},function(){var a=S(this);Pb(this)||D(this,a);this.a-=10},function(){var a= b.o[a],g=b.B[a]||1,k=1==g?255:2==g?65535:-1,m=k;void 0!==h&&h[0]&&(m=h[0](a,c),void 0===m?m=k:m&=k);e|=m<<f;f+=g<<3;a+=g;d-=g}this.b=e&255;this.a-=10},function(){var a=S(this);L(this)&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Vb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,24);this.a-=11},function(){Pb(this)||(D(this,T(this)),this.a-=6);this.a-=5},function(){K(this,T(this));this.a-=10},function(){var a=S(this);Pb(this)||D(this,a);this.a-=10},function(){var a=
T(this);U(this,J(this));K(this,a);this.a-=18},function(){var a=S(this);Pb(this)||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,J(this));this.a-=11},function(){this.b=Rb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,32);this.a-=11},function(){Pb(this)&&(D(this,T(this)),this.a-=6);this.a-=5},function(){D(this,J(this));this.a-=5},function(){var a=S(this);Pb(this)&&D(this,a);this.a-=10},function(){var a=J(this);K(this,Nb(this));Ob(this,a);this.a-=5},function(){var a=S(this); T(this);U(this,J(this));K(this,a);this.a-=18},function(){var a=S(this);Pb(this)||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,J(this));this.a-=11},function(){this.b=Rb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,32);this.a-=11},function(){Pb(this)&&(D(this,T(this)),this.a-=6);this.a-=5},function(){D(this,J(this));this.a-=5},function(){var a=S(this);Pb(this)&&D(this,a);this.a-=10},function(){var a=J(this);K(this,Nb(this));Ob(this,a);this.a-=5},function(){var a=S(this);
Pb(this)&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Wb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,40);this.a-=11},function(){this.u&128||(D(this,T(this)),this.a-=6);this.a-=5},function(){var a=T(this);Ib(this,a&255|this.H&-256);this.b=a>>8;this.a-=10},function(){var a=S(this);this.u&128||D(this,a);this.a-=10},function(){this.H&=-513;this.a-=4},function(){var a=S(this);this.u&128||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Kb(this)& Pb(this)&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){this.b=Wb(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,40);this.a-=11},function(){this.u&128||(D(this,T(this)),this.a-=6);this.a-=5},function(){var a=T(this);Ib(this,a&255|this.G&-256);this.b=a>>8;this.a-=10},function(){var a=S(this);this.u&128||D(this,a);this.a-=10},function(){this.G&=-513;this.a-=4},function(){var a=S(this);this.u&128||(U(this,this.s),D(this,a),this.a-=6);this.a-=11},function(){U(this,Kb(this)&
255|this.b<<8);this.a-=11},function(){this.b=Ub(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,48);this.a-=11},function(){this.u&128&&(D(this,T(this)),this.a-=6);this.a-=5},function(){this.v=J(this)&65535;this.a-=5},function(){var a=S(this);this.u&128&&D(this,a);this.a-=10},function(){this.H|=512;this.a-=4},function(){var a=S(this);this.u&128&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){O(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,56);this.a-=11}]; 255|this.b<<8);this.a-=11},function(){this.b=Ub(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,48);this.a-=11},function(){this.u&128&&(D(this,T(this)),this.a-=6);this.a-=5},function(){this.v=J(this)&65535;this.a-=5},function(){var a=S(this);this.u&128&&D(this,a);this.a-=10},function(){this.G|=512;this.a-=4},function(){var a=S(this);this.u&128&&(U(this,this.s),D(this,a),this.a-=6);this.a-=11},ac,function(){O(this,Q(this));this.a-=7},function(){U(this,this.s);D(this,56);this.a-=11}];
function W(a){w.call(this,"ChipSet",a,W);var b=a.model;b&&!bc[b]&&wa("Unrecognized ChipSet model: "+b);this.c=bc[b]||{};a.sound&&(this.F=null,window&&(this.F=window.AudioContext||window.webkitAudioContext),this.F&&new this.F);B(this)}y(W); function W(a){w.call(this,"ChipSet",a,W);var b=a.model;b&&!bc[b]&&wa("Unrecognized ChipSet model: "+b);this.c=bc[b]||{};a.sound&&(this.F=null,window&&(this.F=window.AudioContext||window.webkitAudioContext),this.F&&new this.F);B(this)}y(W);
var X={W:1978.1,nc:{X:0,Zc:1,cd:16,kd:32,td:64,sd:128,Aa:14},ma:{X:1,Ub:1,jc:2,fc:4,gc:16,hc:32,ic:64,Aa:8},oc:{X:2,Yc:3,Bd:4,$c:8,od:16,pd:32,qd:64,ad:128,Aa:0},wd:{X:3},ud:{X:2,ld:7},yd:{X:3,Cd:1,xd:2,rd:4,hd:8,bd:16,Wc:32},vd:{X:4},zd:{X:5,dd:1,ed:2,fd:4,gd:8,Dd:16}},Y={W:100,ia:{X:66,Ed:1,dc:2,ec:4,nd:8,md:16,tb:32,sb:64,qb:128},Tb:{X:66,INIT:0},ea:{jd:{X:98},ra:{Rb:0,Qb:1,lc:2,pc:4,Xb:5,kc:6,Ad:7},Oa:16383},Wb:{X:162,INIT:0},Vb:{X:194,INIT:0}},bc={SI1978:X,VT100:Y};W.prototype.R=function(){return!1}; var X={W:1978.1,oc:{X:0,$c:1,dd:16,ld:32,ud:64,td:128,Aa:14},ma:{X:1,Vb:1,kc:2,gc:4,hc:16,ic:32,jc:64,Aa:8},pc:{X:2,Zc:3,Cd:4,ad:8,pd:16,qd:32,rd:64,bd:128,Aa:0},xd:{X:3},vd:{X:2,md:7},zd:{X:3,Dd:1,yd:2,sd:4,jd:8,cd:16,Xc:32},wd:{X:4},Ad:{X:5,ed:1,fd:2,gd:4,hd:8,Ed:16}},Y={W:100,ia:{X:66,Fd:1,ec:2,fc:4,od:8,nd:16,vb:32,ub:64,rb:128},Ub:{X:66,INIT:0},ea:{kd:{X:98},ra:{Sb:0,Rb:1,mc:2,qc:4,Yb:5,lc:6,Bd:7},Oa:16383},Xb:{X:162,INIT:0},Wb:{X:194,INIT:0}},bc={SI1978:X,VT100:Y};W.prototype.R=function(){return!1};
W.prototype.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;this.A=a;this.o=Pa(a,"Keyboard");$a(b,this,this.c.Xa);ab(b,this,this.c.Ya)};W.prototype.Y=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};W.prototype.aa=function(a){return a?this.save():!0};X.INIT=[[X.nc.Aa,X.ma.Aa,X.oc.Aa,0,0,0,0]]; W.prototype.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;this.A=a;this.o=Pa(a,"Keyboard");$a(b,this,this.c.Xa);ab(b,this,this.c.Ya)};W.prototype.Y=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};W.prototype.aa=function(a){return a?this.save():!0};X.INIT=[[X.oc.Aa,X.ma.Aa,X.pc.Aa,0,0,0,0]];
Y.INIT=[[Y.Tb.INIT,Y.ia.dc|Y.ia.ec,Y.Wb.INIT,Y.Vb.INIT],[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,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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=W.prototype; Y.INIT=[[Y.Ub.INIT,Y.ia.ec|Y.ia.fc,Y.Xb.INIT,Y.Wb.INIT],[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,11856,11824,11840,11808,11776,12E3,12E3,11857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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=W.prototype;
l.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.J("reset error")};l.save=function(){var a=new F(this);switch(this.c.W){case X.W:G(a,0,[this.T,this.f,this.U,this.u,this.B,this.M,this.N]);break;case Y.W:G(a,0,[this.G,this.i,this.K,this.H]),G(a,1,[this.s,this.b,this.l,this.v,this.h])}return a.data()}; l.reset=function(){this.c.INIT&&!this.restore(this.c.INIT)&&this.J("reset error")};l.save=function(){var a=new F(this);switch(this.c.W){case X.W:G(a,0,[this.T,this.f,this.U,this.u,this.B,this.M,this.N]);break;case Y.W:G(a,0,[this.G,this.i,this.K,this.I]),G(a,1,[this.s,this.b,this.l,this.v,this.h])}return a.data()};
l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.W){case X.W:return this.T=b[0],this.f=b[1],this.U=b[2],this.u=b[3],this.B=b[4],this.M=b[5],this.N=b[6],!0;case Y.W:return this.G=b[0],this.i=b[1],this.K=b[2],this.H=b[3],b=a[1],this.s=b[0],this.b=b[1],this.l=b[2],this.v=b[3],this.h=b[4],!0}return!1};l.start=function(){};l.stop=function(){};function cc(a,b,c){a.f&=~b;c&&(a.f|=b)}l.xc=function(){return this.T};l.yc=function(){return this.f};l.zc=function(){return this.U}; l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.W){case X.W:return this.T=b[0],this.f=b[1],this.U=b[2],this.u=b[3],this.B=b[4],this.M=b[5],this.N=b[6],!0;case Y.W:return this.G=b[0],this.i=b[1],this.K=b[2],this.I=b[3],b=a[1],this.s=b[0],this.b=b[1],this.l=b[2],this.v=b[3],this.h=b[4],!0}return!1};l.start=function(){};l.stop=function(){};l.yc=function(){return this.T};l.zc=function(){return this.f};l.Ac=function(){return this.U};l.xc=function(){return this.u>>8-this.B&255};
l.wc=function(){return this.u>>8-this.B&255};l.Kc=function(a,b){this.B=b};l.Mc=function(a,b){this.M=b};l.Lc=function(a,b){this.u=b<<8|this.u>>8};l.Nc=function(a,b){this.N=b};l.Oc=function(){};function dc(a){var b=0,c=0,d=~a.s;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.Lc=function(a,b){this.B=b};l.Nc=function(a,b){this.M=b};l.Mc=function(a,b){this.u=b<<8|this.u>>8};l.Oc=function(a,b){this.N=b};l.Pc=function(){};function cc(a){var b=0,c=0,d=~a.s;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.Ac=function(){var a=this.i,a=a&~Y.ia.sb;if((Ab(this.a)&64)<<1&&(a|=Y.ia.sb,a!=this.i)){var b,c;b=this.l&1;switch(this.l>>1&7){case Y.ea.ra.Qb:this.s=this.s<<1|b;break;case Y.ea.ra.Xb:b=dc(this);this.h[b]=Y.ea.Oa;break;case Y.ea.ra.Rb:this.b=this.b<<1|b;break;case Y.ea.ra.pc:b=dc(this);c=this.b&Y.ea.Oa;this.h[b]=c;break;case Y.ea.ra.kc:b=dc(this);c=this.h[b];null==c&&(c=Y.ea.Oa);this.b=c;break;case Y.ea.ra.lc:this.b<<=1,this.v=this.b&Y.ea.Oa+1}}a&=~Y.ia.tb;this.v&&(a|=Y.ia.tb);a&=~Y.ia.qb;this.o&& l.Bc=function(){var a=this.i,a=a&~Y.ia.ub;if((Ab(this.a)&64)<<1&&(a|=Y.ia.ub,a!=this.i)){var b,c;b=this.l&1;switch(this.l>>1&7){case Y.ea.ra.Rb:this.s=this.s<<1|b;break;case Y.ea.ra.Yb:b=cc(this);this.h[b]=Y.ea.Oa;break;case Y.ea.ra.Sb:this.b=this.b<<1|b;break;case Y.ea.ra.qc:b=cc(this);c=this.b&Y.ea.Oa;this.h[b]=c;break;case Y.ea.ra.lc:b=cc(this);c=this.h[b];null==c&&(c=Y.ea.Oa);this.b=c;break;case Y.ea.ra.mc:this.b<<=1,this.v=this.b&Y.ea.Oa+1}}a&=~Y.ia.vb;this.v&&(a|=Y.ia.vb);a&=~Y.ia.rb;this.o&&
(a|=Y.ia.qb);return this.i=a};l.Pc=function(a,b){this.G=b};l.Sc=function(a,b){this.l=b};l.Rc=function(a,b){this.K=b};l.Qc=function(a,b){this.H=b};X.Xa={0:W.prototype.xc,1:W.prototype.yc,2:W.prototype.zc,3:W.prototype.wc};X.Ya={2:W.prototype.Kc,3:W.prototype.Mc,4:W.prototype.Lc,5:W.prototype.Nc,6:W.prototype.Oc};Y.Xa={66:W.prototype.Ac};Y.Ya={66:W.prototype.Pc,98:W.prototype.Sc,162:W.prototype.Rc,194:W.prototype.Qc}; (a|=Y.ia.rb);return this.i=a};l.Qc=function(a,b){this.G=b};l.Tc=function(a,b){this.l=b};l.Sc=function(a,b){this.K=b};l.Rc=function(a,b){this.I=b};X.Xa={0:W.prototype.yc,1:W.prototype.zc,2:W.prototype.Ac,3:W.prototype.xc};X.Ya={2:W.prototype.Lc,3:W.prototype.Nc,4:W.prototype.Mc,5:W.prototype.Oc,6:W.prototype.Pc};Y.Xa={66:W.prototype.Bc};Y.Ya={66:W.prototype.Qc,98:W.prototype.Tc,162:W.prototype.Sc,194:W.prototype.Rc};
ua(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Ja(d,c)}});function ec(a){w.call(this,"ROM",a,ec);this.b=null;this.l=a.addr;this.c=a.size;this.o=a.writable;this.f=a.alias;this.h=a.file;this.s=ca(this.h);if(this.h){a=this.h;var b=da(this.s);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;q(a,null,!0,function(a,b,f){fc(c,a,b,f)})}}y(ec);var gc=[0,5]; ua(function(){for(var a=A(document,"pc8080","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new W(d);Ja(d,c)}});function dc(a){w.call(this,"ROM",a,dc);this.b=null;this.l=a.addr;this.c=a.size;this.o=a.writable;this.f=a.alias;this.h=a.file;this.s=ca(this.h);if(this.h){a=this.h;var b=da(this.s);"json"!=b&&"hex"!=b&&(a=ja()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;q(a,null,!0,function(a,b,f){ec(c,a,b,f)})}}y(dc);var fc=[0,5];
ec.prototype.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;hc(this)};ec.prototype.Y=function(){this.i&&(this.L&&this.L.a(this.id,this.l,this.c,this.i),delete this.i);return!0};ec.prototype.aa=function(){return!0}; dc.prototype.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;gc(this)};dc.prototype.Y=function(){this.i&&(this.L&&this.L.a(this.id,this.l,this.c,this.i),delete this.i);return!0};dc.prototype.aa=function(){return!0};
function fc(a,b,c,d){if(d)a.J("Unable to load system ROM (error "+d+": "+b+")");else{Ga(a.fb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.J("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm, function ec(a,b,c,d){if(d)a.J("Unable to load system ROM (error "+d+": "+b+")");else{Ga(a.fb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.b=f;else if(h)for(a.b=Array(4*h.length),d=c=0;c<h.length;c++)a.b[d++]=h[c]&255,a.b[d++]=h[c]>>8&255,a.b[d++]=h[c]>>16&255,a.b[d++]=h[c]>>24&255;else a.b=e;a.i=e.symbols;if(!a.b.length){t("Empty ROM: "+b);return}if(1==a.b.length){t(a.b[0]);return}}catch(g){a.J("ROM data error: "+g.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]);hc(a)}} " ").replace(/ +$/,"").split(" "),a.b=Array(b.length),e=0;e<b.length;e++)a.b[e]=aa(b[e]);gc(a)}}
function hc(a){if(!La(a))if(!a.h)B(a);else if(a.b&&a.m){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.j.na=!0;a.J(b)}else if(ic(a,a.l)){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.m,h=d.c,g=[],k=d.l>>>f.c;0<h&&k<f.b.length;)g.push(f.b[k++]),h-=f.m;f=d.m;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){k=g[h++];if(!k)break;f.b[e++]=k;d-=f.m}}delete a.b}B(a)}} function gc(a){if(!La(a))if(!a.h)B(a);else if(a.b&&a.m){a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size (0x"+n(a.b.length)+") does not match specified size ("+("0x"+n(a.c))+")";a.j.na=!0;a.J(b)}else if(hc(a,a.l)){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.m,h=d.c,g=[],k=d.l>>>f.c;0<h&&k<f.b.length;)g.push(f.b[k++]),h-=f.m;f=d.m;d=d.c;h=0;for(e>>>=f.c;0<d&&e<f.b.length;){k=g[h++];if(!k)break;f.b[e++]=k;d-=f.m}}delete a.b}B(a)}}
function ic(a,b){if(Ta(a.m,b,a.c,a.o?1:gb)){var c;for(c=0;c<a.b.length;c++)Ya(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<gc.length;c++)Ya(a.m,gc[c],118);Hb(a.a,function(a){return function(b){if(0<=gc.indexOf(b)){var c=!1,h=a.a,g=a.L;if(5==b)switch(c=!0,h.C){case 2:jc(a,String.fromCharCode(h.D));break;case 9:for(var k=Nb(h),m="",r=255;r--;){var p=a.a.I(k++);if(36==p)break;m+=String.fromCharCode(p)}jc(a,m);break;default:c=!1}c?$b.call(h):g&&(a.Z("\nCP/M vector 0x"+n(b,4)),D(h,b),wb(g));b=!0}else b=!1; function hc(a,b){if(Ta(a.m,b,a.c,a.o?1:gb)){var c;for(c=0;c<a.b.length;c++)Ya(a.m,b+c,a.b[c]);if(a.o&&256==b){for(c=0;c<fc.length;c++)Ya(a.m,fc[c],118);Hb(a.a,function(a){return function(b){if(0<=fc.indexOf(b)){var c=!1,h=a.a,g=a.L;if(5==b)switch(c=!0,h.C){case 2:ic(a,String.fromCharCode(h.D));break;case 9:for(var k=Nb(h),m="",r=255;r--;){var p=a.a.H(k++);if(36==p)break;m+=String.fromCharCode(p)}ic(a,m);break;default:c=!1}c?$b.call(h):g&&(a.Z("\nCP/M vector 0x"+n(b,4)),D(h,b),wb(g));b=!0}else b=!1;
return b}}(a));Jb(a.a,b)}return!0}return!1}function jc(a,b){b=b.replace(/\r/g,"");a.la&&(a.la.value+=b,a.la.scrollTop=a.la.scrollHeight)}ua(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new ec(d);Ja(d,c)}});function kc(a){w.call(this,"RAM",a,kc);this.f=a.addr;this.c=a.size;this.b=!1}y(kc);l=kc.prototype;l.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;B(this)};l.Y=function(a,b){b||this.reset();return!0};l.aa=function(a){return a?this.save():!0}; return b}}(a));Jb(a.a,b)}return!0}return!1}function ic(a,b){b=b.replace(/\r/g,"");a.la&&(a.la.value+=b,a.la.scrollTop=a.la.scrollHeight)}ua(function(){for(var a=A(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new dc(d);Ja(d,c)}});function jc(a){w.call(this,"RAM",a,jc);this.f=a.addr;this.c=a.size;this.b=!1}y(jc);l=jc.prototype;l.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;B(this)};l.Y=function(a,b){b||this.reset();return!0};l.aa=function(a){return a?this.save():!0};
l.reset=function(){!this.b&&this.c&&Ta(this.m,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};ua(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new kc(d);Ja(d,c)}});function lc(a){w.call(this,"Keyboard",a,lc);(a=a.model)&&!mc[a]&&wa("Unrecognized Keyboard model: "+a);this.c=mc[a]||{};this.reset();B(this)}y(lc); l.reset=function(){!this.b&&this.c&&Ta(this.m,this.f,this.c,1)&&(this.b=!0);this.b||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};ua(function(){for(var a=A(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new jc(d);Ja(d,c)}});function kc(a){w.call(this,"Keyboard",a,kc);(a=a.model)&&!lc[a]&&wa("Unrecognized Keyboard model: "+a);this.b=lc[a]||{};this.reset();B(this)}y(kc);
var nc={65:37,68:39,76:32},oc={W:1978.1,g:{},Ba:{},Ca:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Z={W:100,g:{},Ba:{},Ca:{},Sb:{X:130,INIT:127},$:{X:130,bc:1,ac:2,$b:4,Zb:8,cc:16,ub:32,rb:63,mc:64,Xc:128,INIT:0},Yb:127};Z.g[46]=3;Z.g[80]=5;Z.g[79]=6;Z.g[89]=7;Z.g[84]=8;Z.g[87]=9;Z.g[81]=10;Z.g[39]=16;Z.g[221]=20;Z.g[219]=21;Z.g[73]=22;Z.g[85]=23;Z.g[82]=24;Z.g[69]=25;Z.g[49]=26;Z.g[37]=32;Z.g[40]=34;Z.g[117]=35;Z.g[19]=35;Z.g[192]=36;Z.g[189]=37;Z.g[57]=38;Z.g[55]=39;Z.g[52]=40;Z.g[51]=41; var mc={W:1978.1,g:{},qb:{65:37,68:39,76:32},Ba:{},Ca:{"1p":49,"2p":50,coin:51,left:37,right:39,fire:32}},Z={W:100,g:{},qb:{},Ba:{},Ca:{},Tb:{X:130,INIT:127},$:{X:130,cc:1,bc:2,ac:4,$b:8,dc:16,tb:32,sb:63,nc:64,Yc:128,INIT:0},Zb:127};Z.g[46]=3;Z.g[80]=5;Z.g[79]=6;Z.g[89]=7;Z.g[84]=8;Z.g[87]=9;Z.g[81]=10;Z.g[39]=16;Z.g[221]=20;Z.g[219]=21;Z.g[73]=22;Z.g[85]=23;Z.g[82]=24;Z.g[69]=25;Z.g[49]=26;Z.g[37]=32;Z.g[40]=34;Z.g[117]=35;Z.g[19]=35;Z.g[192]=36;Z.g[189]=37;Z.g[57]=38;Z.g[55]=39;Z.g[52]=40;
Z.g[27]=42;Z.g[38]=48;Z.g[114]=49;Z.g[112]=50;Z.g[8]=51;Z.g[187]=52;Z.g[48]=53;Z.g[56]=54;Z.g[54]=55;Z.g[53]=56;Z.g[50]=57;Z.g[9]=58;Z.g[103]=64;Z.g[115]=65;Z.g[113]=66;Z.g[96]=67;Z.g[118]=68;Z.g[220]=69;Z.g[76]=70;Z.g[75]=71;Z.g[71]=72;Z.g[70]=73;Z.g[65]=74;Z.g[104]=80;Z.g[2013]=81;Z.g[98]=82;Z.g[97]=83;Z.g[222]=85;Z.g[186]=86;Z.g[74]=87;Z.g[72]=88;Z.g[68]=89;Z.g[83]=90;Z.g[110]=96;Z.g[116]=97;Z.g[101]=98;Z.g[100]=99;Z.g[13]=100;Z.g[190]=101;Z.g[188]=102;Z.g[78]=103;Z.g[66]=104;Z.g[88]=105; Z.g[51]=41;Z.g[27]=42;Z.g[38]=48;Z.g[114]=49;Z.g[112]=50;Z.g[8]=51;Z.g[187]=52;Z.g[48]=53;Z.g[56]=54;Z.g[54]=55;Z.g[53]=56;Z.g[50]=57;Z.g[9]=58;Z.g[103]=64;Z.g[115]=65;Z.g[113]=66;Z.g[96]=67;Z.g[118]=68;Z.g[220]=69;Z.g[76]=70;Z.g[75]=71;Z.g[71]=72;Z.g[70]=73;Z.g[65]=74;Z.g[104]=80;Z.g[2013]=81;Z.g[98]=82;Z.g[97]=83;Z.g[222]=85;Z.g[186]=86;Z.g[74]=87;Z.g[72]=88;Z.g[68]=89;Z.g[83]=90;Z.g[110]=96;Z.g[116]=97;Z.g[101]=98;Z.g[100]=99;Z.g[13]=100;Z.g[190]=101;Z.g[188]=102;Z.g[78]=103;Z.g[66]=104;
Z.g[119]=106;Z.g[105]=112;Z.g[99]=113;Z.g[102]=114;Z.g[109]=115;Z.g[191]=117;Z.g[77]=118;Z.g[32]=119;Z.g[86]=120;Z.g[67]=121;Z.g[90]=122;Z.g[120]=123;Z.g[17]=124;Z.g[16]=125;Z.g[20]=126;Z.Ba={l4:Z.$.bc,l3:Z.$.ac,l2:Z.$.$b,l1:Z.$.Zb,locked:Z.$.cc,online:Z.$.ub,local:~Z.$.ub};var mc={SI1978:oc,VT100:Z}; Z.g[88]=105;Z.g[119]=106;Z.g[105]=112;Z.g[99]=113;Z.g[102]=114;Z.g[109]=115;Z.g[191]=117;Z.g[77]=118;Z.g[32]=119;Z.g[86]=120;Z.g[67]=121;Z.g[90]=122;Z.g[120]=123;Z.g[17]=124;Z.g[16]=125;Z.g[20]=126;Z.Ba={l4:Z.$.cc,l3:Z.$.bc,l2:Z.$.ac,l1:Z.$.$b,locked:Z.$.dc,local:Z.$.tb,online:~Z.$.tb};var lc={SI1978:mc,VT100:Z};
lc.prototype.R=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.w[e]){if("led"==a&&this.c.Ba[b])return this.w[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return pc(d,a,!0)},c.onkeyup=function(a){return pc(d,a,!1)},!0;default:if(this.c.Ca&&void 0!==this.c.Ca[b])return this.w[e]=c,a=function(a,b){return function(){qc(a,b,!0)}}(this,b),b=function(a,b){return function(){qc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout= kc.prototype.R=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.w[e]){if("led"==a&&this.b.Ba[b])return this.w[e]=c,!0;switch(b){case "kbd":return c.onkeydown=function(a){return nc(d,a,!0)},c.onkeyup=function(a){return nc(d,a,!1)},!0;default:if(this.b.Ca&&void 0!==this.b.Ca[b])return this.w[e]=c,a=function(a,b){return function(){oc(a,b,!0)}}(this,b),b=function(a,b){return function(){oc(a,b,!1)}}(this,b),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=
b),!0}}return!1};lc.prototype.ha=function(a,b,c,d){this.a=c;this.L=d;this.G=Pa(a,"ChipSet");$a(b,this,this.c.Xa);ab(b,this,this.c.Ya)};lc.prototype.Y=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};lc.prototype.aa=function(a){return a?this.save():!0};Z.INIT=[[Z.$.INIT,Z.Sb.INIT,-1]];l=lc.prototype;l.reset=function(){this.b=[];this.c.INIT&&!this.restore(this.c.INIT)&&this.J("reset error")}; b),!0}}return!1};kc.prototype.ha=function(a,b,c,d){this.a=c;this.L=d;this.I=Pa(a,"ChipSet");$a(b,this,this.b.Xa);ab(b,this,this.b.Ya)};kc.prototype.Y=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};kc.prototype.aa=function(a){return a?this.save():!0};Z.INIT=[[Z.$.INIT,Z.Tb.INIT,-1]];l=kc.prototype;l.reset=function(){this.c=[];this.b.INIT&&!this.restore(this.b.INIT)&&this.J("reset error")};
l.save=function(){var a=new F(this);switch(this.c.W){case Z.W:G(a,0,[this.h,this.f,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.c.W){case oc.W:return!0;case Z.W:return this.h=b[0],rc(this,this.h&Z.$.rb),this.f=b[1],this.m=b[2],!0}return!1};function rc(a,b){for(var c in a.c.Ba){var d=a.w["led-"+c];if(d){var e=a.c.Ba[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}} l.save=function(){var a=new F(this);switch(this.b.W){case Z.W:G(a,0,[this.h,this.f,-1])}return a.data()};l.restore=function(a){var b;if(a&&(b=a[0])&&b.length)switch(this.b.W){case mc.W:return!0;case Z.W:return this.h=b[0],pc(this,this.h&Z.$.sb),this.f=b[1],this.m=b[2],!0}return!1};function pc(a,b){for(var c in a.b.Ba){var d=a.w["led-"+c];if(d){var e=a.b.Ba[c],f=!!(b&e);e&e-1&&(f=!(b&~e));d.style.backgroundColor=f?"#ff0000":"#000000"}}}
function pc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=nc[e]||e,!a.c.g[e]){for(var f in a.c.Ca)if(a.c.Ca[f]===e){e=f;break a}e=null}e&&(d=qc(a,e,c),b.preventDefault());return d} function nc(a,b,c){var d=!0,e;a:if(e=b.keyCode,e=a.b.qb[e]||e,!a.b.g[e]){for(var f in a.b.Ca)if(a.b.Ca[f]===e){e=f;break a}e=null}e&&(d=oc(a,e,c),b.preventDefault());return d}
function qc(a,b,c){var d;a:{for(d=0;d<a.b.length;d++)if(a.b[d].ob==b)break a;d=-1}if(c)0>d?a.b.push({ob:b,kb:Date.now(),Pa:!1}):(a.b[d].kb=Date.now(),a.b[d].Pa=!1);else if(0<=d){if(!a.b[d].Pa){var e=a.b[d].kb;if(e&&100>Date.now()-e)return a.b[d].Pa=!0,tc(a),!0}a.b.splice(d,1)}if(a.G)switch(b){case "1p":cc(a.G,X.ma.fc,c);break;case "2p":cc(a.G,X.ma.jc,c);break;case "coin":cc(a.G,X.ma.Ub,c);break;case "left":cc(a.G,X.ma.hc,c);break;case "right":cc(a.G,X.ma.ic,c);break;case "fire":cc(a.G,X.ma.gc,c)}return!0} function oc(a,b,c){var d;a:{for(d=0;d<a.c.length;d++)if(a.c[d].ob==b)break a;d=-1}if(c)0>d?a.c.push({ob:b,kb:Date.now(),Pa:!1}):(a.c[d].kb=Date.now(),a.c[d].Pa=!1);else if(0<=d){if(!a.c[d].Pa){var e=a.c[d].kb;if(e&&100>Date.now()-e)return a.c[d].Pa=!0,qc(a),!0}a.c.splice(d,1)}if(a.I){d=0;switch(b){case "1p":d=X.ma.gc;break;case "2p":d=X.ma.kc;break;case "coin":d=X.ma.Vb;break;case "left":d=X.ma.ic;break;case "right":d=X.ma.jc;break;case "fire":d=X.ma.hc}d&&(a=a.I,b=d,a.f&=~b,c&&(a.f|=b))}return!0}
function tc(a){for(var b=0,c=-1;b<a.b.length;){if(a.b[b].Pa){var d=a.b[b].ob,e=100-(Date.now()-a.b[b].kb);if(0<e){if(0>c||c>e)c=e}else{qc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){tc(a)},c)}l.Bc=function(){var a=this.f;0<=this.m&&(this.m<this.b.length?(a=this.b[this.m++],a=Z.g[a.ob],a&128&&(a&=127)):(this.m=-1,a=Z.Yb),this.f=a,Xb(this.a,1));return a};l.Tc=function(a,b){this.h=b;rc(this,b&Z.$.rb);b&Z.$.mc&&(this.m=0,Xb(this.a,1))};Z.Xa={130:lc.prototype.Bc};Z.Ya={130:lc.prototype.Tc}; function qc(a){for(var b=0,c=-1;b<a.c.length;){if(a.c[b].Pa){var d=a.c[b].ob,e=100-(Date.now()-a.c[b].kb);if(0<e){if(0>c||c>e)c=e}else{oc(a,d,!1);b=0;continue}}b++}0<=c&&setTimeout(function(){qc(a)},c)}l.Cc=function(){var a=this.f;0<=this.m&&(this.m<this.c.length?(a=this.c[this.m],this.m++,a=Z.g[a.ob],a&128&&(a&=127)):(this.m=-1,a=Z.Zb),this.f=a,Xb(this.a,1));return a};l.Uc=function(a,b){this.h=b;pc(this,b&Z.$.sb);b&Z.$.nc&&(this.m=0,Xb(this.a,1))};Z.Xa={130:kc.prototype.Cc};Z.Ya={130:kc.prototype.Uc};
ua(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new lc(d);Ja(d,c)}}); ua(function(){for(var a=A(document,"pc8080","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new kc(d);Ja(d,c)}});
function uc(a,b,c,d,e){var f=this;this.yb=pa("Gecko/");var h=["","moz","ms","webkit"];w.call(this,"Video",a,uc);this.B=a.screenWidth;this.v=a.screenHeight;this.T=a.bufferAddr;this.Cc=a.bufferRAM;var g=a.bufferFormat;this.G=g&&vc[g.toUpperCase()]||wc;this.da=a.bufferCols;this.H=a.bufferRows;this.rc=this.P=a.cellWidth||1;this.O=a.cellHeight||1;this.ab=null;this.xb=!1;this.ka=a.bufferBits||1;this.Dc=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.J("unsupported buffer rotation: "+ function sc(a,b,c,d,e){var f=this;this.zb=pa("Gecko/");var h=["","moz","ms","webkit"];w.call(this,"Video",a,sc);this.B=a.screenWidth;this.v=a.screenHeight;this.T=a.bufferAddr;this.Dc=a.bufferRAM;var g=a.bufferFormat;this.G=g&&tc[g.toUpperCase()]||uc;this.da=a.bufferCols;this.I=a.bufferRows;this.sc=this.P=a.cellWidth||1;this.O=a.cellHeight||1;this.ab=null;this.yb=!1;this.ka=a.bufferBits||1;this.Ec=a.bufferLeft||0;if(this.c=a.bufferRotate)this.c=this.c%360,0<this.c&&(this.c-=360),-90!=this.c&&(this.J("unsupported buffer rotation: "+
this.c),this.c=0);this.hb=a.interruptRate;this.Ec=a.refreshRate||60;this.u=b;this.f=c;this.ba=(this.Fc=d)||b||null;this.sc=this.B;this.tc=this.v;this.wb=this.B/this.da|0;this.pb=this.v/this.H|0;1<this.O&&this.H++;b=a.smoothing;(c=Aa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.h=a.screenRotate)this.h=this.h%360,0<this.h&&(this.h-=360),-90!=this.h?(this.J("unsupported screen rotation: "+ this.c),this.c=0);this.hb=a.interruptRate;this.Fc=a.refreshRate||60;this.u=b;this.f=c;this.ba=(this.Gc=d)||b||null;this.tc=this.B;this.uc=this.v;this.xb=this.B/this.da|0;this.pb=this.v/this.I|0;1<this.O&&this.I++;b=a.smoothing;(c=Aa.smoothing)&&(b="true"==c);if(null!=b)for(c=0;c<h.length;c++)if(d=(d=h[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.f[d]){this.f[d]=b;break}if(this.h=a.screenRotate)this.h=this.h%360,0<this.h&&(this.h-=360),-90!=this.h?(this.J("unsupported screen rotation: "+
this.h),this.h=0):(this.f.translate(0,this.v),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.v/this.B,this.B/this.v));if(this.b=e)if(this.b.ta=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ta){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){xc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1); this.h),this.h=0):(this.f.translate(0,this.v),this.f.rotate(this.h*Math.PI/180),this.f.scale(this.v/this.B,this.B/this.v));if(this.b=e)if(this.b.ta=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.b.ta){for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){vc(f,document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?!0:!1)},!1);
break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){xc(f,null)},!1);break}}if(this.K=a.fontROM)"json"!=da(this.K)&&(this.K=ja()+"/api/v1/dump?file="+this.K+"&format=bytes"),q(this.K,null,!0,function(a,b,c){yc(f,a,b,c)});this.gb={}}y(uc);var wc=0,vc={SI1978:1,VT100:2}; break}for(c=0;c<h.length;c++)if(d=h[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){vc(f,null)},!1);break}}if(this.K=a.fontROM)"json"!=da(this.K)&&(this.K=ja()+"/api/v1/dump?file="+this.K+"&format=bytes"),q(this.K,null,!0,function(a,b,c){wc(f,a,b,c)});this.gb={}}y(sc);var uc=0,tc={SI1978:1,VT100:2};
uc.prototype.ha=function(a,b,c,d){this.A=a;this.m=b;this.a=c;this.L=d;this.l=this.da*this.P;this.F=this.H*this.O;b=this.l;c=this.F;this.c&&(b=this.F,c=this.l);this.sa=(this.l*this.ka>>3)*this.F;if(this.Cc||Ta(this.m,this.T,this.sa,3))1<this.P?zc(this,(this.da+1)*this.H):(this.zb=this.f.createImageData(b,c),this.Cb=16/this.ka|0,zc(this,this.sa>>1)),this.s=document.createElement("canvas"),this.s.width=b,this.s.height=c,this.bb=this.s.getContext("2d"),this.M={},this.ca=1<<this.ka,this.N=Array(this.ca+ sc.prototype.ha=function(a,b,c,d){this.A=a;this.m=b;this.a=c;this.L=d;this.l=this.da*this.P;this.F=this.I*this.O;b=this.l;c=this.F;this.c&&(b=this.F,c=this.l);this.sa=(this.l*this.ka>>3)*this.F;if(this.Dc||Ta(this.m,this.T,this.sa,3))1<this.P?xc(this,(this.da+1)*this.I):(this.Ab=this.f.createImageData(b,c),this.Db=16/this.ka|0,xc(this,this.sa>>1)),this.s=document.createElement("canvas"),this.s.width=b,this.s.height=c,this.bb=this.s.getContext("2d"),this.M={},this.ca=1<<this.ka,this.N=Array(this.ca+
2),this.N[0]=[0,0,0,255],this.N[1]=[255,255,255,255],1==this.G&&(this.N[this.ca+0]=[255,255,0,255],this.N[this.ca+1]=[0,255,0,255]),2==this.G&&(this.Hb=60,this.cb=!1,this.ja=Array(this.da));if(this.o=Pa(a,"Keyboard")){for(var e in this.gb)this.o.R("led",e,this.gb[e]);this.u&&this.o.R(this.Fc?"textarea":"canvas","kbd",this.ba)}this.K||B(this)}; 2),this.N[0]=[0,0,0,255],this.N[1]=[255,255,255,255],1==this.G&&(this.N[this.ca+0]=[255,255,0,255],this.N[this.ca+1]=[0,255,0,255]),2==this.G&&(this.Ib=60,this.cb=!1,this.ja=Array(this.da));if(this.o=Pa(a,"Keyboard")){for(var e in this.gb)this.o.R("led",e,this.gb[e]);this.u&&this.o.R(this.Gc?"textarea":"canvas","kbd",this.ba)}this.K||B(this)};
function yc(a,b,c,d){if(d)a.J("Unable to load font ROM (error "+d+": "+b+")");else{Ga(a.fb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)Ac(a,f);else{a.J("Unrecognized font data length ("+f.length+")");return}}catch(h){a.J("Font ROM data error: "+h.message);return}(a.f||a.L)&&B(a)}} function wc(a,b,c,d){if(d)a.J("Unable to load font ROM (error "+d+": "+b+")");else{Ga(a.fb,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f||!f.length){t("Empty font ROM: "+b);return}if(1==f.length){t(f[0]);return}if(2048==f.length)yc(a,f);else{a.J("Unrecognized font data length ("+f.length+")");return}}catch(h){a.J("Font ROM data error: "+h.message);return}(a.f||a.L)&&B(a)}}
function Ac(a,b){a.ab=b;a.xb=2==a.G;a.M[96]=[Bc(a,a.P,a.O),Bc(a,a.P,a.O,a.cb)];a.M[64]=[Bc(a,2*a.P,a.O),Bc(a,2*a.P,a.O,a.cb)];a.M[32]=a.M[0]=[Bc(a,2*a.P,2*a.O),Bc(a,2*a.P,2*a.O,a.cb)]} function yc(a,b){a.ab=b;a.yb=2==a.G;a.M[96]=[zc(a,a.P,a.O),zc(a,a.P,a.O,a.cb)];a.M[64]=[zc(a,2*a.P,a.O),zc(a,2*a.P,a.O,a.cb)];a.M[32]=a.M[0]=[zc(a,2*a.P,2*a.O),zc(a,2*a.P,2*a.O,a.cb)]}
function Bc(a,b,c,d){var e=8>=a.rc?8:16,f=8<e?15:0,h=a.ab.length/e,g=!1===d,k={P:b,O:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var m=k.context.createImageData(b,c),r=0;r<h;r++){for(var p=0,v=p;p<a.O;p++)for(var ba=r*e+(f+p&e-1),ba=d&&8==p?255:a.ab[ba],H=0;H<c/a.O;H++){for(var R=0,u=0,E=u;u<a.P;u++){for(var I=ba&128>>(7<u?7:u),R=a.xb&&!I&&R?R:I,P=0;P<b/a.P;P++)g&&(R=!R),Cc(a,m,E,v,R?1:0),E++;R=I}v++}k.context.putImageData(m, function zc(a,b,c,d){var e=8>=a.sc?8:16,f=8<e?15:0,h=a.ab.length/e,g=!1===d,k={P:b,O:c};k.canvas=document.createElement("canvas");k.canvas.width=16*b;k.canvas.height=h/16*c;k.context=k.canvas.getContext("2d");for(var m=k.context.createImageData(b,c),r=0;r<h;r++){for(var p=0,v=p;p<a.O;p++)for(var ba=r*e+(f+p&e-1),ba=d&&8==p?255:a.ab[ba],H=0;H<c/a.O;H++){for(var R=0,u=0,E=u;u<a.P;u++){for(var I=ba&128>>(7<u?7:u),R=a.yb&&!I&&R?R:I,P=0;P<b/a.P;P++)g&&(R=!R),Ac(a,m,E,v,R?1:0),E++;R=I}v++}k.context.putImageData(m,
(r&15)*b,(r>>4)*c)}return k} (r&15)*b,(r>>4)*c)}return k}
uc.prototype.Y=function(){if(2==this.G){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.T,c=-1,d=-1,e,f=-(60==this.Hb?2:5);f<this.H;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;Ya(this.m,b++,e);Ya(this.m,b++,c&255); sc.prototype.Y=function(){if(2==this.G){for(var a={0:[32,"SET-UP A"],2:[64,'TO EXIT PRESS "SET-UP"'],22:[96," T T T T T T T T T"],23:[96,"1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890","1234567890"],24:[]},b=this.T,c=-1,d=-1,e,f=-(60==this.Ib?2:5);f<this.I;f++){var h=a[f];if(0<=c){var g=!1,c=b+2;h?h.length?d=h[0]:(c=b-1,g=!0):32==d&&(h=a[f-1],d=0);e=d&96|c>>8&15|16;Ya(this.m,b++,e);Ya(this.m,b++,c&255);
if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)Ya(this.m,b++,g.charCodeAt(k)|c);c^=128}Ya(this.m,b++,127);c=b}Dc(this)}return!0};uc.prototype.R=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.gb[b]=c,!0;switch(b){case "fullScreen":return this.w[b]=c,this.b&&this.b.ta?c.onclick=function(){d.ta()}:c.parentNode.removeChild(c),!0}return!1}; if(g)break}if(h)for(c=0,e=1;e<h.length;e++){for(var g=h[e],k=0;k<g.length;k++)Ya(this.m,b++,g.charCodeAt(k)|c);c^=128}Ya(this.m,b++,127);c=b}Bc(this)}return!0};sc.prototype.R=function(a,b,c){var d=this;if("led"==a||"rled"==a)return this.gb[b]=c,!0;switch(b){case "fullScreen":return this.w[b]=c,this.b&&this.b.ta?c.onclick=function(){d.ta()}:c.parentNode.removeChild(c),!0}return!1};
uc.prototype.ta=function(){var a=!1;if(this.b){if(this.b.ta){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.B/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.yb?(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.ta();a=!0}this.ba&&this.ba.focus()}return a}; sc.prototype.ta=function(){var a=!1;if(this.b){if(this.b.ta){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.B/this.v;b>c&&(a=Math.round(c/b*100)+"%")}this.zb?(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.ta();a=!0}this.ba&&this.ba.focus()}return a};
function xc(a,b){!b&&a.b&&(a.yb?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function zc(a,b){a.Ab=b;a.U=!1;if(void 0===a.i||a.i.length!=a.Ab)a.i=Array(a.Ab)}function Cc(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.G&&(208<=c&&236>c?e=a.ca+0:28<=c&&72>c&&(e=a.ca+1));a=a.N[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 vc(a,b){!b&&a.b&&(a.zb?a.u.style.width=a.u.style.height="":a.b.style.width=a.b.style.height="")}function xc(a,b){a.Bb=b;a.U=!1;if(void 0===a.i||a.i.length!=a.Bb)a.i=Array(a.Bb)}function Ac(a,b,c,d,e){d=a.c?(b.height-c-1)*b.width+d:c+d*b.width;e&&1==a.G&&(208<=c&&236>c?e=a.ca+0:28<=c&&72>c&&(e=a.ca+1));a=a.N[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 Dc(a){for(var b=a.T,c=-1,d=0,e=60==a.Hb?2:5,f=0,h=0;d<a.H;){var g=0,k=b,m=c,r=a.da;for(96!=m&&(r>>=1);;){var p=Wa(a.m,k++);if(127==(p&127)){var v=Wa(a.m,k++),c=v&96,b=(v&15)<<8|Wa(a.m,k),b=b+(v&16?8192:16384);break}if(g<r)a.ja[g++]=p;else break}if(e)e--;else{for(;g<a.ja.length;)a.ja[g++]=0;if(0<=m)for(k=a.U&&a.i[f]==r,a.i[f++]=r,r=0;r<g;r++){p=a.ja[r];if(!k||p!==a.i[f]){a.i[f]=p;var v=a,ba=a.bb,H=p&127;if(p=v.M[m][p&128?1:0]){var R=(H&15)*p.P,H=(H>>4)*p.O,u=void 0,E=void 0,I=void 0,P=void 0, function Bc(a){for(var b=a.T,c=-1,d=0,e=60==a.Ib?2:5,f=0,h=0;d<a.I;){var g=0,k=b,m=c,r=a.da;for(96!=m&&(r>>=1);;){var p=Wa(a.m,k++);if(127==(p&127)){var v=Wa(a.m,k++),c=v&96,b=(v&15)<<8|Wa(a.m,k),b=b+(v&16?8192:16384);break}if(g<r)a.ja[g++]=p;else break}if(e)e--;else{for(;g<a.ja.length;)a.ja[g++]=0;if(0<=m)for(k=a.U&&a.i[f]==r,a.i[f++]=r,r=0;r<g;r++){p=a.ja[r];if(!k||p!==a.i[f]){a.i[f]=p;var v=a,ba=a.bb,H=p&127;if(p=v.M[m][p&128?1:0]){var R=(H&15)*p.P,H=(H>>4)*p.O,u=void 0,E=void 0,I=void 0,P=void 0,
sc=p.P,Gb=p.O;ba?(u=r*v.P,E=d*v.O,I=v.P,P=v.O):(u=r*v.wb,E=d*v.pb,I=v.wb,P=v.pb);p.P>v.P&&(u*=2,I*=2);p.O>v.O&&(0==m&&(H+=v.O),Gb=v.O);ba?ba.drawImage(p.canvas,R,H,sc,Gb,u,E,I,P):(u+=0,E+=0,v.f.drawImage(p.canvas,R,H,sc,Gb,u,E,I,P))}h++}f++}d++}}a.U=!0;h&&a.bb&&a.f.drawImage(a.s,0,0,a.l,a.F-a.O,0,0,a.sc,a.tc)} rc=p.P,Fb=p.O;ba?(u=r*v.P,E=d*v.O,I=v.P,P=v.O):(u=r*v.xb,E=d*v.pb,I=v.xb,P=v.pb);p.P>v.P&&(u*=2,I*=2);p.O>v.O&&(0==m&&(H+=v.O),Fb=v.O);ba?ba.drawImage(p.canvas,R,H,rc,Fb,u,E,I,P):(u+=0,E+=0,v.f.drawImage(p.canvas,R,H,rc,Fb,u,E,I,P))}h++}f++}d++}}a.U=!0;h&&a.bb&&a.f.drawImage(a.s,0,0,a.l,a.F-a.O,0,0,a.tc,a.uc)}
ua(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(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; 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, ua(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(void 0===e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(c.onresize=function(a,
b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Aa.aspect);f&&.3<=f&&3.33>=f&&(ta("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");pa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new uc(d,e,h,f,c);Ja(d,c)}}); b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Aa.aspect);f&&.3<=f&&3.33>=f&&(ta("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");pa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var h=e.getContext("2d"),d=new sc(d,e,h,f,c);Ja(d,c)}});
function Ec(a){this.h=+a.adapter;switch(this.h){case 0:this.i=0;break;default:t("Unrecognized serial adapter #"+this.h);return}w.call(this,"SerialPort",a,Ec);var b=a.binding;if("console"!=b){var c;a=Fc;b&&(void 0===c&&(c="Panel"),(c=Ia(c,this.id))&&(b=c.w[b])&&this.R(null,a,b))}}y(Ec);var Fc="buffer";l=Ec.prototype; function Cc(a){this.h=+a.adapter;switch(this.h){case 0:this.i=0;break;default:t("Unrecognized serial adapter #"+this.h);return}w.call(this,"SerialPort",a,Cc);var b=a.binding;if("console"!=b){var c;a=Dc;b&&(void 0===c&&(c="Panel"),(c=Ia(c,this.id))&&(b=c.w[b])&&this.R(null,a,b))}}y(Cc);var Dc="buffer";l=Cc.prototype;
l.R=function(a,b,c){switch(b){case Fc:return this.w[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;(8===b||a.ctrlKey&&65<=b&&90>=b)&&a.preventDefault&&a.preventDefault();return!0},c.onkeypress=function(a){a=a||window.event;a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};l.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;this.G=Pa(a,"ChipSet");$a(b,this,Gc,this.i);ab(b,this,Hc,this.i);B(this)}; l.R=function(a,b,c){switch(b){case Dc:return this.w[b]=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;(8===b||a.ctrlKey&&65<=b&&90>=b)&&a.preventDefault&&a.preventDefault();return!0},c.onkeypress=function(a){a=a||window.event;a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};l.ha=function(a,b,c,d){this.m=b;this.a=c;this.L=d;this.I=Pa(a,"ChipSet");$a(b,this,Ec,this.i);ab(b,this,Fc,this.i);B(this)};
l.Y=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.aa=function(a){return a?this.save():!0};l.reset=function(){Ic(this)};l.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.c;c[b++]=this.b;c[b++]=this.f;G(a,0,c);return a.data()};l.restore=function(a){return Ic(this,a[0])};function Ic(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.c=b[c++];a.b=b[c++];a.f=b[c++];return!0}l.vc=function(){return this.c};l.uc=function(){return this.b}; l.Y=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.aa=function(a){return a?this.save():!0};l.reset=function(){Gc(this)};l.save=function(){var a=new F(this),b=0,c=[];c[b++]=this.c;c[b++]=this.b;c[b++]=this.f;G(a,0,c);return a.data()};l.restore=function(a){return Gc(this,a[0])};function Gc(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.c=b[c++];a.b=b[c++];a.f=b[c++];return!0}l.wc=function(){return this.c};l.vc=function(){return this.b};
l.Jc=function(a,b){this.c=b};l.Ic=function(a,b){this.b=b};l.Hc=function(a,b){this.f=b};var Gc={0:Ec.prototype.vc,1:Ec.prototype.uc},Hc={0:Ec.prototype.Jc,1:Ec.prototype.Ic,2:Ec.prototype.Hc};ua(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ec(d);Ja(d,c)}});function F(a,b,c){this.id=a.id;this.key=Jc(a,b,c);this.L=a.L;Kc(this,a.Mb)}function Jc(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a} l.Kc=function(a,b){this.c=b};l.Jc=function(a,b){this.b=b};l.Ic=function(a,b){this.f=b};var Ec={0:Cc.prototype.wc,1:Cc.prototype.vc},Fc={0:Cc.prototype.Kc,1:Cc.prototype.Jc,2:Cc.prototype.Ic};ua(function(){for(var a=A(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Cc(d);Ja(d,c)}});function F(a,b,c){this.id=a.id;this.key=Hc(a,b,c);this.L=a.L;Ic(this,a.Nb)}function Hc(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}
F.prototype={constructor:F,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){Kc(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}}}; F.prototype={constructor:F,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){Ic(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 Kc(a,b){a[a.id]={};b&&G(a,"parms",b);a.a=!1}function Lc(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Mc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Nc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}function Oc(a,b){return a[a.id][b]||null}function G(a,b,c){try{a[a.id][b]=c}catch(d){}} function Ic(a,b){a[a.id]={};b&&G(a,"parms",b);a.a=!1}function Jc(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Kc(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Lc(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}function Mc(a,b){return a[a.id][b]||null}function G(a,b,c){try{a[a.id][b]=c}catch(d){}}
function Pc(a,b,c){w.call(this,"Computer",a,Pc);this.j.S=!1;Qc(this,b);this.B=rb(this,"autoPower",a);this.f=0;this.K=a.busWidth||a.buswidth;this.b=Rc;this.u=null;this.o=this.H=!1;this.M=rb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Sc(this);if(this.a=Ia("CPU",this.id)){this.L=Ia("Debugger",this.id);this.l=[];for(b=null;b=Pa(this,"Video",b);)this.l.push(b);this.m=new Ra({id:this.fb+".bus",busWidth:this.K},this.a,this.L);var d,e=Ha(this.id);if((this.h=Ia("Panel",this.id))&&this.h.la)for(b= function Nc(a,b,c){w.call(this,"Computer",a,Nc);this.j.S=!1;Oc(this,b);this.B=rb(this,"autoPower",a);this.f=0;this.K=a.busWidth||a.buswidth;this.b=Pc;this.u=null;this.o=this.I=!1;this.M=rb(this,"url")||"";(Math.random()+.1).toString(36);this.c=Qc(this);if(this.a=Ia("CPU",this.id)){this.L=Ia("Debugger",this.id);this.l=[];for(b=null;b=Pa(this,"Video",b);)this.l.push(b);this.m=new Ra({id:this.fb+".bus",busWidth:this.K},this.a,this.L);var d,e=Ha(this.id);if((this.h=Ia("Panel",this.id))&&this.h.la)for(b=
0;b<e.length;b++)d=e[b],d.J=this.h.J,d.Z=this.h.Z,d.la=this.h.la;this.Z("PC8080 v1.23.3\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.ha&&d.ha(this,this.m,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.A=d:this.b=parseInt(d,10));var f;if(a=rb(this,"state")||(f=!0,a.state))b=this.F=a,f||(this.o=!0,this.b=Rc),this.b&&(this.v=new F(this,"1.23.3"),Nc(this.v)?b=null:delete this.v); 0;b<e.length;b++)d=e[b],d.J=this.h.J,d.Z=this.h.Z,d.la=this.h.la;this.Z("PC8080 v1.23.3\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.ha&&d.ha(this,this.m,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.A=d:this.b=parseInt(d,10));var f;if(a=rb(this,"state")||(f=!0,a.state))b=this.F=a,f||(this.o=!0,this.b=Pc),this.b&&(this.v=new F(this,"1.23.3"),Lc(this.v)?b=null:delete this.v);
!b&&this.b&&(b=Tc(this))&&(this.o=!0);if(b){var h=this;q(b,null,!0,function(a,b,c){c?(h.A=null,h.o=!1,h.J("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.u=b,h.H=!0);B(h)})}else B(this);this.w.power||(this.B=!0);!c&&this.B&&Uc(this,this.La)}else t("Unable to find CPU component")}y(Pc);var Rc=0; !b&&this.b&&(b=Rc(this))&&(this.o=!0);if(b){var h=this;q(b,null,!0,function(a,b,c){c?(h.A=null,h.o=!1,h.J("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(h.u=b,h.I=!0);B(h)})}else B(this);this.w.power||(this.B=!0);!c&&this.B&&Sc(this,this.La)}else t("Unable to find CPU component")}y(Nc);var Pc=0;
function Qc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.s=b}function rb(a,b,c){var d=b.toLowerCase(),d=Aa[b]||Aa[d];void 0===d&&a.s&&(d=a.s[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Uc(a,b,c){for(var d=Ha(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Uc(a,b,c)});return}}b.call(a,c)} function Oc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.s=b}function rb(a,b,c){var d=b.toLowerCase(),d=Aa[b]||Aa[d];void 0===d&&a.s&&(d=a.s[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Sc(a,b,c){for(var d=Ha(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){Sc(a,b,c)});return}}b.call(a,c)}
function Vc(a,b){var c=new F(a,"1.23.3","validate");if(Nc(c)&&Mc(c)){var d=Oc(c,"timestamp"),e=b?Oc(b,"timestamp"):"unknown";d!=e&&(a.J("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Pc.prototype; function Tc(a,b){var c=new F(a,"1.23.3","validate");if(Lc(c)&&Kc(c)){var d=Mc(c,"timestamp"),e=b?Mc(b,"timestamp"):"unknown";d!=e&&(a.J("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Nc.prototype;
l.La=function(a){void 0===a&&(a=this.b||(this.u?1:Rc));if(!this.f){this.f++;var b=!1,c=!1;this.G=!1;var d=this.v||new F(this,"1.23.3");if(-1==a)b=!0;else if(a>Rc){if(Nc(d,this.u)){this.i=new F(this,"1.23.3","failsafe");Nc(this.i)&&(Wc(this,d),a=2,Kc(this.i));G(this.i,"timestamp",ia());Lc(this.i);var e=this.b&&!this.o;if(1==a||ka("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Mc(d)){var f=Oc(d,"code"),h=Oc(d,"data");f&&("ok"==f?Nc(d,h):("error"==f&& l.La=function(a){void 0===a&&(a=this.b||(this.u?1:Pc));if(!this.f){this.f++;var b=!1,c=!1;this.G=!1;var d=this.v||new F(this,"1.23.3");if(-1==a)b=!0;else if(a>Pc){if(Lc(d,this.u)){this.i=new F(this,"1.23.3","failsafe");Lc(this.i)&&(Uc(this,d),a=2,Ic(this.i));G(this.i,"timestamp",ia());Jc(this.i);var e=this.b&&!this.o;if(1==a||ka("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Kc(d)){var f=Mc(d,"code"),h=Mc(d,"data");f&&("ok"==f?Lc(d,h):("error"==f&&
"no machine state"!=h?(this.J("Error: "+h),"unable to verify user"==h&&(oa("user",""),this.c=null)):this.Z(f+": "+h),Kc(d),Nc(d)?(c=Mc(d),e=!0):c=!1))}e&&Vc(this,c?d:null)}else 2==a&&d.clear()}else Vc(this);delete this.u;delete this.v}e=Ha(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Xc(this,h,d,b,c));b=[d,a,c];-1!=a?Uc(this,this.Bb,b):this.Bb(b)}}; "no machine state"!=h?(this.J("Error: "+h),"unable to verify user"==h&&(oa("user",""),this.c=null)):this.Z(f+": "+h),Ic(d),Lc(d)?(c=Kc(d),e=!0):c=!1))}e&&Tc(this,c?d:null)}else 2==a&&d.clear()}else Tc(this);delete this.u;delete this.v}e=Ha(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.a&&(c=Vc(this,h,d,b,c));b=[d,a,c];-1!=a?Sc(this,this.Cb,b):this.Cb(b)}};
function Xc(a,b,c,d,e){if(!b.j.S){b.j.S=!0;if(b.Y){var f=null;e&&((f=Oc(c,b.id))||(f=Oc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Y(f,d)&&f&&(t("Unable to restore state for "+b.type),a.F&&!a.H?(c.clear(),a.b=Rc,window&&window.location.reload()):a.G=!0,b.Y(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 Vc(a,b,c,d,e){if(!b.j.S){b.j.S=!0;if(b.Y){var f=null;e&&((f=Mc(c,b.id))||(f=Mc(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Y(f,d)&&f&&(t("Unable to restore state for "+b.type),a.F&&!a.I?(c.clear(),a.b=Pc,window&&window.location.reload()):a.G=!0,b.Y(null),e=!1)}if(!d&&b.wb)for(a=b.wb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.Bb=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.j.S=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(Xc(this,this.a,b,c,a),vb(this.a));this.G&&(Wc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0}; l.Cb=function(a){var b=a[0],c=0>a[1];a=a[2];this.N=!0;this.j.S=!0;var d=this.w.power;d&&(d.textContent="Shutdown");this.a&&(Vc(this,this.a,b,c,a),vb(this.a));this.G&&(Uc(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.f=0};
function Wc(a,b){if(ka("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||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.M;e.user=c;e.type="bug";e.data=d;q("http://www.pcjs.org/api/v1/report",e,!0)}} function Uc(a,b){if(ka("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||"",d=b.toString(),e={app:"PC8080",ver:"1.23.3"};e.url=a.M;e.user=c;e.type="bug";e.data=d;q("http://www.pcjs.org/api/v1/report",e,!0)}}
function Yc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.23.3"),h=new F(a,"1.23.3","validate"),g=ia();G(h,"timestamp",g);G(f,"timestamp",g);G(f,"version","1.23.3");G(f,"url",window?window.location.href:null);G(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.aa&&(c&&wb(a.a),d=a.a.aa(b,c),"object"===typeof d&&G(f,a.a.id,d),c&&(a.a.j.S=!1,!1===d&&(e=null)));for(var g=Ha(a.id),k=0;k<g.length;k++){var m=g[k];m.j.S&&(m.aa&&(d=m.aa(b,c),"object"===typeof d&&G(f,m.id,d)),c&& function Wc(a,b,c){var d,e="none";if(a.f)return null;a.f--;var f=new F(a,"1.23.3"),h=new F(a,"1.23.3","validate"),g=ia();G(h,"timestamp",g);G(f,"timestamp",g);G(f,"version","1.23.3");G(f,"url",window?window.location.href:null);G(f,"browser",window?window.navigator.userAgent:"");a.a&&a.a.aa&&(c&&wb(a.a),d=a.a.aa(b,c),"object"===typeof d&&G(f,a.a.id,d),c&&(a.a.j.S=!1,!1===d&&(e=null)));for(var g=Ha(a.id),k=0;k<g.length;k++){var m=g[k];m.j.S&&(m.aa&&(d=m.aa(b,c),"object"===typeof d&&G(f,m.id,d)),c&&
(m.j.S=!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Zc(a,a.c,f.toString()),Lc(h)&&Lc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.j.S=!1,b=a.w.power)&&(b.textContent="Power");a.f=0;return e}l.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=Ha(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}}; (m.j.S=!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.c&&Xc(a,a.c,f.toString()),Jc(h)&&Jc(f)||(e=null,d=g=!0)):a.b&&(d=!0,g=3==a.b),d&&f.clear(g)):e=f.toString());c&&(a.j.S=!1,b=a.w.power)&&(b.textContent="Power");a.f=0;return e}l.reset=function(){this.m&&this.m.reset&&this.m.reset();for(var a=Ha(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.m&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ha(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=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}}; l.stop=function(a,b){for(var c=Ha(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.R=function(a,b,c){var d=this;switch(b){case "power":return this.w[b]=c,c.onclick=function(){d.f||(d.j.S?Yc(d,!1,!0):Uc(d,d.La))},!0;case "reset":return this.w[b]=c,c.onclick=function(){if(d.j.S&&!d.f)if(d.b&&!d.A){var a=ka("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Yc(d,a,!0);!a&&d.F?window&&window.location.reload():d.La(Rc)}else d.reset(),d.a&&vb(d.a)},!0;case "save":if(ea(ja(),"pcjs.org")){c.parentNode.removeChild(c);break}this.w[b]= l.R=function(a,b,c){var d=this;switch(b){case "power":return this.w[b]=c,c.onclick=function(){d.f||(d.j.S?Wc(d,!1,!0):Sc(d,d.La))},!0;case "reset":return this.w[b]=c,c.onclick=function(){if(d.j.S&&!d.f)if(d.b&&!d.A){var a=ka("Click OK to save changes to this PC8080 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Wc(d,a,!0);!a&&d.F?window&&window.location.reload():d.La(Pc)}else d.reset(),d.a&&vb(d.a)},!0;case "save":if(ea(ja(),"pcjs.org")){c.parentNode.removeChild(c);break}this.w[b]=
c;c.onclick=function(){var a=Sc(d,!0);if(a){var b=!!(d.b&&!d.A||d.F),c=Yc(d,b);b?Zc(d,a,c):d.J("Resume disabled, machine state not saved")}};return!0}return!1}; c;c.onclick=function(){var a=Qc(d,!0);if(a){var b=!!(d.b&&!d.A||d.F),c=Wc(d,b);b?Xc(d,a,c):d.J("Resume disabled, machine state not saved")}};return!0}return!1};
function Sc(a,b){var c=a.c;c||(c=na("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=$c(a,c))||a.J("The user ID is invalid."))):b&&a.J("Browser local storage is not available"));return c} function Qc(a,b){var c=a.c;c||(c=na("user"),void 0!==c?!c&&b&&(c=null,window&&(c=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&&((c=Yc(a,c))||a.J("The user ID is invalid."))):b&&a.J("Browser local storage is not available"));return c}
function $c(a,b){a.c=null;var c=q(ja()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(oa("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Tc(a){var b=null;a.c&&(b=ja()+"/api/v1/user?req=load&user="+a.c+"&state="+Jc(a,"1.23.3"));return b} function Yc(a,b){a.c=null;var c=q(ja()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(oa("user",c.data),a.c=c.data)}catch(e){t(e.message+" ("+d+")")}return a.c}function Rc(a){var b=null;a.c&&(b=ja()+"/api/v1/user?req=load&user="+a.c+"&state="+Hc(a,"1.23.3"));return b}
function Zc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Jc(a,"1.23.3");d.data=c;b=q(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.J("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.J(c),oa("user",""),a.c=null)}} function Xc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Hc(a,"1.23.3");d.data=c;b=q(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.J("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.J(c),oa("user",""),a.c=null)}}
function Pa(a,b,c){a=Ha(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 Bb(a,b){if(a.l.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.l[0];e.ba&&e.ba.focus();b&&window&&window.scrollTo(c,d)}}l.qa=function(a){this.a&&this.a.qa(a);this.h&&this.h.qa(a)}; function Pa(a,b,c){a=Ha(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 Bb(a,b){if(a.l.length){var c=0,d=0;b&&window&&(c=window.scrollX,d=window.scrollY);var e=a.l[0];e.ba&&e.ba.focus();b&&window&&window.scrollTo(c,d)}}l.qa=function(a){this.a&&this.a.qa(a);this.h&&this.h.qa(a)};
function Cb(a,b){for(var c=0;c<a.l.length;c++){var d=a.l[c],e=!0;if(0<=b){d.hb&&(120==d.hb?b&1?(Xb(d.a,2),e=!1):Xb(d.a,1):Xb(d.a,4));var f;if(f=e&&d.U){f=d.m;for(var h=d.sa,g=!0,k=d.T>>>f.c;0<h&&k<f.b.length;)f.b[k].fa&&(f.b[k].fa=g=!1,f.b[k].Eb=!0),h-=f.m,k++;f=g}f&&(e=!1)}if(e)if(1<d.P)switch(d.G){case 2:Dc(d)}else{var g=d.T,k=g+d.sa,m=0,r=0,p=0,e=d.l,v=0;f=d.F;var ba=h=0,H=d.ka,R=(1<<H)-1;d.Dc&&(H=-H,ba=16+H);for(;g<k;){var u;u=d.m;var E=g,I=E&u.f,P=(E&u.h)>>>u.c;u=I!=u.f?u.b[P].Nb(I,E):u.b[P++].Za(I, function Cb(a,b){for(var c=0;c<a.l.length;c++){var d=a.l[c],e=!0;if(0<=b){d.hb&&(120==d.hb?b&1?(Xb(d.a,2),e=!1):Xb(d.a,1):Xb(d.a,4));var f;if(f=e&&d.U){f=d.m;for(var h=d.sa,g=!0,k=d.T>>>f.c;0<h&&k<f.b.length;)f.b[k].fa&&(f.b[k].fa=g=!1,f.b[k].Fb=!0),h-=f.m,k++;f=g}f&&(e=!1)}if(e)if(1<d.P)switch(d.G){case 2:Bc(d)}else{var g=d.T,k=g+d.sa,m=0,r=0,p=0,e=d.l,v=0;f=d.F;var ba=h=0,H=d.ka,R=(1<<H)-1;d.Ec&&(H=-H,ba=16+H);for(;g<k;){var u;u=d.m;var E=g,I=E&u.f,P=(E&u.h)>>>u.c;u=I!=u.f?u.b[P].Ob(I,E):u.b[P++].Za(I,
E)|u.b[P&u.A].Za(0,E+1)<<8;if(d.U&&u===d.i[m])r+=d.Cb;else{d.i[m]=u;(E=ba)&&(u=u>>8|(u&255)<<8);r<e&&(e=r);for(I=d.Cb;I--;)P=u>>E&R,Cc(d,d.zb,r++,p,P),E+=H;r>v&&(v=r);p<f&&(f=p);p>=h&&(h=p+1)}g+=2;m++;if(r>=d.l&&(r=0,p++,p>d.F))break}d.U=!0;e<d.l&&(g=v-e,h-=f,d.c&&(k=e,m=g,e=f,g=h,f=d.l-(k+m),h=m),d.bb.putImageData(d.zb,0,0,e,f,g,h),d.f.drawImage(d.s,0,0,d.s.width,d.s.height,0,0,d.B,d.v))}}} E)|u.b[P&u.A].Za(0,E+1)<<8;if(d.U&&u===d.i[m])r+=d.Db;else{d.i[m]=u;(E=ba)&&(u=u>>8|(u&255)<<8);r<e&&(e=r);for(I=d.Db;I--;)P=u>>E&R,Ac(d,d.Ab,r++,p,P),E+=H;r>v&&(v=r);p<f&&(f=p);p>=h&&(h=p+1)}g+=2;m++;if(r>=d.l&&(r=0,p++,p>d.F))break}d.U=!0;e<d.l&&(g=v-e,h-=f,d.c&&(k=e,m=g,e=f,g=h,f=d.l-(k+m),h=m),d.bb.putImageData(d.Ab,0,0,e,f,g,h),d.f.drawImage(d.s,0,0,d.s.width,d.s.height,0,0,d.B,d.v))}}}
ua(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],h=z(f),h=new Pc(h,d,!0);Ja(h,f);h.B&&Uc(h,h.La)}});qa.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.N&&!c.j.S&&c.La(-1)}}); ua(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],h=z(f),h=new Nc(h,d,!0);Ja(h,f);h.B&&Sc(h,h.La)}});qa.show.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.N&&!c.j.S&&c.La(-1)}});
qa.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.j.S&&Yc(c,!(!c.b||c.A),!0)}});var ad=0;function bd(a,b,c,d,e,f){e("Loading "+a+"...");q(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):cd(g,a,b,c,d,e,f)})} qa.exit.push(function(){for(var a=A(document,"pc8080","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.j.S&&Wc(c,!(!c.b||c.A),!0)}});var Zc=0;function $c(a,b,c,d,e,f){e("Loading "+a+"...");q(a,null,!0,function(h,g,k){k?(g||(g="unable to load "+a+" ("+k+")"),f(g,null)):ad(g,a,b,c,d,e,f)})}
function cd(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ga(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2")); function ad(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){Ga(c,b,a);var g=b;g&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{";d+='url:"'+g+'"}';"object"==typeof resources&&(g=null);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(g?' url="'+g+'"':""))}e||(a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pc8080$2"));
g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?dd(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)} g=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){g=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?e?bd(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function dd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");q(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/, function bd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");q(e,null,!0,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=g[0],m,r=/( [a-z]+=)(['"])(.*?)\2/g;m=r.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);g[0]!=k&&(h=h.replace(g[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);dd(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],h);bd(a,b,c)}})}else c(a,null)}
function ed(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);k&&(--ad||xa(!0));k=!1}var h,g,k=!0;ad++;Fa[a]={};try{if(h=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));r.appendChild(p)}c|| function cd(a,b,c,d){function e(a){if(void 0===g){var b=h&&A(h,"machine-warning");g=b&&b[0]||h}g&&(g.innerHTML=ga(a))}function f(a){e("Error: "+a);k&&(--Zc||xa(!0));k=!1}var h,g,k=!0;Zc++;Fa[a]={};try{if(h=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],p=document.createElement("style");p.type="text/css";p.styleSheet?p.styleSheet.cssText=m:p.appendChild(document.createTextNode(m));r.appendChild(p)}c||
(c="/versions/pc8080/1.23.3/components.xsl");m=function(d,g){g?bd(c,null,null,!1,e,function(d,k){if(k)if(Ga(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=g.transformNode(k);m?(h.outerHTML=m,--ad||xa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(k),(m=m.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(m,h),--ad||xa(!0)):f("invalid machine element: "+ (c="/versions/pc8080/1.23.3/components.xsl");m=function(d,g){g?$c(c,null,null,!1,e,function(d,k){if(k)if(Ga(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=g.transformNode(k);m?(h.outerHTML=m,--Zc||xa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(k),(m=m.transformToFragment(g,document))?h.parentNode?(h.parentNode.replaceChild(m,h),--Zc||xa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?bd(b,a,d,!0,e,m):cd(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(v){f(v.message)}return k}window.embedPC8080=function(a,b,c,d){xa(!1);return ed(a,b,c,d)};window.enableEvents=xa;window.sendEvent=ya; a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?$c(b,a,d,!0,e,m):ad(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(v){f(v.message)}return k}window.embedPC8080=function(a,b,c,d){xa(!1);return cd(a,b,c,d)};window.enableEvents=xa;window.sendEvent=ya;
function fd(a,b,c,d){if(!c&&b){d.push(b);a=Fa[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?q(b,null,!0,function(a,b){gd(b,d)}):gd(null,d)}else t("Error ("+c+") requesting "+a)} function dd(a,b,c,d){if(!c&&b){d.push(b);a=Fa[d[0]];b=null;for(var e in a)if(ea(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?q(b,null,!0,function(a,b){ed(b,d)}):ed(null,d)}else t("Error ("+c+") requesting "+a)}
function gd(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Fa[f],k={},m;for(m in g){var r=g[m],p=da(m);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[m]);){var v=d[2];v&&(g[v]||(r=r.replace(d[0],"")))}d=m=ca(m)}else"xsl"==p&&(e=m=ca(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(m=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g, function ed(a,b){var c,d,e,f=b[0],h=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var g=Fa[f],k={},m;for(m in g){var r=g[m],p=da(m);if("xml"==p){for(p=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=p.exec(g[m]);){var v=d[2];v&&(g[v]||(r=r.replace(d[0],"")))}d=m=ca(m)}else"xsl"==p&&(e=m=ca(m));k[m]=r}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(m=JSON.stringify(k),h+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),m=h,g=null,k="data:application/javascript,",k=pa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),m&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=m,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+m+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(m?" ("+m+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n', "&#xA9;"),m=h,g=null,k="data:application/javascript,",k=pa("Firefox")?k+encodeURIComponent(c):k+encodeURI(c),m&&(g=document.createElement("a"),"string"!=typeof g.download&&(g=null)),g?(g.href=k,g.download=m,document.body.appendChild(g),g.click(),document.body.removeChild(g),c="Check your Downloads folder for "+m+"."):(window.open(k),c="Check your browser for a new window/tab containing the requested data"+(m?" ("+m+")":"")+"."),c+=', copy it to your web server as "'+h+'", and then add the following to your web page:\n\n',
c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")} c+='<div id="'+f+'"></div>\n',c+="...\n",c+='<script type="text/javascript" src="'+h+'">\x3c/script>\n',c+='<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n',c+="The machine should appear where the <div> is located.",t(c)):t("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=Ia("Computer",a),e=Ia("Debugger",a);if(d){var f=Yc(d,!0),h=d.s?JSON.stringify(d.s):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Mb:h}))return!0;q(b,null,!0,function(c,d,e){fd(c,d,e,[a,ca(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})(); window.savePC=function(a,b,c){var d=Ia("Computer",a),e=Ia("Debugger",a);if(d){var f=Wc(d,!0),h=d.s?JSON.stringify(d.s):null;b||(b="/versions/pcjs/1.23.3/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Nb:h}))return!0;q(b,null,!0,function(c,d,e){dd(c,d,e,[a,ca(b,!0),h,f])});return!0}t("Unable to identify machine '"+a+"'");return!1};})();