Added various MACRO-10 expression improvements
This commit is contained in:
parent
abd17be706
commit
1c3c9c9856
16 changed files with 561 additions and 488 deletions
|
|
@ -12,7 +12,7 @@ indent_style = space
|
||||||
indent_size = 8
|
indent_size = 8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
[*.{ASM,INC,MAC,NASM,LST,asm,inc,mac,nasm,lst,d80}]
|
[*.{ASM,INC,LST,MAC,NASM,asm,inc,lst,mac,nasm,d80,ASM.txt,INC.txt,LST.txt,MAC.txt,NASM.txt}]
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
indent_size = 8
|
indent_size = 8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
|
|
||||||
27
apps/pdp10/tests/MACTEST.MAC.txt
Normal file
27
apps/pdp10/tests/MACTEST.MAC.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
TITLE STORE TEXT CHARACTER BY CHARACTER
|
||||||
|
SUBTTL %1 5-APR-72
|
||||||
|
|
||||||
|
DEFINE TEXT (C)<
|
||||||
|
N==0 ;;INITIAL CONDITION
|
||||||
|
IRPC C,<N==N+1> ;;COUNT CHARACTERS
|
||||||
|
CODE (N,C) ;;CALL MACRO TO STORE TEXT
|
||||||
|
> ;END OF TEXT MACRO
|
||||||
|
|
||||||
|
DEFINE CODE (N,C)<
|
||||||
|
ZZ==N ;;INITIAL CONDITION
|
||||||
|
IRPC C,<
|
||||||
|
IFN ZZ&777B8,<
|
||||||
|
EXP ZZ ;;WORD FULL
|
||||||
|
ZZ==0> ;;START AGAIN WITH 0
|
||||||
|
ZZ=ZZ+9+"C"> ;;END OF IRPC
|
||||||
|
IFN ZZ,<DEFINE SHIFT ;;REMAINDER LEFT
|
||||||
|
IFE ZZ&777B8,> ;;IF NOT LEFT JUSTIFIED
|
||||||
|
ZZ=ZZ+9 ;;MOVE LEFT 9 BITS
|
||||||
|
SHIFT> ;;RECURSE
|
||||||
|
> ;;END OF DEFINE
|
||||||
|
SHIFT ;;START MOVING LEFT
|
||||||
|
EXP ZZ> ;;END OF IFN ZZ
|
||||||
|
> ;END OF CODE MACRO
|
||||||
|
|
||||||
|
TEXT (ABCDEFGHIJKL)
|
||||||
|
END
|
||||||
|
|
@ -14,14 +14,14 @@ DEC PDP-10 Opcode Tests
|
||||||
|
|
||||||
The PDP-10 machine below loads the following test:
|
The PDP-10 machine below loads the following test:
|
||||||
|
|
||||||
- [PDP-10 Half-Word Opcode Test](optest-v01.json)
|
- [PDP-10 Half-Word Opcode Test](OPTEST01.json)
|
||||||
|
|
||||||
Details on how to run and modify the test, and perform similar tests in [SIMH](https://github.com/simh/simh),
|
Details on how to run and modify the test, and perform similar tests in [SIMH](https://github.com/simh/simh),
|
||||||
are provided below.
|
are provided below.
|
||||||
|
|
||||||
{% include machine.html id="testka10" %}
|
{% include machine.html id="testka10" %}
|
||||||
|
|
||||||
The [PDP-10 Half-Word Opcode Test](optest-v01.json) file specifies that the following words:
|
The [PDP-10 Half-Word Opcode Test](OPTEST01.json) file specifies that the following words:
|
||||||
|
|
||||||
0o505040111111, // HRLI 1,111111
|
0o505040111111, // HRLI 1,111111
|
||||||
0o541040444444, // HRRI 1,444444
|
0o541040444444, // HRRI 1,444444
|
||||||
|
|
@ -34,7 +34,7 @@ comments display the instructions that correspond to each word.
|
||||||
|
|
||||||
If you want to alter or add new instructions, the PDP-10 Debugger now includes a rudimentary assembler. Using the `a` command,
|
If you want to alter or add new instructions, the PDP-10 Debugger now includes a rudimentary assembler. Using the `a` command,
|
||||||
along with an optional start address, you can enter "assembler mode". For example, here's how the first four instructions from
|
along with an optional start address, you can enter "assembler mode". For example, here's how the first four instructions from
|
||||||
the [PDP-10 Half-Word Opcode Test](optest-v01.json) could be entered by hand:
|
the [PDP-10 Half-Word Opcode Test](OPTEST01.json) could be entered by hand:
|
||||||
|
|
||||||
>> a 100
|
>> a 100
|
||||||
begin assemble at 000100
|
begin assemble at 000100
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ machines:
|
||||||
- id: testka10
|
- id: testka10
|
||||||
type: pdp10
|
type: pdp10
|
||||||
debugger: true
|
debugger: true
|
||||||
|
commands: a 100 /apps/pdp10/tests/MACTEST.MAC
|
||||||
---
|
---
|
||||||
|
|
||||||
PDP-10 Test Machine with Debugger
|
PDP-10 Test Machine with Debugger
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<name pos="center">PDP-10 (Model KA10) with Debugger</name>
|
<name pos="center">PDP-10 (Model KA10) with Debugger</name>
|
||||||
<computer id="computer" busWidth="18"/>
|
<computer id="computer" busWidth="18"/>
|
||||||
<cpu id="cpu" model="1001" cycles="1000000"/>
|
<cpu id="cpu" model="1001" cycles="1000000"/>
|
||||||
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/optest-v01.json"/>
|
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/OPTEST01.json"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
||||||
<panel ref="/devices/pdp10/panel/ka10/debugger/front.xml"/>
|
<panel ref="/devices/pdp10/panel/ka10/debugger/front.xml"/>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<name pos="center">PDP-10 Test Machine</name>
|
<name pos="center">PDP-10 Test Machine</name>
|
||||||
<computer id="computer" busWidth="18"/>
|
<computer id="computer" busWidth="18"/>
|
||||||
<cpu id="cpu" model="1001" cycles="1000000"/>
|
<cpu id="cpu" model="1001" cycles="1000000"/>
|
||||||
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/optest-v01.json"/>
|
<ram id="ram" addr="0x0000" size="0x4000" file="/apps/pdp10/tests/OPTEST01.json"/>
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
||||||
<panel ref="/devices/pdp10/panel/test/terminal.xml"/>
|
<panel ref="/devices/pdp10/panel/test/terminal.xml"/>
|
||||||
|
|
|
||||||
|
|
@ -427,8 +427,8 @@ r(b.od)+" IRR="+r(b.ac)+" ISR="+r(b.Ec)+" DELAY="+b.We;e.ba.P(c)}});Al(d,2048,fu
|
||||||
l.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
|
l.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
|
||||||
l.reset=function(a){var b;Fl(this);this.F=Array(this.za);for(b=0;b<this.za;b++)Gl(this,b);this.hc=Array(this.ha);Hl(this,Il,Jl);1<this.ha&&Hl(this,Kl,Ll);this.va=this.ta=null;this.G=Array((this.ca|0)==xl?6:3);for(b=0;b<this.G.length;b++)Ml(this,b);this.ga=this.Ca=this.J=this.xa=null;this.da=ih;this.ca==ll&&(this.aa=0);if(this.ca>=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa=
|
l.reset=function(a){var b;Fl(this);this.F=Array(this.za);for(b=0;b<this.za;b++)Gl(this,b);this.hc=Array(this.ha);Hl(this,Il,Jl);1<this.ha&&Hl(this,Kl,Ll);this.va=this.ta=null;this.G=Array((this.ca|0)==xl?6:3);for(b=0;b<this.G.length;b++)Ml(this,b);this.ga=this.Ca=this.J=this.xa=null;this.da=ih;this.ca==ll&&(this.aa=0);if(this.ca>=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa=
|
||||||
Yl|Zl;this.Y=Array(8);this.V=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;a<dm;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Tl(this,hl,void 0)<<em.Mg&em.yc;a|=+Tl(this,nl,void 0)?fm:0;b=+Tl(this,gl,void 0);a|=b?b-1<<gm.Mg&gm.yc|gm.ol:0;this.A[hm]=a;this.A[im]=jm(this,0)<<4|jm(this,1);km(this)}};
|
Yl|Zl;this.Y=Array(8);this.V=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;a<dm;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Tl(this,hl,void 0)<<em.Mg&em.yc;a|=+Tl(this,nl,void 0)?fm:0;b=+Tl(this,gl,void 0);a|=b?b-1<<gm.Mg&gm.yc|gm.ol:0;this.A[hm]=a;this.A[im]=jm(this,0)<<4|jm(this,1);km(this)}};
|
||||||
function $l(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.P("CMOS date invalid ("+b+"), using "+c)):b&&a.P("CMOS date: "+c);a.A[lm]=c.getSeconds();a.A[mm]=0;a.A[nm]=c.getMinutes();a.A[om]=0;a.A[Gm]=c.getHours();a.A[Hm]=0;a.A[Im]=c.getDay()+1;a.A[Jm]=c.getDate();a.A[Km]=c.getMonth()+1;b=c.getFullYear();a.A[Lm]=b%100;b/=100;a.A[Mm]=b%10|b/10<<4;a.A[Nm]=38;a.A[Rd]=Om;a.A[Pm]=0;a.A[Dl]=Qm;a.ma=a.Z=0;a.Ha=a.Aa=null}
|
function $l(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.P("CMOS date invalid ("+b+"), using "+c)):b&&a.P("CMOS date: "+c);a.A[lm]=c.getSeconds();a.A[mm]=0;a.A[nm]=c.getMinutes();a.A[om]=0;a.A[pm]=c.getHours();a.A[Hm]=0;a.A[Im]=c.getDay()+1;a.A[Jm]=c.getDate();a.A[Km]=c.getMonth()+1;b=c.getFullYear();a.A[Lm]=b%100;b/=100;a.A[Mm]=b%10|b/10<<4;a.A[Nm]=38;a.A[Rd]=Om;a.A[Pm]=0;a.A[Dl]=Qm;a.ma=a.Z=0;a.Ha=a.Aa=null}
|
||||||
function El(a,b){var c=a.A[b];if(b<Nm){var d=!1;b!=Gm&&b!=Hm||a.A[Rd]&Om||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else b==Nm&&(a.A[b]^=Sm);return c}function Tm(a){var b;void 0===b&&(b=a.Aa);a.Z=Ed(a.H,a.O)+b;a.A[Rd]&Td&&Gd(a.H,b)}function km(a){for(var b=0,c=im;c<dm;c++)b+=a.A[c];a.A[Um]=b&255;a.A[dm]=b>>8}
|
function El(a,b){var c=a.A[b];if(b<Nm){var d=!1;b!=pm&&b!=Hm||a.A[Rd]&Om||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else b==Nm&&(a.A[b]^=Sm);return c}function Tm(a){var b;void 0===b&&(b=a.Aa);a.Z=Ed(a.H,a.O)+b;a.A[Rd]&Td&&Gd(a.H,b)}function km(a){for(var b=0,c=im;c<dm;c++)b+=a.A[c];a.A[Um]=b&255;a.A[dm]=b>>8}
|
||||||
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.tb,h.qb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.qb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
|
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.tb,h.qb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.qb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
|
||||||
b,this.va]);a.set(4,[this.xa,this.J,this.Ca,this.ga,this.da]);this.ca>=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.V,this.A,this.ma,this.Z]));return a.data()};
|
b,this.va]);a.set(4,[this.xa,this.J,this.Ca,this.ga,this.da]);this.ca>=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.V,this.A,this.ma,this.Z]));return a.data()};
|
||||||
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Fl(this);b=a[1];for(c=0;c<this.za;c++)Gl(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ha;c++)Hl(this,c,c?Ll:Jl,b[0][c]);b=a[3];this.ta=b[0];this.va=b[2];for(c=0;c<this.G.length;c++)Ml(this,c,b[1][c]);b=a[4];this.xa=b[0];this.J=b[1];this.Ca=b[2];this.ga=b[3];this.da=b[4];if(b=a[5])this.D=b[0],this.L=b[1],this.K=b[2],this.oa=b[3],this.M=b[4],this.qa=
|
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Fl(this);b=a[1];for(c=0;c<this.za;c++)Gl(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ha;c++)Hl(this,c,c?Ll:Jl,b[0][c]);b=a[3];this.ta=b[0];this.va=b[2];for(c=0;c<this.G.length;c++)Ml(this,c,b[1][c]);b=a[4];this.xa=b[0];this.J=b[1];this.Ca=b[2];this.ga=b[3];this.da=b[4];if(b=a[5])this.D=b[0],this.L=b[1],this.K=b[2],this.oa=b[3],this.M=b[4],this.qa=
|
||||||
|
|
@ -456,7 +456,7 @@ function po(a,b,c,d,e,f){t(a,2304)&&w(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:
|
||||||
function yo(a,b,c,d,e){w(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.qb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
|
function yo(a,b,c,d,e){w(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.qb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
|
||||||
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.qb[0];c.je[1]=c.qb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
|
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.qb[0];c.je[1]=c.qb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
|
||||||
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.qb[0]=h&255;d.qb[1]=h>>8&255;c&&(a.jd=0)}return d}
|
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.qb[0]=h&255;d.qb[1]=h>>8&255;c&&(a.jd=0)}return d}
|
||||||
function Od(a,b){for(var c=0;c<a.G.length;c++)Bl(a,c,b);if(a.ca>=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[Gm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[Gm]))){a.A[Gm]=0;a.A[Im]=a.A[Im]%
|
function Od(a,b){for(var c=0;c<a.G.length;c++)Bl(a,c,b);if(a.ca>=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[pm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[pm]))){a.A[pm]=0;a.A[Im]=a.A[Im]%
|
||||||
7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.xa;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));w(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){w(this,a,b,c,"PPI_A");this.xa=b};l.Hm=function(a,b){var c=this.J;w(this,a,null,b,"PPI_B",c);return c};
|
7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.xa;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));w(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){w(this,a,b,c,"PPI_A");this.xa=b};l.Hm=function(a,b){var c=this.J;w(this,a,null,b,"PPI_B",c);return c};
|
||||||
l.ko=function(a,b,c){w(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);w(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){w(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;w(this,a,null,b,"PPI_CTRL",c);return c};
|
l.ko=function(a,b,c){w(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);w(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){w(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;w(this,a,null,b,"PPI_CTRL",c);return c};
|
||||||
l.mo=function(a,b,c){w(this,a,b,c,"PPI_CTRL");this.ga=b};l.Sl=function(a,b){var c=this.B?cp(this.B):0;w(this,a,null,b,"8041_KBD",c);this.aa&=~kp;return c};l.tn=function(a,b,c){w(this,a,b,c,"8041_KBD")};l.Rl=function(a,b){var c=this.J;w(this,a,null,b,"8041_CTRL",c);return c};l.sn=function(a,b,c){w(this,a,b,c,"8041_CTRL");dp(this,b)};l.Tl=function(a,b){var c=this.aa;w(this,a,null,b,"8041_STATUS",c);return c};
|
l.mo=function(a,b,c){w(this,a,b,c,"PPI_CTRL");this.ga=b};l.Sl=function(a,b){var c=this.B?cp(this.B):0;w(this,a,null,b,"8041_KBD",c);this.aa&=~kp;return c};l.tn=function(a,b,c){w(this,a,b,c,"8041_KBD")};l.Rl=function(a,b){var c=this.J;w(this,a,null,b,"8041_CTRL",c);return c};l.sn=function(a,b,c){w(this,a,b,c,"8041_CTRL");dp(this,b)};l.Tl=function(a,b){var c=this.aa;w(this,a,null,b,"8041_STATUS",c);return c};
|
||||||
|
|
@ -466,7 +466,7 @@ l.Vl=function(a,b){var c=this.J&~(zp|Ap)|(Ed(this.H)&64?Ap:0);w(this,a,null,b,"8
|
||||||
l.un=function(a,b,c){w(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.L=b;this.D|=np;a=0;this.L>=Bp&&(a=this.L^15,this.L=Bp);switch(this.L){case Cp:yp(this,this.K);break;case Dp:pp(this,this.K|Ol);break;case Ep:pp(this,this.K&~Ol);this.B&&mp(this.B);break;case Fp:this.B&&(a=this.B,a.A=[],t(a)&&Mb(a,"scan codes flushed"));pp(this,this.K|Ol);yp(this,Gp);rp(this,Yl|Zl);break;case Hp:yp(this,Ip);break;case Jp:yp(this,this.M);break;case Kp:yp(this,this.qa);break;case Lp:yp(this,this.K&Ol?0:Mp);break;case Bp:a&
|
l.un=function(a,b,c){w(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.L=b;this.D|=np;a=0;this.L>=Bp&&(a=this.L^15,this.L=Bp);switch(this.L){case Cp:yp(this,this.K);break;case Dp:pp(this,this.K|Ol);break;case Ep:pp(this,this.K&~Ol);this.B&&mp(this.B);break;case Fp:this.B&&(a=this.B,a.A=[],t(a)&&Mb(a,"scan codes flushed"));pp(this,this.K|Ol);yp(this,Gp);rp(this,Yl|Zl);break;case Hp:yp(this,Ip);break;case Jp:yp(this,this.M);break;case Kp:yp(this,this.qa);break;case Lp:yp(this,this.K&Ol?0:Mp);break;case Bp:a&
|
||||||
1&&kf(this.H)}};function pp(a,b){a.K=b;a.D=a.D&~Np|b&Op;a.B&&fp(a.B,!!(b&Pp),!(b&Ol))}function yp(a,b,c){0<=b&&(a.oa=b,c?a.D|=kp:(a.D&=~kp,a.D|=lp))}function rp(a,b){a.qa=b;oc(a.ka,!!(b&Zl));b&Yl||kf(a.H)}function Qp(a,b){a.ca<eh?(hh(a,Rp,4),a.aa|=kp):a.K&Ol||a.D&(kp|lp)||(yp(a,b,!0),Sp(a.B),hh(a,Rp,120))}function Tp(a,b,c,d){var e=a.C[b][1];w(a,c,null,d,"DIPSW-"+b,e,32768);return e}l.jm=function(a,b){w(this,a,null,b,"CMOS.ADDR",this.V,4096);return this.V};
|
1&&kf(this.H)}};function pp(a,b){a.K=b;a.D=a.D&~Np|b&Op;a.B&&fp(a.B,!!(b&Pp),!(b&Ol))}function yp(a,b,c){0<=b&&(a.oa=b,c?a.D|=kp:(a.D&=~kp,a.D|=lp))}function rp(a,b){a.qa=b;oc(a.ka,!!(b&Zl));b&Yl||kf(a.H)}function Qp(a,b){a.ca<eh?(hh(a,Rp,4),a.aa|=kp):a.K&Ol||a.D&(kp|lp)||(yp(a,b,!0),Sp(a.B),hh(a,Rp,120))}function Tp(a,b,c,d){var e=a.C[b][1];w(a,c,null,d,"DIPSW-"+b,e,32768);return e}l.jm=function(a,b){w(this,a,null,b,"CMOS.ADDR",this.V,4096);return this.V};
|
||||||
l.Kn=function(a,b,c){w(this,a,b,c,"CMOS.ADDR",null,4096);this.V=b;this.da=b&Up?ih:Vp};l.km=function(a,b){var c=this.V&Wp,d=c<=Dl?El(this,c):this.A[c];t(this,4352)&&w(this,a,null,b,"CMOS.DATA["+r(c)+"]",d,!0);null!=b&&c==Pm&&(this.A[c]&=Xp,d&Uo&&fh(this,Vo),d&To&&this.A[Rd]&Td&&Tm(this));return d};
|
l.Kn=function(a,b,c){w(this,a,b,c,"CMOS.ADDR",null,4096);this.V=b;this.da=b&Up?ih:Vp};l.km=function(a,b){var c=this.V&Wp,d=c<=Dl?El(this,c):this.A[c];t(this,4352)&&w(this,a,null,b,"CMOS.DATA["+r(c)+"]",d,!0);null!=b&&c==Pm&&(this.A[c]&=Xp,d&Uo&&fh(this,Vo),d&To&&this.A[Rd]&Td&&Tm(this));return d};
|
||||||
l.Ln=function(a,b,c){var d=this.V&Wp;t(this,4352)&&w(this,a,b,c,"CMOS.DATA["+r(d)+"]",null,!0);a=b^this.A[d];if(d<=Dl){if(c=b,d<Nm){var e=!1;this.A[Rd]&Rm||(c=10*(c>>4)+(c&15),e=!0);if(d==Gm||d==Hm)e&&23<c&&(c+=48),this.A[Rd]&Om||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Rd&&a&Td&&b&Td&&Tm(this)};l.Nk=function(a,b,c){w(this,a,b,c,"NMI");this.da=b};l.Vn=function(a,b,c){w(this,a,b,c,"FPU.CLEAR")};l.Wn=function(a,b,c){w(this,a,b,c,"FPU.RESET");this.Tc&&$g(this.Tc)};
|
l.Ln=function(a,b,c){var d=this.V&Wp;t(this,4352)&&w(this,a,b,c,"CMOS.DATA["+r(d)+"]",null,!0);a=b^this.A[d];if(d<=Dl){if(c=b,d<Nm){var e=!1;this.A[Rd]&Rm||(c=10*(c>>4)+(c&15),e=!0);if(d==pm||d==Hm)e&&23<c&&(c+=48),this.A[Rd]&Om||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Rd&&a&Td&&b&Td&&Tm(this)};l.Nk=function(a,b,c){w(this,a,b,c,"NMI");this.da=b};l.Vn=function(a,b,c){w(this,a,b,c,"FPU.CLEAR")};l.Wn=function(a,b,c){w(this,a,b,c,"FPU.RESET");this.Tc&&$g(this.Tc)};
|
||||||
l.Xm=function(a){if(t(this,16)&&Wk(this.ba,26,a)){var b=this.H.D>>8;Tf(this.H,a,function(a,d){return function(c){d=Ed(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+ta(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+ta(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(dg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Ed(this.H)))}return!0};
|
l.Xm=function(a){if(t(this,16)&&Wk(this.ba,26,a)){var b=this.H.D>>8;Tf(this.H,a,function(a,d){return function(c){d=Ed(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+ta(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+ta(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(dg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Ed(this.H)))}return!0};
|
||||||
function Vm(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.wb);var c=Math.round(ol/vo(a,wo));if(20>c||2E4<c)b=!1;b?a.I?(a.I.frequency.value=c,t(a,33554432)&&Mb(a,"speaker set to "+c+"hz",!0)):(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0),t(a,33554432)&&Mb(a,"speaker on at "+c+"hz",!0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I,
|
function Vm(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.wb);var c=Math.round(ol/vo(a,wo));if(20>c||2E4<c)b=!1;b?a.I?(a.I.frequency.value=c,t(a,33554432)&&Mb(a,"speaker set to "+c+"hz",!0)):(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0),t(a,33554432)&&Mb(a,"speaker on at "+c+"hz",!0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I,
|
||||||
t(a,33554432)&&Mb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Fa("AudioContext exception: "+d.message),a.la=null}else b&&Mb(a,"BEEP",33554432)}var kl=5150,cl=5150.9,eh=5170,ll=5160.101,xl=5180,bl={5150:kl,5160:5160,5170:eh,att6300:ll,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:cl};bl.deskpro386=xl;
|
t(a,33554432)&&Mb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Fa("AudioContext exception: "+d.message),a.la=null}else b&&Mb(a,"BEEP",33554432)}var kl=5150,cl=5150.9,eh=5170,ll=5160.101,xl=5180,bl={5150:kl,5160:5160,5170:eh,att6300:ll,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:cl};bl.deskpro386=xl;
|
||||||
|
|
@ -474,7 +474,7 @@ var el="sw1",il="sw2",ml="swdesc",Ul=3,un=1,vn=15,yn=3,zn=4,Cn=3,Ln=12,Pn=0,Mn=4
|
||||||
yc:48,Mg:4},gl=1,nl=3,hl=4,kn=5,ln=6,dn={};dn[kl]=[{},{}];dn[kl][0][gl]={yc:192,Zc:{1:0,2:64,3:128,4:192},Ed:"Number of Floppy Drives"};dn[kl][0][nl]={yc:2,Zc:{0:0,1:2},Ed:"FPU"};dn[kl][0][hl]={yc:48,Zc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Ed:"Monitor Type"};dn[kl][0][kn]={yc:12,Zc:{16:0,32:4,48:8,64:12},Ed:"Base Memory (16Kb Increments)"};
|
yc:48,Mg:4},gl=1,nl=3,hl=4,kn=5,ln=6,dn={};dn[kl]=[{},{}];dn[kl][0][gl]={yc:192,Zc:{1:0,2:64,3:128,4:192},Ed:"Number of Floppy Drives"};dn[kl][0][nl]={yc:2,Zc:{0:0,1:2},Ed:"FPU"};dn[kl][0][hl]={yc:48,Zc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Ed:"Monitor Type"};dn[kl][0][kn]={yc:12,Zc:{16:0,32:4,48:8,64:12},Ed:"Base Memory (16Kb Increments)"};
|
||||||
dn[kl][1][ln]={yc:31,Zc:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Ed:"Expansion Memory (32Kb Increments)"};dn[5160]=[{},{}];dn[5160][0][gl]=dn[kl][0][gl];dn[5160][0][nl]=dn[kl][0][nl];dn[5160][0][hl]=dn[kl][0][hl];dn[5160][0][kn]={yc:12,Zc:{64:0,128:4,192:8,256:12},Ed:"Base Memory (64Kb Increments)"};dn[5160][1][ln]=dn[kl][1][ln];dn[ll]=[{},{}];dn[ll][0][kn]={yc:143,Zc:{128:1,256:130,512:8,640:141},Ed:"Base Memory (128Kb Increments)"};
|
dn[kl][1][ln]={yc:31,Zc:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Ed:"Expansion Memory (32Kb Increments)"};dn[5160]=[{},{}];dn[5160][0][gl]=dn[kl][0][gl];dn[5160][0][nl]=dn[kl][0][nl];dn[5160][0][hl]=dn[kl][0][hl];dn[5160][0][kn]={yc:12,Zc:{64:0,128:4,192:8,256:12},Ed:"Base Memory (64Kb Increments)"};dn[5160][1][ln]=dn[kl][1][ln];dn[ll]=[{},{}];dn[ll][0][kn]={yc:143,Zc:{128:1,256:130,512:8,640:141},Ed:"Base Memory (128Kb Increments)"};
|
||||||
dn[ll][0][nl]={yc:16,Zc:{0:0,1:16},Ed:"FPU"};dn[ll][1][2]={yc:1,Zc:{0:0,1:1},Ed:"Floppy Type"};dn[ll][1][gl]=dn[kl][0][gl];dn[ll][1][hl]=dn[kl][0][hl];
|
dn[ll][0][nl]={yc:16,Zc:{0:0,1:16},Ed:"FPU"};dn[ll][1][2]={yc:1,Zc:{0:0,1:1},Ed:"Floppy Type"};dn[ll][1][gl]=dn[kl][0][gl];dn[ll][1][hl]=dn[kl][0][hl];
|
||||||
var Op=4,Pp=8,Ol=16,Gp=85,Ip=0,Wl=4,Xl=8,Sl=16,Pl=32,Vl=64,Ql=128,Yl=1,Zl=2,Mp=1,Ap=16,zp=192,Cp=32,op=96,Fp=170,Hp=171,Dp=173,Ep=174,Jp=192,Kp=208,qp=209,Lp=224,Bp=240,kp=1,Np=4,np=8,Nl=16,lp=256,lm=0,mm=1,nm=2,om=3,Gm=4,Hm=5,Im=6,Jm=7,Km=8,Lm=9,Nm=10,Rd=11,Pm=12,Dl=13,cm=14,im=16,hm=20,am=21,bm=24,dm=46,Um=47,Mm=50,Wp=63,Cl=64,Up=128,Sm=128,Yo=128,Td=64,Xo=32,$o=16,Rm=4,Om=2,Uo=128,To=64,Wo=32,Zo=16,Xp=15,Qm=128,jn=0,en=1,gn=2,fn=3,hn=4,Vp=128,ih=0,Wm=[0,null,null,0,Array(4),0],Ym=[!0,[0,0],[0,
|
var Op=4,Pp=8,Ol=16,Gp=85,Ip=0,Wl=4,Xl=8,Sl=16,Pl=32,Vl=64,Ql=128,Yl=1,Zl=2,Mp=1,Ap=16,zp=192,Cp=32,op=96,Fp=170,Hp=171,Dp=173,Ep=174,Jp=192,Kp=208,qp=209,Lp=224,Bp=240,kp=1,Np=4,np=8,Nl=16,lp=256,lm=0,mm=1,nm=2,om=3,pm=4,Hm=5,Im=6,Jm=7,Km=8,Lm=9,Nm=10,Rd=11,Pm=12,Dl=13,cm=14,im=16,hm=20,am=21,bm=24,dm=46,Um=47,Mm=50,Wp=63,Cl=64,Up=128,Sm=128,Yo=128,Td=64,Xo=32,$o=16,Rm=4,Om=2,Uo=128,To=64,Wo=32,Zo=16,Xp=15,Qm=128,jn=0,en=1,gn=2,fn=3,hn=4,Vp=128,ih=0,Wm=[0,null,null,0,Array(4),0],Ym=[!0,[0,0],[0,
|
||||||
0],[0,0],[0,0]],$m=[0,Array(4)],an=[[0,0],[0,0],[0,0],[0,0]],pl={0:function(a,b){return on(this,0,0,a,b)},1:function(a,b){return rn(this,0,0,a,b)},2:function(a,b){return on(this,0,1,a,b)},3:function(a,b){return rn(this,0,1,a,b)},4:function(a,b){return on(this,0,2,a,b)},5:function(a,b){return rn(this,0,2,a,b)},6:function(a,b){return on(this,0,3,a,b)},7:function(a,b){return rn(this,0,3,a,b)},8:function(a,b){return tn(this,0,a,b)},13:function(a,b){return Dn(this,0,a,b)},32:function(a,b){return Sn(this,
|
0],[0,0],[0,0]],$m=[0,Array(4)],an=[[0,0],[0,0],[0,0],[0,0]],pl={0:function(a,b){return on(this,0,0,a,b)},1:function(a,b){return rn(this,0,0,a,b)},2:function(a,b){return on(this,0,1,a,b)},3:function(a,b){return rn(this,0,1,a,b)},4:function(a,b){return on(this,0,2,a,b)},5:function(a,b){return rn(this,0,2,a,b)},6:function(a,b){return on(this,0,3,a,b)},7:function(a,b){return rn(this,0,3,a,b)},8:function(a,b){return tn(this,0,a,b)},13:function(a,b){return Dn(this,0,a,b)},32:function(a,b){return Sn(this,
|
||||||
Il,b)},33:function(a,b){return io(this,Il,b)},64:function(a,b){return no(this,so,to,a,b)},65:function(a,b){return no(this,so,1,a,b)},66:function(a,b){return no(this,so,wo,a,b)},67:function(a,b){return xo(this,so,a,b)},129:function(a,b){return Fn(this,0,2,a,b)},130:function(a,b){return Fn(this,0,3,a,b)},131:function(a,b){return Fn(this,0,1,a,b)},135:function(a,b){return Fn(this,0,0,a,b)}},rl={96:al.prototype.Gm,97:al.prototype.Hm,98:al.prototype.Im,99:al.prototype.Jm},vl={96:al.prototype.Ul,97:al.prototype.Vl,
|
Il,b)},33:function(a,b){return io(this,Il,b)},64:function(a,b){return no(this,so,to,a,b)},65:function(a,b){return no(this,so,1,a,b)},66:function(a,b){return no(this,so,wo,a,b)},67:function(a,b){return xo(this,so,a,b)},129:function(a,b){return Fn(this,0,2,a,b)},130:function(a,b){return Fn(this,0,3,a,b)},131:function(a,b){return Fn(this,0,1,a,b)},135:function(a,b){return Fn(this,0,0,a,b)}},rl={96:al.prototype.Gm,97:al.prototype.Hm,98:al.prototype.Im,99:al.prototype.Jm},vl={96:al.prototype.Ul,97:al.prototype.Vl,
|
||||||
100:al.prototype.Wl,112:al.prototype.jm,113:al.prototype.km,128:function(a,b){return Hn(this,7,a,b)},132:function(a,b){return Hn(this,0,a,b)},133:function(a,b){return Hn(this,1,a,b)},134:function(a,b){return Hn(this,2,a,b)},136:function(a,b){return Hn(this,3,a,b)},137:function(a,b){return Fn(this,1,2,a,b)},138:function(a,b){return Fn(this,1,3,a,b)},139:function(a,b){return Fn(this,1,1,a,b)},140:function(a,b){return Hn(this,4,a,b)},141:function(a,b){return Hn(this,5,a,b)},142:function(a,b){return Hn(this,
|
100:al.prototype.Wl,112:al.prototype.jm,113:al.prototype.km,128:function(a,b){return Hn(this,7,a,b)},132:function(a,b){return Hn(this,0,a,b)},133:function(a,b){return Hn(this,1,a,b)},134:function(a,b){return Hn(this,2,a,b)},136:function(a,b){return Hn(this,3,a,b)},137:function(a,b){return Fn(this,1,2,a,b)},138:function(a,b){return Fn(this,1,3,a,b)},139:function(a,b){return Fn(this,1,1,a,b)},140:function(a,b){return Hn(this,4,a,b)},141:function(a,b){return Hn(this,5,a,b)},142:function(a,b){return Hn(this,
|
||||||
|
|
@ -717,15 +717,15 @@ var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6]
|
||||||
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.L=+a.base||16;this.Ha=null;this.qa=["{","}"];this.Aa=["[","]"];this.Y=this.ha=this.M=0;this.da=!1;this.A=-1;this.C=[];this.ga={}}
|
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.L=+a.base||16;this.Ha=null;this.qa=["{","}"];this.Aa=["[","]"];this.Y=this.ha=this.M=0;this.da=!1;this.A=-1;this.C=[];this.ga={}}
|
||||||
ba(Wx,nb);Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
ba(Wx,nb);Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||||
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.da?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.da?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||||
function Xx(a){var b,c=a;b=b||32;32>=b?c=a|0:(b=Math.pow(2,b-1),a<-b?c=a%b:a>=2*b&&(c=a%(2*b)));a!=c&&(a=c);return a}
|
function Xx(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a|0:(b=Math.pow(2,b-1),a<-b?d=a%b:a>=2*b&&(d=a%(2*b)));a!=d&&(a=d);return a}
|
||||||
function Yx(a,b,c){for(c=void 0===c?-1:c;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=Math.trunc(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;
|
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "%":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
||||||
case "&":d=f&e;break;case "!":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;if(e=35-(e&255))0>d&&(d+=Math.pow(2,36)),d=0<e?d*Math.pow(2,e):Math.trunc(d/Math.pow(2,-e));break;default:return!1}a.push(Xx(d))}return!0}
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Xx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Xx(e))}return!0}
|
||||||
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=!1,v=[],u=[],E=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=$x(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Zx(a,b,p,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("-"!=k){m=!0;break}p=!0;continue}if(void 0===p)if(null==a.Ha&&f)a.Ha=h,p=0;else{m=!0;f=!f;break}v.push(Xx(p));if(!k)break;u.length&&ay[k]<ay[u[u.length-1]]&&Yx(v,u,1);u.push(k);a.L="><"==k?10:e;p=!1}Yx(v,
|
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=$x(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Zx(a,b,p,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("~"==k||"^-"==k){p=1;continue}if("-"==k){p=-1;continue}m=!0;break}if(void 0===p)if(null==a.Ha&&f)a.Ha=h,p=0;else{m=!0;f=!f;break}v.push(Xx(p));if(!k)break;u.length&&ay[k]<ay[u[u.length-1]]&&Yx(v,u,1);
|
||||||
u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2><"),b=b.split(/(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&cy(a,null,d));return d}
|
u.push(k);a.L="^_"==k?10:e;p=0}Yx(v,u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&cy(a,null,d));return d}
|
||||||
function dy(a,b){var c,d=a.qa[0],e=a.qa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=by(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
function dy(a,b){var c,d=a.qa[0],e=a.qa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=by(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
||||||
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(f=oa(e?"-"+b:b,a.L),e=!1)),null!=f?e&&(f=-f):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(0>e&&(b="-"+b,e=0),f=oa(b,a.L))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}
|
||||||
function fy(a,b){if(b)return cy(a,b,a.ga[b]);var c=0;for(b in a.ga)cy(a,b,a.ga[b]),c++;return 0<c}function ey(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function fy(a,b){if(b)return cy(a,b,a.ga[b]);var c=0;for(b in a.ga)cy(a,b,a.ga[b]),c++;return 0<c}
|
||||||
var ay={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,"><":10,"{":11,"}":11};
|
function ey(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||||
function gy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=hy(this);this.Ta=hy(this);this.aa=hy(this);this.D=[];this.B=this.Z=this.N=[];iy(this);this.xa=0;jy(this);this.Ba={};ky(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ly(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ly(b,a)})}ba(gy,Wx);l=gy.prototype;
|
function gy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=hy(this);this.Ta=hy(this);this.aa=hy(this);this.D=[];this.B=this.Z=this.N=[];iy(this);this.xa=0;jy(this);this.Ba={};ky(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ly(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ly(b,a)})}ba(gy,Wx);l=gy.prototype;
|
||||||
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ky(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=my;80186<=this.H.ca&&(this.oa=my.slice(),this.oa[15]=ny,80286<=this.H.ca&&(this.oa[15]=oy,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){py(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=qy(d,
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ky(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=my;80186<=this.H.ca&&(this.oa=my.slice(),this.oa[15]=ny,80286<=this.H.ca&&(this.oa[15]=oy,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){py(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=qy(d,
|
||||||
b,ry),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=sy[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+ty(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
b,ry),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=sy[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+ty(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
||||||
|
|
@ -804,23 +804,23 @@ Py(a,g[1],!0);if(v)if(a.aa=v,void 0===g[2])a.P("begin assemble at "+Fy(v)),a.da=
|
||||||
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=K.charAt(1);if("l"==T){var L;L=0+Vz(a,a.B);L+=Vz(a,a.Z);(L+=Vz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Py(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(iy(a),a.P("all breakpoints cleared")):Ey(a,
|
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=K.charAt(1);if("l"==T){var L;L=0+Vz(a,a.B);L+=Vz(a,a.Z);(L+=Vz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Py(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(iy(a),a.P("all breakpoints cleared")):Ey(a,
|
||||||
a.B,ua)||Ey(a,a.Z,ua)||Ey(a,a.N,ua)||a.P("breakpoint missing: "+Fy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Sy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":$A(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.Ba[xb]&&
|
a.B,ua)||Ey(a,a.Z,ua)||Ey(a,a.N,ua)||a.P("breakpoint missing: "+Fy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Sy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":$A(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.Ba[xb]&&
|
||||||
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=iB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=iB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||||
($A(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(uy(tg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var pm=ca[0];if(pm){var Og=a.Sb(Py(a,pm));if(-1===Og)a.P("invalid address: "+pm);else{var nf,
|
($A(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(uy(tg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Og=a.Sb(Py(a,qm));if(-1===Og)a.P("invalid address: "+qm);else{var nf,
|
||||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Uy(nf.Ti,nf.Aj)),ve=
|
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Uy(nf.Ti,nf.Aj)),ve=
|
||||||
ve+(" %%"+Uy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";dB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var vt=a.Ba[xb];vt?(ca.shift(),ca.shift(),vt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.lb||"db")}else a.lb=za;if("dh"==za){var wt=cb,xt=Sa,yt="",zt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+wt||a.Ya,Pg=+xt||10;isNaN(uc)?uc=Pg:yt="more ";uc>jd.length&&(a.P("note: only "+
|
ve+(" %%"+Uy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";dB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var vt=a.Ba[xb];vt?(ca.shift(),ca.shift(),vt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.lb||"db")}else a.lb=za;if("dh"==za){var wt=cb,xt=Sa,yt="",zt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+wt||a.Ya,Pg=+xt||10;isNaN(uc)?uc=Pg:yt="more ";uc>jd.length&&(a.P("note: only "+
|
||||||
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var qm=[];"call"==xt&&(Pg=1E5,qm=["CALL"]);for(void 0!==wt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=hy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),ZB=uc--,At=Xz(a,Qg,"history",ZB);(!qm.length||0<=At.indexOf(qm[0]))&&a.P(At);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;zt++;Pg--}}zt||(a.P("no "+yt+"history available"),a.Ya=
|
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==xt&&(Pg=1E5,rm=["CALL"]);for(void 0!==wt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=hy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),ZB=uc--,At=Xz(a,Qg,"history",ZB);(!rm.length||0<=At.indexOf(rm[0]))&&a.P(At);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;zt++;Pg--}}zt||(a.P("no "+yt+"history available"),a.Ya=
|
||||||
void 0)}else if("di"==za){ca.shift();var rm=ca[0];if(rm){var Rg=$x(a,rm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+rm);else{var Bt="&",Ct=!!(a.H.qa&1),Dt=!1,Ui=a.H.Pb+(Rg<<(Ct?3:2)),Et=a.H.ja(Ui+0),$B=a.H.ja(Ui+2);Ct&&(Bt="#",a.H.ja(Ui+4)&2048&&(Dt=!0,Et|=a.H.ja(Ui+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Bt+q($B,4)+":"+q(Et,Dt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Py(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Vi=0;Sa&&("l"==Sa.charAt(0)&&
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Rg=$x(a,sm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+sm);else{var Bt="&",Ct=!!(a.H.qa&1),Dt=!1,Ui=a.H.Pb+(Rg<<(Ct?3:2)),Et=a.H.ja(Ui+0),$B=a.H.ja(Ui+2);Ct&&(Bt="#",a.H.ja(Ui+4)&2048&&(Dt=!0,Et|=a.H.ja(Ui+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Bt+q($B,4)+":"+q(Et,Dt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Py(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Vi=0;Sa&&("l"==Sa.charAt(0)&&
|
||||||
(Sa=Sa.substr(1)||rb),Vi=$x(a,Sa)>>>0,65536<Vi&&(Vi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Wi=qf*Vi||128,aC=Wi+15>>4||1;aC--&&0<Wi;){var Tg=0,sm=0,Ug,tm="",Ft="",cb=Fy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Wi;Ug--){var Xi=a.Ia(pf,1),Tg=Tg|Xi<<(sm++<<3);sm==qf&&(tm+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),tm+=1==qf?9==Ug?"-":" ":" ",Tg=sm=0);Ft+=32<=Xi&&128>Xi?String.fromCharCode(Xi):".";Wi--}Sg&&(Sg+="\n");Sg+=cb+" "+tm+(Ug?"":" "+Ft)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Yi=
|
(Sa=Sa.substr(1)||rb),Vi=$x(a,Sa)>>>0,65536<Vi&&(Vi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Wi=qf*Vi||128,aC=Wi+15>>4||1;aC--&&0<Wi;){var Tg=0,tm=0,Ug,um="",Ft="",cb=Fy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Wi;Ug--){var Xi=a.Ia(pf,1),Tg=Tg|Xi<<(tm++<<3);tm==qf&&(um+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),um+=1==qf?9==Ug?"-":" ":" ",Tg=tm=0);Ft+=32<=Xi&&128>Xi?String.fromCharCode(Xi):".";Wi--}Sg&&(Sg+="\n");Sg+=cb+" "+um+(Ug?"":" "+Ft)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Yi=
|
||||||
1,Gt=255,Ht=a.Ia,It=a.fc;"ew"==g[0]&&(Yi=2,Gt=65535,Ht=a.Yc,It=a.il);var Jt=Yi<<1,Kt=g[1];if(null==Kt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Zi=Py(a,Kt);if(Zi)for(var $i=2;$i<g.length;$i++){var Vg=by(a,g[$i]);if(void 0===Vg){a.P("unrecognized value: "+g[$i]);break}Vg&~Gt&&a.P("warning: "+q(Vg)+" exceeds "+Yi+"-byte value");var bC=Ht.call(a,Zi);a.P("changing "+Fy(Zi)+" from "+q(bC,Jt,!0)+" to "+q(Vg,Jt,!0));
|
1,Gt=255,Ht=a.Ia,It=a.fc;"ew"==g[0]&&(Yi=2,Gt=65535,Ht=a.Yc,It=a.il);var Jt=Yi<<1,Kt=g[1];if(null==Kt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Zi=Py(a,Kt);if(Zi)for(var $i=2;$i<g.length;$i++){var Vg=by(a,g[$i]);if(void 0===Vg){a.P("unrecognized value: "+g[$i]);break}Vg&~Gt&&a.P("warning: "+q(Vg)+" exceeds "+Yi+"-byte value");var bC=Ht.call(a,Zi);a.P("changing "+Fy(Zi)+" from "+q(bC,Jt,!0)+" to "+q(Vg,Jt,!0));
|
||||||
It.call(a,Zi,Vg,Yi)}}break;case "f":aB(a,g[1]);break;case "g":a:{var Lt=g[1],cC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Lt){var um=Py(a,Lt,!0);if(!um)break a;Sy(a,um,cC);a.Gd(a.B,um,!0)}Nz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var vm;if(a.ea.wb)vm="halting",a.Jb();else{if(Kb(a,!0))break a;vm="already halted"}c||a.P(vm)}break;case "i":if("if"==g[0]){var wm;var Wg=b.substr(2),Wg=Ca(Wg);by(a,Wg)?(c||a.P("true: "+Wg),wm=!0):(c||a.P("false: "+Wg),wm=!1);wm||(d=!1);
|
It.call(a,Zi,Vg,Yi)}}break;case "f":aB(a,g[1]);break;case "g":a:{var Lt=g[1],cC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Lt){var vm=Py(a,Lt,!0);if(!vm)break a;Sy(a,vm,cC);a.Gd(a.B,vm,!0)}Nz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.wb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Wg=b.substr(2),Wg=Ca(Wg);by(a,Wg)?(c||a.P("true: "+Wg),xm=!0):(c||a.P("false: "+Wg),xm=!1);xm||(d=!1);
|
||||||
break}if("int"==g[0]){var aj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;aj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;aj=!0;break a;default:aj=!1}aj||(d=!1);break}var xm=g[1];if(xm&&"?"!=xm){var ym=$x(a,xm);if(void 0!==ym){var dC=Pc(a.ka,ym,1);a.P(ta(ym)+": "+r(dC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var eC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
break}if("int"==g[0]){var aj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;aj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;aj=!0;break a;default:aj=!1}aj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var dC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(dC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var eC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||||
a.P("\tks\tshow symbol information");else{var zm=0,Mt=a.H.Z.U,Xg=hy(a),Sd=hy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Fy(Sd));10>zm;){for(var kd=null,fC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!fC--)break;Xg.U=Mt;if(kd=gB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=gB(a,Xg,!0)){Mt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Nt=null;if("ks"==eC){var Ot=kd.match(/[0-9A-F]+$/);Ot&&(Nt=cB(a,Ot[0]))}kd=Ba(kd,50)+" ;"+(Nt||"stack="+Fy(Sd));a.P(kd);zm++}zm||
|
a.P("\tks\tshow symbol information");else{var Am=0,Mt=a.H.Z.U,Xg=hy(a),Sd=hy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Fy(Sd));10>Am;){for(var kd=null,fC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!fC--)break;Xg.U=Mt;if(kd=gB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=gB(a,Xg,!0)){Mt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Nt=null;if("ks"==eC){var Ot=kd.match(/[0-9A-F]+$/);Ot&&(Nt=cB(a,Ot[0]))}kd=Ba(kd,50)+" ;"+(Nt||"stack="+Fy(Sd));a.P(kd);Am++}Am||
|
||||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){cB(a,g[1],!0);break}dB(a,g);break;case "m":if("mouse"==g[0]){var Am=g[1],bj=g[2];if(a.G){var Pt=1;"-"==bj.charAt(0)&&(Pt=-1,bj=bj.substr(1));var xe=$x(a,bj,Am);if(void 0!==xe)switch(xe=xe*Pt|0,Am){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Am)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){cB(a,g[1],!0);break}dB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],bj=g[2];if(a.G){var Pt=1;"-"==bj.charAt(0)&&(Pt=-1,bj=bj.substr(1));var xe=$x(a,bj,Bm);if(void 0!==xe)switch(xe=xe*Pt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
||||||
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var gC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var hC=!!(a.ic&Sb[ld]);if(null===md||md==hC)Yg&&(Yg+=","),++gC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var gC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var hC=!!(a.ic&Sb[ld]);if(null===md||md==hC)Yg&&(Yg+=","),++gC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||||
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Yg||"none"));jy(a)}break;case "o":var Bm=g[1],iC=g[2];if(Bm&&"?"!=Bm){var Cm=$x(a,Bm,"port #"),Dm=$x(a,iC);void 0!==Cm&&void 0!==Dm&&(Tc(a.ka,Cm,1,Dm),a.P(ta(Cm)+": "+r(Dm)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){fB(a,b.substr(5));break}var Qt="pr"==g[0]?1:0,rf=1+Qt;if(a.I)a.P("step in progress");
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Yg||"none"));jy(a)}break;case "o":var Cm=g[1],iC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,iC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){fB(a,b.substr(5));break}var Qt="pr"==g[0]?1:0,rf=1+Qt;if(a.I)a.P("step in progress");
|
||||||
else{var cj,Rt=!1,Hb=hy(a,A(a.H),a.H.Z.U);do switch(cj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ky(a,Hb,1);cj=!0;break;case 204:case 206:a.I=rf;Ky(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ky(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ky(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ky(a,Hb,Hb.Hb?7:5);break;case 255:var St=a.jb(Hb)&14591;if(4351==St||6399==St)a.I=rf,Xz(a,Hb);break;case 243:case 242:Ky(a,Hb,1);Rt=cj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Rt&&
|
else{var cj,Rt=!1,Hb=hy(a,A(a.H),a.H.Z.U);do switch(cj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ky(a,Hb,1);cj=!0;break;case 204:case 206:a.I=rf;Ky(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ky(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ky(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ky(a,Hb,Hb.Hb?7:5);break;case 255:var St=a.jb(Hb)&14591;if(4351==St||6399==St)a.I=rf,Xz(a,Hb);break;case 243:case 242:Ky(a,Hb,1);Rt=cj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Rt&&
|
||||||
(a.I=rf,Ky(a,Hb,1))}while(cj);a.I?(a.Gd(a.B,Hb,!0),Nz(a)||(a.pa&&a.pa.ld(),a.I=0)):hB(a,Qt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Pz(a,g);break;case "t":hB(a,g[0],g[1]);break;case "u":Qz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
(a.I=rf,Ky(a,Hb,1))}while(cj);a.I?(a.Gd(a.B,Hb,!0),Nz(a)||(a.pa&&a.pa.ld(),a.I=0)):hB(a,Qt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Pz(a,g);break;case "t":hB(a,g[0],g[1]);break;case "u":Qz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
||||||
switch(g[2]){case "int":a.H.T.Se=Zg;break;case "start":a.H.T.wf=Zg;break;case "stop":a.H.T.Ue=Zg;break;default:a.P("unknown cs option");break a}void 0!==Zg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
switch(g[2]){case "int":a.H.T.Se=Zg;break;case "start":a.H.T.wf=Zg;break;case "stop":a.H.T.Ue=Zg;break;default:a.P("unknown cs option");break a}void 0!==Zg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){fB(a,b.substr(1));break}var Em="commands:",Fm;for(Fm in jB)Em+="\n"+Ba(Fm,7)+jB[Fm];Jg(a)||(Em+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Em);break;default:a.P("unknown command: "+b),d=!1}}}catch(Ut){a.P("debugger error: "+(Ut.stack||Ut.message)),d=!1}return d}
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){fB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in jB)Fm+="\n"+Ba(Gm,7)+jB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Ut){a.P("debugger error: "+(Ut.stack||Ut.message)),d=!1}return d}
|
||||||
function ly(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Wz(a,b[+d]))return!1;return!0}
|
function ly(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Wz(a,b[+d]))return!1;return!0}
|
||||||
var Kz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jz=[26,28,40,42,109],jB={"?":"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",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
var Kz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jz=[26,28,40,42,109],jB={"?":"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",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Qy=0,Iy=1,ry=2,Ty=3,Ry=4,Jy=5,eA=18,fA=28,aA=36,jA=80,gA=104,hA=107,Zz=176,Yz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Qy=0,Iy=1,ry=2,Ty=3,Ry=4,Jy=5,eA=18,fA=28,aA=36,jA=80,gA=104,hA=107,Zz=176,Yz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||||
|
|
|
||||||
|
|
@ -1050,7 +1050,7 @@ class DebuggerPDP10 extends Debugger {
|
||||||
if (this.sInitCommands) {
|
if (this.sInitCommands) {
|
||||||
var sCmds = this.sInitCommands;
|
var sCmds = this.sInitCommands;
|
||||||
this.sInitCommands = null;
|
this.sInitCommands = null;
|
||||||
this.doCommands(sCmds);
|
this.doCommands(sCmds, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,17 +57,21 @@ var Mac;
|
||||||
* name:(string),
|
* name:(string),
|
||||||
* value:(number),
|
* value:(number),
|
||||||
* nLine:(number),
|
* nLine:(number),
|
||||||
* fLabel:(boolean),
|
* nType:(number)
|
||||||
* fGlobal:(boolean),
|
|
||||||
* fPrivate:(boolean)
|
|
||||||
* }}
|
* }}
|
||||||
*/
|
*/
|
||||||
var Sym;
|
var Sym;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
|
* Elements of aFixups.
|
||||||
|
*
|
||||||
|
* NOTE: The nLine property is not required; it's added for DEBUG support.
|
||||||
|
*
|
||||||
* @typedef {{
|
* @typedef {{
|
||||||
* nLocation:(number),
|
* nLocation:(number),
|
||||||
* sValue:(string)
|
* sValue:(string),
|
||||||
|
* nLine:(number)
|
||||||
* }}
|
* }}
|
||||||
*/
|
*/
|
||||||
var Fixup;
|
var Fixup;
|
||||||
|
|
@ -79,9 +83,9 @@ var Fixup;
|
||||||
* @property {string} sOptions
|
* @property {string} sOptions
|
||||||
* @property {DebuggerPDP10} dbg
|
* @property {DebuggerPDP10} dbg
|
||||||
* @property {function(...)} done
|
* @property {function(...)} done
|
||||||
* @property {string} sText
|
|
||||||
* @property {number} iURL
|
* @property {number} iURL
|
||||||
* @property {Array.<string>} asURLs
|
* @property {Array.<string>} asURLs
|
||||||
|
* @property {Array.<string>} asLines
|
||||||
*/
|
*/
|
||||||
class Macro10 {
|
class Macro10 {
|
||||||
/**
|
/**
|
||||||
|
|
@ -138,8 +142,8 @@ class Macro10 {
|
||||||
* the LITERAL blocks in tblMacros and process the associated statement(s) at that time.
|
* the LITERAL blocks in tblMacros and process the associated statement(s) at that time.
|
||||||
*
|
*
|
||||||
* Macros have the name that was assigned to them, REPEAT and conditional blocks have generated names
|
* Macros have the name that was assigned to them, REPEAT and conditional blocks have generated names
|
||||||
* that match the pseudo-op (eg, "_REPEAT", "_IFE"), and LITERAL blocks have generated location-based
|
* that match the pseudo-op (eg, "?REPEAT", "?IFE"), and LITERAL blocks have generated location-based
|
||||||
* names. All generated names use a leading underscore ('_') so that they don't conflict with
|
* names. All generated names use a leading question mark ('?') so that they don't conflict with
|
||||||
* normal MACRO-10 labels.
|
* normal MACRO-10 labels.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -194,7 +198,11 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
this.sASCII = "";
|
this.sASCII = "";
|
||||||
|
|
||||||
this.sText = "";
|
/**
|
||||||
|
* @type {Array.<string>}
|
||||||
|
*/
|
||||||
|
this.asLines = [];
|
||||||
|
|
||||||
this.iURL = 0;
|
this.iURL = 0;
|
||||||
this.asURLs = sURL.split(';');
|
this.asURLs = sURL.split(';');
|
||||||
|
|
||||||
|
|
@ -209,7 +217,7 @@ class Macro10 {
|
||||||
loadNextResource()
|
loadNextResource()
|
||||||
{
|
{
|
||||||
if (this.iURL == this.asURLs.length) {
|
if (this.iURL == this.asURLs.length) {
|
||||||
this.done(this.parseFile());
|
this.done(this.parseResources());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -243,8 +251,9 @@ class Macro10 {
|
||||||
match = sText.match(/&[a-z]+;/i);
|
match = sText.match(/&[a-z]+;/i);
|
||||||
if (match) macro10.warning("unrecognized HTML entity: " + match[0]);
|
if (match) macro10.warning("unrecognized HTML entity: " + match[0]);
|
||||||
}
|
}
|
||||||
if (macro10.sText) macro10.sText += '\n';
|
|
||||||
macro10.sText += sText;
|
macro10.asLines = macro10.asLines.concat(sText.split(/(\r?\n)/));
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
macro10.loadNextResource();
|
macro10.loadNextResource();
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
@ -265,14 +274,14 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parseFile()
|
* parseResources()
|
||||||
*
|
*
|
||||||
* Begin the assembly process.
|
* Begin the assembly process.
|
||||||
*
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
parseFile()
|
parseResources()
|
||||||
{
|
{
|
||||||
var macro10 = this;
|
var macro10 = this;
|
||||||
|
|
||||||
|
|
@ -280,17 +289,22 @@ class Macro10 {
|
||||||
* If the "preprocess" option is set, then just return the plain text we retrieved.
|
* If the "preprocess" option is set, then just return the plain text we retrieved.
|
||||||
*/
|
*/
|
||||||
if (this.sOptions.indexOf('p') >= 0) {
|
if (this.sOptions.indexOf('p') >= 0) {
|
||||||
this.println(this.sText);
|
this.println(this.asLines.join());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var a = this.dbg.resetVariables();
|
var a = this.dbg.resetVariables();
|
||||||
try {
|
try {
|
||||||
var i;
|
var i;
|
||||||
var asLines = this.sText.split(/\r?\n/);
|
for (i = 0; i < this.asLines.length; i += 2) {
|
||||||
for (i = 0; i < asLines.length; i++) {
|
|
||||||
this.nLine++;
|
this.nLine++;
|
||||||
if (!this.parseLine(asLines[i] + '\r\n')) break;
|
/*
|
||||||
|
* Since, at this early stage, I'm not sure whether all the resources I'm interested in
|
||||||
|
* assembling have had their original CR/LF line endings preserved (eg, some files may have
|
||||||
|
* been converted to LF-only line endings), I'm going to skip over whatever line endings
|
||||||
|
* are in the array and insert my own uniform CR/LF sequences.
|
||||||
|
*/
|
||||||
|
if (!this.parseLine(this.asLines[i] + '\r\n')) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.nMacroDef) {
|
if (this.nMacroDef) {
|
||||||
|
|
@ -338,9 +352,10 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
parseLine(sLine)
|
parseLine(sLine)
|
||||||
{
|
{
|
||||||
|
var i;
|
||||||
if (this.nMacroDef) {
|
if (this.nMacroDef) {
|
||||||
if (this.nMacroDef == 1) {
|
if (this.nMacroDef == 1) {
|
||||||
var i = sLine.indexOf(this.chMacroOpen);
|
i = sLine.indexOf(this.chMacroOpen);
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
this.nMacroDef++;
|
this.nMacroDef++;
|
||||||
sLine = sLine.substr(i+1);
|
sLine = sLine.substr(i+1);
|
||||||
|
|
@ -358,41 +373,42 @@ class Macro10 {
|
||||||
sLine = this.addASCII(sLine);
|
sLine = this.addASCII(sLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
var reLine = /\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)(;?[\s\S]*)/i;
|
var reLine = /\s*([A-Z$%.?][0-9A-Z$%.]*:|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)(;?[\s\S]*)/i;
|
||||||
var match = sLine.match(reLine);
|
var matchLine = sLine.match(reLine);
|
||||||
if (!match || match[4] && match[4].slice(0, 1) != ';') {
|
if (!matchLine || matchLine[4] && matchLine[4].slice(0, 1) != ';') {
|
||||||
this.error("failed to parse line: " + sLine);
|
this.error("failed to parse line: " + sLine);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var sLabel = match[1];
|
var sLabel = matchLine[1];
|
||||||
var sOperator = match[2].toUpperCase();
|
var sOperator = matchLine[2].toUpperCase();
|
||||||
var sOperands = match[3].trim();
|
var sOperands = matchLine[3].trim();
|
||||||
var sComment = match[4];
|
var sComment = matchLine[4];
|
||||||
var sRemainder = match[3] + match[4];
|
var sRemainder = matchLine[3] + matchLine[4];
|
||||||
|
|
||||||
if (sLabel) {
|
if (sLabel) {
|
||||||
var chSep = sLabel.slice(-1);
|
|
||||||
sLabel = sLabel.slice(0, -1);
|
sLabel = sLabel.slice(0, -1);
|
||||||
if (chSep == ':') {
|
this.addSymbol(sLabel, this.nLocation, Macro10.SYMTYPE.LABEL);
|
||||||
this.addLabel(sLabel);
|
}
|
||||||
} else {
|
|
||||||
sOperands = sOperator + sOperands;
|
var matchOp;
|
||||||
sOperator = chSep;
|
if (sOperator && (matchOp = sOperands.match(/^([=:]+)(.*)/))) {
|
||||||
|
var nType = 0;
|
||||||
|
sLabel = sOperator;
|
||||||
|
sOperator = matchOp[1];
|
||||||
|
sOperands = matchOp[2];
|
||||||
|
if (sOperator == '==') {
|
||||||
|
nType |= Macro10.SYMTYPE.PRIVATE;
|
||||||
}
|
}
|
||||||
|
else if (sOperator == '=:') {
|
||||||
|
nType |= Macro10.SYMTYPE.INTERNAL;
|
||||||
|
}
|
||||||
|
this.addSymbol(sLabel, sOperands, nType);
|
||||||
|
sOperator = sOperands = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sOperator && !sOperands) return true;
|
if (!sOperator && !sOperands) return true;
|
||||||
|
|
||||||
/*
|
|
||||||
* My initial read of the MACRO-10 specification suggested that lines may begin with EITHER
|
|
||||||
* "symbol:" (for a label) or "symbol=" (for an assignment), but apparently they can have BOTH.
|
|
||||||
*/
|
|
||||||
if (sOperands[0] == '=') {
|
|
||||||
sLabel = sOperator;
|
|
||||||
sOperands = sOperands.substr(1);
|
|
||||||
sOperator = '=';
|
|
||||||
}
|
|
||||||
this.sOperator = sOperator;
|
this.sOperator = sOperator;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -416,10 +432,6 @@ class Macro10 {
|
||||||
if (!this.parseMacro(sOperator, sOperands)) {
|
if (!this.parseMacro(sOperator, sOperands)) {
|
||||||
|
|
||||||
switch (sOperator) {
|
switch (sOperator) {
|
||||||
case "=":
|
|
||||||
this.addAssign(sLabel, sOperands);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Macro10.PSEUDO_OP.ASCII:
|
case Macro10.PSEUDO_OP.ASCII:
|
||||||
case Macro10.PSEUDO_OP.ASCIZ:
|
case Macro10.PSEUDO_OP.ASCIZ:
|
||||||
case Macro10.PSEUDO_OP.SIXBIT:
|
case Macro10.PSEUDO_OP.SIXBIT:
|
||||||
|
|
@ -432,6 +444,7 @@ class Macro10 {
|
||||||
|
|
||||||
case Macro10.PSEUDO_OP.DEFINE:
|
case Macro10.PSEUDO_OP.DEFINE:
|
||||||
case Macro10.PSEUDO_OP.IFE:
|
case Macro10.PSEUDO_OP.IFE:
|
||||||
|
case Macro10.PSEUDO_OP.IRP:
|
||||||
case Macro10.PSEUDO_OP.REPEAT:
|
case Macro10.PSEUDO_OP.REPEAT:
|
||||||
this.addMacro(sOperator, sOperands);
|
this.addMacro(sOperator, sOperands);
|
||||||
break;
|
break;
|
||||||
|
|
@ -462,20 +475,12 @@ class Macro10 {
|
||||||
if (!macro) return false;
|
if (!macro) return false;
|
||||||
|
|
||||||
if (sOperands != null) {
|
if (sOperands != null) {
|
||||||
/*
|
var aValues = this.getValues(sOperands);
|
||||||
* Process this macro call; start by extracting macro argument values from sOperands.
|
|
||||||
*/
|
|
||||||
var sDelim = ',';
|
|
||||||
if (sOperands[0] == '(') {
|
|
||||||
sDelim += ')';
|
|
||||||
sOperands = sOperands.substr(1);
|
|
||||||
}
|
|
||||||
var aValues = this.getValues(sOperands, sDelim);
|
|
||||||
this.parseText(macro.sText, macro.aParms, aValues);
|
this.parseText(macro.sText, macro.aParms, aValues);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (name[0] != '_') return false;
|
if (name[0] != '?') return false;
|
||||||
|
|
||||||
switch(name.substr(1)) {
|
switch(name.substr(1)) {
|
||||||
case Macro10.PSEUDO_OP.IFE:
|
case Macro10.PSEUDO_OP.IFE:
|
||||||
|
|
@ -531,7 +536,13 @@ class Macro10 {
|
||||||
if (iMatch < 0) break;
|
if (iMatch < 0) break;
|
||||||
iSearch = iMatch + 1;
|
iSearch = iMatch + 1;
|
||||||
var iMatchEnd = iMatch + sParm.length;
|
var iMatchEnd = iMatch + sParm.length;
|
||||||
if ((!iMatch || !this.isSymbolChar(sLine[iMatch - 1])) && (iMatchEnd >= sLine.length || !this.isSymbolChar(sLine[iMatchEnd]))) {
|
var chPre = '', chPost = '';
|
||||||
|
if ((!iMatch || !this.isSymbolChar(chPre = sLine[iMatch - 1])) && (iMatchEnd >= sLine.length || !this.isSymbolChar(chPost = sLine[iMatchEnd]))) {
|
||||||
|
/*
|
||||||
|
* If the "concatenation character" (') appears before (or after) the symbol being replaced, remove it.
|
||||||
|
*/
|
||||||
|
if (chPre == "'") iMatch--;
|
||||||
|
if (chPost == "'") iMatchEnd++;
|
||||||
sLine = sLine.substr(0, iMatch) + sReplace + sLine.substr(iMatchEnd);
|
sLine = sLine.substr(0, iMatch) + sReplace + sLine.substr(iMatchEnd);
|
||||||
iSearch = iMatch + sReplace.length;
|
iSearch = iMatch + sReplace.length;
|
||||||
}
|
}
|
||||||
|
|
@ -575,11 +586,18 @@ class Macro10 {
|
||||||
getExpression(sOperands, sDelim = ",")
|
getExpression(sOperands, sDelim = ",")
|
||||||
{
|
{
|
||||||
var i = 0;
|
var i = 0;
|
||||||
|
var fQuotes = false;
|
||||||
var sOperand = null;
|
var sOperand = null;
|
||||||
var cNesting = 0;
|
var cNesting = 0;
|
||||||
while (i < sOperands.length) {
|
while (i < sOperands.length) {
|
||||||
var ch = sOperands[i];
|
var ch = sOperands[i++];
|
||||||
|
if (ch == '"') {
|
||||||
|
fQuotes = !fQuotes;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (fQuotes) continue;
|
||||||
if (sDelim.indexOf(ch) >= 0) {
|
if (sDelim.indexOf(ch) >= 0) {
|
||||||
|
i--;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ch == '<') {
|
if (ch == '<') {
|
||||||
|
|
@ -590,7 +608,6 @@ class Macro10 {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
if (!cNesting) {
|
if (!cNesting) {
|
||||||
sOperand = sOperands.substr(0, i);
|
sOperand = sOperands.substr(0, i);
|
||||||
|
|
@ -686,6 +703,30 @@ class Macro10 {
|
||||||
return sLiteral;
|
return sLiteral;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* getDefaults(aParms)
|
||||||
|
*
|
||||||
|
* Check the given array of macro parameters for default values, remove them, and return them in a parallel array.
|
||||||
|
*
|
||||||
|
* @this {Macro10}
|
||||||
|
* @param {Array.<string>} aParms
|
||||||
|
* @return {Array.<string>}
|
||||||
|
*/
|
||||||
|
getDefaults(aParms)
|
||||||
|
{
|
||||||
|
var aDefaults = [];
|
||||||
|
for (var i = 0; i < aParms.length; i++) {
|
||||||
|
var j = aParms[i].indexOf('<');
|
||||||
|
if (j >= 0) {
|
||||||
|
var k = aParms[i].lastIndexOf('>');
|
||||||
|
if (k < 0) k = aParms[i].length;
|
||||||
|
aDefaults[i] = aParms[i].substr(j, k - j);
|
||||||
|
aParms[i] = aParms[i].substr(0, j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return aDefaults;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getReserved(sOperands)
|
* getReserved(sOperands)
|
||||||
*
|
*
|
||||||
|
|
@ -701,7 +742,7 @@ class Macro10 {
|
||||||
if (match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)) {
|
if (match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)) {
|
||||||
sReserved = match[0];
|
sReserved = match[0];
|
||||||
var sLabel = match[1];
|
var sLabel = match[1];
|
||||||
var name = '_' + sLabel;
|
var name = '?' + sLabel;
|
||||||
if (this.tblMacros[name] !== undefined) {
|
if (this.tblMacros[name] !== undefined) {
|
||||||
this.error("reserved symbol redefined: " + sReserved);
|
this.error("reserved symbol redefined: " + sReserved);
|
||||||
}
|
}
|
||||||
|
|
@ -773,34 +814,6 @@ class Macro10 {
|
||||||
return sRemain;
|
return sRemain;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* addAssign(sName, sOperand)
|
|
||||||
*
|
|
||||||
* @this {Macro10}
|
|
||||||
* @param {string} sName
|
|
||||||
* @param {string} sOperand
|
|
||||||
*/
|
|
||||||
addAssign(sName, sOperand)
|
|
||||||
{
|
|
||||||
var value = this.parseExpression(sOperand);
|
|
||||||
if (value === undefined) {
|
|
||||||
this.error("parseExpression(" + sOperand + ")");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.addSymbol(sName, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* addLabel(sLabel)
|
|
||||||
*
|
|
||||||
* @this {Macro10}
|
|
||||||
* @param {string} sLabel
|
|
||||||
*/
|
|
||||||
addLabel(sLabel)
|
|
||||||
{
|
|
||||||
this.addSymbol(sLabel, this.nLocation, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* addMacro(sOperator, sOperands)
|
* addMacro(sOperator, sOperands)
|
||||||
*
|
*
|
||||||
|
|
@ -808,7 +821,7 @@ class Macro10 {
|
||||||
* REPEAT block instead.
|
* REPEAT block instead.
|
||||||
*
|
*
|
||||||
* REPEAT blocks piggy-back on this code because they're essentially anonymous immediately-invoked macros;
|
* REPEAT blocks piggy-back on this code because they're essentially anonymous immediately-invoked macros;
|
||||||
* we use an illegal MACRO-10 symbol ('_REPEAT') to name the anonymous macro while it's being defined, and the
|
* we use an illegal MACRO-10 symbol ('?REPEAT') to name the anonymous macro while it's being defined, and the
|
||||||
* macro's nOperand field will contain the repeat count.
|
* macro's nOperand field will contain the repeat count.
|
||||||
*
|
*
|
||||||
* The piggy-backing continues with other pseudo-ops like IFE, which again contain an anonymous block of text
|
* The piggy-backing continues with other pseudo-ops like IFE, which again contain an anonymous block of text
|
||||||
|
|
@ -833,24 +846,19 @@ class Macro10 {
|
||||||
/*
|
/*
|
||||||
* This is a DEFINE (macro) block.
|
* This is a DEFINE (macro) block.
|
||||||
*/
|
*/
|
||||||
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);
|
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(?:\(([^)]*)\)|)\s*(<|)(.*)/i);
|
||||||
if (!match) {
|
if (!match) {
|
||||||
this.error("unrecognized " + sOperator + " definition: " + sOperands);
|
this.error("unrecognized " + sOperator + ": " + sOperands);
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
name = match[1];
|
name = match[1];
|
||||||
/*
|
/*
|
||||||
* TODO: This may not actually be an error, but I'd like to take a look if/when it happens.
|
* If this macro has defined parameters, parse them (and any defaults) now.
|
||||||
*/
|
*/
|
||||||
if (this.tblMacros[name] !== undefined) {
|
if (match[2]) {
|
||||||
this.error("macro redefined: " + name);
|
aParms = this.getValues(match[2]);
|
||||||
|
aDefaults = this.getDefaults(aParms);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* TODO: Tighten up this parsing at some point. All this is doing is extracting entire symbols
|
|
||||||
* from within the parentheses, if any; it's NOT ensuring that those symbols are comma-separated
|
|
||||||
* with no other intervening characters.
|
|
||||||
*/
|
|
||||||
aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
|
|
||||||
nOperand = Macro10.MACRO_OP.DEFINE;
|
nOperand = Macro10.MACRO_OP.DEFINE;
|
||||||
iMatch = 3;
|
iMatch = 3;
|
||||||
}
|
}
|
||||||
|
|
@ -860,7 +868,7 @@ class Macro10 {
|
||||||
*/
|
*/
|
||||||
this.chMacroOpen = '[';
|
this.chMacroOpen = '[';
|
||||||
this.chMacroClose = ']';
|
this.chMacroClose = ']';
|
||||||
name = '_' + Str.toDec(this.nLocation, 5);
|
name = '?' + Str.toDec(this.nLocation, 5);
|
||||||
if (this.tblMacros[name] !== undefined) {
|
if (this.tblMacros[name] !== undefined) {
|
||||||
this.error("literal symbol redefined: " + name);
|
this.error("literal symbol redefined: " + name);
|
||||||
}
|
}
|
||||||
|
|
@ -881,7 +889,7 @@ class Macro10 {
|
||||||
sOperands = sOperands.substr(sOperand.length + 1);
|
sOperands = sOperands.substr(sOperand.length + 1);
|
||||||
sOperand = sOperand.trim();
|
sOperand = sOperand.trim();
|
||||||
match = sOperands.match(/\s*(<|)(.*)/i);
|
match = sOperands.match(/\s*(<|)(.*)/i);
|
||||||
name = '_' + sOperator;
|
name = '?' + sOperator;
|
||||||
/*
|
/*
|
||||||
* The expression is either a repeat count or a condition. Either way, we must be able to
|
* The expression is either a repeat count or a condition. Either way, we must be able to
|
||||||
* resolve it now, so we don't set fPass1 (but that doesn't mean it's the second pass, either).
|
* resolve it now, so we don't set fPass1 (but that doesn't mean it's the second pass, either).
|
||||||
|
|
@ -951,23 +959,29 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* addSymbol(name, value, fLabel, fGlobal, fPrivate)
|
* addSymbol(name, value, nType)
|
||||||
*
|
*
|
||||||
* @this {Macro10}
|
* @this {Macro10}
|
||||||
* @param {string} name
|
* @param {string} name
|
||||||
* @param {number} value
|
* @param {number|string} value
|
||||||
* @param {boolean} [fLabel] (default is false, meaning the symbol is an assignment)
|
* @param {number} [nType]
|
||||||
* @param {boolean} [fGlobal] (default is false, meaning the symbol is local to the current file)
|
|
||||||
* @param {boolean} [fPrivate] (default is false, meaning the symbol has visibility to the caller)
|
|
||||||
*/
|
*/
|
||||||
addSymbol(name, value, fLabel = false, fGlobal = false, fPrivate = false)
|
addSymbol(name, value, nType = 0)
|
||||||
{
|
{
|
||||||
name = name.toUpperCase().substr(0, 6);
|
name = name.toUpperCase().substr(0, 6);
|
||||||
if (fLabel && this.tblSymbols[name] !== undefined) {
|
if ((nType & Macro10.SYMTYPE.LABEL) && this.tblSymbols[name] !== undefined) {
|
||||||
this.error("label " + name + " redefined");
|
this.error("label " + name + " redefined");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.tblSymbols[name] = {name, value, nLine: this.nLine, fLabel, fGlobal, fPrivate};
|
if (typeof value == 'string') {
|
||||||
|
var v = this.parseExpression(value);
|
||||||
|
if (v === undefined) {
|
||||||
|
this.error("parseExpression(" + value + ")");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
value = v;
|
||||||
|
}
|
||||||
|
this.tblSymbols[name] = {name, value, nLine: this.nLine, nType};
|
||||||
this.dbg.setVariable(name, value);
|
this.dbg.setVariable(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1070,7 +1084,7 @@ class Macro10 {
|
||||||
genWord(value, sFixup)
|
genWord(value, sFixup)
|
||||||
{
|
{
|
||||||
this.aWords[this.nLocation] = this.truncate(value);
|
this.aWords[this.nLocation] = this.truncate(value);
|
||||||
if (sFixup != null) this.aFixups.push({nLocation: this.nLocation, sValue: sFixup});
|
if (sFixup != null) this.aFixups.push({nLocation: this.nLocation, sValue: sFixup, nLine: this.nLine});
|
||||||
this.nLocation++;
|
this.nLocation++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1107,17 +1121,24 @@ class Macro10 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Macro10.SYMTYPE = {
|
||||||
|
LABEL: 0x01,
|
||||||
|
PRIVATE: 0x02,
|
||||||
|
INTERNAL: 0x04
|
||||||
|
};
|
||||||
|
|
||||||
Macro10.PSEUDO_OP = {
|
Macro10.PSEUDO_OP = {
|
||||||
ASCII: "ASCII",
|
ASCII: "ASCII",
|
||||||
ASCIZ: "ASCIZ",
|
ASCIZ: "ASCIZ",
|
||||||
DEFINE: "DEFINE",
|
DEFINE: "DEFINE",
|
||||||
IFE: "IFE",
|
IFE: "IFE",
|
||||||
LITERAL:"LITERAL",
|
IRP: "IRP",
|
||||||
PAGE: "PAGE",
|
LITERAL: "LITERAL",
|
||||||
REPEAT: "REPEAT",
|
PAGE: "PAGE",
|
||||||
SIXBIT: "SIXBIT",
|
REPEAT: "REPEAT",
|
||||||
SUBTTL: "SUBTTL",
|
SIXBIT: "SIXBIT",
|
||||||
XWD: "XWD"
|
SUBTTL: "SUBTTL",
|
||||||
|
XWD: "XWD"
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -566,7 +566,7 @@ class Debugger extends Component
|
||||||
case '|':
|
case '|':
|
||||||
valNew = this.evalIOR(val1, val2);
|
valNew = this.evalIOR(val1, val2);
|
||||||
break;
|
break;
|
||||||
case '^^': // since MACRO-10 uses '^' for base overrides, you must now use '^^' for bitwise exclusive-or (XOR)
|
case '^!': // since MACRO-10 uses '^' for base overrides, '^!' is used for bitwise exclusive-or (XOR)
|
||||||
valNew = this.evalXOR(val1, val2);
|
valNew = this.evalXOR(val1, val2);
|
||||||
break;
|
break;
|
||||||
case '&&':
|
case '&&':
|
||||||
|
|
@ -575,16 +575,21 @@ class Debugger extends Component
|
||||||
case '||':
|
case '||':
|
||||||
valNew = (val1 || val2? 1 : 0);
|
valNew = (val1 || val2? 1 : 0);
|
||||||
break;
|
break;
|
||||||
case '><':
|
case '_':
|
||||||
|
case '^_':
|
||||||
valNew = val1;
|
valNew = val1;
|
||||||
val2 = 35 - (val2 & 0xff);
|
/*
|
||||||
|
* While we always try to avoid assuming any particular number of bits of precision, the 'B' shift
|
||||||
|
* operator (which we've converted to '^_') is unique to the MACRO-10 environment, which imposes the
|
||||||
|
* following restrictions on the shift count.
|
||||||
|
*/
|
||||||
|
if (chOp == '^_') val2 = 35 - (val2 & 0xff);
|
||||||
if (val2) {
|
if (val2) {
|
||||||
/*
|
/*
|
||||||
* Since binary shifting is a logical operation, and since shifting by division only works properly
|
* Since binary shifting is a logical (not arithmetic) operation, and since shifting by division only
|
||||||
* with positive numbers, we must convert a negative value to a positive value, by computing the two's
|
* works properly with positive numbers, we call truncate() to produce an unsigned value.
|
||||||
* complement.
|
|
||||||
*/
|
*/
|
||||||
if (valNew < 0) valNew += Math.pow(2, 36);
|
valNew = this.truncate(valNew, 0, true);
|
||||||
if (val2 > 0) {
|
if (val2 > 0) {
|
||||||
valNew *= Math.pow(2, val2);
|
valNew *= Math.pow(2, val2);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -610,7 +615,7 @@ class Debugger extends Component
|
||||||
*
|
*
|
||||||
* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||||
* - - - - - - - - - - -- -- -- -- --
|
* - - - - - - - - - - -- -- -- -- --
|
||||||
* 2 * _ { 3 + _ { 4 / 2 } _ } _
|
* 2 * { 3 + { 4 / 2 } }
|
||||||
*
|
*
|
||||||
* This function takes care of recursively processing sub-expressions, by processing subsets of the array,
|
* This function takes care of recursively processing sub-expressions, by processing subsets of the array,
|
||||||
* as well as handling certain base overrides (eg, temporarily switching to base-10 for binary shift suffixes).
|
* as well as handling certain base overrides (eg, temporarily switching to base-10 for binary shift suffixes).
|
||||||
|
|
@ -627,7 +632,7 @@ class Debugger extends Component
|
||||||
var value;
|
var value;
|
||||||
var sValue, sOp;
|
var sValue, sOp;
|
||||||
var fError = false;
|
var fError = false;
|
||||||
var fNegate = false;
|
var iNegate = 0;
|
||||||
var aVals = [], aOps = [];
|
var aVals = [], aOps = [];
|
||||||
|
|
||||||
var nBasePrev = this.nBase;
|
var nBasePrev = this.nBase;
|
||||||
|
|
@ -656,16 +661,20 @@ class Debugger extends Component
|
||||||
sOp = (iValue < iLimit? asValues[iValue++] : "");
|
sOp = (iValue < iLimit? asValues[iValue++] : "");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (sOp != '-') {
|
if (sOp == '~' || sOp == '^-') {
|
||||||
fError = true;
|
iNegate = 1;
|
||||||
break;
|
continue;
|
||||||
}
|
}
|
||||||
fNegate = true;
|
if (sOp == '-') {
|
||||||
continue;
|
iNegate = -1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
fError = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
v = this.parseValue(sValue, null, fQuiet, fNegate);
|
v = this.parseValue(sValue, null, fQuiet, iNegate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (v === undefined) {
|
if (v === undefined) {
|
||||||
|
|
@ -693,8 +702,8 @@ class Debugger extends Component
|
||||||
* The MACRO-10 binary shifting operator assumes a base-10 shift count, regardless of the current
|
* The MACRO-10 binary shifting operator assumes a base-10 shift count, regardless of the current
|
||||||
* base, so we must override the current base to ensure the count is parsed correctly.
|
* base, so we must override the current base to ensure the count is parsed correctly.
|
||||||
*/
|
*/
|
||||||
this.nBase = (sOp == '><')? 10 : nBase;
|
this.nBase = (sOp == '^_')? 10 : nBase;
|
||||||
fNegate = false;
|
iNegate = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.evalOps(aVals, aOps) || aVals.length != 1) {
|
if (!this.evalOps(aVals, aOps) || aVals.length != 1) {
|
||||||
|
|
@ -729,7 +738,7 @@ class Debugger extends Component
|
||||||
*
|
*
|
||||||
* We pop 1 "binop" from aOps and 2 values from aVals whenever a "binop" of lower priority than its
|
* We pop 1 "binop" from aOps and 2 values from aVals whenever a "binop" of lower priority than its
|
||||||
* predecessor is encountered, evaluate, and push the result back onto aVals. Only selected unary
|
* predecessor is encountered, evaluate, and push the result back onto aVals. Only selected unary
|
||||||
* operators are supported (eg, minus), and ternary operators like '?:' are not supported at all.
|
* operators are supported (eg, minus and "not"); ternary operators like '?:' are not supported at all.
|
||||||
*
|
*
|
||||||
* @this {Debugger}
|
* @this {Debugger}
|
||||||
* @param {string|undefined} sExp
|
* @param {string|undefined} sExp
|
||||||
|
|
@ -768,13 +777,14 @@ class Debugger extends Component
|
||||||
* what IS important is listing operators than contain shorter operators first. For example, bitwise
|
* what IS important is listing operators than contain shorter operators first. For example, bitwise
|
||||||
* shift operators must be listed BEFORE the logical less-than or greater-than operators.
|
* shift operators must be listed BEFORE the logical less-than or greater-than operators.
|
||||||
*
|
*
|
||||||
* Also, to better accommodate MACRO-10 syntax, I've replaced the single '^' for XOR with '^^', since
|
* Also, to better accommodate MACRO-10 syntax, I've replaced the single '^' for XOR with '^!' (since
|
||||||
* MACRO-10 uses prefixes like "^D", "^O" and "^B" with numeric constants to indicate a base override, and
|
* MACRO-10 uses prefixes like "^D", "^O" and "^B" with numeric constants to indicate a base override).
|
||||||
* I've added '!' as an alias for '|' to perform bitwise inclusive-or.
|
* Similarly, I've added '!' as an alias for '|' (bitwise inclusive-or), '^-' as an alias for '~' (unary
|
||||||
|
* complement "not" operator), and '_' as a shift operator.
|
||||||
*
|
*
|
||||||
* The MACRO-10 binary shifting suffix ('B') is a bit more problematic, since a capital B can also appear
|
* The MACRO-10 binary shifting suffix ('B') is a bit more problematic, since a capital B can also appear
|
||||||
* inside symbols. So I pre-scan for that operator and replace non-symbolic occurrences with an internal
|
* inside symbols. So I pre-scan for that suffix and replace all non-symbolic occurrences with an internal
|
||||||
* operator ('><').
|
* shift operator ('^_').
|
||||||
*
|
*
|
||||||
* Note that Str.parseInt(), which parseValue() relies on, supports both the MACRO-10 base prefix overrides
|
* Note that Str.parseInt(), which parseValue() relies on, supports both the MACRO-10 base prefix overrides
|
||||||
* and the binary shifting suffix. But since the B suffix can also be a bracketed expression, we have to
|
* and the binary shifting suffix. But since the B suffix can also be a bracketed expression, we have to
|
||||||
|
|
@ -786,8 +796,8 @@ class Debugger extends Component
|
||||||
*
|
*
|
||||||
* WARNING: Whenever you make changes to this RegExp, make sure you update aBinOpPrecedence as needed, too.
|
* WARNING: Whenever you make changes to this RegExp, make sure you update aBinOpPrecedence as needed, too.
|
||||||
*/
|
*/
|
||||||
var regExp = /(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/;
|
var regExp = /(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/;
|
||||||
sExp = sExp.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/, "$1$2><");
|
sExp = sExp.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/, "$1$2^_");
|
||||||
var asValues = sExp.split(regExp);
|
var asValues = sExp.split(regExp);
|
||||||
value = this.parseArray(asValues, 0, asValues.length, this.nBase, fQuiet);
|
value = this.parseArray(asValues, 0, asValues.length, this.nBase, fQuiet);
|
||||||
if (value !== undefined && fQuiet === false) {
|
if (value !== undefined && fQuiet === false) {
|
||||||
|
|
@ -874,16 +884,16 @@ class Debugger extends Component
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parseValue(sValue, sName, fQuiet, fNegate)
|
* parseValue(sValue, sName, fQuiet, iNegate)
|
||||||
*
|
*
|
||||||
* @this {Debugger}
|
* @this {Debugger}
|
||||||
* @param {string|undefined} sValue
|
* @param {string|undefined} sValue
|
||||||
* @param {string|null} [sName] is the name of the value, if any
|
* @param {string|null} [sName] is the name of the value, if any
|
||||||
* @param {boolean} [fQuiet]
|
* @param {boolean} [fQuiet]
|
||||||
* @param {boolean} [fNegate]
|
* @param {number} [iNegate] (-1 to negate , 1 to complement)
|
||||||
* @return {number|undefined} numeric value, or undefined if sValue is either undefined or invalid
|
* @return {number|undefined} numeric value, or undefined if sValue is either undefined or invalid
|
||||||
*/
|
*/
|
||||||
parseValue(sValue, sName, fQuiet, fNegate)
|
parseValue(sValue, sName, fQuiet, iNegate = 0)
|
||||||
{
|
{
|
||||||
var value;
|
var value;
|
||||||
if (sValue != null) {
|
if (sValue != null) {
|
||||||
|
|
@ -893,12 +903,19 @@ class Debugger extends Component
|
||||||
} else {
|
} else {
|
||||||
value = this.getVariable(sValue);
|
value = this.getVariable(sValue);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
value = Str.parseInt(fNegate? ('-' + sValue) : sValue, this.nBase);
|
if (iNegate < 0) {
|
||||||
fNegate = false;
|
sValue = '-' + sValue;
|
||||||
|
iNegate = 0;
|
||||||
|
}
|
||||||
|
value = Str.parseInt(sValue, this.nBase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
if (fNegate) value = -value;
|
if (iNegate < 0) {
|
||||||
|
value = -value;
|
||||||
|
} else if (iNegate > 0) {
|
||||||
|
value = this.evalXOR(value, -1);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!fQuiet) {
|
if (!fQuiet) {
|
||||||
this.println("invalid " + (sName? sName : "value") + ": " + sValue);
|
this.println("invalid " + (sName? sName : "value") + ": " + sValue);
|
||||||
|
|
@ -1056,12 +1073,17 @@ class Debugger extends Component
|
||||||
|
|
||||||
if (DEBUGGER) {
|
if (DEBUGGER) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Missing from this table are the (limited) set of unary operators we support (negate and complement),
|
||||||
|
* since this is only a BINARY operator precedence, not a general-purpose precedence table. Assume that
|
||||||
|
* all unary operators take precedence over all binary operators.
|
||||||
|
*/
|
||||||
Debugger.aBinOpPrecedence = {
|
Debugger.aBinOpPrecedence = {
|
||||||
'||': 0, // logical OR
|
'||': 0, // logical OR
|
||||||
'&&': 1, // logical AND
|
'&&': 1, // logical AND
|
||||||
'!': 2, // bitwise OR
|
'!': 2, // bitwise OR
|
||||||
'|': 2, // bitwise OR
|
'|': 2, // bitwise OR
|
||||||
'^^': 3, // bitwise XOR
|
'^!': 3, // bitwise XOR (added by MACRO-10 sometime between the 1972 and 1978 versions)
|
||||||
'&': 4, // bitwise AND
|
'&': 4, // bitwise AND
|
||||||
'!=': 5, // inequality
|
'!=': 5, // inequality
|
||||||
'==': 5, // equality
|
'==': 5, // equality
|
||||||
|
|
@ -1077,7 +1099,8 @@ if (DEBUGGER) {
|
||||||
'%': 9, // remainder
|
'%': 9, // remainder
|
||||||
'/': 9, // division
|
'/': 9, // division
|
||||||
'*': 9, // multiplication
|
'*': 9, // multiplication
|
||||||
'><': 10, // internal binary shift operator (MACRO-10-style; converted from a 'B' suffix)
|
'_': 10, // MACRO-10 shift operator
|
||||||
|
'^_': 10, // MACRO-10 internal shift operator (converted from 'B' suffix form that MACRO-10 uses)
|
||||||
'{': 11, // open sub-expression (achGroup[0] default)
|
'{': 11, // open sub-expression (achGroup[0] default)
|
||||||
'}': 11 // close sub-expression (achGroup[1] default)
|
'}': 11 // close sub-expression (achGroup[1] default)
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -147,8 +147,8 @@ function je(a){if(!Ab(a))if(!a.j)Bb(a);else if(a.b&&a.H){a.g||(a.g=a.b.length);i
|
||||||
f.g;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=f.w}}delete a.b}}Bb(a)}}Wa(function(){for(var a=sb(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new he(d);rb(d,c)}});
|
f.g;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=f.w}}delete a.b}}Bb(a)}}Wa(function(){for(var a=sb(document,"pc8080","rom"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new he(d);rb(d,c)}});
|
||||||
function ke(a){t.call(this,"RAM",a);this.ra=this.g=null;this.w=a.addr;this.A=a.size;this.Qa=a.load;this.Ja=a.exec;this.j=!1;this.b=a.file;this.B=sa(this.b);if(this.b){a=this.b;var b=ta(this.B);"json"!=b&&"hex"!=b&&(a=wa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?c.aa("Unable to load RAM resource (error "+f+": "+a+")"):(ib(c.eb,a,b),(a=Ia(a,b))?(c.g=a.la,c.ra=a.ra,null==c.Qa&&(c.Qa=a.Qa),null==c.Ja&&(c.Ja=a.Ja)):c.b=null,le(c))})}}aa(ke,t);
|
function ke(a){t.call(this,"RAM",a);this.ra=this.g=null;this.w=a.addr;this.A=a.size;this.Qa=a.load;this.Ja=a.exec;this.j=!1;this.b=a.file;this.B=sa(this.b);if(this.b){a=this.b;var b=ta(this.B);"json"!=b&&"hex"!=b&&(a=wa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?c.aa("Unable to load RAM resource (error "+f+": "+a+")"):(ib(c.eb,a,b),(a=Ia(a,b))?(c.g=a.la,c.ra=a.ra,null==c.Qa&&(c.Qa=a.Qa),null==c.Ja&&(c.Ja=a.Ja)):c.b=null,le(c))})}}aa(ke,t);
|
||||||
ke.prototype.Ga=function(a,b,c,d){this.H=b;this.u=c;this.K=d;le(this)};ke.prototype.wa=function(){return!0};ke.prototype.va=function(){return!0};
|
ke.prototype.Ga=function(a,b,c,d){this.H=b;this.u=c;this.K=d;le(this)};ke.prototype.wa=function(){return!0};ke.prototype.va=function(){return!0};
|
||||||
function le(a){!a.j&&a.A&&Rb(a.H,a.w,a.A,1)&&(a.j=!0);if(!Ab(a)){if(!a.j)r("No RAM allocated");else if(a.b){if(!a.g||!a.H)return;var b=a.w;null!==a.Qa&&(b=a.Qa);for(var c=0;c<a.g.length;c++)Zb(a.H,b+c,a.g[c]);if(null!==a.Ja){if(a.Ja==me){for(c=0;c<ne.length;c++)Zb(a.H,ne[c],118);rd(a.u,function(a){return function(b){if(0<=ne.indexOf(b)){var c=!1,d=a.u,e=a.K;if(b==oe)switch(c=!0,d.A){case pe:Le(a,String.fromCharCode(d.C));break;case Me:for(var k=yd(d),q="",u=255;u--;){var v=E(a.u,k++);if(36==v)break;
|
function le(a){!a.j&&a.A&&Rb(a.H,a.w,a.A,1)&&(a.j=!0);if(!Ab(a)){if(!a.j)r("No RAM allocated");else if(a.b){if(!a.g||!a.H)return;var b=a.w;null!==a.Qa&&(b=a.Qa);for(var c=0;c<a.g.length;c++)Zb(a.H,b+c,a.g[c]);if(null!==a.Ja){if(a.Ja==me){for(c=0;c<ne.length;c++)Zb(a.H,ne[c],118);rd(a.u,function(a){return function(b){if(0<=ne.indexOf(b)){var c=!1,d=a.u,e=a.K;if(b==oe)switch(c=!0,d.A){case pe:qe(a,String.fromCharCode(d.C));break;case Me:for(var k=yd(d),q="",u=255;u--;){var v=E(a.u,k++);if(36==v)break;
|
||||||
q+=String.fromCharCode(v)}Le(a,q);break;default:c=!1}c?Yd.call(d):e&&(a.i("\nCP/M vector "+p(b)),A(d,b),e.ea());b=!0}else b=!1;return b}}(a))}td(a.u,a.Ja)}delete a.g}Bb(a)}}ke.prototype.reset=function(){};function Le(a,b){b=b.replace(/\r/g,"");a.ua&&(a.ua.value+=b,a.ua.scrollTop=a.ua.scrollHeight)}var oe=5,pe=2,Me=9,me=256,ne=[0,oe];Wa(function(){for(var a=sb(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new ke(d);rb(d,c)}});
|
q+=String.fromCharCode(v)}qe(a,q);break;default:c=!1}c?Yd.call(d):e&&(a.i("\nCP/M vector "+p(b)),A(d,b),e.ea());b=!0}else b=!1;return b}}(a))}td(a.u,a.Ja)}delete a.g}Bb(a)}}ke.prototype.reset=function(){};function qe(a,b){b=b.replace(/\r/g,"");a.ua&&(a.ua.value+=b,a.ua.scrollTop=a.ua.scrollHeight)}var oe=5,pe=2,Me=9,me=256,ne=[0,oe];Wa(function(){for(var a=sb(document,"pc8080","ram"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new ke(d);rb(d,c)}});
|
||||||
function Ne(a){t.call(this,"Keyboard",a,65536);(a=a.model)&&!Oe[a]&&cb("Unrecognized Keyboard8080 model: "+a);this.b=Oe[a]||{};this.reset();Bb(this)}aa(Ne,t);l=Ne.prototype;
|
function Ne(a){t.call(this,"Keyboard",a,65536);(a=a.model)&&!Oe[a]&&cb("Unrecognized Keyboard8080 model: "+a);this.b=Oe[a]||{};this.reset();Bb(this)}aa(Ne,t);l=Ne.prototype;
|
||||||
l.da=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.P[e]){if("led"==a&&this.b.fb[b])return this.P[e]=c,!0;switch(b){case "kbd":case "screen":return Qa("iOS")?(c.onkeypress=function(a){var b=!1;if(a=d.b.sb[a.keyCode||a.charCode]){a&128&&(a&=127,b=!0);var c;a:{for(c in d.b.Sa)if(d.b.Sa[c]==a){c=+c;break a}c=0}c&&(b?Pe(d,16,!0,!0):Pe(d,16,!1),Pe(d,c,!0,!0))}return!0},c.onkeydown=function(a){return Qe(d,a,!0)},c.onkeyup=function(a){return Qe(d,a,!1)}):(c.onkeydown=function(a){return Re(d,a,!0)},
|
l.da=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.P[e]){if("led"==a&&this.b.fb[b])return this.P[e]=c,!0;switch(b){case "kbd":case "screen":return Qa("iOS")?(c.onkeypress=function(a){var b=!1;if(a=d.b.sb[a.keyCode||a.charCode]){a&128&&(a&=127,b=!0);var c;a:{for(c in d.b.Sa)if(d.b.Sa[c]==a){c=+c;break a}c=0}c&&(b?Pe(d,16,!0,!0):Pe(d,16,!1),Pe(d,c,!0,!0))}return!0},c.onkeydown=function(a){return Qe(d,a,!0)},c.onkeyup=function(a){return Qe(d,a,!1)}):(c.onkeydown=function(a){return Re(d,a,!0)},
|
||||||
c.onkeyup=function(a){return Re(d,a,!1)},c.onkeypress=function(a){a=a.keyCode||a.charCode;a>=m.ab&&a<=m.wb?d.g&(Se|Te)||(d.g|=Te,Pe(d,20,!0),Ue(d)):a>=m.yc&&a<=m.z&&d.g&Te&&(d.g&=~Te,Pe(d,20,!1),Ue(d));return!0}),c.onpaste=function(a){a:{if(d.C&&d.C.Ra&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a=a.clipboardData||window.clipboardData)){Ve(d.C,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ua&&void 0!==this.b.Ua[b])return this.P[e]=c,c.onclick=
|
c.onkeyup=function(a){return Re(d,a,!1)},c.onkeypress=function(a){a=a.keyCode||a.charCode;a>=m.ab&&a<=m.wb?d.g&(Se|Te)||(d.g|=Te,Pe(d,20,!0),Ue(d)):a>=m.yc&&a<=m.z&&d.g&Te&&(d.g&=~Te,Pe(d,20,!1),Ue(d));return!0}),c.onpaste=function(a){a:{if(d.C&&d.C.Ra&&(a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a=a.clipboardData||window.clipboardData)){Ve(d.C,a.getData("Text"));a=!1;break a}a=!0}return a},!0;default:if(this.b.Ua&&void 0!==this.b.Ua[b])return this.P[e]=c,c.onclick=
|
||||||
|
|
@ -198,15 +198,15 @@ this.g.scrollHeight;this.w+=c}else if(null!=this.j){if(10==b||1024<=this.j.lengt
|
||||||
var Sf=12,Tf=16,Uf=192,ag=2,$f=32,bg=64,ee=1,Vf=2,Yf=4,Xf=128,Wf=15,Zf=240,Rf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Pf=[!1,0,0,133,142,39,238],Kf="buffer",Mf={0:Jf.prototype.Hd,1:Jf.prototype.Gd},Nf={0:Jf.prototype.Vd,1:Jf.prototype.Ud,2:Jf.prototype.Td};Wa(function(){for(var a=sb(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new Jf(d);rb(d,c)}});
|
var Sf=12,Tf=16,Uf=192,ag=2,$f=32,bg=64,ee=1,Vf=2,Yf=4,Xf=128,Wf=15,Zf=240,Rf=[50,75,110,134.5,150,200,300,600,1200,1800,2E3,2400,3600,4800,9600,19200],Pf=[!1,0,0,133,142,39,238],Kf="buffer",Mf={0:Jf.prototype.Hd,1:Jf.prototype.Gd},Nf={0:Jf.prototype.Vd,1:Jf.prototype.Ud,2:Jf.prototype.Td};Wa(function(){for(var a=sb(document,"pc8080","serial"),b=0;b<a.length;b++){var c=a[b],d=qb(c),d=new Jf(d);rb(d,c)}});
|
||||||
function cg(a){t.call(this,"Debugger",a);this.L=+a.base||16;this.oa=null;this.W=["{","}"];this.fa=["[","]"];this.O=this.ba=this.C=0;this.M=!1;this.b=-1;this.g=[];this.T={}}aa(cg,t);cg.prototype.Kb=function(){return-1};cg.prototype.Lb=function(){};
|
function cg(a){t.call(this,"Debugger",a);this.L=+a.base||16;this.oa=null;this.W=["{","}"];this.fa=["[","]"];this.O=this.ba=this.C=0;this.M=!1;this.b=-1;this.g=[];this.T={}}aa(cg,t);cg.prototype.Kb=function(){return-1};cg.prototype.Lb=function(){};
|
||||||
cg.prototype.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.M?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
cg.prototype.Ab=function(a,b,c){if(b)if(a){0>this.b&&this.g.length&&(this.b=0);if(0>this.b||a!=this.g[this.b])this.g.splice(0,0,a),this.b=0;this.b--}else this.M?a="end":a=this.g[this.b+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||||
function dg(a){var b,c=a;b=b||32;32>=b?c=a|0:(b=Math.pow(2,b-1),a<-b?c=a%b:a>=2*b&&(c=a%(2*b)));a!=c&&(a=c);return a}
|
function dg(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a|0:(b=Math.pow(2,b-1),a<-b?d=a%b:a>=2*b&&(d=a%(2*b)));a!=d&&(a=d);return a}
|
||||||
function eg(a,b,c){for(c=void 0===c?-1:c;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=Math.trunc(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;
|
function eg(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "%":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
||||||
case "&":d=f&e;break;case "!":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;if(e=35-(e&255))0>d&&(d+=Math.pow(2,36)),d=0<e?d*Math.pow(2,e):Math.trunc(d/Math.pow(2,-e));break;default:return!1}a.push(dg(d))}return!0}
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=dg(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(dg(e))}return!0}
|
||||||
function fg(a,b,c,d,e,f){var g,h,k,q=!1,u=!1,v=[],B=[],y=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)u=gg(a,h,null,f,u);else if("{"==k){h=1;for(u=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;u=fg(a,b,u,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("-"!=k){q=!0;break}u=!0;continue}if(void 0===u)if(null==a.oa&&f)a.oa=h,u=0;else{q=!0;f=!f;break}v.push(dg(u));if(!k)break;B.length&&hg[k]<hg[B[B.length-1]]&&eg(v,B,1);B.push(k);a.L="><"==k?10:e;u=!1}eg(v,
|
function fg(a,b,c,d,e,f){var g,h,k,q=!1,u=0,v=[],B=[],y=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)u=gg(a,h,null,f,u);else if("{"==k){h=1;for(u=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;u=fg(a,b,u,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("~"==k||"^-"==k){u=1;continue}if("-"==k){u=-1;continue}q=!0;break}if(void 0===u)if(null==a.oa&&f)a.oa=h,u=0;else{q=!0;f=!f;break}v.push(dg(u));if(!k)break;B.length&&hg[k]<hg[B[B.length-1]]&&eg(v,B,1);
|
||||||
B)&&1==v.length||(q=!0);q?!1===f&&a.i("parse error ("+(h||k)+")"):g=v.pop();a.L=y;return g}function ig(a,b,c){var d;a.oa=null;b&&("{"!=a.W[0]&&(b=b.split(a.W[0]).join("{").split(a.W[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2><"),b=b.split(/(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=fg(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&jg(a,null,d));return d}
|
B.push(k);a.L="^_"==k?10:e;u=0}eg(v,B)&&1==v.length||(q=!0);q?!1===f&&a.i("parse error ("+(h||k)+")"):g=v.pop();a.L=y;return g}function ig(a,b,c){var d;a.oa=null;b&&("{"!=a.W[0]&&(b=b.split(a.W[0]).join("{").split(a.W[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=fg(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&jg(a,null,d));return d}
|
||||||
function kg(a,b){var c,d=a.W[0],e=a.W[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ig(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?lg(a,g):"undefined")}if(a.fa.length)for(d=a.fa[0],e=a.fa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=
|
function kg(a,b){var c,d=a.W[0],e=a.W[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ig(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?lg(a,g):"undefined")}if(a.fa.length)for(d=a.fa[0],e=a.fa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=
|
||||||
a.O-a.ba}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function gg(a,b,c,d,e){var f;null!=b?(f=a.Kb(b),0<=f?f=a.Lb(f):(f=a.T[b],null==f&&(f=ma(e?"-"+b:b,a.L),e=!1)),null!=f?e&&(f=-f):d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return f}
|
a.O-a.ba}if(null==e)break;b=b.replace(d[0],e.toString())}return b}function gg(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.Kb(b),0<=f?f=a.Lb(f):(f=a.T[b],null==f&&(0>e&&(b="-"+b,e=0),f=ma(b,a.L))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.i("invalid "+(c?c:"value")+": "+b)):d||a.i("missing "+(c||"value"));return f}
|
||||||
function jg(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.L)d=c+". "+qa(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=n(c,0,!0)+" "+c+". "+qa(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function mg(a,b){if(b)return jg(a,b,a.T[b]);var c=0;for(b in a.T)jg(a,b,a.T[b]),c++;return 0<c}
|
function jg(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.L)d=c+". "+qa(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=n(c,0,!0)+" "+c+". "+qa(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.i((null!=b?b+": ":"")+d);return e}function mg(a,b){if(b)return jg(a,b,a.T[b]);var c=0;for(b in a.T)jg(a,b,a.T[b]),c++;return 0<c}
|
||||||
function lg(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=pa(b,0<c?c:0);break;case 8:b=qa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=oa(b,10,a);break;default:b=n(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var hg={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,"><":10,"{":11,"}":11};
|
function lg(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=pa(b,0<c?c:0);break;case 8:b=qa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=oa(b,10,a);break;default:b=n(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var hg={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||||
function ng(a){cg.call(this,a);this.style=og;this.F=pg();this.ta=pg();this.S=pg();this.A=[];this.j=this.I=this.w=[];qg(this);this.X=0;rg(this);this.ka={};sg(this,a.messages);this.na=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Pc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Pc(b,a)})}aa(ng,cg);l=ng.prototype;
|
function ng(a){cg.call(this,a);this.style=og;this.F=pg();this.ta=pg();this.S=pg();this.A=[];this.j=this.I=this.w=[];qg(this);this.X=0;rg(this);this.ka={};sg(this,a.messages);this.na=a.commands;var b=this;window?void 0===window.pc8080&&(window.pc8080=function(a){return Pc(b,a)}):void 0===global.pc8080&&(global.pc8080=function(a){return Pc(b,a)})}aa(ng,cg);l=ng.prototype;
|
||||||
l.Ga=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Lc(a,"messages"))&&sg(this,a);this.sa=tg;be(this,64,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ug(vg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,q=0;k--;){var u=b[e];u.type==c?q++||d.i("..."):(c=u.type,q=Ub[c],u&&d.i(n(u.id)+" %"+n(e<<d.H.g)+" %%"+n(u.J)+" "+p(u.pb)+" "+
|
l.Ga=function(a,b,c,d){this.H=b;this.u=c;this.R=a;(a=Lc(a,"messages"))&&sg(this,a);this.sa=tg;be(this,64,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=ug(vg(d,c));if(-1===a){d.i("invalid address: "+c);break a}e=a>>>d.H.g;k=1}d.i("blockid physical blockaddr used size type");d.i("-------- --------- ---------- ------ ------ ----");for(var c=-1,q=0;k--;){var u=b[e];u.type==c?q++||d.i("..."):(c=u.type,q=Ub[c],u&&d.i(n(u.id)+" %"+n(e<<d.H.g)+" %%"+n(u.J)+" "+p(u.pb)+" "+
|
||||||
p(u.size)+" "+q),c!=xc&&(c=-1),q=0);a+=d.H.w;e++}}});Bb(this)};
|
p(u.size)+" "+q),c!=xc&&(c=-1),q=0);a+=d.H.w;e++}}});Bb(this)};
|
||||||
|
|
@ -248,18 +248,18 @@ function Bh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.i(">> "+b):(a.M&&(a.i("e
|
||||||
u,void 0===f[2])a.i("begin assemble at "+Zg(u.J)),a.M=!0,Qc(a.u);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Ch(a,a.S))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
|
u,void 0===f[2])a.i("begin assemble at "+Zg(u.J)),a.M=!0,Qc(a.u);else{var v;a.i("not supported yet");v=[];if(v.length){for(var B=0;B<v.length;B++)a.Xb(u,v[B],1);a.i(Ch(a,a.S))}}break;case "b":a:{var y=f[0],w=f[1],C=b;if("?"==w)a.i("breakpoint commands:"),a.i("\tbi [p]\ttoggle break on input port [p]"),a.i("\tbo [p]\ttoggle break on output port [p]"),a.i("\tbp [a]\tset exec breakpoint at addr [a]"),a.i("\tbr [a]\tset read breakpoint at addr [a]"),a.i("\tbw [a]\tset write breakpoint at addr [a]"),a.i("\tbc [a]\tclear breakpoint at addr [a]"),
|
||||||
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=y.charAt(1);if("l"==T){var za;za=0+Ah(a,a.j);za+=Ah(a,a.I);(za+=Ah(a,a.w))||a.i("no breakpoints")}else if("n"==T)a.X=gg(a,w),a.i("break after "+a.X+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=pg();if("*"!=w&&(L=vg(a,w,!0),!L))break a;w=p(L.J);"c"==T?null==L.J?(qg(a),a.i("all breakpoints cleared")):yh(a,a.j,L)||yh(a,a.I,L)||yh(a,a.w,L)||a.i("breakpoint missing: "+Zg(L.J)):
|
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=y.charAt(1);if("l"==T){var za;za=0+Ah(a,a.j);za+=Ah(a,a.I);(za+=Ah(a,a.w))||a.i("no breakpoints")}else if("n"==T)a.X=gg(a,w),a.i("break after "+a.X+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=pg();if("*"!=w&&(L=vg(a,w,!0),!L))break a;w=p(L.J);"c"==T?null==L.J?(qg(a),a.i("all breakpoints cleared")):yh(a,a.j,L)||yh(a,a.I,L)||yh(a,a.w,L)||a.i("breakpoint missing: "+Zg(L.J)):
|
||||||
"i"==T?a.i("breakpoint "+(bc(a.H,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(gc(a.H,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Yg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.I,L):"w"==T?a.Pa(a.w,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var ja,ua=f[0],na=f[1],Ma=f[2],fc=f[3];if("?"==na){var Nb="";for(ja in Jb)a.ka[ja]&&(Nb&&(Nb+=","),Nb+=ja);Nb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");
|
"i"==T?a.i("breakpoint "+(bc(a.H,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(gc(a.H,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(Yg(a,L,C),"p"==T?a.Pa(a.j,L):"r"==T?a.Pa(a.I,L):"w"==T?a.Pa(a.w,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":a.ua&&(a.ua.value="");break;case "d":a:{var ja,ua=f[0],na=f[1],Ma=f[2],fc=f[3];if("?"==na){var Nb="";for(ja in Jb)a.ka[ja]&&(Nb&&(Nb+=","),Nb+=ja);Nb+=",state,symbols";a.i("dump memory commands:");a.i("\tdb [a] [#] dump # bytes at address a");
|
||||||
a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Nb.length&&a.i("dump extension commands:\n\t"+Nb)}else if("state"==na){var qe=di(a.R,!0);"console"==Ma?console.log(qe):(a.ua&&(a.ua.value=""),qe&&a.i(qe))}else if("symbols"==na)for(var re=0;re<a.A.length;re++){var se=a.A[re],Ob;for(Ob in se.ra)if("."!=Ob.charAt(0)){var zg=se.ra[Ob].o;if(void 0!==zg){var Ag=se.ra[Ob].l;Ag&&(Ob=Ag);a.i(Zg(zg)+" "+
|
a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Nb.length&&a.i("dump extension commands:\n\t"+Nb)}else if("state"==na){var re=di(a.R,!0);"console"==Ma?console.log(re):(a.ua&&(a.ua.value=""),re&&a.i(re))}else if("symbols"==na)for(var se=0;se<a.A.length;se++){var te=a.A[se],Ob;for(Ob in te.ra)if("."!=Ob.charAt(0)){var zg=te.ra[Ob].o;if(void 0!==zg){var Ag=te.ra[Ob].l;Ag&&(Ob=Ag);a.i(Zg(zg)+" "+
|
||||||
Ob)}}}else{if("d"==ua){for(ja in Jb)if(f[1]==ja){var Bg=a.ka[ja];Bg?(f.shift(),f.shift(),Bg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Ha||"db")}else a.Ha=ua;if("dh"==ua){var Cg=na,Dg=Ma,Eg="",Fg=0,Na=a.U,Za=a.D;if(Za.length){var Ba=+Cg||a.ya,kc=+Dg||10;isNaN(Ba)?Ba=kc:Eg="more ";Ba>Za.length&&(a.i("note: only "+Za.length+" available"),Ba=Za.length);Na-=Ba;0>Na&&(null==Za[Za.length-1].J?(Ba=Na+Ba,Na=0):Na+=Za.length);var te=[];"call"==Dg&&(kc=1E5,te=["CALL"]);for(void 0!==Cg&&a.i(Ba+
|
Ob)}}}else{if("d"==ua){for(ja in Jb)if(f[1]==ja){var Bg=a.ka[ja];Bg?(f.shift(),f.shift(),Bg(f)):a.i("no dump registered for "+na);break a}na||(ua=a.Ha||"db")}else a.Ha=ua;if("dh"==ua){var Cg=na,Dg=Ma,Eg="",Fg=0,Na=a.U,Za=a.D;if(Za.length){var Ba=+Cg||a.ya,kc=+Dg||10;isNaN(Ba)?Ba=kc:Eg="more ";Ba>Za.length&&(a.i("note: only "+Za.length+" available"),Ba=Za.length);Na-=Ba;0>Na&&(null==Za[Za.length-1].J?(Ba=Na+Ba,Na=0):Na+=Za.length);var ue=[];"call"==Dg&&(kc=1E5,ue=["CALL"]);for(void 0!==Cg&&a.i(Ba+
|
||||||
" instructions earlier:");0<kc&&Na!=a.U;){var Gg=Za[Na++];if(null==Gg.J)break;var lc=pg(Gg.J),Hi=Ba--,Hg=Ch(a,lc,"history",Hi);(!te.length||0<=Hg.indexOf(te[0]))&&a.i(Hg);lc.Jb&&(Na+=lc.Jb,kc-=lc.Jb,Ba-=lc.Jb);Na>=Za.length&&(Na=0);a.ya=Ba;Fg++;kc--}}Fg||(a.i("no "+Eg+"history available"),a.ya=void 0)}else{var $c=vg(a,na);if($c){var ad=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||fc),ad=gg(a,Ma)>>>0,65536<ad&&(ad=65536));for(var mc="",bd="dd"==ua?4:"dw"==ua?2:1,cd=bd*ad||128,Ii=cd+15>>4||1;Ii--&&0<
|
" instructions earlier:");0<kc&&Na!=a.U;){var Gg=Za[Na++];if(null==Gg.J)break;var lc=pg(Gg.J),Hi=Ba--,Hg=Ch(a,lc,"history",Hi);(!ue.length||0<=Hg.indexOf(ue[0]))&&a.i(Hg);lc.Jb&&(Na+=lc.Jb,kc-=lc.Jb,Ba-=lc.Jb);Na>=Za.length&&(Na=0);a.ya=Ba;Fg++;kc--}}Fg||(a.i("no "+Eg+"history available"),a.ya=void 0)}else{var $c=vg(a,na);if($c){var ad=0;Ma&&("l"==Ma.charAt(0)&&(Ma=Ma.substr(1)||fc),ad=gg(a,Ma)>>>0,65536<ad&&(ad=65536));for(var mc="",bd="dd"==ua?4:"dw"==ua?2:1,cd=bd*ad||128,Ii=cd+15>>4||1;Ii--&&0<
|
||||||
cd;){var dd=0,ue=0,nc,ve="",Ig="",na=Zg($c.J);for(nc=16;0<nc&&0<cd;nc--){var ed=a.Ia($c,1),dd=dd|ed<<(ue++<<3);ue==bd&&(ve+=n(dd,2*bd),ve+=1==bd?9==nc?"-":" ":" ",dd=ue=0);Ig+=32<=ed&&128>ed?String.fromCharCode(ed):".";cd--}mc&&(mc+="\n");mc+=na+" "+ve+(nc?"":" "+Ig)}mc&&a.i(mc);a.ta=$c}}}}break;case "e":if("else"==f[0])break;var fd=1,Jg=255,Kg=a.Ia,Lg=a.Xb;"ew"==f[0]&&(fd=2,Jg=65535,Kg=a.Gb,Lg=a.Qc);var Mg=fd<<1,Ng=f[1];if(null==Ng)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),
|
cd;){var dd=0,ve=0,nc,we="",Ig="",na=Zg($c.J);for(nc=16;0<nc&&0<cd;nc--){var ed=a.Ia($c,1),dd=dd|ed<<(ve++<<3);ve==bd&&(we+=n(dd,2*bd),we+=1==bd?9==nc?"-":" ":" ",dd=ve=0);Ig+=32<=ed&&128>ed?String.fromCharCode(ed):".";cd--}mc&&(mc+="\n");mc+=na+" "+we+(nc?"":" "+Ig)}mc&&a.i(mc);a.ta=$c}}}}break;case "e":if("else"==f[0])break;var fd=1,Jg=255,Kg=a.Ia,Lg=a.Xb;"ew"==f[0]&&(fd=2,Jg=65535,Kg=a.Gb,Lg=a.Qc);var Mg=fd<<1,Ng=f[1];if(null==Ng)a.i("edit memory commands:"),a.i("\teb [a] [...] edit bytes at address a"),
|
||||||
a.i("\tew [a] [...] edit words at address a");else{var gd=vg(a,Ng);if(gd)for(var hd=2;hd<f.length;hd++){var oc=ig(a,f[hd]);if(void 0===oc){a.i("unrecognized value: "+f[hd]);break}oc&~Jg&&a.i("warning: "+n(oc)+" exceeds "+fd+"-byte value");var Ji=Kg.call(a,gd);a.i("changing "+Zg(gd.J)+" from "+n(Ji,Mg,!0)+" to "+n(oc,Mg,!0));Lg.call(a,gd,oc,fd)}}break;case "f":Yh(a,f[1]);break;case "g":a:{var Og=f[1],Ki=b;if(void 0!==Og){var we=vg(a,Og,!0);if(!we)break a;Yg(a,we,Ki);a.Pa(a.j,we,!0)}th(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
|
a.i("\tew [a] [...] edit words at address a");else{var gd=vg(a,Ng);if(gd)for(var hd=2;hd<f.length;hd++){var oc=ig(a,f[hd]);if(void 0===oc){a.i("unrecognized value: "+f[hd]);break}oc&~Jg&&a.i("warning: "+n(oc)+" exceeds "+fd+"-byte value");var Ji=Kg.call(a,gd);a.i("changing "+Zg(gd.J)+" from "+n(Ji,Mg,!0)+" to "+n(oc,Mg,!0));Lg.call(a,gd,oc,fd)}}break;case "f":Yh(a,f[1]);break;case "g":a:{var Og=f[1],Ki=b;if(void 0!==Og){var xe=vg(a,Og,!0);if(!xe)break a;Yg(a,xe,Ki);a.Pa(a.j,xe,!0)}th(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;
|
||||||
case "h":a:{var xe;if(a.G.ma)xe="halting",a.ea();else{if(Cb(a,!0))break a;xe="already halted"}c||a.i(xe)}break;case "i":if("if"==f[0]){var ye;var pc=b.substr(2),pc=Ca(pc);ig(a,pc)?(c||a.i("true: "+pc),ye=!0):(c||a.i("false: "+pc),ye=!1);ye||(d=!1);break}if("int"==f[0]){var id;var Li=f[1];if(a.u.N&512){var ze=ig(a,Li);null==ze?id=!1:(a.i("requesting interrupt level "+ze),Td(a.u,ze),id=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),id=!1;id||(d=!1);break}var Ae=f[1];if(Ae&&"?"!=Ae){var Be=
|
case "h":a:{var ye;if(a.G.ma)ye="halting",a.ea();else{if(Cb(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var pc=b.substr(2),pc=Ca(pc);ig(a,pc)?(c||a.i("true: "+pc),ze=!0):(c||a.i("false: "+pc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var id;var Li=f[1];if(a.u.N&512){var Ae=ig(a,Li);null==Ae?id=!1:(a.i("requesting interrupt level "+Ae),Td(a.u,Ae),id=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),id=!1;id||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=
|
||||||
gg(a,Ae);if(void 0!==Be){var Mi=dc(a.H,Be);a.i(p(Be)+": "+ra(Mi))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Ni=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var Ce=0,Pg=pg(),qc=pg(a.u.M);for(a.i("stack trace for "+Zg(qc.J));10>Ce;){for(var ub=null,Oi=256;65536>qc.J>>>0;){Pg.J=a.Gb(qc,2);if(null==qc.J||!Oi--)break;for(var Pi=a,jd=Pg,
|
gg(a,Be);if(void 0!==Ce){var Mi=dc(a.H,Ce);a.i(p(Ce)+": "+ra(Mi))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Ni=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Pg=pg(),qc=pg(a.u.M);for(a.i("stack trace for "+Zg(qc.J));10>De;){for(var ub=null,Oi=256;65536>qc.J>>>0;){Pg.J=a.Gb(qc,2);if(null==qc.J||!Oi--)break;for(var Pi=a,jd=Pg,
|
||||||
Qg=null,rc=jd.J,Rg=rc,De=1;6>=De&&rc;De++){if(2<De){jd.J=rc;var kd=Ch(Pi,jd);if(0<=kd.indexOf("CALL")){var Sg=kd.indexOf(" ");if(rc+(kd.indexOf(" ",Sg+1)-Sg-1)/2==Rg){Qg=kd;break}}}rc--}jd.J=Rg;if(ub=Qg)break}if(!ub||null==ub)break;var Tg=null;if("ks"==Ni){var Ug=ub.match(/[0-9A-F]+$/);Ug&&(Tg=$h(a,Ug[0]))}ub=Aa(ub,50)+" ;"+(Tg||"stack="+Zg(qc.J));a.i(ub);Ce++}Ce||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&$h(a,f[1],!0);break;case "m":a:{var $a,ab=null,ba=f[1];"?"==ba&&(ba=void 0);
|
Qg=null,rc=jd.J,Rg=rc,Ee=1;6>=Ee&&rc;Ee++){if(2<Ee){jd.J=rc;var kd=Ch(Pi,jd);if(0<=kd.indexOf("CALL")){var Sg=kd.indexOf(" ");if(rc+(kd.indexOf(" ",Sg+1)-Sg-1)/2==Rg){Qg=kd;break}}}rc--}jd.J=Rg;if(ub=Qg)break}if(!ub||null==ub)break;var Tg=null;if("ks"==Ni){var Ug=ub.match(/[0-9A-F]+$/);Ug&&(Tg=$h(a,Ug[0]))}ub=Aa(ub,50)+" ;"+(Tg||"stack="+Zg(qc.J));a.i(ub);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&$h(a,f[1],!0);break;case "m":a:{var $a,ab=null,ba=f[1];"?"==ba&&(ba=void 0);
|
||||||
if(void 0!==ba){var mb=0;if("all"==ba)mb=1878917119,ba=null;else if("on"==ba)ab=!0,ba=null;else if("off"==ba)ab=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for($a in Jb)if(ba==$a){mb=Jb[$a];ab=!!(a.ha&mb);break}if(!mb){a.i("unknown message category: "+ba);break a}}if(mb)if("on"==f[2])a.ha|=mb,ab=!0;else if("off"==f[2]&&(a.ha&=~mb,ab=!1,1073741824==mb)){for(var Ee=0;Ee<a.Z.length;Ee++)a.i(a.Z[Ee]);a.Z=[]}}var Qi=0,sc="";for($a in Jb)if(!ba||ba==$a){var Ri=!!(a.ha&Jb[$a]);if(null===
|
if(void 0!==ba){var mb=0;if("all"==ba)mb=1878917119,ba=null;else if("on"==ba)ab=!0,ba=null;else if("off"==ba)ab=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for($a in Jb)if(ba==$a){mb=Jb[$a];ab=!!(a.ha&mb);break}if(!mb){a.i("unknown message category: "+ba);break a}}if(mb)if("on"==f[2])a.ha|=mb,ab=!0;else if("off"==f[2]&&(a.ha&=~mb,ab=!1,1073741824==mb)){for(var Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Qi=0,sc="";for($a in Jb)if(!ba||ba==$a){var Ri=!!(a.ha&Jb[$a]);if(null===
|
||||||
ab||ab==Ri)sc&&(sc+=","),++Qi%10||(sc+="\n\t"),"key"==$a&&($a="keys"),sc+=$a}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==ab?ab?"messages on: ":"messages off: ":"message categories:\n\t")+(sc||"none"));rg(a)}break;case "o":var Fe=f[1],Si=f[2];if(Fe&&"?"!=Fe){var Ge=gg(a,Fe,"port #"),He=gg(a,Si);void 0!==Ge&&void 0!==He&&(ic(a.H,Ge,He),a.i(p(Ge)+": "+ra(He)))}else a.i("output commands:"),a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");
|
ab||ab==Ri)sc&&(sc+=","),++Qi%10||(sc+="\n\t"),"key"==$a&&($a="keys"),sc+=$a}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==ab?ab?"messages on: ":"messages off: ":"message categories:\n\t")+(sc||"none"));rg(a)}break;case "o":var Ge=f[1],Si=f[2];if(Ge&&"?"!=Ge){var He=gg(a,Ge,"port #"),Ie=gg(a,Si);void 0!==He&&void 0!==Ie&&(ic(a.H,He,Ie),a.i(p(He)+": "+ra(Ie)))}else a.i("output commands:"),a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");
|
||||||
break;case "p":if("print"==f[0]){bi(a,b.substr(5));break}var Vg="pr"==f[0]?1:0,Ti=1+Vg;if(a.N)a.i("step in progress");else{var Ie=pg(a.u.j);switch(a.Ia(Ie)){case 205:a.N=Ti,xg(Ie,3)}a.N?(a.Pa(a.j,Ie,!0),th(a)||(a.R&&a.R.Za(),a.N=0)):ci(a,Vg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}vh(a,f);break;case "s":ai(a,f);break;case "t":ci(a,f[0],f[1]);break;case "u":wh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Zh(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.34.2 ("+a.u.xb+",RELEASE"+
|
break;case "p":if("print"==f[0]){bi(a,b.substr(5));break}var Vg="pr"==f[0]?1:0,Ti=1+Vg;if(a.N)a.i("step in progress");else{var Je=pg(a.u.j);switch(a.Ia(Je)){case 205:a.N=Ti,xg(Je,3)}a.N?(a.Pa(a.j,Je,!0),th(a)||(a.R&&a.R.Za(),a.N=0)):ci(a,Vg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}vh(a,f);break;case "s":ai(a,f);break;case "t":ci(a,f[0],f[1]);break;case "u":wh(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Zh(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.34.2 ("+a.u.xb+",RELEASE"+
|
||||||
(Hb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ja());break;case "?":if(f[1]){bi(a,b.substr(1));break}var Je="commands:",Ke;for(Ke in ei)Je+="\n"+Aa(Ke,9)+ei[Ke];Ud(a)||(Je+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Je);break;default:a.i("unknown command: "+b),d=!1}}}catch(Xg){a.i("debugger error: "+(Xg.stack||Xg.message)),d=!1}return d}function Pc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!Bh(a,b[+d]))return!1;return!0}
|
(Hb?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ja());break;case "?":if(f[1]){bi(a,b.substr(1));break}var Ke="commands:",Le;for(Le in ei)Ke+="\n"+Aa(Le,9)+ei[Le];Ud(a)||(Ke+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Ke);break;default:a.i("unknown command: "+b),d=!1}}}catch(Xg){a.i("debugger error: "+(Xg.stack||Xg.message)),d=!1}return d}function Pc(a,b,c){b=a.Ab(b,c);for(var d in b)if(!Bh(a,b[+d]))return!1;return!0}
|
||||||
var ei={"?":"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 ei={"?":"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"},
|
||||||
og=8080,Dh=8086,Eh="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(" "),Fh="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(" "),
|
og=8080,Dh=8086,Eh="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(" "),Fh="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(" "),
|
||||||
dh=0,eh=1,fh=2,gh=3,hh=4,ih=5,jh=6,ch=7,kh=8,lh=9,mh=10,nh=11,oh=12,ph=13,qh=14,ah="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Ih=15,Hh=240,Qh=3840,Jh=61440,Gh=0,Q=1,Mh=2,Nh=3,Ph=16,P=32,Oh=64,Rh=128,R=ch<<8|Ph|Q,S=dh<<8|Ph|Q,U=eh<<8|Ph|Q,V=fh<<8|Ph|Q,W=gh<<8|Ph|Q,X=hh<<8|Ph|Q,Y=ih<<8|Ph|Q,Z=jh<<8|Ph|Q|Oh,fi=kh<<8|Ph|Nh,gi=lh<<8|Ph|Nh,hi=mh<<8|Ph|Nh,ii=nh<<8|Ph|Nh,ji=qh<<8|Ph|Nh,Lh=4096,Kh=8192,O=16384,Sh=32768,tg=[[45],[42,fi,P],[71,fi|Oh,R|O],[29,fi],[28,S],[22,S],[44,S,P],[63],[45,Sh],[21,
|
dh=0,eh=1,fh=2,gh=3,hh=4,ih=5,jh=6,ch=7,kh=8,lh=9,mh=10,nh=11,oh=12,ph=13,qh=14,ah="B C D E H L M A BC DE HL SP PC PS PSW".split(" "),Ih=15,Hh=240,Qh=3840,Jh=61440,Gh=0,Q=1,Mh=2,Nh=3,Ph=16,P=32,Oh=64,Rh=128,R=ch<<8|Ph|Q,S=dh<<8|Ph|Q,U=eh<<8|Ph|Q,V=fh<<8|Ph|Q,W=gh<<8|Ph|Q,X=hh<<8|Ph|Q,Y=ih<<8|Ph|Q,Z=jh<<8|Ph|Q|Oh,fi=kh<<8|Ph|Nh,gi=lh<<8|Ph|Nh,hi=mh<<8|Ph|Nh,ii=nh<<8|Ph|Nh,ji=qh<<8|Ph|Nh,Lh=4096,Kh=8192,O=16384,Sh=32768,tg=[[45],[42,fi,P],[71,fi|Oh,R|O],[29,fi],[28,S],[22,S],[44,S,P],[63],[45,Sh],[21,
|
||||||
|
|
|
||||||
|
|
@ -427,8 +427,8 @@ r(b.od)+" IRR="+r(b.ac)+" ISR="+r(b.Ec)+" DELAY="+b.We;e.ba.P(c)}});Al(d,2048,fu
|
||||||
l.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
|
l.Xb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};
|
||||||
l.reset=function(a){var b;Fl(this);this.F=Array(this.za);for(b=0;b<this.za;b++)Gl(this,b);this.hc=Array(this.ha);Hl(this,Il,Jl);1<this.ha&&Hl(this,Kl,Ll);this.va=this.ta=null;this.G=Array((this.ca|0)==xl?6:3);for(b=0;b<this.G.length;b++)Ml(this,b);this.ga=this.Ca=this.J=this.xa=null;this.da=ih;this.ca==ll&&(this.aa=0);if(this.ca>=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa=
|
l.reset=function(a){var b;Fl(this);this.F=Array(this.za);for(b=0;b<this.za;b++)Gl(this,b);this.hc=Array(this.ha);Hl(this,Il,Jl);1<this.ha&&Hl(this,Kl,Ll);this.va=this.ta=null;this.G=Array((this.ca|0)==xl?6:3);for(b=0;b<this.G.length;b++)Ml(this,b);this.ga=this.Ca=this.J=this.xa=null;this.da=ih;this.ca==ll&&(this.aa=0);if(this.ca>=eh){this.D=Nl;this.L=0;this.K=Ol;this.oa=0;this.M=Pl|Ql;512<=Rl(this)&&(this.M|=Sl);+Tl(this,hl,void 0)==Ul&&(this.M|=Vl);(this.ca|0)==xl&&(this.M=this.M|Wl|Xl);this.qa=
|
||||||
Yl|Zl;this.Y=Array(8);this.V=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;a<dm;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Tl(this,hl,void 0)<<em.Mg&em.yc;a|=+Tl(this,nl,void 0)?fm:0;b=+Tl(this,gl,void 0);a|=b?b-1<<gm.Mg&gm.yc|gm.ol:0;this.A[hm]=a;this.A[im]=jm(this,0)<<4|jm(this,1);km(this)}};
|
Yl|Zl;this.Y=Array(8);this.V=0;a&&(this.A=Array(Cl));$l(this,this.Ma);for(a=am;a<=bm;a++)this.A[a]=0;for(a=cm;a<dm;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Tl(this,hl,void 0)<<em.Mg&em.yc;a|=+Tl(this,nl,void 0)?fm:0;b=+Tl(this,gl,void 0);a|=b?b-1<<gm.Mg&gm.yc|gm.ol:0;this.A[hm]=a;this.A[im]=jm(this,0)<<4|jm(this,1);km(this)}};
|
||||||
function $l(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.P("CMOS date invalid ("+b+"), using "+c)):b&&a.P("CMOS date: "+c);a.A[lm]=c.getSeconds();a.A[mm]=0;a.A[nm]=c.getMinutes();a.A[om]=0;a.A[Gm]=c.getHours();a.A[Hm]=0;a.A[Im]=c.getDay()+1;a.A[Jm]=c.getDate();a.A[Km]=c.getMonth()+1;b=c.getFullYear();a.A[Lm]=b%100;b/=100;a.A[Mm]=b%10|b/10<<4;a.A[Nm]=38;a.A[Rd]=Om;a.A[Pm]=0;a.A[Dl]=Qm;a.ma=a.Z=0;a.Ha=a.Aa=null}
|
function $l(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.P("CMOS date invalid ("+b+"), using "+c)):b&&a.P("CMOS date: "+c);a.A[lm]=c.getSeconds();a.A[mm]=0;a.A[nm]=c.getMinutes();a.A[om]=0;a.A[pm]=c.getHours();a.A[Hm]=0;a.A[Im]=c.getDay()+1;a.A[Jm]=c.getDate();a.A[Km]=c.getMonth()+1;b=c.getFullYear();a.A[Lm]=b%100;b/=100;a.A[Mm]=b%10|b/10<<4;a.A[Nm]=38;a.A[Rd]=Om;a.A[Pm]=0;a.A[Dl]=Qm;a.ma=a.Z=0;a.Ha=a.Aa=null}
|
||||||
function El(a,b){var c=a.A[b];if(b<Nm){var d=!1;b!=Gm&&b!=Hm||a.A[Rd]&Om||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else b==Nm&&(a.A[b]^=Sm);return c}function Tm(a){var b;void 0===b&&(b=a.Aa);a.Z=Ed(a.H,a.O)+b;a.A[Rd]&Td&&Gd(a.H,b)}function km(a){for(var b=0,c=im;c<dm;c++)b+=a.A[c];a.A[Um]=b&255;a.A[dm]=b>>8}
|
function El(a,b){var c=a.A[b];if(b<Nm){var d=!1;b!=pm&&b!=Hm||a.A[Rd]&Om||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[Rd]&Rm||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else b==Nm&&(a.A[b]^=Sm);return c}function Tm(a){var b;void 0===b&&(b=a.Aa);a.Z=Ed(a.H,a.O)+b;a.A[Rd]&Td&&Gd(a.H,b)}function km(a){for(var b=0,c=im;c<dm;c++)b+=a.A[c];a.A[Um]=b&255;a.A[dm]=b>>8}
|
||||||
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.tb,h.qb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.qb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
|
l.save=function(){var a=new Xf(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.F;c++){for(var d=this.F[c],e=d,f=[],g=0;g<e.oc.length;g++){var h=e.oc[g];f[g]=[h.ne,h.fg,h.pc,h.tb,h.qb,h.mode,h.hg,h.Oo,h.Po]}b[c]=[d.Mb,d.Xg,d.Xi,d.zb,f,d.Yi]}a.set(1,[b]);b=[];for(c=0;c<this.hc.length;c++)d=this.hc[c],b[c]=[d.We,d.Kc,d.Ld,d.od,d.ac,d.Ec,d.ge,d.nf];a.set(2,[b]);b=[];for(c=0;c<this.G.length;c++)d=this.G[c],b[c]=[d.pc,d.Mc,d.qb,d.je,d.Zg,d.mode,d.Qf,d.rd,d.ad,d.gd,d.Me,d.le,d.jd,d.Mb,d.Qe];a.set(3,[this.ta,
|
||||||
b,this.va]);a.set(4,[this.xa,this.J,this.Ca,this.ga,this.da]);this.ca>=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.V,this.A,this.ma,this.Z]));return a.data()};
|
b,this.va]);a.set(4,[this.xa,this.J,this.Ca,this.ga,this.da]);this.ca>=eh&&(a.set(5,[this.D,this.L,this.K,this.oa,this.M,this.qa]),a.set(6,[this.Y[7],this.Y,this.V,this.A,this.ma,this.Z]));return a.data()};
|
||||||
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Fl(this);b=a[1];for(c=0;c<this.za;c++)Gl(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ha;c++)Hl(this,c,c?Ll:Jl,b[0][c]);b=a[3];this.ta=b[0];this.va=b[2];for(c=0;c<this.G.length;c++)Ml(this,c,b[1][c]);b=a[4];this.xa=b[0];this.J=b[1];this.Ca=b[2];this.ga=b[3];this.da=b[4];if(b=a[5])this.D=b[0],this.L=b[1],this.K=b[2],this.oa=b[3],this.M=b[4],this.qa=
|
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Fl(this);b=a[1];for(c=0;c<this.za;c++)Gl(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ha;c++)Hl(this,c,c?Ll:Jl,b[0][c]);b=a[3];this.ta=b[0];this.va=b[2];for(c=0;c<this.G.length;c++)Ml(this,c,b[1][c]);b=a[4];this.xa=b[0];this.J=b[1];this.Ca=b[2];this.ga=b[3];this.da=b[4];if(b=a[5])this.D=b[0],this.L=b[1],this.K=b[2],this.oa=b[3],this.M=b[4],this.qa=
|
||||||
|
|
@ -456,7 +456,7 @@ function po(a,b,c,d,e,f){t(a,2304)&&w(a,d,e,f,"PIT"+b+".TIMER"+c,null,!0);f=b?3:
|
||||||
function yo(a,b,c,d,e){w(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.qb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
|
function yo(a,b,c,d,e){w(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&zo;b?(e=3,a.va=d):a.ta=d;if(c==Ao){if(!(d&Bo))for(c=0;2>=c;c++)if(d&Co<<c){b=e+c;var f=a.G[b];f.Qe||(Bl(a,b),f.Mb=f.Zg|f.mode|f.Qf|(f.rd<f.ad?Do:0)|(f.gd?Eo:0),f.Qe=!0)}if(!(d&Fo))for(c=0;2>=c;c++)d&Co<<c&&Go(a,e+c)}else{c>>=Ho;var f=d&Io,g=d&Jo;d&=Ko;if(d==Lo)Go(a,e+c);else{e+=c;var h=a.G[e];h.Qf=d;h.mode=g;h.Zg=f;h.pc=[0,0];h.qb=[0,0];h.je=[0,0];h.gd=!1;h.Me=!1;h.le=!1;h.Qe=!1;oo(a,e);b==so&&c==to&&fh(a,uo);b==so&&c==wo&&255==a.hc[0].od&&
|
||||||
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.qb[0];c.je[1]=c.qb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
|
a.J==(Mo|No|Oo|Po)&&(b=a.G[0],b.Mc[0]=b.pc[0],b.Mc[1]=b.pc[1],b.jd=Ed(a.H,a.O))}}}function vo(a,b){a=a.G[b];(b=a.pc[1]<<8|a.pc[0])||(b=1==a.ad?256:65536);return b}function Pd(a,b){a=a.G[b];(b=a.Mc[1]<<8|a.Mc[0])||(b=1==a.ad?256:65536);return b}function Go(a,b){Bl(a,b);var c=a.G[b];c.je[0]=c.qb[0];c.je[1]=c.qb[1];c.Me=!0;oo(a,b)}function oo(a,b){a=a.G[b];a.rd=a.Qf==Qo?1:0;a.ad=a.Qf==Ro?2:1}
|
||||||
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.qb[0]=h&255;d.qb[1]=h>>8&255;c&&(a.jd=0)}return d}
|
function Bl(a,b,c){var d=a.G[b];if(d.le&&(b!=wo||a.J&Mo)){var e=Ed(a.H,a.O),f=(e-d.jd)/a.Ba|0;0>f&&(d.jd=e,f=0);var g=vo(a,b),h=Pd(a,b)-f;d.mode==qo?(0>=h&&(h=0),h||(d.gd=!0,d.le=!1,b||hh(a,uo))):d.mode==So?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo))):d.mode==Qd&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.Mc[0]=h&255,d.Mc[1]=h>>8&255,d.jd=e,!b&&d.gd&&hh(a,uo)));d.qb[0]=h&255;d.qb[1]=h>>8&255;c&&(a.jd=0)}return d}
|
||||||
function Od(a,b){for(var c=0;c<a.G.length;c++)Bl(a,c,b);if(a.ca>=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[Gm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[Gm]))){a.A[Gm]=0;a.A[Im]=a.A[Im]%
|
function Od(a,b){for(var c=0;c<a.G.length;c++)Bl(a,c,b);if(a.ca>=eh){b=a.H.T.sd;c=Ed(a.H,a.O);null==a.Aa&&(a.ma=Ed(a.H,a.O),a.Ha=1024,a.Aa=Math.floor(a.H.T.sd/a.Ha),Tm(a));c>=a.Z&&(a.A[Pm]|=To,a.A[Rd]&Td&&(a.A[Pm]|=Uo,hh(a,Vo)),a.Z=c+a.Aa);a.A[lm]==a.A[mm]&&a.A[nm]==a.A[om]&&a.A[pm]==a.A[Hm]&&(a.A[Pm]|=Wo,a.A[Rd]&Xo&&(a.A[Pm]|=Uo,hh(a,Vo)));var d=c-a.ma,e=Math.floor(d/b);if(e&&!(a.A[Rd]&Yo)){for(;e--;)if(60<=++a.A[lm]&&(a.A[lm]=0,60<=++a.A[nm]&&(a.A[nm]=0,24<=++a.A[pm]))){a.A[pm]=0;a.A[Im]=a.A[Im]%
|
||||||
7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.xa;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));w(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){w(this,a,b,c,"PPI_A");this.xa=b};l.Hm=function(a,b){var c=this.J;w(this,a,null,b,"PPI_B",c);return c};
|
7+1;var f;f=a.A[Lm];var g=Ja[a.A[Km]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Jm]>f&&(a.A[Jm]=1,12<++a.A[Km]&&(a.A[Km]=1,a.A[Lm]=(a.A[Lm]+1)%100))}a.A[Pm]|=Zo;a.A[Rd]&$o&&(a.A[Pm]|=Uo,hh(a,Vo))}a.ma=c-d%b}}l.Gm=function(a,b){var c=this.xa;this.ga&ap&&(this.J&bp?c=this.C[0][1]:this.B&&(c=cp(this.B)));w(this,a,null,b,"PPI_A",c);return c};l.jo=function(a,b,c){w(this,a,b,c,"PPI_A");this.xa=b};l.Hm=function(a,b){var c=this.J;w(this,a,null,b,"PPI_B",c);return c};
|
||||||
l.ko=function(a,b,c){w(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);w(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){w(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;w(this,a,null,b,"PPI_CTRL",c);return c};
|
l.ko=function(a,b,c){w(this,a,b,c,"PPI_B");dp(this,b)};function dp(a,b){var c=!!(b&ep),d=!!(a.J&ep);a.J=b;a.B&&fp(a.B,!(b&bp),!!(b&Po));c!=d&&Vm(a,c)}l.Im=function(a,b){var c=0,c=(this.ca|0)==kl?this.J&No?c|this.C[1][1]&gp:c|this.C[1][1]>>4&1:this.J&hp?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.J&Mo&&Bl(this,wo).gd&&(c=this.J&ep?c|ip:c|jp);w(this,a,null,b,"PPI_C",c,32896);return c};l.lo=function(a,b,c){w(this,a,b,c,"PPI_C");this.Ca=b};l.Jm=function(a,b){var c=this.ga;w(this,a,null,b,"PPI_CTRL",c);return c};
|
||||||
l.mo=function(a,b,c){w(this,a,b,c,"PPI_CTRL");this.ga=b};l.Sl=function(a,b){var c=this.B?cp(this.B):0;w(this,a,null,b,"8041_KBD",c);this.aa&=~kp;return c};l.tn=function(a,b,c){w(this,a,b,c,"8041_KBD")};l.Rl=function(a,b){var c=this.J;w(this,a,null,b,"8041_CTRL",c);return c};l.sn=function(a,b,c){w(this,a,b,c,"8041_CTRL");dp(this,b)};l.Tl=function(a,b){var c=this.aa;w(this,a,null,b,"8041_STATUS",c);return c};
|
l.mo=function(a,b,c){w(this,a,b,c,"PPI_CTRL");this.ga=b};l.Sl=function(a,b){var c=this.B?cp(this.B):0;w(this,a,null,b,"8041_KBD",c);this.aa&=~kp;return c};l.tn=function(a,b,c){w(this,a,b,c,"8041_KBD")};l.Rl=function(a,b){var c=this.J;w(this,a,null,b,"8041_CTRL",c);return c};l.sn=function(a,b,c){w(this,a,b,c,"8041_CTRL");dp(this,b)};l.Tl=function(a,b){var c=this.aa;w(this,a,null,b,"8041_STATUS",c);return c};
|
||||||
|
|
@ -466,7 +466,7 @@ l.Vl=function(a,b){var c=this.J&~(zp|Ap)|(Ed(this.H)&64?Ap:0);w(this,a,null,b,"8
|
||||||
l.un=function(a,b,c){w(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.L=b;this.D|=np;a=0;this.L>=Bp&&(a=this.L^15,this.L=Bp);switch(this.L){case Cp:yp(this,this.K);break;case Dp:pp(this,this.K|Ol);break;case Ep:pp(this,this.K&~Ol);this.B&&mp(this.B);break;case Fp:this.B&&(a=this.B,a.A=[],t(a)&&Mb(a,"scan codes flushed"));pp(this,this.K|Ol);yp(this,Gp);rp(this,Yl|Zl);break;case Hp:yp(this,Ip);break;case Jp:yp(this,this.M);break;case Kp:yp(this,this.qa);break;case Lp:yp(this,this.K&Ol?0:Mp);break;case Bp:a&
|
l.un=function(a,b,c){w(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.L=b;this.D|=np;a=0;this.L>=Bp&&(a=this.L^15,this.L=Bp);switch(this.L){case Cp:yp(this,this.K);break;case Dp:pp(this,this.K|Ol);break;case Ep:pp(this,this.K&~Ol);this.B&&mp(this.B);break;case Fp:this.B&&(a=this.B,a.A=[],t(a)&&Mb(a,"scan codes flushed"));pp(this,this.K|Ol);yp(this,Gp);rp(this,Yl|Zl);break;case Hp:yp(this,Ip);break;case Jp:yp(this,this.M);break;case Kp:yp(this,this.qa);break;case Lp:yp(this,this.K&Ol?0:Mp);break;case Bp:a&
|
||||||
1&&kf(this.H)}};function pp(a,b){a.K=b;a.D=a.D&~Np|b&Op;a.B&&fp(a.B,!!(b&Pp),!(b&Ol))}function yp(a,b,c){0<=b&&(a.oa=b,c?a.D|=kp:(a.D&=~kp,a.D|=lp))}function rp(a,b){a.qa=b;oc(a.ka,!!(b&Zl));b&Yl||kf(a.H)}function Qp(a,b){a.ca<eh?(hh(a,Rp,4),a.aa|=kp):a.K&Ol||a.D&(kp|lp)||(yp(a,b,!0),Sp(a.B),hh(a,Rp,120))}function Tp(a,b,c,d){var e=a.C[b][1];w(a,c,null,d,"DIPSW-"+b,e,32768);return e}l.jm=function(a,b){w(this,a,null,b,"CMOS.ADDR",this.V,4096);return this.V};
|
1&&kf(this.H)}};function pp(a,b){a.K=b;a.D=a.D&~Np|b&Op;a.B&&fp(a.B,!!(b&Pp),!(b&Ol))}function yp(a,b,c){0<=b&&(a.oa=b,c?a.D|=kp:(a.D&=~kp,a.D|=lp))}function rp(a,b){a.qa=b;oc(a.ka,!!(b&Zl));b&Yl||kf(a.H)}function Qp(a,b){a.ca<eh?(hh(a,Rp,4),a.aa|=kp):a.K&Ol||a.D&(kp|lp)||(yp(a,b,!0),Sp(a.B),hh(a,Rp,120))}function Tp(a,b,c,d){var e=a.C[b][1];w(a,c,null,d,"DIPSW-"+b,e,32768);return e}l.jm=function(a,b){w(this,a,null,b,"CMOS.ADDR",this.V,4096);return this.V};
|
||||||
l.Kn=function(a,b,c){w(this,a,b,c,"CMOS.ADDR",null,4096);this.V=b;this.da=b&Up?ih:Vp};l.km=function(a,b){var c=this.V&Wp,d=c<=Dl?El(this,c):this.A[c];t(this,4352)&&w(this,a,null,b,"CMOS.DATA["+r(c)+"]",d,!0);null!=b&&c==Pm&&(this.A[c]&=Xp,d&Uo&&fh(this,Vo),d&To&&this.A[Rd]&Td&&Tm(this));return d};
|
l.Kn=function(a,b,c){w(this,a,b,c,"CMOS.ADDR",null,4096);this.V=b;this.da=b&Up?ih:Vp};l.km=function(a,b){var c=this.V&Wp,d=c<=Dl?El(this,c):this.A[c];t(this,4352)&&w(this,a,null,b,"CMOS.DATA["+r(c)+"]",d,!0);null!=b&&c==Pm&&(this.A[c]&=Xp,d&Uo&&fh(this,Vo),d&To&&this.A[Rd]&Td&&Tm(this));return d};
|
||||||
l.Ln=function(a,b,c){var d=this.V&Wp;t(this,4352)&&w(this,a,b,c,"CMOS.DATA["+r(d)+"]",null,!0);a=b^this.A[d];if(d<=Dl){if(c=b,d<Nm){var e=!1;this.A[Rd]&Rm||(c=10*(c>>4)+(c&15),e=!0);if(d==Gm||d==Hm)e&&23<c&&(c+=48),this.A[Rd]&Om||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Rd&&a&Td&&b&Td&&Tm(this)};l.Nk=function(a,b,c){w(this,a,b,c,"NMI");this.da=b};l.Vn=function(a,b,c){w(this,a,b,c,"FPU.CLEAR")};l.Wn=function(a,b,c){w(this,a,b,c,"FPU.RESET");this.Tc&&$g(this.Tc)};
|
l.Ln=function(a,b,c){var d=this.V&Wp;t(this,4352)&&w(this,a,b,c,"CMOS.DATA["+r(d)+"]",null,!0);a=b^this.A[d];if(d<=Dl){if(c=b,d<Nm){var e=!1;this.A[Rd]&Rm||(c=10*(c>>4)+(c&15),e=!0);if(d==pm||d==Hm)e&&23<c&&(c+=48),this.A[Rd]&Om||(12>=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;d==Rd&&a&Td&&b&Td&&Tm(this)};l.Nk=function(a,b,c){w(this,a,b,c,"NMI");this.da=b};l.Vn=function(a,b,c){w(this,a,b,c,"FPU.CLEAR")};l.Wn=function(a,b,c){w(this,a,b,c,"FPU.RESET");this.Tc&&$g(this.Tc)};
|
||||||
l.Xm=function(a){if(t(this,16)&&Wk(this.ba,26,a)){var b=this.H.D>>8;Tf(this.H,a,function(a,d){return function(c){d=Ed(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+ta(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+ta(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(dg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Ed(this.H)))}return!0};
|
l.Xm=function(a){if(t(this,16)&&Wk(this.ba,26,a)){var b=this.H.D>>8;Tf(this.H,a,function(a,d){return function(c){d=Ed(a.H)-d;var e,g=a.H.L&255,h=a.H.L>>8,k=a.H.L&255,m=a.H.L>>8;if(2==b||3==b)e=" CH(hour)="+ta(h)+" CL(min)="+r(g)+" DH(sec)="+r(m);else if(4==b||5==b)e=" CX(year)="+ta(a.H.I)+" DH(month)="+r(m)+" DL(day)="+r(k);g=a.ba;h=d;g.message("INT "+r(26)+": C="+(dg(g.H)?1:0)+(e||"")+" (cycles="+h+(c?",level="+(c+1):"")+")")}}(this,Ed(this.H)))}return!0};
|
||||||
function Vm(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.wb);var c=Math.round(ol/vo(a,wo));if(20>c||2E4<c)b=!1;b?a.I?(a.I.frequency.value=c,t(a,33554432)&&Mb(a,"speaker set to "+c+"hz",!0)):(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0),t(a,33554432)&&Mb(a,"speaker on at "+c+"hz",!0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I,
|
function Vm(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.H&&a.H.ea.wb);var c=Math.round(ol/vo(a,wo));if(20>c||2E4<c)b=!1;b?a.I?(a.I.frequency.value=c,t(a,33554432)&&Mb(a,"speaker set to "+c+"hz",!0)):(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0),t(a,33554432)&&Mb(a,"speaker on at "+c+"hz",!0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I,
|
||||||
t(a,33554432)&&Mb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Fa("AudioContext exception: "+d.message),a.la=null}else b&&Mb(a,"BEEP",33554432)}var kl=5150,cl=5150.9,eh=5170,ll=5160.101,xl=5180,bl={5150:kl,5160:5160,5170:eh,att6300:ll,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:cl};bl.deskpro386=xl;
|
t(a,33554432)&&Mb(a,"speaker off at "+c+"hz",!0))}catch(d){a.Fa("AudioContext exception: "+d.message),a.la=null}else b&&Mb(a,"BEEP",33554432)}var kl=5150,cl=5150.9,eh=5170,ll=5160.101,xl=5180,bl={5150:kl,5160:5160,5170:eh,att6300:ll,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:cl};bl.deskpro386=xl;
|
||||||
|
|
@ -474,7 +474,7 @@ var el="sw1",il="sw2",ml="swdesc",Ul=3,un=1,vn=15,yn=3,zn=4,Cn=3,Ln=12,Pn=0,Mn=4
|
||||||
yc:48,Mg:4},gl=1,nl=3,hl=4,kn=5,ln=6,dn={};dn[kl]=[{},{}];dn[kl][0][gl]={yc:192,Zc:{1:0,2:64,3:128,4:192},Ed:"Number of Floppy Drives"};dn[kl][0][nl]={yc:2,Zc:{0:0,1:2},Ed:"FPU"};dn[kl][0][hl]={yc:48,Zc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Ed:"Monitor Type"};dn[kl][0][kn]={yc:12,Zc:{16:0,32:4,48:8,64:12},Ed:"Base Memory (16Kb Increments)"};
|
yc:48,Mg:4},gl=1,nl=3,hl=4,kn=5,ln=6,dn={};dn[kl]=[{},{}];dn[kl][0][gl]={yc:192,Zc:{1:0,2:64,3:128,4:192},Ed:"Number of Floppy Drives"};dn[kl][0][nl]={yc:2,Zc:{0:0,1:2},Ed:"FPU"};dn[kl][0][hl]={yc:48,Zc:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Ed:"Monitor Type"};dn[kl][0][kn]={yc:12,Zc:{16:0,32:4,48:8,64:12},Ed:"Base Memory (16Kb Increments)"};
|
||||||
dn[kl][1][ln]={yc:31,Zc:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Ed:"Expansion Memory (32Kb Increments)"};dn[5160]=[{},{}];dn[5160][0][gl]=dn[kl][0][gl];dn[5160][0][nl]=dn[kl][0][nl];dn[5160][0][hl]=dn[kl][0][hl];dn[5160][0][kn]={yc:12,Zc:{64:0,128:4,192:8,256:12},Ed:"Base Memory (64Kb Increments)"};dn[5160][1][ln]=dn[kl][1][ln];dn[ll]=[{},{}];dn[ll][0][kn]={yc:143,Zc:{128:1,256:130,512:8,640:141},Ed:"Base Memory (128Kb Increments)"};
|
dn[kl][1][ln]={yc:31,Zc:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Ed:"Expansion Memory (32Kb Increments)"};dn[5160]=[{},{}];dn[5160][0][gl]=dn[kl][0][gl];dn[5160][0][nl]=dn[kl][0][nl];dn[5160][0][hl]=dn[kl][0][hl];dn[5160][0][kn]={yc:12,Zc:{64:0,128:4,192:8,256:12},Ed:"Base Memory (64Kb Increments)"};dn[5160][1][ln]=dn[kl][1][ln];dn[ll]=[{},{}];dn[ll][0][kn]={yc:143,Zc:{128:1,256:130,512:8,640:141},Ed:"Base Memory (128Kb Increments)"};
|
||||||
dn[ll][0][nl]={yc:16,Zc:{0:0,1:16},Ed:"FPU"};dn[ll][1][2]={yc:1,Zc:{0:0,1:1},Ed:"Floppy Type"};dn[ll][1][gl]=dn[kl][0][gl];dn[ll][1][hl]=dn[kl][0][hl];
|
dn[ll][0][nl]={yc:16,Zc:{0:0,1:16},Ed:"FPU"};dn[ll][1][2]={yc:1,Zc:{0:0,1:1},Ed:"Floppy Type"};dn[ll][1][gl]=dn[kl][0][gl];dn[ll][1][hl]=dn[kl][0][hl];
|
||||||
var Op=4,Pp=8,Ol=16,Gp=85,Ip=0,Wl=4,Xl=8,Sl=16,Pl=32,Vl=64,Ql=128,Yl=1,Zl=2,Mp=1,Ap=16,zp=192,Cp=32,op=96,Fp=170,Hp=171,Dp=173,Ep=174,Jp=192,Kp=208,qp=209,Lp=224,Bp=240,kp=1,Np=4,np=8,Nl=16,lp=256,lm=0,mm=1,nm=2,om=3,Gm=4,Hm=5,Im=6,Jm=7,Km=8,Lm=9,Nm=10,Rd=11,Pm=12,Dl=13,cm=14,im=16,hm=20,am=21,bm=24,dm=46,Um=47,Mm=50,Wp=63,Cl=64,Up=128,Sm=128,Yo=128,Td=64,Xo=32,$o=16,Rm=4,Om=2,Uo=128,To=64,Wo=32,Zo=16,Xp=15,Qm=128,jn=0,en=1,gn=2,fn=3,hn=4,Vp=128,ih=0,Wm=[0,null,null,0,Array(4),0],Ym=[!0,[0,0],[0,
|
var Op=4,Pp=8,Ol=16,Gp=85,Ip=0,Wl=4,Xl=8,Sl=16,Pl=32,Vl=64,Ql=128,Yl=1,Zl=2,Mp=1,Ap=16,zp=192,Cp=32,op=96,Fp=170,Hp=171,Dp=173,Ep=174,Jp=192,Kp=208,qp=209,Lp=224,Bp=240,kp=1,Np=4,np=8,Nl=16,lp=256,lm=0,mm=1,nm=2,om=3,pm=4,Hm=5,Im=6,Jm=7,Km=8,Lm=9,Nm=10,Rd=11,Pm=12,Dl=13,cm=14,im=16,hm=20,am=21,bm=24,dm=46,Um=47,Mm=50,Wp=63,Cl=64,Up=128,Sm=128,Yo=128,Td=64,Xo=32,$o=16,Rm=4,Om=2,Uo=128,To=64,Wo=32,Zo=16,Xp=15,Qm=128,jn=0,en=1,gn=2,fn=3,hn=4,Vp=128,ih=0,Wm=[0,null,null,0,Array(4),0],Ym=[!0,[0,0],[0,
|
||||||
0],[0,0],[0,0]],$m=[0,Array(4)],an=[[0,0],[0,0],[0,0],[0,0]],pl={0:function(a,b){return on(this,0,0,a,b)},1:function(a,b){return rn(this,0,0,a,b)},2:function(a,b){return on(this,0,1,a,b)},3:function(a,b){return rn(this,0,1,a,b)},4:function(a,b){return on(this,0,2,a,b)},5:function(a,b){return rn(this,0,2,a,b)},6:function(a,b){return on(this,0,3,a,b)},7:function(a,b){return rn(this,0,3,a,b)},8:function(a,b){return tn(this,0,a,b)},13:function(a,b){return Dn(this,0,a,b)},32:function(a,b){return Sn(this,
|
0],[0,0],[0,0]],$m=[0,Array(4)],an=[[0,0],[0,0],[0,0],[0,0]],pl={0:function(a,b){return on(this,0,0,a,b)},1:function(a,b){return rn(this,0,0,a,b)},2:function(a,b){return on(this,0,1,a,b)},3:function(a,b){return rn(this,0,1,a,b)},4:function(a,b){return on(this,0,2,a,b)},5:function(a,b){return rn(this,0,2,a,b)},6:function(a,b){return on(this,0,3,a,b)},7:function(a,b){return rn(this,0,3,a,b)},8:function(a,b){return tn(this,0,a,b)},13:function(a,b){return Dn(this,0,a,b)},32:function(a,b){return Sn(this,
|
||||||
Il,b)},33:function(a,b){return io(this,Il,b)},64:function(a,b){return no(this,so,to,a,b)},65:function(a,b){return no(this,so,1,a,b)},66:function(a,b){return no(this,so,wo,a,b)},67:function(a,b){return xo(this,so,a,b)},129:function(a,b){return Fn(this,0,2,a,b)},130:function(a,b){return Fn(this,0,3,a,b)},131:function(a,b){return Fn(this,0,1,a,b)},135:function(a,b){return Fn(this,0,0,a,b)}},rl={96:al.prototype.Gm,97:al.prototype.Hm,98:al.prototype.Im,99:al.prototype.Jm},vl={96:al.prototype.Ul,97:al.prototype.Vl,
|
Il,b)},33:function(a,b){return io(this,Il,b)},64:function(a,b){return no(this,so,to,a,b)},65:function(a,b){return no(this,so,1,a,b)},66:function(a,b){return no(this,so,wo,a,b)},67:function(a,b){return xo(this,so,a,b)},129:function(a,b){return Fn(this,0,2,a,b)},130:function(a,b){return Fn(this,0,3,a,b)},131:function(a,b){return Fn(this,0,1,a,b)},135:function(a,b){return Fn(this,0,0,a,b)}},rl={96:al.prototype.Gm,97:al.prototype.Hm,98:al.prototype.Im,99:al.prototype.Jm},vl={96:al.prototype.Ul,97:al.prototype.Vl,
|
||||||
100:al.prototype.Wl,112:al.prototype.jm,113:al.prototype.km,128:function(a,b){return Hn(this,7,a,b)},132:function(a,b){return Hn(this,0,a,b)},133:function(a,b){return Hn(this,1,a,b)},134:function(a,b){return Hn(this,2,a,b)},136:function(a,b){return Hn(this,3,a,b)},137:function(a,b){return Fn(this,1,2,a,b)},138:function(a,b){return Fn(this,1,3,a,b)},139:function(a,b){return Fn(this,1,1,a,b)},140:function(a,b){return Hn(this,4,a,b)},141:function(a,b){return Hn(this,5,a,b)},142:function(a,b){return Hn(this,
|
100:al.prototype.Wl,112:al.prototype.jm,113:al.prototype.km,128:function(a,b){return Hn(this,7,a,b)},132:function(a,b){return Hn(this,0,a,b)},133:function(a,b){return Hn(this,1,a,b)},134:function(a,b){return Hn(this,2,a,b)},136:function(a,b){return Hn(this,3,a,b)},137:function(a,b){return Fn(this,1,2,a,b)},138:function(a,b){return Fn(this,1,3,a,b)},139:function(a,b){return Fn(this,1,1,a,b)},140:function(a,b){return Hn(this,4,a,b)},141:function(a,b){return Hn(this,5,a,b)},142:function(a,b){return Hn(this,
|
||||||
|
|
@ -717,15 +717,15 @@ var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6]
|
||||||
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.L=+a.base||16;this.Ha=null;this.qa=["{","}"];this.Aa=["[","]"];this.Y=this.ha=this.M=0;this.da=!1;this.A=-1;this.C=[];this.ga={}}
|
815:Hw.prototype.hi},Kw={496:Hw.prototype.An,497:Hw.prototype.Fn,498:Hw.prototype.Dn,499:Hw.prototype.En,500:Hw.prototype.zn,501:Hw.prototype.yn,502:Hw.prototype.Bn,503:Hw.prototype.xn,1014:Hw.prototype.Cn};ab(function(){for(var a=Ab(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=wb(c),d=new Hw(d);zb(d,c)}});function Wx(a){nb.call(this,"Debugger",a);this.L=+a.base||16;this.Ha=null;this.qa=["{","}"];this.Aa=["[","]"];this.Y=this.ha=this.M=0;this.da=!1;this.A=-1;this.C=[];this.ga={}}
|
||||||
ba(Wx,nb);Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
ba(Wx,nb);Wx.prototype.gh=function(){return-1};Wx.prototype.hh=function(){};Wx.prototype.Pk=function(a,b){return a.replace("["+b+"]","unimplemented")};
|
||||||
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.da?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
Wx.prototype.Cg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.da?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ca(a.substring(d,f))),d=f+1}}return b};
|
||||||
function Xx(a){var b,c=a;b=b||32;32>=b?c=a|0:(b=Math.pow(2,b-1),a<-b?c=a%b:a>=2*b&&(c=a%(2*b)));a!=c&&(a=c);return a}
|
function Xx(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a|0:(b=Math.pow(2,b-1),a<-b?d=a%b:a>=2*b&&(d=a%(2*b)));a!=d&&(a=d);return a}
|
||||||
function Yx(a,b,c){for(c=void 0===c?-1:c;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=Math.trunc(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;
|
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "%":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
||||||
case "&":d=f&e;break;case "!":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;if(e=35-(e&255))0>d&&(d+=Math.pow(2,36)),d=0<e?d*Math.pow(2,e):Math.trunc(d/Math.pow(2,-e));break;default:return!1}a.push(Xx(d))}return!0}
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Xx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Xx(e))}return!0}
|
||||||
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=!1,v=[],u=[],E=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=$x(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Zx(a,b,p,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("-"!=k){m=!0;break}p=!0;continue}if(void 0===p)if(null==a.Ha&&f)a.Ha=h,p=0;else{m=!0;f=!f;break}v.push(Xx(p));if(!k)break;u.length&&ay[k]<ay[u[u.length-1]]&&Yx(v,u,1);u.push(k);a.L="><"==k?10:e;p=!1}Yx(v,
|
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.L;for(a.L=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=$x(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Zx(a,b,p,c-1,a.L,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("~"==k||"^-"==k){p=1;continue}if("-"==k){p=-1;continue}m=!0;break}if(void 0===p)if(null==a.Ha&&f)a.Ha=h,p=0;else{m=!0;f=!f;break}v.push(Xx(p));if(!k)break;u.length&&ay[k]<ay[u[u.length-1]]&&Yx(v,u,1);
|
||||||
u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2><"),b=b.split(/(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&cy(a,null,d));return d}
|
u.push(k);a.L="^_"==k?10:e;p=0}Yx(v,u)&&1==v.length||(m=!0);m?!1===f&&a.P("parse error ("+(h||k)+")"):g=v.pop();a.L=E;return g}function by(a,b,c){var d;a.Ha=null;b&&("{"!=a.qa[0]&&(b=b.split(a.qa[0]).join("{").split(a.qa[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Zx(a,b,0,b.length,a.L,c),void 0!==d&&!1===c&&cy(a,null,d));return d}
|
||||||
function dy(a,b){var c,d=a.qa[0],e=a.qa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=by(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
function dy(a,b){var c,d=a.qa[0],e=a.qa[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=by(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Pk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Y-a.ha}if(null==
|
||||||
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(f=oa(e?"-"+b:b,a.L),e=!1)),null!=f?e&&(f=-f):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}
|
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.gh(b),0<=f?f=a.hh(f):(f=a.ga[b],null==f&&(0>e&&(b="-"+b,e=0),f=oa(b,a.L))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.P("invalid "+(c?c:"value")+": "+b)):d||a.P("missing "+(c||"value"));return f}
|
||||||
function fy(a,b){if(b)return cy(a,b,a.ga[b]);var c=0;for(b in a.ga)cy(a,b,a.ga[b]),c++;return 0<c}function ey(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
|
function cy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.L?c+". "+sa(c,0,!0):q(c,0,!0)+" "+c+". "+sa(c,0,!0)+" "+ra(c,4,!0),32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function fy(a,b){if(b)return cy(a,b,a.ga[b]);var c=0;for(b in a.ga)cy(a,b,a.ga[b]),c++;return 0<c}
|
||||||
var ay={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,"><":10,"{":11,"}":11};
|
function ey(a,b){var c;c=void 0===c?0:c;switch(a.L){case 2:b=qa(b,0<c?c:0);break;case 8:b=sa(b,0<c?(c+2)/3|0:0);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=b&-65536?10:5;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}var ay={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||||
function gy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=hy(this);this.Ta=hy(this);this.aa=hy(this);this.D=[];this.B=this.Z=this.N=[];iy(this);this.xa=0;jy(this);this.Ba={};ky(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ly(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ly(b,a)})}ba(gy,Wx);l=gy.prototype;
|
function gy(a){Wx.call(this,a);this.ta=4;this.la=5;this.wa=1048575;this.K=hy(this);this.Ta=hy(this);this.aa=hy(this);this.D=[];this.B=this.Z=this.N=[];iy(this);this.xa=0;jy(this);this.Ba={};ky(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ly(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ly(b,a)})}ba(gy,Wx);l=gy.prototype;
|
||||||
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ky(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=my;80186<=this.H.ca&&(this.oa=my.slice(),this.oa[15]=ny,80286<=this.H.ca&&(this.oa[15]=oy,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){py(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=qy(d,
|
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.hb=Xb(a,"FDC");this.Xa=Xb(a,"HDC");this.Tc=Xb(a,"FPU");this.G=Xb(a,"Mouse");(a=zd(a,"messages"))&&ky(this,a);this.la=b.I>>2;this.wa=b.N;this.ab=new Vd(this.H,7,"DBG");this.oa=my;80186<=this.H.ca&&(this.oa=my.slice(),this.oa[15]=ny,80286<=this.H.ca&&(this.oa[15]=oy,80386<=this.H.ca&&(this.ta=8)));Al(this,64,function(a){py(d,d.H.sc,a[0])});Al(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=qy(d,
|
||||||
b,ry),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=sy[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+ty(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
b,ry),d.P("dumpSel("+ta(a?a.U:b)+"): %"+q(a?a.Lb:null,d.la)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=sy[a.type];e&&(c=e[0],b=e[1])}!c||a.mb&32768||(c+=",not present");d.P((b?"seg="+ta(a.ua&65535)+" off="+ta(a.Ka):"base="+q(a.ua,d.la)+" limit="+ty(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+ta(a.ext&-65296)+
|
||||||
|
|
@ -804,23 +804,23 @@ Py(a,g[1],!0);if(v)if(a.aa=v,void 0===g[2])a.P("begin assemble at "+Fy(v)),a.da=
|
||||||
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=K.charAt(1);if("l"==T){var L;L=0+Vz(a,a.B);L+=Vz(a,a.Z);(L+=Vz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Py(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(iy(a),a.P("all breakpoints cleared")):Ey(a,
|
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=K.charAt(1);if("l"==T){var L;L=0+Vz(a,a.B);L+=Vz(a,a.Z);(L+=Vz(a,a.N))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,H),a.P("break after "+a.xa+" instruction(s)");else if(void 0===H)a.P("missing breakpoint address");else{var ua={};if("*"!=H&&(ua=Py(a,H,!0,!0),!ua))break a;H=null==ua.Ja?H:ta(ua.Ja);"c"==T?null==ua.Ja?(iy(a),a.P("all breakpoints cleared")):Ey(a,
|
||||||
a.B,ua)||Ey(a,a.Z,ua)||Ey(a,a.N,ua)||a.P("breakpoint missing: "+Fy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Sy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":$A(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.Ba[xb]&&
|
a.B,ua)||Ey(a,a.Z,ua)||Ey(a,a.N,ua)||a.P("breakpoint missing: "+Fy(ua)):"i"==T?a.P("breakpoint "+(Nc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (input)"):"o"==T?a.P("breakpoint "+(Rc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+H+" (output)"):null!=ua.Ja&&(Sy(a,ua,I),"p"==T?a.Gd(a.B,ua):"r"==T?a.Gd(a.Z,ua):"w"==T?a.Gd(a.N,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":$A(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Sb)a.Ba[xb]&&
|
||||||
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=iB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=iB(a.pa,!0);rc?"console"==Sa?console.log(rc):
|
||||||
($A(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(uy(tg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var pm=ca[0];if(pm){var Og=a.Sb(Py(a,pm));if(-1===Og)a.P("invalid address: "+pm);else{var nf,
|
($A(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.D.length;ib++){var cf=a.D[ib],Ld;for(Ld in cf.Fd)if("."!=Ld.charAt(0)){var df=cf.Fd[Ld],tg=df.o;if(void 0!==tg){var ef=df.s;void 0===ef&&(ef=cf.U);var ug=cf.Fd[Ld].l;ug&&(Ld=ug);a.P(uy(tg,ef)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Og=a.Sb(Py(a,qm));if(-1===Og)a.P("invalid address: "+qm);else{var nf,
|
||||||
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Uy(nf.Ti,nf.Aj)),ve=
|
Qa=null;if(80386<=a.H.ca){var of=a.ka,Qa={};Qa.Jk=(Og&-4194304)>>>20;Qa.Ti=a.H.Wc+Qa.Jk;Qa.ob=of.aa[(Qa.Ti&of.C)>>>of.A];Qa.Aj=Qa.ob.Nd(Qa.Jk);Qa.Kk=(Og&4190208)>>>10;Qa.Ui=(Qa.Aj&-4096)+Qa.Kk;Qa.pb=of.aa[(Qa.Ui&of.C)>>>of.A];Qa.Bj=Qa.pb.Nd(Qa.Kk);Qa.ul=(Qa.Bj&-4096)+(Og&4095)}if(nf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var ve="%"+q(Og),ve=ve+(" %%"+Uy(nf.Ti,nf.Aj)),ve=
|
||||||
ve+(" %%"+Uy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";dB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var vt=a.Ba[xb];vt?(ca.shift(),ca.shift(),vt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.lb||"db")}else a.lb=za;if("dh"==za){var wt=cb,xt=Sa,yt="",zt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+wt||a.Ya,Pg=+xt||10;isNaN(uc)?uc=Pg:yt="more ";uc>jd.length&&(a.P("note: only "+
|
ve+(" %%"+Uy(nf.Ui,nf.Bj,!0)),ve=ve+(" %%"+q(nf.ul));a.P(ve)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";dB(a,ca);break a}for(xb in Sb)if(ca[1]==xb){var vt=a.Ba[xb];vt?(ca.shift(),ca.shift(),vt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.lb||"db")}else a.lb=za;if("dh"==za){var wt=cb,xt=Sa,yt="",zt=0,Lc=a.ma,jd=a.O;if(jd.length){var uc=+wt||a.Ya,Pg=+xt||10;isNaN(uc)?uc=Pg:yt="more ";uc>jd.length&&(a.P("note: only "+
|
||||||
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var qm=[];"call"==xt&&(Pg=1E5,qm=["CALL"]);for(void 0!==wt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=hy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),ZB=uc--,At=Xz(a,Qg,"history",ZB);(!qm.length||0<=At.indexOf(qm[0]))&&a.P(At);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;zt++;Pg--}}zt||(a.P("no "+yt+"history available"),a.Ya=
|
jd.length+" available"),uc=jd.length);Lc-=uc;0>Lc&&(null==jd[jd.length-1].U?(uc=Lc+uc,Lc=0):Lc+=jd.length);var rm=[];"call"==xt&&(Pg=1E5,rm=["CALL"]);for(void 0!==wt&&a.P(uc+" instructions earlier:");0<Pg&&Lc!=a.ma;){var we=jd[Lc++];if(null==we.U)break;var Qg=hy(a,we.Ja,we.U,we.ya,we.type,we.Hb,we.dc),ZB=uc--,At=Xz(a,Qg,"history",ZB);(!rm.length||0<=At.indexOf(rm[0]))&&a.P(At);Qg.Fe&&(Lc+=Qg.Fe,Pg-=Qg.Fe,uc-=Qg.Fe);Lc>=jd.length&&(Lc=0);a.Ya=uc;zt++;Pg--}}zt||(a.P("no "+yt+"history available"),a.Ya=
|
||||||
void 0)}else if("di"==za){ca.shift();var rm=ca[0];if(rm){var Rg=$x(a,rm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+rm);else{var Bt="&",Ct=!!(a.H.qa&1),Dt=!1,Ui=a.H.Pb+(Rg<<(Ct?3:2)),Et=a.H.ja(Ui+0),$B=a.H.ja(Ui+2);Ct&&(Bt="#",a.H.ja(Ui+4)&2048&&(Dt=!0,Et|=a.H.ja(Ui+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Bt+q($B,4)+":"+q(Et,Dt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Py(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Vi=0;Sa&&("l"==Sa.charAt(0)&&
|
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Rg=$x(a,sm);if(void 0===Rg||0>Rg||255<Rg)a.P("invalid vector: "+sm);else{var Bt="&",Ct=!!(a.H.qa&1),Dt=!1,Ui=a.H.Pb+(Rg<<(Ct?3:2)),Et=a.H.ja(Ui+0),$B=a.H.ja(Ui+2);Ct&&(Bt="#",a.H.ja(Ui+4)&2048&&(Dt=!0,Et|=a.H.ja(Ui+6)<<16));a.P("dumpIDT("+ta(Rg)+"): "+Bt+q($B,4)+":"+q(Et,Dt?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var pf=Py(a,cb);if(pf&&(null!=pf.U||null!=pf.ya)){var Vi=0;Sa&&("l"==Sa.charAt(0)&&
|
||||||
(Sa=Sa.substr(1)||rb),Vi=$x(a,Sa)>>>0,65536<Vi&&(Vi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Wi=qf*Vi||128,aC=Wi+15>>4||1;aC--&&0<Wi;){var Tg=0,sm=0,Ug,tm="",Ft="",cb=Fy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Wi;Ug--){var Xi=a.Ia(pf,1),Tg=Tg|Xi<<(sm++<<3);sm==qf&&(tm+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),tm+=1==qf?9==Ug?"-":" ":" ",Tg=sm=0);Ft+=32<=Xi&&128>Xi?String.fromCharCode(Xi):".";Wi--}Sg&&(Sg+="\n");Sg+=cb+" "+tm+(Ug?"":" "+Ft)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Yi=
|
(Sa=Sa.substr(1)||rb),Vi=$x(a,Sa)>>>0,65536<Vi&&(Vi=65536));for(var Sg="",qf="dd"==za?4:"dw"==za?2:1,Wi=qf*Vi||128,aC=Wi+15>>4||1;aC--&&0<Wi;){var Tg=0,tm=0,Ug,um="",Ft="",cb=Fy(pf);for(Ug=4==qf?16:a.L;0<Ug&&0<Wi;Ug--){var Xi=a.Ia(pf,1),Tg=Tg|Xi<<(tm++<<3);tm==qf&&(um+=8==a.L?sa(Tg,3*qf):q(Tg,2*qf),um+=1==qf?9==Ug?"-":" ":" ",Tg=tm=0);Ft+=32<=Xi&&128>Xi?String.fromCharCode(Xi):".";Wi--}Sg&&(Sg+="\n");Sg+=cb+" "+um+(Ug?"":" "+Ft)}Sg&&a.P(Sg);a.Ta=pf}}}}}break;case "e":if("else"==g[0])break;var Yi=
|
||||||
1,Gt=255,Ht=a.Ia,It=a.fc;"ew"==g[0]&&(Yi=2,Gt=65535,Ht=a.Yc,It=a.il);var Jt=Yi<<1,Kt=g[1];if(null==Kt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Zi=Py(a,Kt);if(Zi)for(var $i=2;$i<g.length;$i++){var Vg=by(a,g[$i]);if(void 0===Vg){a.P("unrecognized value: "+g[$i]);break}Vg&~Gt&&a.P("warning: "+q(Vg)+" exceeds "+Yi+"-byte value");var bC=Ht.call(a,Zi);a.P("changing "+Fy(Zi)+" from "+q(bC,Jt,!0)+" to "+q(Vg,Jt,!0));
|
1,Gt=255,Ht=a.Ia,It=a.fc;"ew"==g[0]&&(Yi=2,Gt=65535,Ht=a.Yc,It=a.il);var Jt=Yi<<1,Kt=g[1];if(null==Kt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var Zi=Py(a,Kt);if(Zi)for(var $i=2;$i<g.length;$i++){var Vg=by(a,g[$i]);if(void 0===Vg){a.P("unrecognized value: "+g[$i]);break}Vg&~Gt&&a.P("warning: "+q(Vg)+" exceeds "+Yi+"-byte value");var bC=Ht.call(a,Zi);a.P("changing "+Fy(Zi)+" from "+q(bC,Jt,!0)+" to "+q(Vg,Jt,!0));
|
||||||
It.call(a,Zi,Vg,Yi)}}break;case "f":aB(a,g[1]);break;case "g":a:{var Lt=g[1],cC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Lt){var um=Py(a,Lt,!0);if(!um)break a;Sy(a,um,cC);a.Gd(a.B,um,!0)}Nz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var vm;if(a.ea.wb)vm="halting",a.Jb();else{if(Kb(a,!0))break a;vm="already halted"}c||a.P(vm)}break;case "i":if("if"==g[0]){var wm;var Wg=b.substr(2),Wg=Ca(Wg);by(a,Wg)?(c||a.P("true: "+Wg),wm=!0):(c||a.P("false: "+Wg),wm=!1);wm||(d=!1);
|
It.call(a,Zi,Vg,Yi)}}break;case "f":aB(a,g[1]);break;case "g":a:{var Lt=g[1],cC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Lt){var vm=Py(a,Lt,!0);if(!vm)break a;Sy(a,vm,cC);a.Gd(a.B,vm,!0)}Nz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.wb)wm="halting",a.Jb();else{if(Kb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Wg=b.substr(2),Wg=Ca(Wg);by(a,Wg)?(c||a.P("true: "+Wg),xm=!0):(c||a.P("false: "+Wg),xm=!1);xm||(d=!1);
|
||||||
break}if("int"==g[0]){var aj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;aj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;aj=!0;break a;default:aj=!1}aj||(d=!1);break}var xm=g[1];if(xm&&"?"!=xm){var ym=$x(a,xm);if(void 0!==ym){var dC=Pc(a.ka,ym,1);a.P(ta(ym)+": "+r(dC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var eC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
break}if("int"==g[0]){var aj;a:switch($x(a,g[1])){case 19:Wk(a,19,a.H.da,!0);a.ha=a.Y;aj=!0;break a;case 33:Wk(a,33,a.H.da,!0);a.ha=a.Y;aj=!0;break a;default:aj=!1}aj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var dC=Pc(a.ka,zm,1);a.P(ta(zm)+": "+r(dC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var eC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
|
||||||
a.P("\tks\tshow symbol information");else{var zm=0,Mt=a.H.Z.U,Xg=hy(a),Sd=hy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Fy(Sd));10>zm;){for(var kd=null,fC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!fC--)break;Xg.U=Mt;if(kd=gB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=gB(a,Xg,!0)){Mt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Nt=null;if("ks"==eC){var Ot=kd.match(/[0-9A-F]+$/);Ot&&(Nt=cB(a,Ot[0]))}kd=Ba(kd,50)+" ;"+(Nt||"stack="+Fy(Sd));a.P(kd);zm++}zm||
|
a.P("\tks\tshow symbol information");else{var Am=0,Mt=a.H.Z.U,Xg=hy(a),Sd=hy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Fy(Sd));10>Am;){for(var kd=null,fC=256;Sd.Ja>>>0<a.H.cg>>>0;){Xg.Ja=a.jb(Sd,!0);if(null==Sd.ya||!fC--)break;Xg.U=Mt;if(kd=gB(a,Xg))break;Xg.U=a.jb(Sd);if(kd=gB(a,Xg,!0)){Mt=a.jb(Sd,!0);0<kd.indexOf("INT")&&a.jb(Sd,!0);break}}if(!kd||null==kd)break;var Nt=null;if("ks"==eC){var Ot=kd.match(/[0-9A-F]+$/);Ot&&(Nt=cB(a,Ot[0]))}kd=Ba(kd,50)+" ;"+(Nt||"stack="+Fy(Sd));a.P(kd);Am++}Am||
|
||||||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){cB(a,g[1],!0);break}dB(a,g);break;case "m":if("mouse"==g[0]){var Am=g[1],bj=g[2];if(a.G){var Pt=1;"-"==bj.charAt(0)&&(Pt=-1,bj=bj.substr(1));var xe=$x(a,bj,Am);if(void 0!==xe)switch(xe=xe*Pt|0,Am){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Am)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){cB(a,g[1],!0);break}dB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],bj=g[2];if(a.G){var Pt=1;"-"==bj.charAt(0)&&(Pt=-1,bj=bj.substr(1));var xe=$x(a,bj,Bm);if(void 0!==xe)switch(xe=xe*Pt|0,Bm){case "x":a.G.tf(xe,0);break;case "y":a.G.tf(0,xe);break;case "click":a.G.Vd(xe,!0);a.G.Vd(xe,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ye=0;if("all"==
|
||||||
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var gC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var hC=!!(a.ic&Sb[ld]);if(null===md||md==hC)Yg&&(Yg+=","),++gC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
fb)ye=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Sb)if(fb==ld){ye=Sb[ld];md=!!(a.ic&ye);break}if(!ye){a.P("unknown message category: "+fb);break a}}ye&&("on"==g[2]?(a.ic|=ye,md=!0):"off"==g[2]&&(a.ic&=~ye,md=!1))}var gC=0,Yg="";for(ld in Sb)if(!fb||fb==ld){var hC=!!(a.ic&Sb[ld]);if(null===md||md==hC)Yg&&(Yg+=","),++gC%10||(Yg+="\n\t"),"key"==ld&&(ld="keys"),Yg+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||||
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Yg||"none"));jy(a)}break;case "o":var Bm=g[1],iC=g[2];if(Bm&&"?"!=Bm){var Cm=$x(a,Bm,"port #"),Dm=$x(a,iC);void 0!==Cm&&void 0!==Dm&&(Tc(a.ka,Cm,1,Dm),a.P(ta(Cm)+": "+r(Dm)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){fB(a,b.substr(5));break}var Qt="pr"==g[0]?1:0,rf=1+Qt;if(a.I)a.P("step in progress");
|
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+(Yg||"none"));jy(a)}break;case "o":var Cm=g[1],iC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,iC);void 0!==Dm&&void 0!==Em&&(Tc(a.ka,Dm,1,Em),a.P(ta(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){fB(a,b.substr(5));break}var Qt="pr"==g[0]?1:0,rf=1+Qt;if(a.I)a.P("step in progress");
|
||||||
else{var cj,Rt=!1,Hb=hy(a,A(a.H),a.H.Z.U);do switch(cj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ky(a,Hb,1);cj=!0;break;case 204:case 206:a.I=rf;Ky(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ky(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ky(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ky(a,Hb,Hb.Hb?7:5);break;case 255:var St=a.jb(Hb)&14591;if(4351==St||6399==St)a.I=rf,Xz(a,Hb);break;case 243:case 242:Ky(a,Hb,1);Rt=cj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Rt&&
|
else{var cj,Rt=!1,Hb=hy(a,A(a.H),a.H.Z.U);do switch(cj=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ky(a,Hb,1);cj=!0;break;case 204:case 206:a.I=rf;Ky(a,Hb,1);break;case 205:case 224:case 225:case 226:a.I=rf;Ky(a,Hb,Hb.Hb?4:2);break;case 232:a.I=rf;Ky(a,Hb,Hb.Hb?5:3);break;case 154:a.I=rf;Ky(a,Hb,Hb.Hb?7:5);break;case 255:var St=a.jb(Hb)&14591;if(4351==St||6399==St)a.I=rf,Xz(a,Hb);break;case 243:case 242:Ky(a,Hb,1);Rt=cj=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Rt&&
|
||||||
(a.I=rf,Ky(a,Hb,1))}while(cj);a.I?(a.Gd(a.B,Hb,!0),Nz(a)||(a.pa&&a.pa.ld(),a.I=0)):hB(a,Qt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Pz(a,g);break;case "t":hB(a,g[0],g[1]);break;case "u":Qz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
(a.I=rf,Ky(a,Hb,1))}while(cj);a.I?(a.Gd(a.B,Hb,!0),Nz(a)||(a.pa&&a.pa.ld(),a.I=0)):hB(a,Qt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Pz(a,g);break;case "t":hB(a,g[0],g[1]);break;case "u":Qz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){bB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.34.2 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Ob?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Na());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var Zg;void 0!==g[3]&&(Zg=+g[3]);
|
||||||
switch(g[2]){case "int":a.H.T.Se=Zg;break;case "start":a.H.T.wf=Zg;break;case "stop":a.H.T.Ue=Zg;break;default:a.P("unknown cs option");break a}void 0!==Zg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
switch(g[2]){case "int":a.H.T.Se=Zg;break;case "start":a.H.T.wf=Zg;break;case "stop":a.H.T.Ue=Zg;break;default:a.P("unknown cs option");break a}void 0!==Zg&&Bd(a.H);a.P("checksums "+(a.H.ea.He?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Fd(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.oe.toFixed(2)+"Mhz")+" ("+a.H.T.Kd+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
|
||||||
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){fB(a,b.substr(1));break}var Em="commands:",Fm;for(Fm in jB)Em+="\n"+Ba(Fm,7)+jB[Fm];Jg(a)||(Em+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Em);break;default:a.P("unknown command: "+b),d=!1}}}catch(Ut){a.P("debugger error: "+(Ut.stack||Ut.message)),d=!1}return d}
|
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){fB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in jB)Fm+="\n"+Ba(Gm,7)+jB[Gm];Jg(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Ut){a.P("debugger error: "+(Ut.stack||Ut.message)),d=!1}return d}
|
||||||
function ly(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Wz(a,b[+d]))return!1;return!0}
|
function ly(a,b,c){b=a.Cg(b,c);for(var d in b)if(!Wz(a,b[+d]))return!1;return!0}
|
||||||
var Kz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jz=[26,28,40,42,109],jB={"?":"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",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
var Kz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Jz=[26,28,40,42,109],jB={"?":"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",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
|
||||||
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Qy=0,Iy=1,ry=2,Ty=3,Ry=4,Jy=5,eA=18,fA=28,aA=36,jA=80,gA=104,hA=107,Zz=176,Yz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Qy=0,Iy=1,ry=2,Ty=3,Ry=4,Jy=5,eA=18,fA=28,aA=36,jA=80,gA=104,hA=107,Zz=176,Yz="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
|
||||||
|
|
|
||||||
|
|
@ -27,256 +27,256 @@
|
||||||
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
|
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
|
||||||
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
|
http://pcjs.org/modules/pdp10/lib/macro10.js (C) Jeff Parsons 2012-2017
|
||||||
*/
|
*/
|
||||||
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ga=0;function da(a){return"jscomp_symbol_"+(a||"")+ga++}
|
var l,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function da(){da=function(){};ca.Symbol||(ca.Symbol=ga)}var ha=0;function ga(a){return"jscomp_symbol_"+(a||"")+ha++}
|
||||||
function ha(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
|
function ia(){da();var a=ca.Symbol.iterator;a||(a=ca.Symbol.iterator=ca.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ja(this)}});ia=function(){}}function ja(a){var b=0;return la(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function la(a){ia();a={next:a};a[ca.Symbol.iterator]=function(){return this};return a}
|
||||||
function la(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function ma(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
|
function ma(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function na(a,b){if(b){var c=ca;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||||
ma("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});ma("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
na("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});na("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
|
||||||
var na={mc:0,Eb:1,oc:2,pc:3,qc:4,rc:5,sc:6,tc:7,qb:8,uc:9,Fb:10,vc:11,wc:12,Gb:13,xc:14,yc:15,zc:16,Ac:17,Bc:18,Cc:19,Dc:20,Ec:21,Fc:22,Gc:23,Hc:24,Ic:25,Jc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,pb:65,lc:66,nc:67,Kc:68,E:69,Lc:70,Mc:71,Nc:72,Oc:73,Pc:74,Qc:75,Rc:76,Sc:77,Tc:78,Uc:79,Vc:80,Q:81,Wc:82,Xc:83,Yc:84,Zc:85,$c:86,ad:87,
|
var ta={mc:0,Eb:1,oc:2,pc:3,qc:4,rc:5,sc:6,tc:7,qb:8,uc:9,Fb:10,vc:11,wc:12,Gb:13,xc:14,yc:15,zc:16,Ac:17,Bc:18,Cc:19,Dc:20,Ec:21,Fc:22,Gc:23,Hc:24,Ic:25,Jc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,pb:65,lc:66,nc:67,Kc:68,E:69,Lc:70,Mc:71,Nc:72,Oc:73,Pc:74,Qc:75,Rc:76,Sc:77,Tc:78,Uc:79,Vc:80,Q:81,Wc:82,Xc:83,Yc:84,Zc:85,$c:86,ad:87,
|
||||||
bd:88,cd:89,Ib:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,dd:97,ed:98,fd:99,d:100,e:101,gd:102,ld:103,md:104,nd:105,od:106,k:107,pd:108,qd:109,n:110,rd:111,p:112,q:113,r:114,sd:115,t:116,ud:117,vd:118,wd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Hb:127};
|
bd:88,cd:89,Ib:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,dd:97,ed:98,fd:99,d:100,e:101,gd:102,hd:103,jd:104,kd:105,ld:106,k:107,md:108,nd:109,n:110,pd:111,p:112,q:113,r:114,qd:115,t:116,sd:117,td:118,ud:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Hb:127};
|
||||||
function ta(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
|
function ua(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
|
||||||
var f,d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a=e[1],d=35-((e[2]||35)&255);var e=a,g=b;(g&&10!=g?16==g?e.match(/^-?[0-9a-f]+$/i):8==g?e.match(/^-?[0-7]+$/):2==g&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d&&(0>f&&(f+=Math.pow(2,36)),f=0<d?f*Math.pow(2,d):Math.trunc(f/Math.pow(2,-d))),c=f)}return c}
|
var f,d=0;if(e=a.match(/(-?[0-9]+)B([0-9]*)/))a=e[1],d=35-((e[2]||35)&255);var e=a,g=b;(g&&10!=g?16==g?e.match(/^-?[0-9a-f]+$/i):8==g?e.match(/^-?[0-7]+$/):2==g&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(d&&(0>f&&(f+=Math.pow(2,36)),f=0<d?f*Math.pow(2,d):Math.trunc(f/Math.pow(2,-d))),c=f)}return c}
|
||||||
function ua(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function va(a,b){var c,d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}
|
function va(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}function wa(a,b){var c,d="";b?32<b&&(b=32):b=32;for(var e=null==a||isNaN(a),f=c=c||b;0<b--;)f||(d=","+d,f=c),d=(e?"?":a&1?"1":"0")+d,a>>=1,f--;return d}
|
||||||
function n(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ua(a,8,b,c?"0o":"")}function wa(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return ua(a,10,b)}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ua(a,16,b,c?"0x":"")}function xa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ya(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function za(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
function m(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return va(a,8,b,c?"0o":"")}function xa(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return va(a,10,b)}function q(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return va(a,16,b,c?"0x":"")}function ya(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function za(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Aa(a,b){return-1!==a.indexOf(b,a.length-b.length)}
|
||||||
function Aa(a){return a.replace(/[&<>"']/g,function(a){return Ba[a]})}function Ea(a,b){return(a+" ").slice(0,b)}function Fa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ba={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ga(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
|
function Ba(a){return a.replace(/[&<>"']/g,function(a){return Ea[a]})}function Fa(a,b){return(a+" ").slice(0,b)}function Ga(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function Ha(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
|
||||||
function Ha(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function Ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function Ia(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
function Ja(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
|
||||||
f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function Ja(a,b){var c,d={Z:null,W:null,va:null,ua:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.va=g.load;d.ua=g.exec;if(e=g.bytes)d.Z=e;else if(e=g.words)for(d.Z=Array(2*e.length),f=c=0;c<e.length;c++)d.Z[f++]=e[c]&255,d.Z[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Z=Array(4*e.length),f=c=0;c<e.length;c++)d.Z[f++]=
|
function Na(a,b){var c,d={Z:null,W:null,ua:null,ta:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ua=g.load;d.ta=g.exec;if(e=g.bytes)d.Z=e;else if(e=g.words)for(d.Z=Array(2*e.length),f=c=0;c<e.length;c++)d.Z[f++]=e[c]&255,d.Z[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Z=Array(4*e.length),f=c=0;c<e.length;c++)d.Z[f++]=
|
||||||
e[c]&255,d.Z[f++]=e[c]>>8&255,d.Z[f++]=e[c]>>16&255,d.Z[f++]=e[c]>>24&255;else(e=g.data)?d.Ka=e:d.Z=g;d.Z&&(d.Z.length?1==d.Z.length&&(r(d.Z[0]),d=null):(r("Empty resource: "+a),d=null));d.W=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Z=e)}return d}
|
e[c]&255,d.Z[f++]=e[c]>>8&255,d.Z[f++]=e[c]>>16&255,d.Z[f++]=e[c]>>24&255;else(e=g.data)?d.Ja=e:d.Z=g;d.Z&&(d.Z.length?1==d.Z.length&&(r(d.Z[0]),d=null):(r("Empty resource: "+a),d=null));d.W=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Z=e)}return d}
|
||||||
function Na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){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}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
function Oa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Pa(){if(null==Qa){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}Qa=a}return Qa}function Ra(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||||
function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
function Sa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ta(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
|
||||||
function Ta(a){if(!Ua){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ua=c}return Ua[a]}function Va(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function Ua(a){if(!Va){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Va=c}return Va[a]}function Wa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function Wa(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}}function Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)}
|
function Xa(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}}function Ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Za(a){$a.init.push(a)}
|
||||||
function $a(a){if(ab)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function hb(a){!ab&&a?(ab=!0,ib&&jb("init"),kb&&jb("show")):ab=a}function jb(a){Za[a]&&$a(Za[a])}var Ua=null,Za={init:[],show:[],exit:[]},ib=!1,kb=!1,ab=!0,Pa=null;Xa("onload",function(){ib=!0;$a(Za.init)});Xa("onpageshow",function(){kb=!0;$a(Za.show)});Xa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){$a(Za.exit)});
|
function ab(a){if(hb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ib(a){!hb&&a?(hb=!0,jb&&kb("init"),lb&&kb("show")):hb=a}function kb(a){$a[a]&&ab($a[a])}var Va=null,$a={init:[],show:[],exit:[]},jb=!1,lb=!1,hb=!0,Qa=null;Ya("onload",function(){jb=!0;ab($a.init)});Ya("onpageshow",function(){lb=!0;ab($a.show)});Ya(Ta("Opera")||Ta("iOS")?"onunload":"onbeforeunload",function(){ab($a.exit)});
|
||||||
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vb=b.comment;this.Nb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Na:!1,hb:!1,X:!1,error:!1};this.Xa=null;this.A.error=!1;this.Y=c||0;this.D=this.v=this.G=this.H=this.wa=null;lb.push(this)}function mb(a,b,c){nb[a]&&b&&(nb[a][b]=c)}function ob(){return Date.now()||+new Date}
|
function u(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.vb=b.comment;this.Nb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Ta=this.id:(this.Ua=this.id.substr(0,a),this.Ta=this.id.substr(a+1));this.A={ready:!1,Na:!1,hb:!1,X:!1,error:!1};this.Xa=null;this.A.error=!1;this.Y=c||0;this.D=this.v=this.G=this.H=this.va=null;mb.push(this)}function nb(a,b,c){ob[a]&&b&&(ob[a][b]=c)}function pb(){return Date.now()||+new Date}
|
||||||
function r(a){window&&window.alert(a)}function pb(a){var b=!1;window&&(b=window.confirm(a));return b}function qb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<lb.length;b++){var d=lb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function rb(a){if(void 0!==a){var b;for(b=0;b<lb.length;b++)if(lb[b].id===a)return lb[b]}return null}
|
function r(a){window&&window.alert(a)}function qb(a){var b=!1;window&&(b=window.confirm(a));return b}function rb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<mb.length;b++){var d=mb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function sb(a){if(void 0!==a){var b;for(b=0;b<mb.length;b++)if(mb[b].id===a)return mb[b]}return null}
|
||||||
function sb(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<lb.length;d++)if(c)c==lb[d]&&(c=null);else if(!(a!=lb[d].type||b&&lb[d].id.indexOf(b)))return lb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
function tb(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<mb.length;d++)if(c)c==mb[d]&&(c=null);else if(!(a!=mb[d].type||b&&mb[d].id.indexOf(b)))return mb[d]}return null}function v(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||||
function tb(a,b){var c=w;b=x(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=v(g))&&h.binding&&a.oa(h.type,h.binding,g,h.value),m=k.length}}}}
|
function ub(a,b){var c=w;b=x(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),n=0;n<k.length;n++)switch(h=k[n],h){case c+"-binding":(h=v(g))&&h.binding&&a.na(h.type,h.binding,g,h.value),n=k.length}}}}
|
||||||
function x(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 x(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 ub(a){for(var b=!0,c=vb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=wb.indexOf(e)&&(f=function(){return function(){ub(a)}}());var g=xb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=sb(d[1],a);if(h)if(g=yb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete vb[a];return b}l=u.prototype;
|
function vb(a){for(var b=!0,c=wb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=xb.indexOf(e)&&(f=function(){return function(){vb(a)}}());var g=yb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=tb(d[1],a);if(h)if(g=zb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete wb[a];return b}l=u.prototype;
|
||||||
l.toString=function(){return this.name?this.name:this.id||this.type};
|
l.toString=function(){return this.name?this.name:this.id||this.type};
|
||||||
l.oa=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.wa=this.J[b]=c,c.value="",this.u=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.da=function(a){this.u(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.u=function(){};
|
l.na=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.va=this.J[b]=c,c.value="",this.u=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.da=function(a){this.u(a,this.Ta)}),!0;default:return!1}};l.log=function(){};l.u=function(){};
|
||||||
l.status=function(a){this.u(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function zb(a,b){a.A.error=!0;a.da(b)}function Jb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Kb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Lb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Mb(a,b){a.A.Na&&(b?a.A.hb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Na}
|
l.status=function(a){this.u(this.Ta+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Jb(a,b){a.A.error=!0;a.da(b)}function Kb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Lb(a,b){b&&(a.A.ready?b():a.Xa=b);return a.A.ready}function Mb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Xa;a.Xa=null;b&&b()}}function Nb(a,b){a.A.Na&&(b?a.A.hb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Na}
|
||||||
function Nb(a,b){if(a.A.hb)return a.A.Na=!1,a.A.hb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Na=b;return a.A.Na}l.xa=function(){return this.A.X=!0};l.na=function(a,b){b&&(this.A.X=!1);return!0};function Ob(a,b){if(a.D){a===a.D?b|=0:b=b||a.Y;var c=a.D.Y&b;return!!b&&c===b||!!(c&a.D.xb)}return!1}function Pb(a,b,c,d){a.D&&(!0===c||Ob(a,c|0))&&a.D.message(b,d)}
|
function Ob(a,b){if(a.A.hb)return a.A.Na=!1,a.A.hb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Na=b;return a.A.Na}l.wa=function(){return this.A.X=!0};l.ma=function(a,b){b&&(this.A.X=!1);return!0};function Pb(a,b){if(a.D){a===a.D?b|=0:b=b||a.Y;var c=a.D.Y&b;return!!b&&c===b||!!(c&a.D.xb)}return!1}function Qb(a,b,c,d){a.D&&(!0===c||Pb(a,c|0))&&a.D.message(b,d)}
|
||||||
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||||
var nb=window?window.PCjs.Machines:{},lb=window?window.PCjs.Components:[],vb=window?window.PCjs.Commands:{},wb=["hold","sleep","wait"],xb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},yb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
var ob=window?window.PCjs.Machines:{},mb=window?window.PCjs.Components:[],wb=window?window.PCjs.Commands:{},xb=["hold","sleep","wait"],yb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},zb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
|
||||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||||
var w="pdp10",Qb="PDPjs",Rb=Math.pow(2,18)-1,Sb=Math.pow(2,18),Tb=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,B=Math.pow(2,35),C=Math.pow(2,36)-1,E=Math.pow(2,36),F=Math.pow(2,32),Ub=Math.pow(2,34),Vb=Math.pow(2,36),Wb=Math.pow(2,21),Xb=Math.pow(2,26),Yb=Math.pow(2,23),Zb=Math.pow(2,30),w="pdp10",Qb="PDPjs",$b={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
|
var w="pdp10",Rb="PDPjs",Sb=Math.pow(2,18)-1,Tb=Math.pow(2,18),Ub=Math.pow(2,17)-1,y=Math.pow(2,18)-1,z=Math.pow(2,18),A=Math.pow(2,35)-1,C=Math.pow(2,35),D=Math.pow(2,36)-1,E=Math.pow(2,36),F=Math.pow(2,32),Vb=Math.pow(2,34),Wb=Math.pow(2,36),Xb=Math.pow(2,21),Yb=Math.pow(2,26),Zb=Math.pow(2,23),$b=Math.pow(2,30),w="pdp10",Rb="PDPjs",ac={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
|
||||||
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
||||||
function ac(a,b){u.call(this,"Panel",a,512);this.K=this.L=0;this.U=b;this.i=this.I=this.j=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.T=bc;this.C={};this.b={START:[1,1,!0,!1,this.Xb],STEP:[1,1,!1,!1,this.Yb],ENABLE:[1,1,!1,!1,this.Sb],CONT:[1,1,!0,!1,this.Qb],DEP:[0,0,!0,!1,this.Rb],EXAM:[1,1,!0,!1,this.Tb],LOAD:[1,1,!0,!1,this.Vb],TEST:[0,0,!0,!1,this.Ub]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Wb,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Ob,toggle:this.gc,reset:this.cc,
|
function bc(a,b){u.call(this,"Panel",a,512);this.K=this.L=0;this.U=b;this.i=this.I=this.j=this.w=0;this.M=this.O=-1;this.P=this.R=this.F=!1;this.S=cc;this.C={};this.b={START:[1,1,!0,!1,this.Xb],STEP:[1,1,!1,!1,this.Yb],ENABLE:[1,1,!1,!1,this.Sb],CONT:[1,1,!0,!1,this.Qb],DEP:[0,0,!0,!1,this.Rb],EXAM:[1,1,!0,!1,this.Tb],LOAD:[1,1,!0,!1,this.Vb],TEST:[0,0,!0,!1,this.Ub]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Wb,a];this.D=this.v=this.G=this.H=null;this.exports={hold:this.Ob,toggle:this.gc,reset:this.cc,
|
||||||
set:this.fc};Lb(this)}la(ac,u);l=ac.prototype;l.reset=function(a){this.stop();a&&cc(this,this.w=0)};
|
set:this.fc};Mb(this)}ma(bc,u);l=bc.prototype;l.reset=function(a){this.stop();a&&dc(this,this.w=0)};
|
||||||
l.oa=function(a,b,c,d){if(this.H&&this.H.oa(a,b,c,d)||this.v&&this.v.oa(a,b,c,d)||this.D&&this.D.oa(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){dc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){ec(a,b)}}(this,b),a.ontouchstart=
|
l.na=function(a,b,c,d){if(this.H&&this.H.na(a,b,c,d)||this.v&&this.v.na(a,b,c,d)||this.D&&this.D.na(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){ec(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){fc(a,b)}}(this,b),a.ontouchstart=
|
||||||
function(a,b){return function(c){dc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){ec(a,b)}}(this,b),!0):u.prototype.oa.call(this,a,b,c,d)}};l.Ha=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;fc(this);gc(this)};l.xa=function(a,b){if(!b)if(this.U&&hc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.na=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
function(a,b){return function(c){ec(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){fc(a,b)}}(this,b),!0):u.prototype.na.call(this,a,b,c,d)}};l.Ga=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;gc(this);hc(this)};l.wa=function(a,b){if(!b)if(this.U&&ic(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ma=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
||||||
l.restore=function(a){if(a=a[0])ic(this,this.i=a[0]),cc(this,this.w=a[1]),jc(this,a[2]);return!0};l.cc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}gc(this);return!0};function kc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function fc(a,b){for(var c in a.C)kc(a,c,null!=b?b:a.C[c])}function lc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gc(a){for(var b in a.b)lc(a,b,a.b[b][1])}
|
l.restore=function(a){if(a=a[0])jc(this,this.i=a[0]),dc(this,this.w=a[1]),kc(this,a[2]);return!0};l.cc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}hc(this);return!0};function lc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function gc(a,b){for(var c in a.C)lc(a,c,null!=b?b:a.C[c])}function mc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function hc(a){for(var b in a.b)mc(a,b,a.b[b][1])}
|
||||||
l.Ob=function(a,b,c){if(dc(this,b)){if(c){var d=this;setTimeout(function(){ec(d,b);a&&a()},+c);return!1}ec(this,b)}return!0};l.fc=function(a,b){if("SR"==a)return jc(this,ta(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,lc(this,a,c[1]),!0):!1};l.gc=function(a){return dc(this,a)?(ec(this,a),!0):!1};function dc(a,b){var c=a.b[b];return c?(lc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=mc&&(a.P=b==nc,a.R=b==oc),!0):!1}
|
l.Ob=function(a,b,c){if(ec(this,b)){if(c){var d=this;setTimeout(function(){fc(d,b);a&&a()},+c);return!1}fc(this,b)}return!0};l.fc=function(a,b){if("SR"==a)return kc(this,ua(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,mc(this,a,c[1]),!0):!1};l.gc=function(a){return ec(this,a)?(fc(this,a),!0):!1};function ec(a,b){var c=a.b[b];return c?(mc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=nc&&(a.P=b==oc,a.R=b==pc),!0):!1}
|
||||||
function ec(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(lc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Xb=function(a){a||this.v.A.N||(H(this.v,this.i),this.b[pc]&&this.b[pc][1]&&qc(this.v))};l.Yb=function(){};l.Sb=function(a){a||this.v.V()};
|
function fc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(mc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Xb=function(a){a||this.v.A.N||(H(this.v,this.i),this.b[qc]&&this.b[qc][1]&&rc(this.v))};l.Yb=function(){};l.Sb=function(a){a||this.v.V()};
|
||||||
l.Qb=function(a){if(!a&&!this.v.A.N)if(this.b[pc]&&this.b[pc][1])qc(this.v);else{if((a=this.D)&&!Mb(a,!0))Nb(a,!0),rc(a,0,null),Nb(a,!1);else try{var b=this.v.Ra(1);0<b&&(sc(this.v,b),tc(this.v,b,!0),uc(this.v,b))}catch(c){"number"!=typeof c&&zb(this.v,c.stack||c.message)}this.stop();this.H&&I(this.H)}};l.Rb=function(a){a&&!this.v.A.N&&(this.P&&vc(this),a=cc(this,this.w=this.j),this.T==bc?wc(this.G,this.i,a):this.v.g(this.i,a))};
|
l.Qb=function(a){if(!a&&!this.v.A.N)if(this.b[qc]&&this.b[qc][1])rc(this.v);else{if((a=this.D)&&!Nb(a,!0))Ob(a,!0),sc(a,0,null),Ob(a,!1);else try{var b=this.v.Ra(1);0<b&&(tc(this.v,b),uc(this.v,b,!0),vc(this.v,b))}catch(c){"number"!=typeof c&&Jb(this.v,c.stack||c.message)}this.stop();this.H&&I(this.H)}};l.Rb=function(a){a&&!this.v.A.N&&(this.P&&wc(this),a=dc(this,this.w=this.j),this.S==cc?xc(this.G,this.i,a):this.v.g(this.i,a))};
|
||||||
l.Tb=function(a){if(!a&&!this.v.A.N){var b;this.R&&vc(this);this.T==bc?b=xc(this.G,this.i):b=this.v.f(this.i);cc(this,this.w=b)}};l.Vb=function(a){a||this.v.A.N||ic(this,this.j)};l.Ub=function(a){a?(this.F=!0,fc(this,!0)):(this.F=!1,fc(this),jc(this,0))};l.Wb=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function vc(a){var b=1,c=a.G.j;a.b[mc]&&a.b[mc][1]||(b=-b);ic(a,a.i&~c|a.i+b&c)}
|
l.Tb=function(a){if(!a&&!this.v.A.N){var b;this.R&&wc(this);this.S==cc?b=yc(this.G,this.i):b=this.v.f(this.i);dc(this,this.w=b)}};l.Vb=function(a){a||this.v.A.N||jc(this,this.j)};l.Ub=function(a){a?(this.F=!0,gc(this,!0)):(this.F=!1,gc(this),kc(this,0))};l.Wb=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function wc(a){var b=1,c=a.G.j;a.b[nc]&&a.b[nc][1]||(b=-b);jc(a,a.i&~c|a.i+b&c)}
|
||||||
function ic(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}}function cc(a,b){a.I=b%E;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||kc(d,e,f)}}return a.I}function jc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;gc(a);return!0}l.stop=function(){ic(this,this.v.i)};
|
function jc(a,b){a.i=b&a.G.j;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}}function dc(a,b){a.I=b%E;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||lc(d,e,f)}}return a.I}function kc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;hc(a);return!0}l.stop=function(){jc(this,this.v.i)};
|
||||||
function hc(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=rb(d.id);e||(e=new ac(d,!0));tb(e,c)}}var bc=7,nc="DEP",pc="ENABLE",oc="EXAM",mc="STEP";Ya(hc);function yc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new zc(this);Ec(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Lb(this)}la(yc,u);l=yc.prototype;l.reset=function(){};
|
function ic(){for(var a=x(document,w,"panel"),b=0;b<a.length;b++){var c=a[b],d=v(c),e=sb(d.id);e||(e=new bc(d,!0));ub(e,c)}}var cc=7,oc="DEP",qc="ENABLE",pc="EXAM",nc="STEP";Za(ic);function zc(a,b,c){u.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Ec(this);Fc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Mb(this)}ma(zc,u);l=zc.prototype;l.reset=function(){};
|
||||||
l.xa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.na=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,Fc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
l.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ma=function(a){return a?this.save():!0};l.save=function(){var a=new G(this);a.set(0,Gc(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||||
function Gc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,m=16384-(e-k);m>f&&(m=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Pa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Pa){m=h.size-(e-k);m>f&&(m=f);h.Pa=e-h.B+m;e=k+16384;f-=m;g++;continue}}return Hc(Ic,e,f)}e=new zc(a,e,m,16384,d);Ec(e,a.D,h);a.b[g++]=e;e=k+16384;f-=m}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Jc[d]+" at "+n(b)),!0):Hc(Kc,b,c)}
|
function Hc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,n=16384-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Pa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Pa){n=h.size-(e-k);n>f&&(n=f);h.Pa=e-h.B+n;e=k+16384;f-=n;g++;continue}}return Ic(Jc,e,f)}e=new Ec(a,e,n,16384,d);Fc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Kc[d]+" at "+m(b)),!0):Ic(Lc,b,c)}
|
||||||
function xc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function wc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Fc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var m=e[g],p=g+1;p<e.length&&e[p]===m;)p++;k[h++]=p-g;k[h++]=m;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
function yc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.D(b&16383,b);a.w--;return b}function xc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Gc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.jb||e.Lb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||||
l.Mb=function(a){this.w||(this.D&&Ob(this.D,4)&&Pb(this.D,"memory fault on "+J(this.D,a),!0,!0),this.v.V())};function Hc(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Ic=1,Kc=2;function Lc(a){u.call(this,"Device",a,256)}la(Lc,u);l=Lc.prototype;l.Ha=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Lb(this)};l.xa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.na=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new G(this)).data()};
|
l.Mb=function(a){this.w||(this.D&&Pb(this.D,4)&&Qb(this.D,"memory fault on "+J(this.D,a),!0,!0),this.v.V())};function Ic(a,b,c){r("Memory block error ("+a+": "+q(b)+","+q(c)+")");return!1}var Jc=1,Lc=2;function Mc(a){u.call(this,"Device",a,256)}ma(Mc,u);l=Mc.prototype;l.Ga=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.D=d;Mb(this)};l.wa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ma=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new G(this)).data()};
|
||||||
l.restore=function(){return!0};Ya(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Lc(c),tb(c,d)}}});function zc(a,b,c,d,e){this.H=a;this.id=Mc+=2;this.B=b;this.Pa=c;this.size=d||0;this.type=e||Nc;this.G=e==Oc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Qa;this.i=this.v=0;Ec(this);this.jb=this.Lb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Pc(this,Qc)}else Pc(this)}l=zc.prototype;l.save=function(){return this.j};
|
l.restore=function(){return!0};Za(function(){for(var a=x(document,w,"device"),b=0;b<a.length;b++){var c,d=a[b];c=v(d);switch(c.type){case "default":c=new Mc(c),ub(c,d)}}});function Ec(a,b,c,d,e){this.H=a;this.id=Nc+=2;this.B=b;this.Pa=c;this.size=d||0;this.type=e||Oc;this.G=e==Pc;this.b=null;this.f=this.D=this.nb;this.g=this.w=this.Qa;this.i=this.v=0;Fc(this);this.jb=this.Lb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Qc(this,Rc)}else Qc(this)}l=Ec.prototype;l.save=function(){return this.j};
|
||||||
l.restore=function(a){return a&&this.size==a.length?(this.j=a,this.jb=!0):!1};function Pc(a,b){b||(b=Rc);Sc(a,b,void 0);Tc(a,b,void 0)}function Sc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Tc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Qa);if(c||void 0===c)a.w=b[1]||a.Qa}l.La=function(a,b){b?this.v++||Tc(this,Uc,!1):this.i++||Sc(this,Uc,!1)};function Vc(a,b){b?--a.v||(a.g=a.G?a.Qa:a.w):--a.i||(a.f=a.D)}
|
l.restore=function(a){return a&&this.size==a.length?(this.j=a,this.jb=!0):!1};function Qc(a,b){b||(b=Sc);Tc(a,b,void 0);Uc(a,b,void 0)}function Tc(a,b,c){c&&a.i||(a.f=b[0]||a.nb);if(c||void 0===c)a.D=b[0]||a.nb}function Uc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Qa);if(c||void 0===c)a.w=b[1]||a.Qa}l.Ka=function(a,b){b?this.v++||Uc(this,Vc,!1):this.i++||Tc(this,Vc,!1)};function Wc(a,b){b?--a.v||(a.g=a.G?a.Qa:a.w):--a.i||(a.f=a.D)}
|
||||||
function Ec(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Sc(a,Uc,!1),(a.v=c.v)&&Tc(a,Uc,!1))}l.nb=function(a,b){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to read invalid address "+J(this.b,b),!0);this.H.Mb(b);return-1};l.Qa=function(a,b,c){this.b&&Ob(this.b,32)&&Pb(this.b,"attempt to write "+J(this.b,a)+" to invalid addresses "+J(this.b,c),!0)};l.ac=function(a){return this.j[a]};l.jc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.jb=!0)};
|
function Fc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Tc(a,Vc,!1),(a.v=c.v)&&Uc(a,Vc,!1))}l.nb=function(a,b){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to read invalid address "+J(this.b,b),!0);this.H.Mb(b);return-1};l.Qa=function(a,b,c){this.b&&Pb(this.b,32)&&Qb(this.b,"attempt to write "+J(this.b,a)+" to invalid addresses "+J(this.b,c),!0)};l.ac=function(a){return this.j[a]};l.jc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.jb=!0)};
|
||||||
l.Zb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Wc(c,this.B+a,2,c.M)&&c.V(!1)}return this.D(a,b)};l.ic=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Wc(d,this.B+b,2,d.I)&&d.V(!1)}this.G?this.Qa(a,0,c):this.w(a,b,c)};var Nc=0,Oc=2,Jc=["NONE","RAM","ROM"],Mc=0,Rc=[],Qc=[zc.prototype.ac,zc.prototype.jc],Uc=[zc.prototype.Zb,zc.prototype.ic];
|
l.Zb=function(a,b){if(this.b&&null!=this.B){var c=this.b;Xc(c,this.B+a,2,c.M)&&c.V(!1)}return this.D(a,b)};l.ic=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;Xc(d,this.B+b,2,d.I)&&d.V(!1)}this.G?this.Qa(a,0,c):this.w(a,b,c)};var Oc=0,Pc=2,Kc=["NONE","RAM","ROM"],Nc=0,Sc=[],Rc=[Ec.prototype.ac,Ec.prototype.jc],Vc=[Ec.prototype.Zb,Ec.prototype.ic];
|
||||||
function Xc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.fa=c;this.bb=Math.round(this.eb/1E4)/100;this.ca=this.bb*this.fa;this.cb=this.Ea=this.ga=this.Va=0;this.A.N=this.A.$a=!1;this.A.aa=a.autoStart;"string"==typeof this.A.aa&&(this.A.aa="true"==this.A.aa);this.A.Ma=!1;this.Ca=this.ia=0;this.Da=+a.csStart;this.pa=+a.csInterval;this.ja=+a.csStop;this.O=[];this.yb=this.dc.bind(this);this.U=this.M=this.R=this.T=this.L=this.Ba=this.P=this.ka=this.fb=this.ba=
|
function Yc(a,b){u.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.ab=0;this.eb=b;this.fa=c;this.bb=Math.round(this.eb/1E4)/100;this.ca=this.bb*this.fa;this.cb=this.Da=this.ga=this.Va=0;this.A.N=this.A.$a=!1;this.A.aa=a.autoStart;"string"==typeof this.A.aa&&(this.A.aa="true"==this.A.aa);this.A.Ma=!1;this.Ba=this.ia=0;this.Ca=+a.csStart;this.oa=+a.csInterval;this.ja=+a.csStop;this.O=[];this.yb=this.dc.bind(this);this.U=this.M=this.R=this.S=this.L=this.Aa=this.P=this.ka=this.fb=this.ba=
|
||||||
0;this.Ja=null;Lb(this)}la(Xc,u);l=Xc.prototype;l.Ha=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Ja=a.j;for(a=0;a<Yc.length;a++)(b=this.J[Yc[a]])&&this.H.oa(null,Yc[a],b);Lb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
0;this.Ia=null;Mb(this)}ma(Yc,u);l=Yc.prototype;l.Ga=function(a,b,c,d){this.H=a;this.G=b;this.D=d;this.Ia=a.j;for(a=0;a<Zc.length;a++)(b=this.J[Zc[a]])&&this.H.na(null,Zc[a],b);Mb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||||
l.xa=function(a,b){var c=Zc(this.H,"autoStart");null!=c?this.A.aa="true"==c?!0:"false"==c?!1:!!c:null==this.A.aa&&(this.A.aa=!this.D&&void 0===this.J.run);if(!b){if(a){$c(this);if(!this.restore(a))return!1;ad(this)}else this.reset();this.D?(a=this.D,b=this.A.aa,a.Ea=!0,a.u("Type ? for help with PDPjs Debugger commands"),bd(a),b||cd(a),a.sa&&(b=a.sa,a.sa=null,dd(a,b))):this.status("No debugger detected");this.A.aa||this.u("CPU will not be auto-started "+(this.Ja?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
l.wa=function(a,b){var c=$c(this.H,"autoStart");null!=c?this.A.aa="true"==c?!0:"false"==c?!1:!!c:null==this.A.aa&&(this.A.aa=!this.D&&void 0===this.J.run);if(!b){if(a){ad(this);if(!this.restore(a))return!1;bd(this)}else this.reset();this.D?(a=this.D,b=this.A.aa,a.Da=!0,a.u("Type ? for help with PDPjs Debugger commands"),cd(a),b||dd(a),a.ra&&(b=a.ra,a.ra=null,ed(a,b,!0))):this.status("No debugger detected");this.A.aa||this.u("CPU will not be auto-started "+(this.Ia?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||||
l.na=function(a){return a?this.save():!0};l.aa=function(){return this.A.N?!0:this.A.aa?(qc(this),!0):!1};l.Bb=function(){return 0};function ad(a){void 0===a.Da&&(a.Da=0);void 0===a.pa&&(a.pa=-1);void 0===a.ja&&(a.ja=-1);a.A.Ma=0<=a.Da&&0<a.pa;a.A.Ma&&(a.Ca=0,a.ia=a.Da-a.U)}function uc(a,b){if(a.A.Ma){var c=!1;a.Ca=a.Ca+a.Bb()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.pa,c=!0);0<=a.ja&&a.ja<=ed(a)&&(a.pa=a.ja=-1,ad(a),a.V(),c=!0);c&&a.u(ed(a)+" cycles: checksum="+q(a.Ca))}}
|
l.ma=function(a){return a?this.save():!0};l.aa=function(){return this.A.N?!0:this.A.aa?(rc(this),!0):!1};l.Bb=function(){return 0};function bd(a){void 0===a.Ca&&(a.Ca=0);void 0===a.oa&&(a.oa=-1);void 0===a.ja&&(a.ja=-1);a.A.Ma=0<=a.Ca&&0<a.oa;a.A.Ma&&(a.Ba=0,a.ia=a.Ca-a.U)}function vc(a,b){if(a.A.Ma){var c=!1;a.Ba=a.Ba+a.Bb()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.oa,c=!0);0<=a.ja&&a.ja<=fd(a)&&(a.oa=a.ja=-1,bd(a),a.V(),c=!0);c&&a.u(fd(a)+" cycles: checksum="+q(a.Ba))}}
|
||||||
l.oa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.X)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.X);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.V():qc(d))},!0;case "speed":return this.J[b]=
|
l.na=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.A.X)a=!0;else{var b=null,c,h=rb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.X);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Xa?" (waiting for notification)":""))+".");a=!1}a&&(d.A.N?d.V():rc(d))},!0;case "speed":return this.J[b]=
|
||||||
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){fd(d,d.fa<<1,!0)},c.textContent=this.ca.toFixed(2)+"Mhz",!0}return!1};function tc(a,b,c){a.U+=b;c&&(a.R=a.T=0)}function gd(a,b){var c=1;b&&1<a.fa&&a.ba&&(c=a.ba/a.bb);a.cb=Math.round(1E3/hd);a.Ea=Math.floor(a.eb/hd*c);b||(a.ga=a.Ea);a.Va=0}function ed(a){return a.U+a.M+a.R-a.T}function $c(a){a.ba=0;a.fb=0;a.U=a.M=a.R=a.T=0;ad(a);fd(a,1)}
|
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){gd(d,d.fa<<1,!0)},c.textContent=this.ca.toFixed(2)+"Mhz",!0}return!1};function uc(a,b,c){a.U+=b;c&&(a.R=a.S=0)}function hd(a,b){var c=1;b&&1<a.fa&&a.ba&&(c=a.ba/a.bb);a.cb=Math.round(1E3/id);a.Da=Math.floor(a.eb/id*c);b||(a.ga=a.Da);a.Va=0}function fd(a){return a.U+a.M+a.R-a.S}function ad(a){a.ba=0;a.fb=0;a.U=a.M=a.R=a.S=0;bd(a);gd(a,1)}
|
||||||
function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ca?b=1:d=!0;a.fa=b;b=a.bb*a.fa;if(a.ca!=b){a.ca=b;b=a.ca.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&id(a.H)}tc(a,a.M);a.M=0;a.L=ob();a.P=0;gd(a);return d}function jd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
function gd(a,b,c){var d=!1;if(void 0!==b){.8>a.ba/a.ca?b=1:d=!0;a.fa=b;b=a.bb*a.fa;if(a.ca!=b){a.ca=b;b=a.ca.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.H&&jd(a.H)}uc(a,a.M);a.M=0;a.L=pb();a.P=0;hd(a);return d}function kd(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function ld(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
|
||||||
function sc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function ld(a,b){var c=a.R-=a.T;a.T=0;b&&(a.R=0);return c}
|
function tc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function md(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
|
||||||
l.dc=function(){if(this.A.N){this.Va>=this.eb&&gd(this,!0);this.ka=0;this.Ba=ob();if(this.P){var a=this.Ba-this.P;a>this.cb&&(this.L+=a,this.L>this.Ba&&(this.L=this.Ba))}try{do{var b=jd(this,this.A.Ma?1:this.Ea);try{this.Ra(b)}catch(e){if("number"!=typeof e)throw e;}b=ld(this,!0);this.ka+=b;this.M+=b;uc(this,b);sc(this,b);this.ga-=b;if(0>=this.ga){this.ga+=this.Ea;++this.fb>=md&&(this.H&&I(this.H,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.V();this.H&&this.H.stop(ob(),ed(this));zb(this,
|
l.dc=function(){if(this.A.N){this.Va>=this.eb&&hd(this,!0);this.ka=0;this.Aa=pb();if(this.P){var a=this.Aa-this.P;a>this.cb&&(this.L+=a,this.L>this.Aa&&(this.L=this.Aa))}try{do{var b=kd(this,this.A.Ma?1:this.Da);try{this.Ra(b)}catch(e){if("number"!=typeof e)throw e;}b=md(this,!0);this.ka+=b;this.M+=b;vc(this,b);tc(this,b);this.ga-=b;if(0>=this.ga){this.ga+=this.Da;++this.fb>=nd&&(this.H&&I(this.H,void 0),this.fb=0);break}}while(this.A.N)}catch(e){this.V();this.H&&this.H.stop(pb(),fd(this));Jb(this,
|
||||||
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.yb;this.P=ob();var c=this.cb;this.ka&&(c=Math.round(c*this.ka/this.Ea));var c=c-(this.P-this.Ba),d=this.P-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.U=0,fd(this)));if(0>c||this.ba<this.ca)-1E3>c&&(this.L-=c),c=0;this.Va+=this.ka;this.P+=c;a(b,c)}}};
|
e.stack||e.message);return}if(this.A.N){a=setTimeout;b=this.yb;this.P=pb();var c=this.cb;this.ka&&(c=Math.round(c*this.ka/this.Da));var c=c-(this.P-this.Aa),d=this.P-this.L;d&&(this.ba=Math.round(this.M/(10*d))/100,864E5<=d&&(this.U=0,gd(this)));if(0>c||this.ba<this.ca)-1E3>c&&(this.L-=c),c=0;this.Va+=this.ka;this.P+=c;a(b,c)}}};
|
||||||
function qc(a,b){if(!Jb(a))if(a.A.N)a.u(a.toString()+" busy");else{fd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&id(a.H,!0),a.H.start(a.L,ed(a)));a.D||a.status("Started");setTimeout(a.yb,0)}}l.Ra=function(){return 0};l.V=function(a){var b=!1;if(this.A.N){ld(this);tc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(ob(),ed(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var hd=30,md=15,Yc=["power","reset"];
|
function rc(a,b){if(!Kb(a))if(a.A.N)a.u(a.toString()+" busy");else{gd(a);a.A.N=!0;a.A.$a=!0;var c=a.J.run;c&&(c.textContent="Halt");a.H&&(b&&jd(a.H,!0),a.H.start(a.L,fd(a)));a.D||a.status("Started");setTimeout(a.yb,0)}}l.Ra=function(){return 0};l.V=function(a){var b=!1;if(this.A.N){md(this);uc(this,this.M);this.M=0;this.A.N=!1;if(b=this.J.run)b.textContent="Run";this.H&&this.H.stop(pb(),fd(this));b=!0;this.D||this.status("Stopped")}this.A.complete=a;return b};var id=30,nd=15,Zc=["power","reset"];
|
||||||
function nd(a){var b=+a.model||1001;Xc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Kb=od.bind(this);this.w=K.bind(this);this.za=null;this.ob=[];this.A.complete=!1}la(nd,Xc);l=nd.prototype;
|
function od(a){var b=+a.model||1001;Yc.call(this,a,1E6);this.wb=b;this.Sa=+a.addrReset||0;this.Kb=pd.bind(this);this.w=K.bind(this);this.ya=null;this.ob=[];this.A.complete=!1}ma(od,Yc);l=od.prototype;
|
||||||
l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.V();this.Fa=this.Ga=this.b=this.K=0;this.i=this.Aa=this.Sa;this.I=this.sa=-1;this.F=this.j=0;this.gb=[0,0];this.qa=[0,0];this.ha=[0,0];this.ra=[0,0];this.ya=this.i;this.C=0;this.f=this.$b;this.g=this.kc;this.za=null;$c(this);this.A.error=!1;Xc.prototype.reset.call(this)};l.Bb=function(){return 0};
|
l.reset=function(){this.status("Model "+this.wb);this.A.N&&this.V();this.Ea=this.Fa=this.b=this.K=0;this.i=this.za=this.Sa;this.I=this.ra=-1;this.F=this.j=0;this.gb=[0,0];this.pa=[0,0];this.ha=[0,0];this.qa=[0,0];this.xa=this.i;this.C=0;this.f=this.$b;this.g=this.kc;this.ya=null;ad(this);this.A.error=!1;Yc.prototype.reset.call(this)};l.Bb=function(){return 0};
|
||||||
l.save=function(){var a=new G(this);a.set(0,[this.b,this.K,this.Fa,this.Ga,this.i,this.sa,this.I,this.j,this.C,this.Aa,this.ya,this.Sa]);a.set(1,[]);a.set(2,[this.U,this.fa,this.A.aa]);a.set(3,pd(this));a.set(4,kd(this));return a.data()};
|
l.save=function(){var a=new G(this);a.set(0,[this.b,this.K,this.Ea,this.Fa,this.i,this.ra,this.I,this.j,this.C,this.za,this.xa,this.Sa]);a.set(1,[]);a.set(2,[this.U,this.fa,this.A.aa]);a.set(3,qd(this));a.set(4,ld(this));return a.data()};
|
||||||
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.b=b.next().value;this.K=b.next().value;this.Fa=b.next().value;this.Ga=b.next().value;this.i=b.next().value;this.sa=b.next().value;this.I=b.next().value;this.j=b.next().value;this.C=b.next().value;this.Aa=b.next().value;this.ya=b.next().value;this.Sa=b.next().value;b=a[2];this.U=b[0];fd(this,b[1]);this.A.aa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ob.length;d++){var e=this.ob[d];
|
l.restore=function(a){var b;b=a[0];ia();da();ia();var c=b[Symbol.iterator];b=c?c.call(b):ja(b);this.b=b.next().value;this.K=b.next().value;this.Ea=b.next().value;this.Fa=b.next().value;this.i=b.next().value;this.ra=b.next().value;this.I=b.next().value;this.j=b.next().value;this.C=b.next().value;this.za=b.next().value;this.xa=b.next().value;this.Sa=b.next().value;b=a[2];this.U=b[0];gd(this,b[1]);this.A.aa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ob.length;d++){var e=this.ob[d];
|
||||||
if(e.hc===b[c]){d=e;break a}}d=null}d&&(d.next=this.za,this.za=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function qd(a,b){var c=a.i;a.i=(c+b)%Sb;return c}function H(a,b){a.i=b%Sb}function pd(a){var b=[];for(a=a.za;a;)b.push(a.hc),a=a.next;return b}l.$b=function(a){var b=this.G;a=this.ya=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};l.kc=function(a,b){var c=this.G;a=this.ya=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
if(e.hc===b[c]){d=e;break a}}d=null}d&&(d.next=this.ya,this.ya=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function rd(a,b){var c=a.i;a.i=(c+b)%Tb;return c}function H(a,b){a.i=b%Tb}function qd(a){var b=[];for(a=a.ya;a;)b.push(a.hc),a=a.next;return b}l.$b=function(a){var b=this.G;a=this.xa=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};l.kc=function(a,b){var c=this.G;a=this.xa=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
|
||||||
l.Ra=function(a){this.A.complete=!0;var b=this.D?rd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.T=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(sd(this.D,this.i,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.za||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&sd(this.D,this.i,c)){this.V();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.Fa=this.f(this.b):0<=this.sa?(this.K=this.Ga=this.f(this.sa),this.sa=-1):(this.K=
|
l.Ra=function(a){this.A.complete=!0;var b=this.D?sd(this.D)?1:this.A.$a?-1:0:0,c=a?this.A.$a?0:1:-1;this.A.$a=!1;this.R=this.S=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(td(this.D,this.i,c)){this.V();break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.ya||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&td(this.D,this.i,c)){this.V();break}if(0>c)break}}this.C&=15;this.K&4194304?this.K=this.Ea=this.f(this.b):0<=this.ra?(this.K=this.Fa=this.f(this.ra),this.ra=-1):(this.K=
|
||||||
this.Ga=this.f(this.Aa=this.i),this.i=(this.i+1)%Sb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+(this.Fa=this.f(a))&Rb;a=this.K&4194304?-1:this.Ga/Yb|0;0<=a&&this.Kb(a)}while(0<this.T);return this.A.complete?this.R-this.T:!1===this.A.complete?-1:0};Ya(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new nd(d);tb(d,c)}});function od(a){td[a>>4].call(this,a,a&15)}function M(a){this.w(a)}
|
this.Fa=this.f(this.za=this.i),this.i=(this.i+1)%Tb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+(this.Ea=this.f(a))&Sb;a=this.K&4194304?-1:this.Fa/Zb|0;0<=a&&this.Kb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Za(function(){for(var a=x(document,w,"cpu"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new od(d);ub(d,c)}});function pd(a){ud[a>>4].call(this,a,a&15)}function M(a){this.w(a)}
|
||||||
function ud(){var a=0,b=this.f(this.b),c=b/Zb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Zb+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.g(this.b,b)}function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
function vd(){var a=0,b=this.f(this.b),c=b/$b&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*$b+(d<<24)+(b&16777215);a&&(b=(b+a)%E);this.g(this.b,b)}function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
|
||||||
function wd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Zb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function xd(a,b){this.g(b,this.f(this.b))}function yd(a,b){this.g(b,this.b)}function zd(a,b){this.g(this.b,this.f(b))}function Ad(a,b){this.g(b,0)}function Bd(a,b){this.g(b,C-this.f(b))}function Cd(a,b){this.g(b,C)}
|
function xd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/$b&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%E;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function yd(a,b){this.g(b,this.f(this.b))}function zd(a,b){this.g(b,this.b)}function Ad(a,b){this.g(this.b,this.f(b))}function Bd(a,b){this.g(b,0)}function Cd(a,b){this.g(b,D-this.f(b))}function Dd(a,b){this.g(b,D)}
|
||||||
function Dd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Ed(a,d,c)+(c-(c&y)))}function Xd(a,b){var c=this.f(b);this.g(b,Ed(a,c,0))}function Yd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Ed(a,c,b)+(b-(b&y)))}function Zd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function $d(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Ed(a,d,c)+c)}
|
function Ed(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Xd(a,d,c)+(c-(c&y)))}function Yd(a,b){var c=this.f(b);this.g(b,Xd(a,c,0))}function Zd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Xd(a,c,b)+(b-(b&y)))}function $d(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&y,a){case 256:d+=y;break;case 384:d+=c>A?y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=(this.f(this.b)&y)*z,d=this.f(b);this.g(b,Xd(a,d,c)+c)}
|
||||||
function ae(a,b){var c=this.b*z,d=this.f(b);this.g(b,Ed(a,d,c)+c)}function be(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Ed(a,c,b)+b)}function ce(a,b){var c=this.f(this.b),d=(c&y)*z,c=Ed(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function de(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,ee(a,d,c)+c)}function fe(a,b){var c=this.f(b);this.g(b,ee(a,c,this.b)+this.b)}function ge(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}
|
function be(a,b){var c=this.b*z,d=this.f(b);this.g(b,Xd(a,d,c)+c)}function ce(a,b){b=(this.f(b)&y)*z;var c=this.f(this.b);this.g(this.b,Xd(a,c,b)+b)}function de(a,b){var c=this.f(this.b),d=(c&y)*z,c=Xd(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ee(a,b){var c=this.f(this.b)&y,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,fe(a,c,this.b)+this.b)}function he(a,b){b=this.f(b)&y;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}
|
||||||
function he(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Tb?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ie(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,ee(a,d,c)+c)}function je(a,b){var c=this.f(b);this.g(b,ee(a,c,0))}function ke(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,ee(a,c,b)+b)}function le(a,b){var c=this.f(this.b),d=c/z|0,c=ee(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){me[a&7].call(this,a,a>>3&127)}
|
function ie(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=y,a){case 256:d+=y*z;break;case 384:d+=c>Ub?y*z:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function je(a,b){var c=this.f(this.b)/z|0,d=this.f(b);this.g(b,fe(a,d,c)+c)}function ke(a,b){var c=this.f(b);this.g(b,fe(a,c,0))}function le(a,b){b=this.f(b)/z|0;var c=this.f(this.b);this.g(this.b,fe(a,c,b)+b)}function me(a,b){var c=this.f(this.b),d=c/z|0,c=fe(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function N(a){ne[a&7].call(this,a,a>>3&127)}
|
||||||
function ne(){}function oe(){}function K(a){this.u("undefined opcode: "+n(a));qd(this,-1);this.V()}function pe(a){a>A&&(a!=B?a=Vb-a:this.j|=163840);return a}function O(a,b){var c=(a+b)%E;qe.call(this,a,b,c);return c}
|
function oe(){}function pe(){}function K(a){this.u("undefined opcode: "+m(a));rd(this,-1);this.V()}function qe(a){a>A&&(a!=C?a=Wb-a:this.j|=163840);return a}function O(a,b){var c=(a+b)%E;re.call(this,a,b,c);return c}
|
||||||
function re(a,b,c){var d=!1,e=!1,f=b-b%B;a=a%B+b*B%E;b=this.F=f+Math.trunc(b/2);c>A&&(c=E-c,d=!d);b>A&&(a?(b=C-b,a=E-a):b&&(b=E-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.qa;f[0]=1;f[1]=0;f=this.ha;f[0]=c;f[1]=0;c=this.ra;c[0]=a;for(c[1]=b;0<se(this.ra,this.ha);)te(this.ha,this.ha),te(this.qa,this.qa);do{if(0<=se(this.ra,this.ha)&&(b=this.ra,a=this.ha,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=E,b[1]--),te(this.gb,this.qa),ue(this.ra)))break;ve(this.ha);ve(this.qa)}while(!ue(this.qa));
|
function se(a,b,c){var d=!1,e=!1,f=b-b%C;a=a%C+b*C%E;b=this.F=f+Math.trunc(b/2);c>A&&(c=E-c,d=!d);b>A&&(a?(b=D-b,a=E-a):b&&(b=E-b),e=!0,d=!d);if(b>=c)return this.j|=131104,-1;f=this.gb;f[0]=0;f[1]=0;f=this.pa;f[0]=1;f[1]=0;f=this.ha;f[0]=c;f[1]=0;c=this.qa;c[0]=a;for(c[1]=b;0<te(this.qa,this.ha);)ue(this.ha,this.ha),ue(this.pa,this.pa);do{if(0<=te(this.qa,this.ha)&&(b=this.qa,a=this.ha,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=E,b[1]--),ue(this.gb,this.pa),ve(this.qa)))break;we(this.ha);we(this.pa)}while(!ve(this.pa));
|
||||||
a=this.gb[0];this.F=this.ra[0];d&&a&&(a=E-a);e&&this.F&&(this.F=E-this.F);return a}
|
a=this.gb[0];this.F=this.qa[0];d&&a&&(a=E-a);e&&this.F&&(this.F=E-this.F);return a}
|
||||||
function we(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=E-d,b=!b);e>A&&(e=E-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&y;d=Math.trunc(d/z);f=e&y;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&y)+a*e;a=h*z+(g&y);f+=Math.trunc(h/z)+d*e}b&&(a?(f=C-f,a=E-a):f&&(f=E-f));if(c)return(f||a>A)&&(f!=C||a<=A)&&(this.j|=131072),a;c=a;b=f;a=b-b%B;b=2*b%E+Math.trunc(c/B);c=a+c%B;d=b-b%B;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
function xe(a,b,c){var d=a,e=b;b=!1;var f;d>A&&(d=E-d,b=!b);e>A&&(e=E-e,b=!b);if(d<z&&e<z)a=d*e,f=0;else{a=d&y;d=Math.trunc(d/z);f=e&y;var e=Math.trunc(e/z),g=a*f,h=d*f+Math.trunc(g/z);f=Math.trunc(h/z);h=(h&y)+a*e;a=h*z+(g&y);f+=Math.trunc(h/z)+d*e}b&&(a?(f=D-f,a=E-a):f&&(f=E-f));if(c)return(f||a>A)&&(f!=D||a<=A)&&(this.j|=131072),a;c=a;b=f;a=b-b%C;b=2*b%E+Math.trunc(c/C);c=a+c%C;d=b-b%C;a!=d&&(b=a+(b-d),this.j|=131072);this.F=c;return b}
|
||||||
function xe(a){a?a==B?this.j|=163840:a=Vb-a:this.j|=98304;return a}function P(a,b){var c=a-b;0>c&&(c+=E);qe.call(this,c,b,a);return c}function qe(a,b,c){a=Math.trunc(a/Ub);b=Math.trunc(b/Ub);c=Math.trunc(c/Ub);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function Q(a,b){return((a/F|0)&(b/F|0))*F+((a&b)>>>0)}function R(a,b){return Q(a,(~(b/F|0)&15)*F+(~b>>>0))}function S(a,b){return(a<B?a:a-E)-(b<B?b:b-B)}
|
function ye(a){a?a==C?this.j|=163840:a=Wb-a:this.j|=98304;return a}function Q(a,b){var c=a-b;0>c&&(c+=E);re.call(this,c,b,a);return c}function re(a,b,c){a=Math.trunc(a/Vb);b=Math.trunc(b/Vb);c=Math.trunc(c/Vb);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/F|0)&(b/F|0))*F+((a&b)>>>0)}function S(a,b){return R(a,(~(b/F|0)&15)*F+(~b>>>0))}function T(a,b){return(a<C?a:a-E)-(b<C?b:b-C)}
|
||||||
function ye(a,b){return(~((a/F|0)^(b/F|0))&15)*F+(~(a^b)>>>0)}function T(a,b){return(a/F|0|b/F|0)*F+((a|b)>>>0)}function U(a){return a<B?a:a-E}function V(a,b){return((a/F|0)^(b/F|0))*F+((a^b)>>>0)}function W(a){return(a/z|0)+(a&y)*z}function ee(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Tb?y*z:0}return b}function Ed(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}
|
function ze(a,b){return(~((a/F|0)^(b/F|0))&15)*F+(~(a^b)>>>0)}function U(a,b){return(a/F|0|b/F|0)*F+((a|b)>>>0)}function V(a){return a<C?a:a-E}function W(a,b){return((a/F|0)^(b/F|0))*F+((a^b)>>>0)}function X(a){return(a/z|0)+(a&y)*z}function fe(a,b,c){switch(a&384){case 0:b-=b&y;break;case 128:b=0;break;case 256:b=y*z;break;case 384:b=c>Ub?y*z:0}return b}function Xd(a,b,c){switch(a&384){case 0:b&=y;break;case 128:b=0;break;case 256:b=y;break;case 384:b=c>A?y:0}return b}
|
||||||
function te(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=E&&(a[0]%=E,a[1]++)}function se(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function ve(a){a[1]%2&&(a[0]+=E);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ue(a){return!a[0]&&!a[1]}
|
function ue(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=E&&(a[0]%=E,a[1]++)}function te(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function we(a){a[1]%2&&(a[0]+=E);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function ve(a){return!a[0]&&!a[1]}
|
||||||
var td=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},ud,function(a,b){0>this.I&&ud.call(this);vd.call(this,0,b)},vd,function(a,b){0>this.I&&ud.call(this);wd.call(this,0,b)},wd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
var ud=[M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},vd,function(a,b){0>this.I&&vd.call(this);wd.call(this,0,b)},wd,function(a,b){0>this.I&&vd.call(this);xd.call(this,0,b)},xd,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
|
||||||
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},xd,yd,zd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(this.b)))},function(a,b){this.g(b,xe.call(this,this.b))},function(a,b){this.g(this.b,
|
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},yd,zd,Ad,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(b,a)},function(a,b){this.g(b,this.b*z)},function(a,b){a=this.f(b);a=(a/z|0)+(a&y)*z;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/z|0)+(a&y)*z;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ye.call(this,this.f(this.b)))},function(a,b){this.g(b,ye.call(this,this.b))},function(a,b){this.g(this.b,
|
||||||
xe.call(this,this.f(b)))},function(a,b){a=xe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,pe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,pe.call(this,this.f(b)))},function(a,b){a=pe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,we.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,we.call(this,this.f(b),this.f(this.b),
|
ye.call(this,this.f(b)))},function(a,b){a=ye.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,qe.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,qe.call(this,this.f(b)))},function(a,b){a=qe.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,xe.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b),
|
||||||
!0))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,we.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,we.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,we.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,we.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
!0))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,xe.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,xe.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,xe.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,xe.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
|
||||||
1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=re.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=se.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
|
||||||
function(a,b){a=this.f(b);b=this.f(b+1&15);b=re.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=re.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(E-a):a;0<c?(35<=c?(d=0>d?B:0,c=A):(d=d*Math.pow(2,c)%B,c=B-Math.pow(2,35-c)),a<=A?a+c>A&&(this.j|=131072):a-c<=A&&(this.j|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;
|
function(a,b){a=this.f(b);b=this.f(b+1&15);b=se.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=se.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>A?-(E-a):a;0<c?(35<=c?(d=0>d?C:0,c=A):(d=d*Math.pow(2,c)%C,c=C-Math.pow(2,35-c)),a<=A?a+c>A&&(this.j|=131072):a-c<=A&&(this.j|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+E:d;
|
||||||
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%E:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<B;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<B||d>A&&
|
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%E+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%E:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<C;)a++,c*=2;H(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<C||d>A&&
|
||||||
d<C)this.j|=131072;if(71<=a){if(0<e&&e<B||e>A&&e<C)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%B,c=B-Math.pow(2,70-a),f<=A?e+c>A&&(this.j|=131072):e-c<=A&&(this.j|=131072);e=0;f>A&&(d+=B,e+=B)}else d=d*Math.pow(2,a)%B+Math.trunc(e%B/Math.pow(2,35-a)),e=e*Math.pow(2,a)%B,c=B-Math.pow(2,35-a),f<=A?f+c>A&&(this.j|=131072):(f-c<=A&&(this.j|=131072),d+=B,e+=B)}else-36>=a?(e=-72>=a?d>A?C:0:Math.trunc(d%B/Math.pow(2,-a-35)),d<=A?d=0:(d=C,e+=B)):(c=d>A?E-Math.pow(2,36+a):0,e=Math.trunc(e%B/Math.pow(2,-a))+
|
d<D)this.j|=131072;if(71<=a){if(0<e&&e<C||e>A&&e<D)this.j|=131072;d=0}else d=e*Math.pow(2,a-35)%C,c=C-Math.pow(2,70-a),f<=A?e+c>A&&(this.j|=131072):e-c<=A&&(this.j|=131072);e=0;f>A&&(d+=C,e+=C)}else d=d*Math.pow(2,a)%C+Math.trunc(e%C/Math.pow(2,35-a)),e=e*Math.pow(2,a)%C,c=C-Math.pow(2,35-a),f<=A?f+c>A&&(this.j|=131072):(f-c<=A&&(this.j|=131072),d+=C,e+=C)}else-36>=a?(e=-72>=a?d>A?D:0:Math.trunc(d%C/Math.pow(2,-a-35)),d<=A?d=0:(d=D,e+=C)):(c=d>A?E-Math.pow(2,36+a):0,e=Math.trunc(e%C/Math.pow(2,-a))+
|
||||||
d%B*Math.pow(2,35+a)%B,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=B));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
d%C*Math.pow(2,35+a)%C,d=Math.trunc(d/Math.pow(2,-a))+c,d>A&&(e+=C));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%E+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%E+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
|
||||||
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%E,d=0):(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},K,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.N||(this.g(b,d*
|
1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%E,d=0):(c=c*Math.pow(2,a)%E+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%E):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%E,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},K,function(a,b){a=this.f(b);this.g(b,this.f(this.b));this.g(this.b,a)},function(a,b){a=!1;for(var c=this.f(b),d=c/z|0,c=c&y;!a;)this.g(c,this.f(d)),c==this.b&&(a=!0),d=d+1&y,c=c+1&y,this.A.N||(this.g(b,d*
|
||||||
z+c),a||qd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a<B&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%C;this.g(b,a);a>=B&&H(this,this.b)},function(a,b){b&1&&(this.j|=4096);if(b&2){var c=this.Fa,c=c/z|0;this.j=this.j&-254049|c&254048;this.j|=c&4096;c&2048?this.j&4096||(this.j|=2048):this.j&=-2049}b&4&&this.V();b&8&&this.w(a);H(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,H(this,this.b))},function(){this.sa=this.b},K,function(a){this.w(a)},function(a,b){a=
|
z+c),a||rd(this,-1),a=!0)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<C&&H(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=C&&H(this,this.b)},function(a,b){b&1&&(this.j|=4096);if(b&2){var c=this.Ea,c=c/z|0;this.j=this.j&-254049|c&254048;this.j|=c&4096;c&2048?this.j&4096||(this.j|=2048):this.j&=-2049}b&4&&this.V();b&8&&this.w(a);H(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,H(this,this.b))},function(){this.ra=this.b},K,function(a){this.w(a)},function(a,b){a=
|
||||||
this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=E&&(a-=E);a/z|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=E);(a/z|0)==y&&(this.j|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.j&y)*z+this.i);H(this,this.b+1)},function(a,b){this.g(b,(this.j&y)*z+this.i);H(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,
|
this.f(b);a+=262145;this.g(a&y,this.f(this.b));a>=E&&(a-=E);a/z|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&y);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=E);(a/z|0)==y&&(this.j|=262144);this.g(b,a)},function(a){this.w(a)},function(){this.g(this.b,(this.j&y)*z+this.i);H(this,this.b+1)},function(a,b){this.g(b,(this.j&y)*z+this.i);H(this,this.b)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){this.g(b,O.call(this,this.f(b),this.f(this.b)))},function(a,
|
||||||
b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,P.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,P.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,P.call(this,this.f(b),this.f(this.b))))},ne,function(a,b){0>S(this.f(b),this.b)&&H(this,
|
b){this.g(b,O.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,O.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,O.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},oe,function(a,b){0>T(this.f(b),this.b)&&H(this,
|
||||||
this.i+1)},function(a,b){S(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){S(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.b)&&H(this,this.i+1)},oe,function(a,b){0>S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},
|
this.i+1)},function(a,b){T(this.f(b),this.b)||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.b)&&H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){0<=T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){T(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){0<T(this.f(b),this.b)&&H(this,this.i+1)},pe,function(a,b){0>T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){0>=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},
|
||||||
function(){H(this,this.i+1)},function(a,b){0<=S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){S(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){0<S(this.f(b),this.f(this.b))&&H(this,this.i+1)},ne,function(a,b){0>U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))||H(this,this.b)},function(a,b){0>=U(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=U(this.f(b))&&H(this,this.b)},function(a,b){U(this.f(b))&&H(this,this.b)},function(a,b){0<U(this.f(b))&&
|
function(){H(this,this.i+1)},function(a,b){0<=T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){T(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){0<T(this.f(b),this.f(this.b))&&H(this,this.i+1)},oe,function(a,b){0>V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))||H(this,this.b)},function(a,b){0>=V(this.f(b))&&H(this,this.b)},function(){H(this,this.b)},function(a,b){0<=V(this.f(b))&&H(this,this.b)},function(a,b){V(this.f(b))&&H(this,this.b)},function(a,b){0<V(this.f(b))&&
|
||||||
H(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);
|
H(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){H(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);
|
||||||
0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),
|
0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,O.call(this,this.f(b),1))},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>V(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));V(a)||H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0>=V(a)&&H(this,this.b)},function(a,b){this.g(b,O.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),
|
||||||
1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
|
1));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,O.call(this,this.f(b),1));0<V(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
|
||||||
O.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,P.call(this,this.f(b),1))},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>U(a)&&H(this,this.b)},function(a,
|
O.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,O.call(this,this.f(this.b),1));0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>V(a)&&H(this,this.b)},function(a,
|
||||||
b){a=this.g(b,P.call(this,this.f(b),1));U(a)||H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0>=U(a)&&H(this,this.b)},function(a,b){this.g(b,P.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<=U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));U(a)&&H(this,this.b)},function(a,b){a=this.g(b,P.call(this,this.f(b),1));0<U(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));b&&this.g(b,a)},
|
b){a=this.g(b,Q.call(this,this.f(b),1));V(a)||H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=V(a)&&H(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));V(a)&&H(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<V(a)&&H(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},
|
||||||
function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0>=U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<=U(a)&&H(this,this.i+1);b&&this.g(b,a)},
|
function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)||H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=V(a)&&H(this,this.i+1);b&&this.g(b,a)},
|
||||||
function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));U(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,P.call(this,this.f(this.b),1));0<U(a)&&H(this,this.i+1);b&&this.g(b,a)},Ad,Ad,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),this.b))},function(a,b){this.g(this.b,Q(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),this.f(this.b))))},
|
function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));V(a)&&H(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<V(a)&&H(this,this.i+1);b&&this.g(b,a)},Bd,Bd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},
|
||||||
function(a,b){this.g(b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q(C-this.f(b),this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),this.f(this.b))))},xd,yd,oe,xd,function(a,b){this.g(b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,Q(this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(this.f(b),C-this.f(this.b))))},ne,ne,zd,zd,function(a,b){this.g(b,
|
function(a,b){this.g(b,R(D-this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(D-this.f(b),this.b))},function(a,b){this.g(this.b,R(D-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(D-this.f(b),this.f(this.b))))},yd,zd,pe,yd,function(a,b){this.g(b,R(this.f(b),D-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),D-this.b))},function(a,b){this.g(this.b,R(this.f(b),D-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),D-this.f(this.b))))},oe,oe,Ad,Ad,function(a,b){this.g(b,
|
||||||
V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(this.b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,V(this.f(b),this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,
|
W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(this.b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,W(this.f(b),this.f(this.b))))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(this.b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(D-this.f(b),D-this.f(this.b)))},function(a,b){this.g(b,
|
||||||
Q(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,Q(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,ye(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ye(this.f(b),this.b))},function(a,b){this.g(this.b,ye(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ye(this.f(b),this.f(this.b))))},Bd,Bd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,
|
R(D-this.f(b),D-this.b))},function(a,b){this.g(this.b,R(D-this.f(b),D-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(D-this.f(b),D-this.f(this.b))))},function(a,b){this.g(b,ze(this.f(b),this.f(this.b)))},function(a,b){this.g(b,ze(this.f(b),this.b))},function(a,b){this.g(this.b,ze(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,ze(this.f(b),this.f(this.b))))},Cd,Cd,function(a,b){this.g(this.b,D-this.f(b))},function(a,b){this.g(this.b,this.g(b,D-this.f(b)))},function(a,b){this.g(b,
|
||||||
T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),this.b))},function(a,b){this.g(this.b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.b))},function(a,b){this.g(this.b,
|
U(D-this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(D-this.f(b),this.b))},function(a,b){this.g(this.b,U(D-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(D-this.f(b),this.f(this.b))))},function(a,b){this.g(b,D-this.f(this.b))},function(a,b){this.g(b,D-this.b)},function(){this.g(this.b,D-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,D-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),D-this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),D-this.b))},function(a,b){this.g(this.b,
|
||||||
T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),C-this.f(this.b))))},Cd,Cd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Dd,Xd,Yd,Zd,$d,ae,be,ce,Dd,Xd,Yd,Zd,$d,ae,be,ce,Dd,Xd,Yd,Zd,$d,ae,be,ce,Dd,Xd,Yd,Zd,
|
U(this.f(b),D-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(this.f(b),D-this.f(this.b))))},function(a,b){this.g(b,U(D-this.f(b),D-this.f(this.b)))},function(a,b){this.g(b,U(D-this.f(b),D-this.b))},function(a,b){this.g(this.b,U(D-this.f(b),D-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,U(D-this.f(b),D-this.f(this.b))))},Dd,Dd,function(){this.g(this.b,D)},function(a,b){this.g(this.b,this.g(b,D))},Ed,Yd,Zd,$d,ae,be,ce,de,Ed,Yd,Zd,$d,ae,be,ce,de,Ed,Yd,Zd,$d,ae,be,ce,de,Ed,Yd,Zd,$d,
|
||||||
$d,ae,be,ce,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,de,fe,ge,he,ie,je,ke,le,ne,ne,function(a,b){Q(this.f(b),this.b)||H(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){Q(this.f(b),this.b*z)&&H(this,this.i+1)},oe,oe,function(a,b){Q(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))||
|
ae,be,ce,de,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,ee,ge,he,ie,je,ke,le,me,oe,oe,function(a,b){R(this.f(b),this.b)||H(this,this.i+1)},function(a,b){R(this.f(b),this.b*z)||H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){R(this.f(b),this.b)&&H(this,this.i+1)},function(a,b){R(this.f(b),this.b*z)&&H(this,this.i+1)},pe,pe,function(a,b){R(this.f(b),this.f(this.b))||H(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))||
|
||||||
H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){Q(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){Q(this.f(b),W(this.f(this.b)))&&H(this,this.i+1)},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),
|
H(this,this.i+1)},function(){H(this,this.i+1)},function(){H(this,this.i+1)},function(a,b){R(this.f(b),this.f(this.b))&&H(this,this.i+1)},function(a,b){R(this.f(b),X(this.f(this.b)))&&H(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),
|
||||||
this.b))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,R(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,
|
this.b))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,
|
||||||
this.i+1);this.g(b,R(a,c))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,R(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,R(a,c))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);
|
this.i+1);this.g(b,S(a,c))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,S(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,W(this.f(b),this.b))},function(a,b){this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);
|
||||||
this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),W(this.f(this.b))))},
|
this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;R(a,c)||H(this,this.i+1);this.g(b,W(a,c))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,W(a,this.b))},function(a,b){a=this.f(b);var c=this.b*z;R(a,c)&&H(this,this.i+1);this.g(b,W(a,c))},function(a,b){this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){this.g(b,W(this.f(b),X(this.f(this.b))))},
|
||||||
function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,V(a,c))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,V(a,
|
function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,this.i+1);this.g(b,W(a,c))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,W(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,W(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,W(a,
|
||||||
c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)||H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);Q(a,this.b*z)||H(this,this.i+1);this.g(b,T(a,this.b*z))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.b*z))},function(a,b){a=this.f(b);Q(a,this.b)&&H(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*
|
c))},function(a,b){this.g(b,U(this.f(b),this.b))},function(a,b){this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)||H(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);R(a,this.b*z)||H(this,this.i+1);this.g(b,U(a,this.b*z))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.b))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.b*z))},function(a,b){a=this.f(b);R(a,this.b)&&H(this,this.i+1);this.g(b,U(a,this.b))},function(a,b){a=this.f(b);var c=this.b*
|
||||||
z;Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)||H(this,this.i+1);this.g(b,T(a,c))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);
|
z;R(a,c)&&H(this,this.i+1);this.g(b,U(a,c))},function(a,b){this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);R(a,c)||H(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)||H(this,this.i+1);this.g(b,U(a,c))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),this.f(this.b)))},function(a,b){H(this,this.i+1);this.g(b,U(this.f(b),X(this.f(this.b))))},function(a,b){a=this.f(b);
|
||||||
var c=this.f(this.b);Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));Q(a,c)&&H(this,this.i+1);this.g(b,T(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],me=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},
|
var c=this.f(this.b);R(a,c)&&H(this,this.i+1);this.g(b,U(a,c))},function(a,b){a=this.f(b);var c=X(this.f(this.b));R(a,c)&&H(this,this.i+1);this.g(b,U(a,c))},N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],ne=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);a&131072&&(this.j&=-262145);break;default:this.w(a)}},
|
||||||
function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
||||||
function ze(a){u.call(this,"ROM",a,128);this.W=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=xa(this.w);if(this.w){a=this.w;var b=ya(this.F);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ia(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(mb(c.Ua,a,b),(a=Ja(a,b))?(c.b=a.Z,c.W=a.W):c.w=null);Ae(c)})}}la(ze,u);
|
function Ae(a){u.call(this,"ROM",a,128);this.W=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=ya(this.w);if(this.w){a=this.w;var b=za(this.F);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(nb(c.Ua,a,b),(a=Na(a,b))?(c.b=a.Z,c.W=a.W):c.w=null);Be(c)})}}ma(Ae,u);
|
||||||
ze.prototype.Ha=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ae(this)};ze.prototype.xa=function(){this.W&&(this.D&&Be(this.D,this.id,this.C,this.j,this.W),delete this.W);return!0};ze.prototype.na=function(){return!0};
|
Ae.prototype.Ga=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Be(this)};Ae.prototype.wa=function(){this.W&&(this.D&&Ce(this.D,this.id,this.C,this.j,this.W),delete this.W);return!0};Ae.prototype.ma=function(){return!0};
|
||||||
function Ae(a){if(!Kb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)zb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.j,8,!0)+")");else{var b;b=a.C;if(Gc(a.G,b,a.j,Oc)){var c;for(c=0;c<a.b.length;c++)wc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>=
|
function Be(a){if(!Lb(a)){if(a.w){if(!a.b||!a.G)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Jb(a,"ROM size ("+q(a.b.length,8,!0)+") does not match specified size ("+q(a.j,8,!0)+")");else{var b;b=a.C;if(Hc(a.G,b,a.j,Pc)){var c;for(c=0;c<a.b.length;c++)xc(a.G,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.G,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.G;d=d.j;g=0;for(e>>>=
|
||||||
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Lb(a)}}Ya(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new ze(d);tb(d,c)}});
|
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Mb(a)}}Za(function(){for(var a=x(document,w,"rom"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ae(d);ub(d,c)}});
|
||||||
function Ce(a){u.call(this,"RAM",a);this.W=this.Ka=null;this.i=+a.addr;this.j=+a.size;this.va=a.load;this.ua=a.exec;null!=this.va&&(this.va=+this.va);null!=this.ua&&(this.ua=+this.ua);this.w=this.F=!1;this.b=a.file;this.C=xa(this.b);if(this.b){a=this.b;var b=ya(this.C);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ia(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(mb(c.Ua,a,b),(a=Ja(a,b))?(c.Ka=a.Ka,
|
function De(a){u.call(this,"RAM",a);this.W=this.Ja=null;this.i=+a.addr;this.j=+a.size;this.ua=a.load;this.ta=a.exec;null!=this.ua&&(this.ua=+this.ua);null!=this.ta&&(this.ta=+this.ta);this.w=this.F=!1;this.b=a.file;this.C=ya(this.b);if(this.b){a=this.b;var b=za(this.C);"json"!=b&&"hex"!=b&&(a=Oa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(nb(c.Ua,a,b),(a=Na(a,b))?(c.Ja=a.Ja,
|
||||||
c.W=a.W,null==c.va&&(c.va=a.va),null==c.ua&&(c.ua=a.ua)):c.b=null);De(c)})}}la(Ce,u);Ce.prototype.Ha=function(a,b,c,d){this.G=b;this.v=c;this.D=d;De(this)};Ce.prototype.xa=function(a,b){this.W&&(this.D&&Be(this.D,this.id,this.i,this.j,this.W),delete this.W);b||this.reset();return!0};Ce.prototype.na=function(){return!0};
|
c.W=a.W,null==c.ua&&(c.ua=a.ua),null==c.ta&&(c.ta=a.ta)):c.b=null);Ee(c)})}}ma(De,u);De.prototype.Ga=function(a,b,c,d){this.G=b;this.v=c;this.D=d;Ee(this)};De.prototype.wa=function(a,b){this.W&&(this.D&&Ce(this.D,this.id,this.i,this.j,this.W),delete this.W);b||this.reset();return!0};De.prototype.ma=function(){return!0};
|
||||||
function De(a){if(a.G&&(!a.w&&a.j&&(Gc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Kb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ka)return;Ee(a,a.Ka,a.va,a.ua,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Lb(a)}}
|
function Ee(a){if(a.G&&(!a.w&&a.j&&(Hc(a.G,a.i,a.j,1)?a.w=!0:a.j=0),!Lb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ja)return;Fe(a,a.Ja,a.ua,a.ta,a.i)?a.status('Loaded image "'+a.C+'"'):a.da('Error loading image "'+a.C+'"')}a.F=!0;Mb(a)}}
|
||||||
Ce.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-B&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ka&&Ee(this,this.Ka,this.va,this.ua,this.i,!this.D)}this.F=!1};
|
De.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.G,b=this.i,c=this.j,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-C&&(g+=E);for(var g=Math.trunc(Math.abs(g))%E,h=d;f--&&h<e.size;h++)e.w(g,d,e.B+d);c-=16384;b++;d=0}this.Ja&&Fe(this,this.Ja,this.ua,this.ta,this.i,!this.D)}this.F=!1};
|
||||||
function Ee(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)wc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.V(),f=!1),null!=d&&(a=a.v,a.Sa=d,H(a,d),f?a.A.X?a.A.N||qc(a):a.A.aa=!0:a.D&&a.A.X?a.V()||a.H.A.reset||(bd(a.D),I(a.H,-1)):!1===f&&a.V(),!a.A.N&&a.Ja&&a.Ja.stop()));return g}Ya(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ce(d);tb(d,c)}});
|
function Fe(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)xc(a.G,c+g,b[g]);g=!0}g&&(null==d&&(a.v.V(),f=!1),null!=d&&(a=a.v,a.Sa=d,H(a,d),f?a.A.X?a.A.N||rc(a):a.A.aa=!0:a.D&&a.A.X?a.V()||a.H.A.reset||(cd(a.D),I(a.H,-1)):!1===f&&a.V(),!a.A.N&&a.Ia&&a.Ia.stop()));return g}Za(function(){for(var a=x(document,w,"ram"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new De(d);ub(d,c)}});
|
||||||
function Fe(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Ge;b&&(void 0===c&&(c="Panel"),(c=sb(c,this.id))&&(b=c.J[b])&&this.oa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.bc,setConnection:this.ec}}la(Fe,u);l=Fe.prototype;
|
function Ge(a){u.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=He;b&&(void 0===c&&(c="Panel"),(c=tb(c,this.id))&&(b=c.J[b])&&this.na(null,a,b))}this.b=this.C=null;this.exports={connect:this.Cb,receiveData:this.Ya,receiveStatus:this.bc,setConnection:this.ec}}ma(Ge,u);l=Ge.prototype;
|
||||||
l.oa=function(a,b,c){var d=this;switch(b){case Ge:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?na.qb:na.Hb:46==c?b=na.qb:a.ctrlKey&&c>=na.pb&&c<=na.Ib&&(b=c-(na.pb-na.Eb));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==na.Gb&&(b=na.Fb);d.Ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
l.na=function(a,b,c){var d=this;switch(b){case He:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ta.qb:ta.Hb:46==c?b=ta.qb:a.ctrlKey&&c>=ta.pb&&c<=ta.Ib&&(b=c-(ta.pb-ta.Eb));b&&(a.preventDefault&&a.preventDefault(),d.Ya(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ta.Gb&&(b=ta.Fb);d.Ya(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
|
||||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ha=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Lb(this)};
|
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ya(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ga=function(a,b,c,d){this.H=a;this.G=b;this.v=c;this.D=d;Mb(this)};
|
||||||
l.Cb=function(a){if(!this.b){var b=Zc(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Fa(c[0]);if(d!=this.Ta)return;c=Fa(c[1]);if(this.b=rb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.xa=function(a,b){if(!b)if(this.Cb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
l.Cb=function(a){if(!this.b){var b=$c(this.H,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ga(c[0]);if(d!=this.Ta)return;c=Ga(c[1]);if(this.b=sb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.Ua+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.wa=function(a,b){if(!b)if(this.Cb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
l.na=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.bc=function(){};l.ec=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Ge="buffer";
|
l.ma=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ya=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.bc=function(){};l.ec=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var He="buffer";
|
||||||
Ya(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Fe(d);tb(d,c)}});function He(a){u.call(this,"Debugger",a);this.S=+a.base||16;this.ia=32;this.ka=null;this.ba=["{","}"];this.qa=["[","]"];this.C=0;this.R=!1;this.w=-1;this.j=[];this.K={}}la(He,u);He.prototype.kb=function(){return-1};He.prototype.lb=function(){};
|
Za(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ge(d);ub(d,c)}});function Ie(a){u.call(this,"Debugger",a);this.T=+a.base||16;this.ia=32;this.ka=null;this.ba=["{","}"];this.pa=["[","]"];this.C=0;this.R=!1;this.w=-1;this.j=[];this.K={}}ma(Ie,u);Ie.prototype.kb=function(){return-1};Ie.prototype.lb=function(){};
|
||||||
function Ie(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.j[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Fa(b.substring(c,f))),c=f+1}}return a}
|
function Je(a,b,c,d){if(c)if(b){0>a.w&&a.j.length&&(a.w=0);if(0>a.w||b!=a.j[a.w])a.j.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.j[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ga(b.substring(c,f))),c=f+1}}return a}function Ke(a,b,c){if(32>=a.ia)return b|c;b=Y(a,b,0,!0);c=Y(a,c,0,!0);return((b/Le|0)^(c/Le|0))*Le+((b^c)>>>0)}
|
||||||
function Je(a,b,c,d){var e=b;c=c||a.ia;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?e=b%a:b>=2*a&&(e=b%(2*a)));b!=e&&(b=e);return b}
|
function Y(a,b,c,d){var e=b;c=c||a.ia;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b|0:(a=Math.pow(2,c-1),b<-a?e=b%a:b>=2*a&&(e=b%(2*a)));b!=e&&(b=e);return b}
|
||||||
function Ke(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
|
function Me(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f,g=b.pop();f=b.pop();switch(e){case "*":f*=g;break;case "/":if(!g)return!1;f=Math.trunc(f/g);break;case "%":if(!g)return!1;f%=g;break;case "+":f+=g;break;case "-":f-=g;break;case "<<":f<<=g;break;case ">>":f>>=g;break;case ">>>":f>>>=g;break;case "<":f=f<g?1:0;break;case "<=":f=f<=g?1:0;break;case ">":f=f>g?1:0;break;case ">=":f=f>=g?1:0;break;case "==":f=f==g?1:0;break;case "!=":f=f!=g?1:0;break;
|
||||||
case "&":e=a;32>=e.ia?f&=g:(f=Je(e,f,0,!0),g=Je(e,g,0,!0),f=((f/Le|0)&(g/Le|0))*Le+((f&g)>>>0));break;case "!":case "|":e=a;32>=e.ia?f|=g:(f=Je(e,f,0,!0),g=Je(e,g,0,!0),f=(f/Le|0|g/Le|0)*Le+((f|g)>>>0));break;case "^^":e=a;32>=e.ia?f|=g:(f=Je(e,f,0,!0),g=Je(e,g,0,!0),f=((f/Le|0)^(g/Le|0))*Le+((f^g)>>>0));break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "><":if(g=35-(g&255))0>f&&(f+=Math.pow(2,36)),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g));break;default:return!1}b.push(Je(a,
|
case "&":e=a;32>=e.ia?f&=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=((f/Le|0)&(g/Le|0))*Le+((f&g)>>>0));break;case "!":case "|":e=a;32>=e.ia?f|=g:(f=Y(e,f,0,!0),g=Y(e,g,0,!0),f=(f/Le|0|g/Le|0)*Le+((f|g)>>>0));break;case "^!":f=Ke(a,f,g);break;case "&&":f=f&&g?1:0;break;case "||":f=f||g?1:0;break;case "_":case "^_":"^_"==e&&(g=35-(g&255));g&&(f=Y(a,f,0,!0),f=0<g?f*Math.pow(2,g):Math.trunc(f/Math.pow(2,-g)));break;default:return!1}b.push(Y(a,f))}return!0}
|
||||||
f))}return!0}
|
function Ne(a,b,c,d,e,f){var g,h,k,n=!1,p=0,t=[],B=[],P=a.T;for(a.T=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Oe(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Ne(a,b,p,c-1,a.T,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("~"==k||"^-"==k){p=1;continue}if("-"==k){p=-1;continue}n=!0;break}if(void 0===p)if(null==a.ka&&f)a.ka=h,p=0;else{n=!0;f=!f;break}t.push(Y(a,p));if(!k)break;B.length&&Pe[k]<Pe[B[B.length-1]]&&Me(a,t,B,
|
||||||
function Me(a,b,c,d,e,f){var g,h,k,m=!1,p=!1,t=[],D=[],Y=a.S;for(a.S=e;c<d;){h=b[c++].trim();k=c<d?b[c++]:"";if(h)p=Ne(a,h,null,f,p);else if("{"==k){h=1;for(p=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;p=Me(a,b,p,c-1,a.S,f);h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if("-"!=k){m=!0;break}p=!0;continue}if(void 0===p)if(null==a.ka&&f)a.ka=h,p=0;else{m=!0;f=!f;break}t.push(Je(a,p));if(!k)break;D.length&&Oe[k]<Oe[D[D.length-1]]&&Ke(a,t,D,1);D.push(k);a.S="><"==k?10:e;
|
1);B.push(k);a.T="^_"==k?10:e;p=0}Me(a,t,B)&&1==t.length||(n=!0);n?!1===f&&a.u("parse error ("+(h||k)+")"):g=t.pop();a.T=P;return g}function Qe(a,b,c){var d;a.ka=null;b&&("{"!=a.ba[0]&&(b=b.split(a.ba[0]).join("{").split(a.ba[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Ne(a,b,0,b.length,a.T,c),void 0!==d&&!1===c&&Re(a,null,d));return d}
|
||||||
p=!1}Ke(a,t,D)&&1==t.length||(m=!0);m?!1===f&&a.u("parse error ("+(h||k)+")"):g=t.pop();a.S=Y;return g}function Pe(a,b,c){var d;a.ka=null;b&&("{"!=a.ba[0]&&(b=b.split(a.ba[0]).join("{").split(a.ba[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2><"),b=b.split(/(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Me(a,b,0,b.length,a.S,c),void 0!==d&&!1===c&&Qe(a,null,d));return d}
|
function Oe(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.kb(b),0<=f?f=a.lb(f):(f=a.K[b],null==f&&(0>e&&(b="-"+b,e=0),f=ua(b,a.T))),null!=f?0>e?f=-f:0<e&&(f=Ke(a,f,-1)):d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return f}
|
||||||
function Ne(a,b,c,d,e){var f;null!=b?(f=a.kb(b),0<=f?f=a.lb(f):(f=a.K[b],null==f&&(f=ta(e?"-"+b:b,a.S),e=!1)),null!=f?e&&(f=-f):d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return f}
|
function Re(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.T)d=c+". "+m(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++)g&&(g=","+g),g=wa(d&255,8)+g,d>>=8;d=q(c,0,!0)+" "+c+". "+m(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}function Se(a){var b=a.K;a.K={};return b}function Te(a,b){if(b)return Re(a,b,a.K[b]);var c=0;for(b in a.K)Re(a,b,a.K[b]),c++;return 0<c}
|
||||||
function Qe(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.S)d=c+". "+n(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++)g&&(g=","+g),g=va(d&255,8)+g,d>>=8;d=q(c,0,!0)+" "+c+". "+n(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+d);return e}function Re(a){var b=a.K;a.K={};return b}function Se(a,b){if(b)return Qe(a,b,a.K[b]);var c=0;for(b in a.K)Qe(a,b,a.K[b]),c++;return 0<c}
|
function J(a,b,c){c=void 0===c?0:c;switch(a.T){case 2:a=wa(b,0<c?c:0);break;case 8:a=m(b,0<c?(c+2)/3|0:0);break;case 10:a=xa(b,0<c?Math.ceil(.3*c):0);break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Pe={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11},Le=Math.pow(2,32);
|
||||||
function J(a,b,c){c=void 0===c?0:c;switch(a.S){case 2:a=va(b,0<c?c:0);break;case 8:a=n(b,0<c?(c+2)/3|0:0);break;case 10:a=wa(b,0<c?Math.ceil(.3*c):0);break;default:a=q(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Oe={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,"><":10,"{":11,"}":11},Le=Math.pow(2,32);
|
function Ue(a){Ie.call(this,a);this.Da=!1;this.Ba=18;this.ia=36;this.ba=["<",">"];this.pa=[];this.Ca=Z();this.L=Z(0);this.oa=Z(0);this.fa=Z(0);this.F=[];this.b=this.M=this.I=[];Ve(this);this.S=this.ja=0;this.i=[];this.za=void 0;We(this);this.D=this;this.xa={};this.Y=this.xb=0;this.U=null;this.P=[];Xe(this,a.messages);this.ra=a.commands;this.O=0;this.Ia=this.Aa=null;this.C=this.Fa=this.Ea=this.ha=this.ya=0;this.qa=this.ga=this.ca=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return ed(b,
|
||||||
function Te(a){He.call(this,a);this.Ea=!1;this.Ca=18;this.ia=36;this.ba=["<",">"];this.qa=[];this.Da=X();this.L=X(0);this.pa=X(0);this.fa=X(0);this.F=[];this.b=this.M=this.I=[];Ue(this);this.T=this.ja=0;this.i=[];this.Aa=void 0;Ve(this);this.D=this;this.ya={};this.Y=this.xb=0;this.U=null;this.P=[];We(this,a.messages);this.sa=a.commands;this.O=0;this.Ja=this.Ba=null;this.C=this.Ga=this.Fa=this.ha=this.za=0;this.ra=this.ga=this.ca=null;var b=this;window?void 0===window[w]&&(window[w]=function(a){return dd(b,
|
a)}):void 0===global[w]&&(global[w]=function(a){return ed(b,a)})}ma(Ue,Ie);function Ye(a){a=a&&a.B;null==a&&(a=-1);return a}function Z(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,la:!1,T:c}}function Ze(a,b,c,d){a.B=b;a.Wa=c||!1;a.la=!1;a.T=d}function $e(a){return[a.B,a.Wa,a.la,a.T,a.Za]}function af(a,b){var c=Z(b[0],b[1],b[2]);c.la=b[3];b[4]&&(c.sb=Je(a,c.Za=b[4]));return c}l=Ue.prototype;
|
||||||
a)}):void 0===global[w]&&(global[w]=function(a){return dd(b,a)})}la(Te,He);function Xe(a){a=a&&a.B;null==a&&(a=-1);return a}function X(a,b,c){return{B:void 0===a?null:a,Wa:void 0===b?!1:b,la:!1,S:c}}function Ye(a,b,c,d){a.B=b;a.Wa=c||!1;a.la=!1;a.S=d}function Ze(a){return[a.B,a.Wa,a.la,a.S,a.Za]}function $e(a,b){var c=X(b[0],b[1],b[2]);c.la=b[3];b[4]&&(c.sb=Ie(a,c.Za=b[4]));return c}l=Te.prototype;
|
l.Ga=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.ga=a.j;this.Ba=b.F;(b=$c(a,"messages"))&&Xe(this,b);if(a=$c(a,"commands"))this.ra=a;bf(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Ye(cf(d,c,d.oa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.u("..."):(c=p.type,n=Kc[c],p&&d.u(q(p.id,8)+" %"+
|
||||||
l.Ha=function(a,b,c,d){this.G=b;this.H=a;this.v=c;this.ga=a.j;this.Ca=b.F;(b=Zc(a,"messages"))&&We(this,b);if(a=Zc(a,"commands"))this.sa=a;af(this,function(a){a:{var b=d.G.b,c=a[0],e=a=0,k=b.length;if(c){a=Xe(bf(d,c,d.pa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.G.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var p=b[e];p.type==c?m++||d.u("..."):(c=p.type,m=Jc[c],p&&d.u(q(p.id,8)+" %"+
|
q(e<<d.G.i,8)+" %"+q(p.B,8)+" "+q(p.Pa,4,!0)+" "+q(p.size,4,!0)+" "+n),c!=Oc&&(c=-1),n=0);a+=16384;e++}}});Mb(this)};
|
||||||
q(e<<d.G.i,8)+" %"+q(p.B,8)+" "+q(p.Pa,4,!0)+" "+q(p.size,4,!0)+" "+m),c!=Nc&&(c=-1),m=0);a+=16384;e++}}});Lb(this)};
|
l.na=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ca=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ed(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.j.length-1&&(b=d.j[++d.w])):40==a.keyCode&&(0<d.w?b=d.j[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Xa(c,function(){if(d.ca){var a=d.ca.value;
|
||||||
l.oa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ca=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",dd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.j.length-1&&(b=d.j[++d.w])):40==a.keyCode&&(0<d.w?b=d.j[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.ca){var a=d.ca.value;
|
d.ca.value="";ed(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Xa(c,function(a){var b=!1;Nb(d,!0)||(Ob(d,!0),b=sc(d,a?1:0,null),Ob(d,!1));return b}),!0}return!1};function dd(a){if(a.ca){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ca.focus();window&&window.scrollTo(b,c)}}l.Ha=function(a,b){var c=-1,d=Ye(a);-1!==d&&(c=yc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Ye(a);-1!==d&&(xc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),I(this.H,-1))};
|
||||||
d.ca.value="";dd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Mb(d,!0)||(Nb(d,!0),b=rc(d,a?1:0,null),Nb(d,!1));return b}),!0}return!1};function cd(a){if(a.ca){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ca.focus();window&&window.scrollTo(b,c)}}l.Ia=function(a,b){var c=-1,d=Xe(a);-1!==d&&(c=xc(this.G,d),b&&null!=a.B&&(a.B+=b||1));return c};l.rb=function(a,b,c){var d=Xe(a);-1!==d&&(wc(this.G,d,b),c&&null!=a.B&&(a.B+=c||1),I(this.H,-1))};
|
function cf(a,b,c){var d,e;c||(c=Z());var f=c.B;if(void 0!==b){a:{var g,f=a.ba[0],h=a.ba[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var n=Qe(a,g[1]);if(void 0===n){b=void 0;break a}b=b.replace(f+g[1]+h,null!=n?J(a,n):"undefined")}if(a.pa.length)for(f=a.pa[0],h=a.pa[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
||||||
function bf(a,b,c){var d,e;c||(c=X());var f=c.B;if(void 0!==b){a:{var g,f=a.ba[0],h=a.ba[1];g="("==f||"{"==f||"["==f?"\\":"";for(var k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);){var m=Pe(a,g[1]);if(void 0===m){b=void 0;break a}b=b.replace(f+g[1]+h,null!=m?J(a,m):"undefined")}if(a.qa.length)for(f=a.qa[0],h=a.qa[1],g="("==f||"{"==f||"["==f?"\\":"",k="["==f?"\\":"",k=new RegExp(g+f+"([^"+k+f+k+h+"]+)"+g+h);g=b.match(k);)b=b.replace("["+g[1]+"]","unimplemented");for(;f=b.match(/\$([a-z]+)/i);){h=
|
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,t;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].W[f],null!=g){t=g.o;break}null!=t&&(p=Z(t));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Qe(a,b)}null!=f&&(f=df(f,a.Ba),Ze(c,f,d,e));return c}function ef(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sb=Je(a,b.Za=c[2]))}
|
||||||
null;switch(f[1].toLowerCase()){case "ops":h=0}if(null==h)break;b=b.replace(f[0],h.toString())}}"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var p,f=b,t;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(f=f.toUpperCase(),h=0;h<a.F.length;h++)if(g=a.F[h].W[f],null!=g){t=g.o;break}null!=t&&(p=X(t));if(p)return p;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Pe(a,b)}null!=f&&(f=cf(f,a.Ca),Ye(c,f,d,e));return c}function df(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.sb=Ie(a,b.Za=c[2]))}
|
function df(a,b){0>a&&a>=-C&&(a+=E);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function ff(a){return m(a/Tb,6)+" "+m(a%Tb,6)}
|
||||||
function cf(a,b){0>a&&a>=-B&&(a+=E);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function ef(a){return n(a/Sb,6)+" "+n(a%Sb,6)}
|
function Xe(a,b){a.D=a;a.Y=a.xb=536870916;a.U=null;a.P=[];b=Je(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in ac){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.Y|=ac[c],a.u(c+" messages enabled"))}}function bf(a,b){for(var c in ac)if(16==ac[c]){a.xa[c]=b;break}}l.kb=function(a){return gf.indexOf(a.toUpperCase())};
|
||||||
function We(a,b){a.D=a;a.Y=a.xb=536870916;a.U=null;a.P=[];b=Ie(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in $b){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.Y|=$b[c],a.u(c+" messages enabled"))}}function af(a,b){for(var c in $b)if(16==$b[c]){a.ya[c]=b;break}}l.kb=function(a){return ff.indexOf(a.toUpperCase())};
|
l.lb=function(a){var b,c=this.v;switch(a){case hf:b=c.i;break;case jf:b=c.K;break;case kf:b=c.b;break;case lf:b=c.j&65536?1:0;break;case mf:b=c.j&32768?1:0;break;case nf:b=c.j&131072?1:0;break;case of:b=c.j&32?1:0;break;case pf:b=c.j&262144?1:0}return b};
|
||||||
l.lb=function(a){var b,c=this.v;switch(a){case gf:b=c.i;break;case hf:b=c.K;break;case jf:b=c.b;break;case kf:b=c.j&65536?1:0;break;case lf:b=c.j&32768?1:0;break;case mf:b=c.j&131072?1:0;break;case nf:b=c.j&32?1:0;break;case of:b=c.j&262144?1:0}return b};
|
l.message=function(a,b){b&&(a+=" @"+J(this,Z(this.v.za).B));if(!this.U||a!=this.U)if(this.U=a,this.Y&1073741824)this.P.push(a);else{var c;if(this.Y&-2147483648&&this.v&&(c=this.v.A.N)||Nb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,md(a),a.ga=0,a.H&&I(a.H,void 0))}};
|
||||||
l.message=function(a,b){b&&(a+=" @"+J(this,X(this.v.Aa).B));if(!this.U||a!=this.U)if(this.U=a,this.Y&1073741824)this.P.push(a);else{var c;if(this.Y&-2147483648&&this.v&&(c=this.v.A.N)||Mb(this,!0))this.V(),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,ld(a),a.ga=0,a.H&&I(a.H,void 0))}};
|
function We(a){var b;if(!sd(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(qf);for(b=0;b<a.i.length;b++)a.i[b]=Z();a.S=0;a.u("instruction history buffer allocated")}}function rf(a,b,c){if(!sf(a,c))return!1;rc(a.v,b);return!0}
|
||||||
function Ve(a){var b;if(!rd(a))a.i&&a.i.length&&a.u("instruction history buffer freed"),a.T=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(pf);for(b=0;b<a.i.length;b++)a.i[b]=X();a.T=0;a.u("instruction history buffer allocated")}}function qf(a,b,c){if(!rf(a,c))return!1;qc(a.v,b);return!0}
|
function sc(a,b,c,d){if(!sf(a))return!1;var e="";null===c&&(e=(c=!a.Aa||"tr"==a.Aa)?"tr":"t");a.C=0;b||sd(a)&&td(a,a.v.i,0);try{b=kd(a.v,b);var f=a.v.Ra(b);0<f&&(tc(a.v,f),a.C+=f,uc(a.v,f,!0),vc(a.v,f),a.ha++)}catch(g){"number"!=typeof g&&(a.C=0,Jb(a.v,g.stack||g.message))}!1!==d&&(a.ga&&a.ga.stop(),I(a.H,-1));cd(a,c||!1,e);return 0<a.C}l.V=function(a){this.v&&this.v.V(a)};function cd(a,b,c){b=void 0===b?!0:b;a.Da&&(c&&a.u(tf+c),Ze(a.L,a.v.i),b&&1!=a.O?uf(a):vf(a))}
|
||||||
function rc(a,b,c,d){if(!rf(a))return!1;var e="";null===c&&(e=(c=!a.Ba||"tr"==a.Ba)?"tr":"t");a.C=0;b||rd(a)&&sd(a,a.v.i,0);try{b=jd(a.v,b);var f=a.v.Ra(b);0<f&&(sc(a.v,f),a.C+=f,tc(a.v,f,!0),uc(a.v,f),a.ha++)}catch(g){"number"!=typeof g&&(a.C=0,zb(a.v,g.stack||g.message))}!1!==d&&(a.ga&&a.ga.stop(),I(a.H,-1));bd(a,c||!1,e);return 0<a.C}l.V=function(a){this.v&&this.v.V(a)};function bd(a,b,c){b=void 0===b?!0:b;a.Ea&&(c&&a.u(sf+c),Ye(a.L,a.v.i),b&&1!=a.O?tf(a):uf(a))}
|
function sf(a,b){var c;(c=!a.v||!Lb(a.v))||(c=a.v,c.A.X?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Kb(a.v)}l.wa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ma=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){We(this);this.ha=0;this.U=null;this.C=0;Ze(this.L,this.v.i);this.A.N=!1;wf(this);a||cd(this)};
|
||||||
function rf(a,b){var c;(c=!a.v||!Kb(a.v))||(c=a.v,c.A.X?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.N?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Jb(a.v)}l.xa=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.na=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ve(this);this.ha=0;this.U=null;this.C=0;Ye(this.L,this.v.i);this.A.N=!1;vf(this);a||bd(this)};
|
l.save=function(){var a=new G(this);a.set(0,$e(this.L));a.set(1,$e(this.oa));a.set(2,$e(this.fa));a.set(3,[this.j,this.R,this.Y]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=af(this,a[b++]),this.oa=af(this,a[b++]),this.fa=af(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.R=a[b][1],this.Y|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.u("running");this.A.N=!0;this.Ea=a;this.Fa=b};
|
||||||
l.save=function(){var a=new G(this);a.set(0,Ze(this.L));a.set(1,Ze(this.pa));a.set(2,Ze(this.fa));a.set(3,[this.j,this.R,this.Y]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.L=$e(this,a[b++]),this.pa=$e(this,a[b++]),this.fa=$e(this,a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.R=a[b][1],this.Y|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.u("running");this.A.N=!0;this.Fa=a;this.Ga=b};
|
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Fa;if(!this.O){b="stopped";if(this.C){a-=this.Ea;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";sd(this)&&(b+=this.ha+" instructions, ",this.ha=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Pb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}cd(this,!0);dd(this);wf(this,this.v.i);this.U=null}};function sd(a){return 1<a.b.length||!!a.ja}
|
||||||
l.stop=function(a,b){if(this.A.N){this.A.N=!1;this.C=b-this.Ga;if(!this.O){b="stopped";if(this.C){a-=this.Fa;var c=0<a?Math.round(1E3*this.C/a):0;b+=" (";rd(this)&&(b+=this.ha+" instructions, ",this.ha=0);b+=this.C+" cycles, "+a+" ms, "+c+" hz)"}else Ob(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}bd(this,!0);cd(this);vf(this,this.v.i);this.U=null}};function rd(a){return 1<a.b.length||!!a.ja}
|
function td(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.za==b&&(b=rd(a.v,1)));if(0<c&&(a.ja&&!--a.ja||Xc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ha++,0>d&&(d=a.v.f(b)),0<=d&&(Ze(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
|
||||||
function sd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.Aa==b&&(b=qd(a.v,1)));if(0<c&&(a.ja&&!--a.ja||Wc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ha++,0>d&&(d=a.v.f(b)),0<=d&&(Ye(a.i[a.T],b),++a.T==a.i.length&&(a.T=0)));return!1}
|
function xf(a,b,c,d){var e=Z(b.B),f=a.Ha(b,1),g,h,k,n=0,p=f/Xb|0,t;for(t in yf)if(g=yf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=zf;n=p&3;break;case 32256:k=Af;n=p&7;break;case 29248:k=Bf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>Cf&&(k="B");k=Df[g||0]+k;if(g){if(28700==h)h=f/Yb&127,n=J(a,h,-1);else for(h=f>>23&15,n=J(a,h,-1),p=0;n&&p<Ef.length;p++)if(g==Ef[p][0]&&(t=Ef[p][h])){k=Df[t];n="";break}k=Fa(k,8)+(n?n+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,
|
||||||
function wf(a,b,c,d){var e=X(b.B),f=a.Ia(b,1),g,h,k,m=0,p=f/Wb|0,t;for(t in xf)if(g=xf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=yf;m=p&3;break;case 32256:k=zf;m=p&7;break;case 29248:k=Af,m=(p&48)>>2|(p&6)>>1}break}k=k&&k[m]||"";"S"==k&&g>Bf&&(k="B");k=Cf[g||0]+k;if(g){if(28700==h)h=f/Xb&127,m=J(a,h,-1);else for(h=f>>23&15,m=J(a,h,-1),p=0;m&&p<Df.length;p++)if(g==Df[p][0]&&(t=Df[p][h])){k=Cf[t];m="";break}k=Ea(k,8)+(m?m+",":"");f&4194304&&(k+="@");k+=J(a,f&262143,-1);(f=f>>18&15)&&(k+="("+J(a,f,
|
-1)+")")}else k=Fa(k,8)+ff(f);f=k;g="";h=J(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ha(e,1),g+=" "+ff(k),null==e.B)break;while(e.B!=b.B)}h+=Fa(g,16)+f;c&&(h=Fa(h,48)+";"+(c||""),h=a.v.A.Ma?h+("cycles="+fd(a.v).toString()+" cs="+q(a.v.Ba)):h+(null!=d?"="+d.toString():""));return h}
|
||||||
-1)+")")}else k=Ea(k,8)+ef(f);f=k;g="";h=J(a,e.B)+":";if(-1!==e.B&&-1!==b.B){do if(k=a.Ia(e,1),g+=" "+ef(k),null==e.B)break;while(e.B!=b.B)}h+=Ea(g,16)+f;c&&(h=Ea(h,48)+";"+(c||""),h=a.v.A.Ma?h+("cycles="+ed(a.v).toString()+" cs="+q(a.v.Ca)):h+(null!=d?"="+d.toString():""));return h}
|
function Ff(a,b,c,d,e){var f=-1,g,h;a.ka=null;if(b){for(var k=b.toUpperCase(),n=0;n<Ef.length;n++)for(var p in Ef[n])if(+p&&(h=Ef[n][p],k==Df[h])){k=Df[Ef[n][0]];c&&(c=J(a,+p)+","+c);break}for(var t in yf){g=+t;p=yf[t];switch(g){case 32512:n=zf;break;case 32256:n=Af;break;case 29248:n=Bf;break;default:n=[""]}for(var B in p){h=p[B];for(var P=0;P<n.length;P++){var ea=n[P];"S"==ea&&h>Cf&&(ea="B");if(k==Df[h]+ea){f=29248!=g?P:(P&3)<<1|(P&12)<<2;f=(B|f<<6)*Xb;break}}if(0<=f)break}if(0<=f)break}}else c&&
|
||||||
function Ef(a,b,c,d,e){var f=-1,g,h;a.ka=null;if(b){for(var k=b.toUpperCase(),m=0;m<Df.length;m++)for(var p in Df[m])if(+p&&(h=Df[m][p],k==Cf[h])){k=Cf[Df[m][0]];c&&(c=J(a,+p)+","+c);break}for(var t in xf){g=+t;p=xf[t];switch(g){case 32512:m=yf;break;case 32256:m=zf;break;case 29248:m=Af;break;default:m=[""]}for(var D in p){h=p[D];for(var Y=0;Y<m.length;Y++){var ea=m[Y];"S"==ea&&h>Bf&&(ea="B");if(k==Cf[h]+ea){f=29248!=g?Y:(Y&3)<<1|(Y&12)<<2;f=(D|f<<6)*Wb;break}}if(0<=f)break}if(0<=f)break}}else c&&
|
(f=g=0);if(0<=f&&c)for(k=c.split(","),t=0;t<k.length;t++)if(h=k[t].trim()){if(1<t){a.u("too many operands: "+c);f=-1;break}B=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!B){a.u("unknown operand: "+h);f=-1;break}h=B[2];if(t||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+J(a,d)):"0";h=Qe(a,h,e);if(void 0==h){f=-1;break}if(!t&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Yb}else{if(0>h||15<h)h&=15;f+=h<<23}else{if(0>h||262143<h)h&=Sb;f+=h;if(h=B[3]){h=Qe(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=
|
||||||
(f=g=0);if(0<=f&&c)for(k=c.split(","),t=0;t<k.length;t++)if(h=k[t].trim()){if(1<t){a.u("too many operands: "+c);f=-1;break}D=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!D){a.u("unknown operand: "+h);f=-1;break}h=D[2];if(t||1==k.length)h=h?h.replace(/(^|[^0-9])\./g,"$1"+J(a,d)):"0";h=Pe(a,h,e);if(void 0==h){f=-1;break}if(!t&&1<k.length)if(28700==g){if(0>h||127<h)h&=127;f+=h*Xb}else{if(0>h||15<h)h&=15;f+=h<<23}else{if(0>h||262143<h)h&=Rb;f+=h;if(h=D[3]){h=Pe(a,h,e);if(void 0==h){f=-1;break}if(0>h||15<h)h&=
|
15;f+=h<<18}B[1]&&(f+=4194304)}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Ve(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Ye(c);var d=a.G;Wc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Ye(c),d=a.G,Wc(d.b[c>>>d.i],!0);a.I=["bw"];a.ya=0;a.ja=0}
|
||||||
15;f+=h<<18}D[1]&&(f+=4194304)}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function Ue(a){var b,c;a.b=["bp"];if(a.M)for(b=1;b<a.M.length;b++){c=a.M[b];c=Xe(c);var d=a.G;Vc(d.b[c>>>d.i],!1)}a.M=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Xe(c),d=a.G,Vc(d.b[c>>>d.i],!0);a.I=["bw"];a.za=0;a.ja=0}
|
l.Ka=function(a,b,c){var d=!0;c||gg(this,a,b,!1,!0);if(a!=this.b){var e=Ye(b);if(-1===e)this.u("invalid address: "+J(this,b.B)),d=!1;else{var f=this.G;f.b[e>>>f.i].Ka(e&16383,a==this.I)}}d&&(a.push(b),c?b.la=!0:(ig(this,a,a.length-1,"set"),We(this)));return d};function gg(a,b,c,d,e){var f=!1;c=Ye(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Ye(h)&&(!d||h.la)){f=!0;h.la||e||ig(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Wc(d.b[c>>>d.i],b==a.I));h.la||We(a);break}}return f}
|
||||||
l.La=function(a,b,c){var d=!0;c||fg(this,a,b,!1,!0);if(a!=this.b){var e=Xe(b);if(-1===e)this.u("invalid address: "+J(this,b.B)),d=!1;else{var f=this.G;f.b[e>>>f.i].La(e&16383,a==this.I)}}d&&(a.push(b),c?b.la=!0:(hg(this,a,a.length-1,"set"),Ve(this)));return d};function fg(a,b,c,d,e){var f=!1;c=Xe(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Xe(h)&&(!d||h.la)){f=!0;h.la||e||hg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.G,Vc(d.b[c>>>d.i],b==a.I));h.la||Ve(a);break}}return f}
|
function jg(a,b){for(var c=1;c<b.length;c++)ig(a,b,c);return b.length-1}function ig(a,b,c,d){c=b[c];a.u(b[0]+" "+J(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function wf(a,b){if(void 0!==b)Xc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.la){if(!gg(a,a.b,c,!0))break;b=0}}}
|
||||||
function ig(a,b){for(var c=1;c<b.length;c++)hg(a,b,c);return b.length-1}function hg(a,b,c,d){c=b[c];a.u(b[0]+" "+J(a,c.B)+(d?" "+d:c.Za?' "'+c.Za+'"':""))}function vf(a,b){if(void 0!==b)Wc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.la){if(!fg(a,a.b,c,!0))break;b=0}}}
|
function Xc(a,b,c,d,e){var f=!1;if(!a.ya++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.la)for(var k=Ye(h)&(d==a.b?65535:-1),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.la&&(gg(a,d,h,!0),e=!0);if(p=h.sb){for(var f=!1,t=0;t<p.length;t++)if(!kg(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var B=t+1;B<p.length&&p[B].indexOf("else");B++)t++;if(B==p.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||ig(a,d,g,"hit");break}}}a.ya--;return f}
|
||||||
function Wc(a,b,c,d,e){var f=!1;if(!a.za++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.la)for(var k=Xe(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.la&&(fg(a,d,h,!0),e=!0);if(p=h.sb){for(var f=!1,t=0;t<p.length;t++)if(!jg(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var D=t+1;D<p.length&&p[D].indexOf("else");D++)t++;if(D==p.length){f=!0;break}}a.v.A.N||(f=!0)}if(f){e||hg(a,d,g,"hit");break}}}a.za--;return f}
|
function lg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=m(d,2);Ze(e.Ca,d);f+="="+J(e,e.Ha(e.Ca),36)+" ";c+=f}if(b){b="";for(d=0;d<gf.length;d++)(e=gf[d]||"")&&(e+="="+J(a,a.lb(d),d>=lf?1:d==jf?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function kg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=n(d,2);Ye(e.Da,d);f+="="+J(e,e.Ia(e.Da),36)+" ";c+=f}if(b){b="";for(d=0;d<ff.length;d++)(e=ff[d]||"")&&(e+="="+J(a,a.lb(d),d>=kf?1:d==hf?23:18)+" "),b+=e;c+="\n"+b}return c}l.zb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function Ce(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Ha(p,k,a.zb);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({rd:b,B:c,Pb:d,W:e,tb:f})}function mg(a,b,c){var d=[],e=Ye(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Pb;if(e>=g&&e<g+h){e=Ha(f.tb,[e-g],a.zb);0<=e?ng(a,b,e,d):c&&(e=~e,ng(a,b,e-1,d),ng(a,b,e,d));break}}return d}
|
||||||
function Be(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Ga(p,k,a.zb);0>t&&p.splice(-(t+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({td:b,B:c,Pb:d,W:e,tb:f})}function lg(a,b,c){var d=[],e=Xe(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.B>>>0,h=f.Pb;if(e>=g&&e<g+h){e=Ga(f.tb,[e-g],a.zb);0<=e?mg(a,b,e,d):c&&(e=~e,mg(a,b,e-1,d),mg(a,b,e,d));break}}return d}
|
function og(a,b,c){var d=0,e=a.G;b.forEach(function(a,b){xc(e,b,a);null==c&&(c=b);d++});d?(a.u(d+" words loaded at "+J(a,c)+"-"+J(a,c+d-1)),H(a.v,c||0),cd(a)):a.u("no data")}function ng(a,b,c,d){var e={},f=a.F[b].tb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].W[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||||
function ng(a,b,c){var d=0,e=a.G;b.forEach(function(a,b){wc(e,b,a);null==c&&(c=b);d++});d?(a.u(d+" words loaded at "+J(a,c)+"-"+J(a,c+d-1)),H(a.v,c||0),bd(a)):a.u("no data")}function mg(a,b,c,d){var e={},f=a.F[b].tb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].W[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
function pg(a,b){var c=cf(a,b[1],a.fa);if(c){var d=b[2];if(void 0==d)a.u("begin assemble at "+J(a,c.B)),a.R=!0,I(a.H);else{var e=b[0].substr(1),f=d.match(/^(['"]?)((\/|http:).*)\1$/);if(f)if(a.qa)a.u("assembly already in progress");else{var g=f[2],h=c.B;a.qa=new qg(g,h,e,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||g));else try{og(a,a.qa.H,h)}catch(p){a.u(p.message)}a.qa=null})}else b.shift(),b.shift(),b.shift(),b=Ff(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.u(xf(a,c)))}}}
|
||||||
function og(a,b){var c=bf(a,b[1],a.fa);if(c){var d=b[2];if(void 0==d)a.u("begin assemble at "+J(a,c.B)),a.R=!0,I(a.H);else{var e=b[0].substr(1),f=d.match(/^(['"]?)((\/|http:).*)\1$/);if(f)if(a.ra)a.u("assembly already in progress");else{var g=f[2],h=c.B;a.ra=new pg(g,h,e,a,function(b,c){if(b)a.u("error ("+b+") processing "+(c||g));else try{ng(a,a.ra.G,h)}catch(p){a.u(p.message)}a.ra=null})}else b.shift(),b.shift(),b.shift(),b=Ef(a,d,b.join(""),c.B||0),0<=b&&(a.rb(c,b),a.u(wf(a,c)))}}}
|
function rg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Te(a)||a.u("no variables"),!0;if(!c[2])return Te(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Qe(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||||
function qg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Se(a)||a.u("no variables"),!0;if(!c[2])return Se(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Pe(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.u("invalid assignment:"+b);return!1}
|
function sg(a,b,c){var d=null;if(b=cf(a,b)){var e=mg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
||||||
function rg(a,b,c){var d=null;if(b=bf(a,b)){var e=lg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.B-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.u(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
function uf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Qe(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case hf:H(h,
|
||||||
function tf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=Pe(a,b);if(void 0===g)return;b=a.kb(f);if(0>b){a.u("unknown register: "+f);return}var f=0,h=a.v;switch(b){case gf:H(h,
|
g);Ze(a.L,h.i);break;case lf:f=65536;break;case mf:f=32768;break;case nf:f=131072;break;case of:f=32;break;case pf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);I(a.H);a.u("updated registers:")}}a.u(lg(a,e));c&&(Ze(a.L,d.i),vf(a,J(a,a.L.B)))}}function tg(a,b){b=Ga(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Re(a,null,c[2].charCodeAt(0)):Qe(a,b,!1)}
|
||||||
g);Ye(a.L,h.i);break;case kf:f=65536;break;case lf:f=32768;break;case mf:f=131072;break;case nf:f=32;break;case of:f=262144}f&&(h.j=g?h.j|f:h.j&~f);I(a.H);a.u("updated registers:")}}a.u(kg(a,e));c&&(Ye(a.L,d.i),uf(a,J(a,a.L.B)))}}function sg(a,b){b=Fa(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):Qe(a,null,c[2].charCodeAt(0)):Pe(a,b,!1)}
|
function ug(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Oe(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Aa=b;Wa(c,function(){return Ob(a,!0)&&sc(a,e,d,!1)},function(){a.ga&&a.ga.stop();I(a.H,-1);Ob(a,!1)})}}
|
||||||
function tg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Ne(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ba=b;Va(c,function(){return Nb(a,!0)&&rc(a,e,d,!1)},function(){a.ga&&a.ga.stop();I(a.H,-1);Nb(a,!1)})}}
|
function vf(a,b,c,d){if(b=cf(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Oe(a,c.substr(1)),null!=c&&(d=c);else{d=cf(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Nb(a,!1)||a.O?a.C:null,g=null!=f?"cycles":null,h=mg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.u(n)}h[3]&&(g=h[3],f=null);h=a.fa;n=b;h.B=n.B;h.Wa=n.Wa;h.la=n.la;h.T=n.T;a.u(xf(a,b,g,f));e-=b.B-k;c++}}}
|
||||||
function uf(a,b,c,d){if(b=bf(a,b,a.L)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Ne(a,c.substr(1)),null!=c&&(d=c);else{d=bf(a,c);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Mb(a,!1)||a.O?a.C:null,g=null!=f?"cycles":null,h=lg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.u(m)}h[3]&&(g=h[3],f=null);h=a.fa;m=b;h.B=m.B;h.Wa=m.Wa;h.la=m.la;h.S=m.S;a.u(wf(a,b,g,f));e-=b.B-k;c++}}}
|
function kg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(tf+b):(a.R&&(a.u("ended assemble at "+J(a,a.fa.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Lb(a)&&0<b.length){a.R&&(b="a "+J(a,a.fa.B)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),n=1;n<h.length;n++){var p=h.charAt(n);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(n);g.unshift(h.substr(0,n));break}}switch(g[0].charAt(0)){case "a":pg(a,g);
|
||||||
function jg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(sf+b):(a.R&&(a.u("ended assemble at "+J(a,a.fa.B)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Kb(a)&&0<b.length){a.R&&(b="a "+J(a,a.fa.B)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":og(a,g);
|
break;case "b":a:{var t=g[0],B=g[1],P=b;if("?"==B)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var ea=t.charAt(1);if("l"==ea){var Fd;Fd=0+jg(a,a.b);Fd+=jg(a,a.M);(Fd+=jg(a,a.I))||a.u("no breakpoints")}else if("n"==ea){var Gf=+B||0;B&&(a.ja=Gf);a.u("break after "+Gf+" instruction(s)")}else if(void 0===
|
||||||
break;case "b":a:{var t=g[0],D=g[1],Y=b;if("?"==D)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var ea=t.charAt(1);if("l"==ea){var Fd;Fd=0+ig(a,a.b);Fd+=ig(a,a.M);(Fd+=ig(a,a.I))||a.u("no breakpoints")}else if("n"==ea){var Ff=+D||0;D&&(a.ja=Ff);a.u("break after "+Ff+" instruction(s)")}else if(void 0===
|
B)a.u("missing breakpoint address");else{var aa=Z();if("*"!=B&&(aa=cf(a,B,a.L),!aa))break a;"c"==ea?null==aa.B?(Ve(a),a.u("all breakpoints cleared")):gg(a,a.b,aa)||gg(a,a.M,aa)||gg(a,a.I,aa)||a.u("breakpoint missing: "+J(a,aa.B)):null!=aa.B&&(ef(a,aa,P),"p"==ea?a.Ka(a.b,aa):"r"==ea?a.Ka(a.M,aa):"w"==ea?a.Ka(a.I,aa):a.u("unknown breakpoint command: "+ea))}}}break;case "c":a.va&&(a.va.value="");break;case "d":a:{var bb,cb=g[0],oa=g[1],Ca=g[2],ph=g[3];if("?"==oa){var db="";for(bb in ac)a.xa[bb]&&(db&&
|
||||||
D)a.u("missing breakpoint address");else{var Z=X();if("*"!=D&&(Z=bf(a,D,a.L),!Z))break a;"c"==ea?null==Z.B?(Ue(a),a.u("all breakpoints cleared")):fg(a,a.b,Z)||fg(a,a.M,Z)||fg(a,a.I,Z)||a.u("breakpoint missing: "+J(a,Z.B)):null!=Z.B&&(df(a,Z,Y),"p"==ea?a.La(a.b,Z):"r"==ea?a.La(a.M,Z):"w"==ea?a.La(a.I,Z):a.u("unknown breakpoint command: "+ea))}}}break;case "c":a.wa&&(a.wa.value="");break;case "d":a:{var bb,cb=g[0],oa=g[1],Ca=g[2],mh=g[3];if("?"==oa){var db="";for(bb in $b)a.ya[bb]&&(db&&(db+=","),db+=
|
(db+=","),db+=bb);db+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");db.length&&a.u("dump extension commands:\n\t"+db)}else if("state"==oa){var Gd=vg(a.H,!0);"console"==Ca?console.log(Gd):(a.va&&(a.va.value=""),Gd&&a.u(Gd))}else if("symbols"==oa)for(var Hd=0;Hd<a.F.length;Hd++){var Id=a.F[Hd],eb;for(eb in Id.W)if("."!=eb.charAt(0)){var Hf=
|
||||||
bb);db+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");db.length&&a.u("dump extension commands:\n\t"+db)}else if("state"==oa){var Gd=ug(a.H,!0);"console"==Ca?console.log(Gd):(a.wa&&(a.wa.value=""),Gd&&a.u(Gd))}else if("symbols"==oa)for(var Hd=0;Hd<a.F.length;Hd++){var Id=a.F[Hd],eb;for(eb in Id.W)if("."!=eb.charAt(0)){var Gf=Id.W[eb].o;
|
Id.W[eb].o;if(void 0!==Hf){var If=Id.W[eb].l;If&&(eb=If);a.u(J(a,Hf)+" "+eb)}}}else{if("d"==cb){for(bb in ac)if(g[1]==bb){var Jf=a.xa[bb];Jf?(g.shift(),g.shift(),Jf(g)):a.u("no dump registered for "+oa);break a}oa||(cb=a.Ia||"dw")}else a.Ia=cb;if("dh"==cb){var Kf=oa,Lf=Ca,Mf="",Nf=0,ka=a.S,pa=a.i;if(pa.length){var fa=+Kf||a.za,Ab=+Lf||10;isNaN(fa)?fa=Ab:Mf="more ";fa>pa.length&&(a.u("note: only "+pa.length+" available"),fa=pa.length);ka-=fa;0>ka&&(null==pa[pa.length-1].B?(fa=ka+fa,ka=0):ka+=pa.length);
|
||||||
if(void 0!==Gf){var Hf=Id.W[eb].l;Hf&&(eb=Hf);a.u(J(a,Gf)+" "+eb)}}}else{if("d"==cb){for(bb in $b)if(g[1]==bb){var If=a.ya[bb];If?(g.shift(),g.shift(),If(g)):a.u("no dump registered for "+oa);break a}oa||(cb=a.Ja||"dw")}else a.Ja=cb;if("dh"==cb){var Jf=oa,Kf=Ca,Lf="",Mf=0,ka=a.T,pa=a.i;if(pa.length){var fa=+Jf||a.Aa,Ab=+Kf||10;isNaN(fa)?fa=Ab:Lf="more ";fa>pa.length&&(a.u("note: only "+pa.length+" available"),fa=pa.length);ka-=fa;0>ka&&(null==pa[pa.length-1].B?(fa=ka+fa,ka=0):ka+=pa.length);var Jd=
|
var Jd=[];"call"==Lf&&(Ab=1E5,Jd=["CALL"]);for(void 0!==Kf&&a.u(fa+" instructions earlier:");0<Ab&&ka!=a.S;){var Of=pa[ka++];if(null==Of.B)break;var Bb=Z(Of.B),qh=fa--,Pf=xf(a,Bb,"history",qh);(!Jd.length||0<=Pf.indexOf(Jd[0]))&&a.u(Pf);Bb.ib&&(ka+=Bb.ib,Ab-=Bb.ib,fa-=Bb.ib);ka>=pa.length&&(ka=0);a.za=fa;Nf++;Ab--}}Nf||(a.u("no "+Mf+"history available"),a.za=void 0)}else{var fb=cf(a,oa,a.oa);if(fb){var Ka=0,Qf="ds"==cb;if(Ca){if("l"==Ca.charAt(0))Ca=Ca.substr(1)||ph,Ka=Oe(a,Ca);else{var Rf=cf(a,Ca);
|
||||||
[];"call"==Kf&&(Ab=1E5,Jd=["CALL"]);for(void 0!==Jf&&a.u(fa+" instructions earlier:");0<Ab&&ka!=a.T;){var Nf=pa[ka++];if(null==Nf.B)break;var Bb=X(Nf.B),nh=fa--,Of=wf(a,Bb,"history",nh);(!Jd.length||0<=Of.indexOf(Jd[0]))&&a.u(Of);Bb.ib&&(ka+=Bb.ib,Ab-=Bb.ib,fa-=Bb.ib);ka>=pa.length&&(ka=0);a.Aa=fa;Mf++;Ab--}}Mf||(a.u("no "+Lf+"history available"),a.Aa=void 0)}else{var fb=bf(a,oa,a.pa);if(fb){var Ka=0,Pf="ds"==cb;if(Ca){if("l"==Ca.charAt(0))Ca=Ca.substr(1)||mh,Ka=Ne(a,Ca);else{var Qf=bf(a,Ca);Qf&&
|
Rf&&(Ka=Rf.B-fb.B)}0>Ka&&(Ka=0);65536<Ka&&(Ka=65536)}var rh=a.T;fb.T&&(a.T=fb.T);for(var Sf="db"==cb?1:2,Kd=Ka||32,Ld=1==Sf?1:4,sh=(Kd+Ld-1)/Ld|0||1,La="";sh--&&0<Kd;){for(var qa="",Md="",oa=J(a,fb.B),Tf=Ld;0<Tf--&&0<Kd--;){var Nd=a.Ha(fb,1);Qf?(qa&&(qa+=","),qa+=Nd):(qa+=ff(Nd),qa+=" ");for(var Ac=29,th=0;1==Sf&&0<=Ac;th++)var Cb=Nd/Math.pow(2,Ac)%Math.pow(2,7),qa=qa+J(a,Cb,7),Cb=Cb+0,Md=Md+(32>Cb?".":String.fromCharCode(Cb)),Ac=Ac-7}La&&(La+="\n");La=Qf?La+(qa+","):La+(oa+": "+qa+(0>Tf?" "+Md:
|
||||||
(Ka=Qf.B-fb.B)}0>Ka&&(Ka=0);65536<Ka&&(Ka=65536)}var oh=a.S;fb.S&&(a.S=fb.S);for(var Rf="db"==cb?1:2,Kd=Ka||32,Ld=1==Rf?1:4,ph=(Kd+Ld-1)/Ld|0||1,La="";ph--&&0<Kd;){for(var qa="",Md="",oa=J(a,fb.B),Sf=Ld;0<Sf--&&0<Kd--;){var Nd=a.Ia(fb,1);Pf?(qa&&(qa+=","),qa+=Nd):(qa+=ef(Nd),qa+=" ");for(var Ac=29,qh=0;1==Rf&&0<=Ac;qh++)var Cb=Nd/Math.pow(2,Ac)%Math.pow(2,7),qa=qa+J(a,Cb,7),Cb=Cb+0,Md=Md+(32>Cb?".":String.fromCharCode(Cb)),Ac=Ac-7}La&&(La+="\n");La=Pf?La+(qa+","):La+(oa+": "+qa+(0>Sf?" "+Md:""))}La&&
|
""))}La&&a.u(La);a.T=rh}}}}break;case "e":if("else"==g[0])break;var Uf,Vf,Wf=g[0],Od=g[1];"e"==Wf||"ew"==Wf?(Uf=a.Ha,Vf=a.rb):Od=null;if(null==Od)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else{var Bc=cf(a,Od,a.oa);if(Bc)for(var Pd=2;Pd<g.length;Pd++){var Db=Qe(a,g[Pd]);if(void 0===Db)break;Db=df(Db);a.u("changing "+J(a,Bc.B)+" from "+ff(Uf.call(a,Bc))+" to "+ff(Db));Vf.call(a,Bc,Db,1)}}break;case "g":a:{var Xf=g[1],uh=b;if(void 0!==Xf){var Qd=cf(a,Xf);if(!Qd)break a;
|
||||||
a.u(La);a.S=oh}}}}break;case "e":if("else"==g[0])break;var Tf,Uf,Vf=g[0],Od=g[1];"e"==Vf||"ew"==Vf?(Tf=a.Ia,Uf=a.rb):Od=null;if(null==Od)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else{var Bc=bf(a,Od,a.pa);if(Bc)for(var Pd=2;Pd<g.length;Pd++){var Db=Pe(a,g[Pd]);if(void 0===Db)break;Db=cf(Db);a.u("changing "+J(a,Bc.B)+" from "+ef(Tf.call(a,Bc))+" to "+ef(Db));Uf.call(a,Bc,Db,1)}}break;case "g":a:{var Wf=g[1],rh=b;if(void 0!==Wf){var Qd=bf(a,Wf);if(!Qd)break a;df(a,
|
ef(a,Qd,uh);a.Ka(a.b,Qd,!0)}rf(a,!0,c)}break;case "h":a.A.N?(c||a.u("halting"),a.V()):Nb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Rd;var Eb=b.substr(2),Eb=Ga(Eb);Qe(a,Eb)?(c||a.u("true: "+Eb),Rd=!0):(c||a.u("false: "+Eb),Rd=!1);Rd||(d=!1);break}f=!0;break;case "k":var vh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Sd=0,Td=Z(),Fb=Z();for(a.u("stack trace for "+J(a,Fb.B));10>Sd;){for(var Ma=null,
|
||||||
Qd,rh);a.La(a.b,Qd,!0)}qf(a,!0,c)}break;case "h":a.A.N?(c||a.u("halting"),a.V()):Mb(a,!0)||c||a.u("already halted");break;case "i":if("if"==g[0]){var Rd;var Eb=b.substr(2),Eb=Fa(Eb);Pe(a,Eb)?(c||a.u("true: "+Eb),Rd=!0):(c||a.u("false: "+Eb),Rd=!1);Rd||(d=!1);break}f=!0;break;case "k":var sh=g[0];if("?"==g[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var Sd=0,Td=X(),Fb=X();for(a.u("stack trace for "+J(a,Fb.B));10>Sd;){for(var Ma=null,th=
|
wh=256;65536>Fb.B>>>0;){Td.B=a.Ha(Fb,2);if(null==Fb.B||!wh--)break;if(!(Td.B&1)){for(var xh=a,Cc=Td,Yf=null,Gb=Cc.B,Zf=Gb,Ud=1;6>=Ud&&Gb;Ud++){if(2<Ud){Cc.B=Gb;var Dc=xf(xh,Cc);if(0<=Dc.indexOf("JSR")){var $f=Dc.indexOf(" ");if(Gb+(Dc.indexOf(" ",$f+1)-$f-1)/2==Zf){Yf=Dc;break}}}Gb-=2}Cc.B=Zf;if(Ma=Yf)break}}if(!Ma||null==Ma)break;var ag=null;if("ks"==vh){var bg=Ma.match(/[0-9A-F]+$/);bg&&(ag=sg(a,bg[0]))}Ma=Fa(Ma,50)+" ;"+(ag||"stack="+J(a,Fb.B));a.u(Ma);Sd++}Sd||a.u("no return addresses found")}break;
|
||||||
256;65536>Fb.B>>>0;){Td.B=a.Ia(Fb,2);if(null==Fb.B||!th--)break;if(!(Td.B&1)){for(var uh=a,Cc=Td,Xf=null,Gb=Cc.B,Yf=Gb,Ud=1;6>=Ud&&Gb;Ud++){if(2<Ud){Cc.B=Gb;var Dc=wf(uh,Cc);if(0<=Dc.indexOf("JSR")){var Zf=Dc.indexOf(" ");if(Gb+(Dc.indexOf(" ",Zf+1)-Zf-1)/2==Yf){Xf=Dc;break}}}Gb-=2}Cc.B=Yf;if(Ma=Xf)break}}if(!Ma||null==Ma)break;var $f=null;if("ks"==sh){var ag=Ma.match(/[0-9A-F]+$/);ag&&($f=rg(a,ag[0]))}Ma=Ea(Ma,50)+" ;"+($f||"stack="+J(a,Fb.B));a.u(Ma);Sd++}Sd||a.u("no return addresses found")}break;
|
case "l":if("ln"==g[0]){sg(a,g[1],!0);break}f=!0;break;case "m":a:{var ra,sa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var Da=0;if("all"==L)Da=1879046143,L=null;else if("on"==L)sa=!0,L=null;else if("off"==L)sa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(ra in ac)if(L==ra){Da=ac[ra];sa=!!(a.Y&Da);break}if(!Da){a.u("unknown message category: "+L);break a}}if(Da)if("on"==g[2])a.Y|=Da,sa=!0;else if("off"==g[2]&&(a.Y&=~Da,sa=!1,1073741824==Da)){for(var cg=1E3<=a.P.length?a.P.length-
|
||||||
case "l":if("ln"==g[0]){rg(a,g[1],!0);break}f=!0;break;case "m":a:{var ra,sa=null,L=g[1];"?"==L&&(L=void 0);if(void 0!==L){var Da=0;if("all"==L)Da=1879046143,L=null;else if("on"==L)sa=!0,L=null;else if("off"==L)sa=!1,L=null;else{"keys"==L&&(L="key");"kbd"==L&&(L="keyboard");for(ra in $b)if(L==ra){Da=$b[ra];sa=!!(a.Y&Da);break}if(!Da){a.u("unknown message category: "+L);break a}}if(Da)if("on"==g[2])a.Y|=Da,sa=!0;else if("off"==g[2]&&(a.Y&=~Da,sa=!1,1073741824==Da)){for(var bg=1E3<=a.P.length?a.P.length-
|
1E3:0;cg<a.P.length;)a.u(a.P[cg++]);a.P=[]}}var yh=0,Hb="";for(ra in ac)if(!L||L==ra){var zh=!!(a.Y&ac[ra]);if(null===sa||sa==zh)Hb&&(Hb+=","),++yh%10||(Hb+="\n\t"),"key"==ra&&(ra="keys"),Hb+=ra}void 0===L&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==sa?sa?"messages on: ":"messages off: ":"message categories:\n\t")+(Hb||"none"));We(a)}break;case "p":if("print"==g[0]){tg(a,b.substr(5));break}var dg=g[0],eg="p"==dg?0:"pr"==dg?1:-1;if("?"==g[1]||0>eg)a.u("step commands:"),
|
||||||
1E3:0;bg<a.P.length;)a.u(a.P[bg++]);a.P=[]}}var vh=0,Hb="";for(ra in $b)if(!L||L==ra){var wh=!!(a.Y&$b[ra]);if(null===sa||sa==wh)Hb&&(Hb+=","),++vh%10||(Hb+="\n\t"),"key"==ra&&(ra="keys"),Hb+=ra}void 0===L&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==sa?sa?"messages on: ":"messages off: ":"message categories:\n\t")+(Hb||"none"));Ve(a)}break;case "p":if("print"==g[0]){sg(a,b.substr(5));break}var cg=g[0],dg="p"==cg?0:"pr"==cg?1:-1;if("?"==g[1]||0>dg)a.u("step commands:"),
|
a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var fg=Z(a.v.i);a.Ha(fg);a.O?(a.Ka(a.b,fg,!0),rf(a)||(a.H&&jd(a.H),a.O=0)):ug(a,eg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}uf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var gb=+g[2];if(2==gb||8==gb||10==gb||16==gb)a.T=gb;else{a.u("invalid base: "+gb);break}}a.u("default base: "+a.T);break;case "cs":var Ib;void 0!==g[3]&&(Ib=+g[3]);switch(g[2]){case "int":a.v.oa=
|
||||||
a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var eg=X(a.v.i);a.Ia(eg);a.O?(a.La(a.b,eg,!0),qf(a)||(a.H&&id(a.H),a.O=0)):tg(a,dg?"tr":"t")}break;case "r":if("reset"==b){a.H&&a.H.reset();break}tf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var gb=+g[2];if(2==gb||8==gb||10==gb||16==gb)a.S=gb;else{a.u("invalid base: "+gb);break}}a.u("default base: "+a.S);break;case "cs":var Ib;void 0!==g[3]&&(Ib=+g[3]);switch(g[2]){case "int":a.v.pa=
|
Ib;break;case "start":a.v.Ca=Ib;break;case "stop":a.v.ja=Ib;break;default:a.u("unknown cs option");break a}void 0!==Ib&&bd(a.v);a.u("checksums "+(a.v.A.Ma?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(gd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ca.toFixed(2)+"Mhz")+" ("+a.v.fa+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),
|
||||||
Ib;break;case "start":a.v.Da=Ib;break;case "stop":a.v.ja=Ib;break;default:a.u("unknown cs option");break a}void 0!==Ib&&ad(a.v);a.u("checksums "+(a.v.A.Ma?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.v,+g[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ca.toFixed(2)+"Mhz")+" ("+a.v.fa+"x)");break;default:if(g[1]){a.u("unknown option: "+g[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),
|
a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":ug(a,g[0],g[1]);break;case "u":vf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){rg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Rb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){tg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in wg)Vd+="\n"+
|
||||||
a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":tg(a,g[0],g[1]);break;case "u":uf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){qg(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.u((Qb||"PDP10")+" version 1.34.2 ("+a.v.wb+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){sg(a,b.substr(1));break}var Vd="commands:",Wd;for(Wd in vg)Vd+="\n"+
|
Fa(Wd,9)+wg[Wd];sd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.u(Vd);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(hg){a.u("Debugger "+(hg.stack||hg.message)),d=!1}return d}function ed(a,b,c){b=Je(a,b,c);for(var d in b)if(!kg(a,b[+d]))return!1;return!0}
|
||||||
Ea(Wd,9)+vg[Wd];rd(a)||(Vd+="\nnote: history disabled if no exec breakpoints");a.u(Vd);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(gg){a.u("Debugger "+(gg.stack||gg.message)),d=!1}return d}function dd(a,b,c){b=Ie(a,b,c);for(var d in b)if(!jg(a,b[+d]))return!1;return!0}
|
var wg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Cf=20,Df=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
||||||
var vg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Bf=20,Cf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
|
hf=0,jf=1,kf=2,lf=3,mf=4,nf=5,of=6,pf=7,gf="PC RA EA C0 C1 OV ND PD".split(" "),xg={},yf=(xg[28672]={0:101},xg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},xg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Cf,9216:53,9472:52,
|
||||||
gf=0,hf=1,jf=2,kf=3,lf=4,mf=5,nf=6,of=7,ff="PC RA EA C0 C1 OV ND PD".split(" "),wg={},xf=(wg[28672]={0:101},wg[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},wg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Bf,9216:53,9472:52,
|
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},xg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},xg[29248]={24576:79,24640:80,25088:81,25152:82},xg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
||||||
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},wg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},wg[29248]={24576:79,24640:80,25088:81,25152:82},wg[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
|
28692:98,28696:99,28700:100},xg),zf=["","I","M","S"],Af=" L E LE A GE N G".split(" "),Bf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Ef=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],qf=1E3,tf=">> ";Za(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Ue(d);ub(d,c)}});
|
||||||
28692:98,28696:99,28700:100},wg),yf=["","I","M","S"],zf=" L E LE A GE N G".split(" "),Af="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Df=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],pf=1E3,sf=">> ";Ya(function(){for(var a=x(document,w,"debugger"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Te(d);tb(d,c)}});
|
function qg(a,b,c,d,e){this.R=b||0;this.S=c||"";this.i=d;this.done=e;this.u("starting PCjs MACRO-10 Mini-Assembler...");this.v={};this.P={};this.G=[];this.K=[];this.H=[];this.O=this.ea=0;this.sa=this.R;this.I=null;this.b=0;this.F=null;this.C=this.J="";this.j=null;this.D="";this.w=[];this.M=0;this.L=a.split(";");yg(this)}
|
||||||
function pg(a,b,c,d,e){this.P=b||0;this.R=c||"";this.i=d;this.done=e;this.u("starting PCjs MACRO-10 Mini-Assembler...");this.v={};this.O={};this.D=[];this.I=[];this.G=[];this.M=this.ma=0;this.ta=this.P;this.F=null;this.b=0;this.C=null;this.J=this.H="";this.j=null;this.ea=this.w="";this.L=0;this.K=a.split(";");xg(this)}
|
function yg(a){if(a.M==a.L.length)a.done(zg(a));else{var b=a.L[a.M++];a.u("loading "+ya(b));"/"==b[0]&&".MAC"==b.slice(-4)&&(b+=".txt");Ja(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(Aa(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&Ag(a,"unrecognized HTML entity: "+c[0])}a.w=a.w.concat(e.split(/(\r?\n)/));setTimeout(function(){yg(a)},0)}})}}
|
||||||
function xg(a){if(a.L==a.K.length)a.done(yg(a));else{var b=a.K[a.L++];a.u("loading "+xa(b));"/"==b[0]&&".MAC"==b.slice(-4)&&(b+=".txt");Ia(b,null,!0,function(b,d,e){if(e)a.done(e,b);else{e=d;if(za(b,".html")){e="";var c;for(b=/<pre>([\s\S]*?)<\/pre>/gi;c=b.exec(d);)c=c[1],0<=c.indexOf("&")&&(c=c.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),e+=c;(c=e.match(/&[a-z]+;/i))&&zg(a,"unrecognized HTML entity: "+c[0])}a.ea&&(a.ea+="\n");a.ea+=e;setTimeout(function(){xg(a)},0)}})}}
|
function zg(a){if(0<=a.S.indexOf("p"))return a.u(a.w.join()),0;var b=Se(a.i);try{var c;for(c=0;c<a.w.length&&(a.ea++,Bg(a,a.w[c]+"\r\n"));c+=2);a.b&&a.error("open block from line "+a.v[a.F].ea);for(c=0;c<a.G.length;c++){var d=a.G[c],e=a.v[d];e?Cg(a,e.La):a.error("missing definition for literal: "+d)}a.K.forEach(function(b){var c=b.sa,d=Dg(a,b.Db,void 0,c);void 0===d?a.error("unable to parse expression: "+b.Db):(d+=a.H[c],a.H[c]=Eg(a,d,c))})}catch(f){a.u(f.message),a.O=-1}a.i.K=b;return a.O}
|
||||||
function yg(a){if(0<=a.R.indexOf("p"))return a.u(a.ea),0;var b=Re(a.i);try{var c,d=a.ea.split(/\r?\n/);for(c=0;c<d.length&&(a.ma++,Ag(a,d[c]+"\r\n"));c++);a.b&&a.error("open block from line "+a.v[a.C].ma);for(c=0;c<a.D.length;c++){var e=a.D[c],f=a.v[e];f?Bg(a,f.ea):a.error("missing definition for literal: "+e)}a.I.forEach(function(b){var c=b.ta,d=Cg(a,b.Db,void 0,c);void 0===d?a.error("unable to parse expression: "+b.Db):(d+=a.G[c],a.G[c]=Dg(a,d,c))})}catch(g){a.u(g.message),a.M=-1}a.i.K=b;return a.M}
|
function Bg(a,b){var c;if(a.b){1==a.b&&(c=b.indexOf(a.C),0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.I+" definition: "+b));if(1<a.b){c="";for(var d=0;d<b.length;d++)if(b[d]==a.C)a.b++;else if(b[d]==a.J&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.F||"";a.v[d].La+=b;a.b||(a.F=null,Fg(a,d));b=c}if(a.b)return!0}null!=a.j&&(b=Gg(a,b));d=b.match(/\s*([A-Z$%.?][0-9A-Z$%.]*:|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)(;?[\s\S]*)/i);if(!d||d[4]&&";"!=d[4].slice(0,1))return a.error("failed to parse line: "+
|
||||||
function Ag(a,b){if(a.b){if(1==a.b){var c=b.indexOf(a.J);0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.J)a.b++;else if(b[d]==a.H&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.C||"";a.v[d].ea+=b;a.b||(a.C=null,Eg(a,d));b=c}if(a.b)return!0}null!=a.j&&(b=Fg(a,b));var e=b.match(/\s*([A-Z$%._][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)(;?[\s\S]*)/i);if(!e||e[4]&&";"!=e[4].slice(0,1))return a.error("failed to parse line: "+
|
b),!1;var e=d[1];c=d[2].toUpperCase();b=d[3].trim();d=d[3]+d[4];e&&(e=e.slice(0,-1),Hg(a,e,a.sa,Ig));var f;if(c&&(f=b.match(/^([=:]+)(.*)/))){var g=0,e=c;c=f[1];b=f[2];"=="==c?g|=Jg:"=:"==c&&(g|=Kg);Hg(a,e,b,g);c=b=""}if(!c&&!b)return!0;a.I=c;f=b;for(var e=0,g=null,h=0,k=-1;h<f.length;){var n=f[h];"["==n&&(e++||(k=h));h++;if("]"==n&&0>=--e)break}0>e&&a.error("missing bracket(s): "+f);0<=k&&(g=f.substr(k,h-k));for((f=g)&&(b=b.replace(f,Lg(a,Mg,f)));f=Ng(a,b);)b=b.replace(f,f.slice(0,-1));if(!Fg(a,
|
||||||
b),!1;c=e[1];d=e[2].toUpperCase();b=e[3].trim();e=e[3]+e[4];if(c){var f=c.slice(-1),c=c.slice(0,-1);":"==f?Gg(a,c,a.ta,!0):(b=d+b,d=f)}if(!d&&!b)return!0;"="==b[0]&&(c=d,b=b.substr(1),d="=");a.F=d;for(var f=b,g=0,h=null,k=0,m=-1;k<f.length;){var p=f[k];"["==p&&(g++||(m=k));k++;if("]"==p&&0>=--g)break}0>g&&a.error("missing bracket(s): "+f);0<=m&&(h=f.substr(m,k-m));for((f=h)&&(b=b.replace(f,Hg(a,Ig,f)));f=Jg(a,b);)b=b.replace(f,f.slice(0,-1));if(!Eg(a,d,b))switch(d){case "=":d=Cg(a,b);void 0===d?a.error("parseExpression("+
|
c,b))switch(c){case Og:case Pg:case Qg:Gg(a,d);break;case Rg:Sg(a,0,b.replace(",",",,"));break;case Tg:case Ug:case Vg:case Wg:Lg(a,c,b);break;case Xg:case Yg:break;default:d=b,b=c+d,0<=b.indexOf(",,")||!c&&0>b.indexOf("@")&&0>b.indexOf("(")?c=Dg(a,b,!0):(c=Ff(a.i,c,d,a.sa,!0),0>c&&(c=Ff(a.i,"",b,a.sa,!0),0>c&&(c=void 0))),void 0!==c?Sg(a,c,a.i.ka):a.error("unrecognized expression: "+b)}return!0}
|
||||||
b+")"):Gg(a,c,d);break;case Kg:case Lg:case Mg:Fg(a,e);break;case Ng:Og(a,0,b.replace(",",",,"));break;case Pg:case Qg:case Rg:Hg(a,d,b);break;case Sg:case Tg:break;default:c=d,d=b,b=c+d,0<=b.indexOf(",,")||!c&&0>b.indexOf("@")&&0>b.indexOf("(")?c=Cg(a,b,!0):(c=Ef(a.i,c,d,a.ta,!0),0>c&&(c=Ef(a.i,"",b,a.ta,!0),0>c&&(c=void 0))),void 0!==c?Og(a,c,a.i.ka):a.error("unrecognized expression: "+b)}return!0}
|
function Fg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c)return b=Zg(a,c),Cg(a,d.La,d.ub,b),!0;if("?"!=b[0])return!1;switch(b.substr(1)){case Ug:d.mb||Cg(a,d.La);break;case Wg:for(;0<d.mb--;)Cg(a,d.La);break;default:return!1}return!0}
|
||||||
function Eg(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){b=",";"("==c[0]&&(b+=")",c=c.substr(1));for(var e=[];c;){c=c.trim();var f=Ug(a,c,b);if(!f)break;e.push(f);c=c.substr(f.length+1)}Bg(a,d.ea,d.ub,e);return!0}if("_"!=b[0])return!1;switch(b.substr(1)){case Qg:d.mb||Bg(a,d.ea);break;case Rg:for(;0<d.mb--;)Bg(a,d.ea);break;default:return!1}return!0}
|
function Cg(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",n=0;;){var p=f.indexOf(h,n);if(0>p)break;var n=p+1,t=p+h.length,B="",P="";p&&(B=f[p-1]).match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&(P=f[t]).match(/[0-9A-Z$%.]/i)||("'"==B&&p--,"'"==P&&t++,f=f.substr(0,p)+k+f.substr(t),n=p+k.length)}if(!Bg(a,f))break}}qg.prototype.error=function(a){throw Error("error"+(this.ea?" at line "+xa(this.ea):"")+": "+a);};
|
||||||
function Bg(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",m=0;;){var p=f.indexOf(h,m);if(0>p)break;var m=p+1,t=p+h.length;p&&f[p-1].match(/[0-9A-Z$%.]/i)||!(t>=f.length)&&f[t].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,p)+k+f.substr(t),m=p+k.length)}if(!Ag(a,f))break}}pg.prototype.error=function(a){throw Error("error"+(this.ma?" at line "+wa(this.ma):"")+": "+a);};
|
function Ag(a,b){a.u("warning"+(a.ea?" at line "+xa(a.ea):"")+": "+b)}function $g(a,b,c){c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s): "+b);break}}}g?0<g&&a.error("extra bracket(s): "+b):f=b.substr(0,d);return f}
|
||||||
function zg(a,b){a.u("warning"+(a.ma?" at line "+wa(a.ma):"")+": "+b)}function Ug(a,b,c){c=void 0===c?",":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing bracket(s): "+b);break}d++}f?0<f&&a.error("extra bracket(s): "+b):e=b.substr(0,d);return e}
|
function Dg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Dg(a,f[1]):0,void 0!==b&&(f=f[2]?Dg(a,f[2]):0,void 0!==f&&(e=Y(a.i,b,18,!0)*Math.pow(2,18)+Y(a.i,f,18,!0)))):(void 0===d&&(d=a.sa),e=Qe(a.i,b.replace(/\.([^0-9]|$)/g,J(a.i,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e}
|
||||||
function Cg(a,b,c,d){var e,f=b.match(/^([^,]*),,([^,]*)$/);f?(b=f[1]?Cg(a,f[1]):0,void 0!==b&&(f=f[2]?Cg(a,f[2]):0,void 0!==f&&(e=Je(a.i,b,18,!0)*Math.pow(2,18)+Je(a.i,f,18,!0)))):(void 0===d&&(d=a.ta),e=Pe(a.i,b.replace(/\.([^0-9]|$)/g,J(a.i,d,-1)+"$1"),c),void 0===e&&a.error("error parsing expression: "+b));return e}
|
function Ng(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;a.v[d]&&a.error("reserved symbol redefined: "+c);a.v[d]={name:d,mb:ah,ub:[],Jb:[],La:b+": 0",ea:a.ea};a.G.push(d)}return c}function Zg(a,b){for(var c=[];b;){b=b.trim();var d=$g(a,b,void 0);if(!d)break;c.push(d);b=b.substr(d.length+1)}return c}
|
||||||
function Jg(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="_"+b;a.v[d]&&a.error("reserved symbol redefined: "+c);a.v[d]={name:d,mb:Vg,ub:[],Jb:[],ea:b+": 0",ma:a.ma};a.D.push(d)}return c}
|
function Gg(a,b){var c=b;null==a.j&&(a.j=a.D="",b&&(a.j=b[0],c=b=b.substr(1)));if(a.j){var d=b.indexOf(a.j);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.j=null);a.D+=b}if(null==a.j){var d=b=0,e,f,g=a.D.length;a.I==Pg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.I==Qg&&(e--,f++));var k=a.D.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Sg(a,d),b=0)}b&&Sg(a,d)}return c}
|
||||||
function Fg(a,b){var c=b;null==a.j&&(a.j=a.w="",b&&(a.j=b[0],c=b=b.substr(1)));if(a.j){var d=b.indexOf(a.j);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.j=null);a.w+=b}if(null==a.j){var d=b=0,e,f,g=a.w.length;a.F==Lg&&g++;for(var h=0;h<g;h++){b||(d=0,f=29,e=7,a.F==Mg&&(e--,f++));var k=a.w.charCodeAt(h)&127;6==e&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,f);f-=e;b++;0>f&&(Og(a,d),b=0)}b&&Og(a,d)}return c}
|
function Lg(a,b,c){var d,e,f,g;a.C="<";a.J=">";e=f=[];if(b==Tg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(?:\(([^)]*)\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+": "+c),"";b=d[1];if(d[2]){f=e=Zg(a,d[2]);c=[];for(g=0;g<f.length;g++){var h=f[g].indexOf("<");if(0<=h){var k=f[g].lastIndexOf(">");0>k&&(k=f[g].length);c[g]=f[g].substr(h,k-h);f[g]=f[g].substr(0,h)}}f=c}c=bh;g=3}else if(b==Mg)a.C="[",a.J="]",b="?"+xa(a.sa,5),a.v[b]&&a.error("literal symbol redefined: "+b),d=[c[0],b+": "+c.substr(1)],
|
||||||
function Hg(a,b,c){var d,e,f,g;a.J="<";a.H=">";e=f=[];if(b==Pg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d)return a.error("unrecognized "+b+" definition: "+c),"";b=d[1];a.v[b]&&a.error("macro redefined: "+b);e=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);c=Wg;g=3}else if(b==Ig)a.J="[",a.H="]",b="_"+wa(a.ta,5),a.v[b]&&a.error("literal symbol redefined: "+b),d=[c[0],b+": "+c.substr(1)],c=Xg,a.D.push(b),g=0;else{g=Ug(a,c);if(!g)return a.error("missing "+b+" expression: "+c),"";c=c.substr(g.length+
|
c=ch,a.G.push(b),g=0;else{g=$g(a,c);if(!g)return a.error("missing "+b+" expression: "+c),"";c=c.substr(g.length+1);g=g.trim();d=c.match(/\s*(<|)(.*)/i);b="?"+b;c=Dg(a,g)||0;g=1}b=b.toUpperCase();a.b=1;h="";d[g]&&(a.b=2,h=d[g+1],h.slice(-1)==a.J&&(a.b=0,h=h.slice(0,-1)));a.v[b]={name:b,mb:c,ub:e,Jb:f,La:h,ea:a.ea};a.b?a.F=b:Fg(a,b);return b}
|
||||||
1);g=g.trim();d=c.match(/\s*(<|)(.*)/i);b="_"+b;c=Cg(a,g)||0;g=1}b=b.toUpperCase();a.b=1;var h="";d[g]&&(a.b=2,h=d[g+1],h.slice(-1)==a.H&&(a.b=0,h=h.slice(0,-1)));a.v[b]={name:b,mb:c,ub:e,Jb:f,ea:h,ma:a.ma};a.b?a.C=b:Eg(a,b);return b}function Gg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&a.O[b]?a.error("label "+b+" redefined"):(a.O[b]={name:b,value:c,ma:a.ma,jd:d,hd:e,kd:f},a.i.K[b]=c)}
|
function Hg(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&Ig&&a.P[b])a.error("label "+b+" redefined");else{if("string"==typeof c){var e=Dg(a,c);if(void 0===e){a.error("parseExpression("+c+")");return}c=e}a.P[b]={name:b,value:c,ea:a.ea,od:d};a.i.K[b]=c}}function Sg(a,b,c){a.H[a.sa]=Eg(a,b);null!=c&&a.K.push({sa:a.sa,Db:c,ea:a.ea});a.sa++}
|
||||||
function Og(a,b,c){a.G[a.ta]=Dg(a,b);null!=c&&a.I.push({ta:a.ta,Db:c});a.ta++}function Dg(a,b,c){c=void 0===c?a.ta:c;var d=Je(a.i,b||0,36,!0);(b<-B||b>=E)&&zg(a,"truncated value "+n(b)+" at location "+n(c)+" to "+n(d));return d}pg.prototype.u=function(a){this.i?this.i.u(a):console.log(a)};var Kg="ASCII",Lg="ASCIZ",Pg="DEFINE",Qg="IFE",Ig="LITERAL",Sg="PAGE",Rg="REPEAT",Mg="SIXBIT",Tg="SUBTTL",Ng="XWD",Wg=-1,Xg=-2,Vg=-3;
|
function Eg(a,b,c){c=void 0===c?a.sa:c;var d=Y(a.i,b||0,36,!0);(b<-C||b>=E)&&Ag(a,"truncated value "+m(b)+" at location "+m(c)+" to "+m(d));return d}qg.prototype.u=function(a){this.i?this.i.u(a):console.log(a)};var Ig=1,Jg=2,Kg=4,Og="ASCII",Pg="ASCIZ",Tg="DEFINE",Ug="IFE",Vg="IRP",Mg="LITERAL",Xg="PAGE",Wg="REPEAT",Qg="SIXBIT",Yg="SUBTTL",Rg="XWD",bh=-1,ch=-2,ah=-3;
|
||||||
function Yg(a,b,c){u.call(this,"Computer",a,33554432);this.A.X=!1;this.R=null;Zg(this,b);this.O=Zc(this,"autoPower",a,6);this.w=0;this.ba=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.U=!1;this.I=this.C=null;this.T=this.P=!1;this.ca=Zc(this,"url")||"";(Math.random()+.1).toString(36);this.i=$g(this);if(this.v=sb("CPU",this.id)){this.D=sb("Debugger",this.id);this.G=new yc({id:this.Ua+".bus",busWidth:this.ba},this.v,this.D);var d,e=qb(this.id);if((this.j=sb("Panel",this.id))&&this.j.wa)for(b=
|
function dh(a,b,c){u.call(this,"Computer",a,33554432);this.A.X=!1;this.R=null;eh(this,b);this.O=$c(this,"autoPower",a,6);this.w=0;this.ba=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.K=this.U=!1;this.I=this.C=null;this.S=this.P=!1;this.ca=$c(this,"url")||"";(Math.random()+.1).toString(36);this.i=fh(this);if(this.v=tb("CPU",this.id)){this.D=tb("Debugger",this.id);this.G=new zc({id:this.Ua+".bus",busWidth:this.ba},this.v,this.D);var d,e=rb(this.id);if((this.j=tb("Panel",this.id))&&this.j.va)for(b=
|
||||||
0;b<e.length;b++)d=e[b],d.da=this.j.da,d.u=this.j.u,d.wa=this.j.wa;this.u(Qb+" v1.34.2\nCopyright \u00a9 2012-2017 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.G,this.v,this.D);b=null;d=Zc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Zc(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=ah),this.b&&(this.I=new G(this,"1.34.2"),bh(this.I)?b=null:
|
0;b<e.length;b++)d=e[b],d.da=this.j.da,d.u=this.j.u,d.va=this.j.va;this.u(Rb+" v1.34.2\nCopyright \u00a9 2012-2017 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.Ga&&d.Ga(this,this.G,this.v,this.D);b=null;d=$c(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))this.M=b=a,f||(this.K=!0,this.b=gh),this.b&&(this.I=new G(this,"1.34.2"),hh(this.I)?b=null:
|
||||||
delete this.I);!b&&this.b&&(b=ch(this))&&(this.K=!0);if(b){var g=this;Ia(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Fa(b):"")+")")):(g.L=b,g.U=!0);Lb(g)})}else Lb(this);this.J.power||(this.O=!0);!c&&this.O&&dh(this,this.Oa)}else r("Unable to find CPU component")}la(Yg,u);function Zg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
|
delete this.I);!b&&this.b&&(b=ih(this))&&(this.K=!0);if(b){var g=this;Ja(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ga(b):"")+")")):(g.L=b,g.U=!0);Mb(g)})}else Mb(this);this.J.power||(this.O=!0);!c&&this.O&&jh(this,this.Oa)}else r("Unable to find CPU component")}ma(dh,u);function eh(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
|
||||||
function Zc(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function dh(a,b,c){for(var d=qb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Kb(f)){Kb(f,function(){dh(a,b,c)});return}}b.call(a,c)}
|
function $c(a,b,c,d){var e=b.toLowerCase(),e=Ua(b)||Ua(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function jh(a,b,c){for(var d=rb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Lb(f)){Lb(f,function(){jh(a,b,c)});return}}b.call(a,c)}
|
||||||
function eh(a,b){var c=new G(a,"1.34.2",fh);if(bh(c)&&gh(c)){var d=c.get(hh),e=b?b.get(hh):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Yg.prototype;
|
function kh(a,b){var c=new G(a,"1.34.2",lh);if(hh(c)&&mh(c)){var d=c.get(nh),e=b?b.get(nh):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=dh.prototype;
|
||||||
l.Oa=function(a){void 0===a&&(a=this.b||(this.L?ih:ah));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==jh)b=!0;else if(a>ah){if(bh(d,this.L)){this.C=new G(this,"1.34.2",kh);bh(this.C)&&(lh(this,d),a=xh,yh(this.C));this.C.set(hh,Ha());zh(this.C);var e=this.b&&!this.K;if(a==ih||pb("Click OK to restore the previous "+Qb+" machine state, or CANCEL to reset the machine.")){if(c=gh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?bh(d,g):("error"==f&&"no machine state"!=
|
l.Oa=function(a){void 0===a&&(a=this.b||(this.L?oh:gh));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new G(this,"1.34.2");if(a==Ah)b=!0;else if(a>gh){if(hh(d,this.L)){this.C=new G(this,"1.34.2",Bh);hh(this.C)&&(Ch(this,d),a=Dh,Eh(this.C));this.C.set(nh,Ia());Fh(this.C);var e=this.b&&!this.K;if(a==oh||qb("Click OK to restore the previous "+Rb+" machine state, or CANCEL to reset the machine.")){if(c=mh(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?hh(d,g):("error"==f&&"no machine state"!=
|
||||||
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Ah,""),this.i=null)):this.u(f+": "+g),yh(d),bh(d)?(c=gh(d),e=!0):c=!1))}e&&eh(this,c?d:null)}else a==xh&&d.clear()}else eh(this);delete this.L;delete this.I}e=qb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Bh(this,g,d,b,c));b=[d,a,c];a!=jh?dh(this,this.Ab,b):this.Ab(b)}};
|
g?(this.da("Error: "+g),"unable to verify user"==g&&(Sa(Gh,""),this.i=null)):this.u(f+": "+g),Eh(d),hh(d)?(c=mh(d),e=!0):c=!1))}e&&kh(this,c?d:null)}else a==Dh&&d.clear()}else kh(this);delete this.L;delete this.I}e=rb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Hh(this,g,d,b,c));b=[d,a,c];a!=Ah?jh(this,this.Ab,b):this.Ab(b)}};
|
||||||
function Bh(a,b,c,d,e){if(!b.A.X){b.A.X=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.xa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.U?(c.clear(),a.b=ah,window&&window.location.reload()):a.P=!0,b.xa(null),e=!1),!d&&b.vb){var g=b.vb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
function Hh(a,b,c,d,e){if(!b.A.X){b.A.X=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.wa(f,d)&&f&&(r("Unable to restore state for "+b.type),a.M&&!a.U?(c.clear(),a.b=gh,window&&window.location.reload()):a.P=!0,b.wa(null),e=!1),!d&&b.vb){var g=b.vb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
|
||||||
l.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.T=!0;this.A.X=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Bh(this,this.v,b,c,a),I(this,-2),this.v.aa());this.P&&(lh(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
l.Ab=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.X=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Hh(this,this.v,b,c,a),I(this,-2),this.v.aa());this.P&&(Ch(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
|
||||||
function lh(a,b){if(pb("There may be a problem with your "+Qb+" machine.\n\nTo help us diagnose it, click OK to send this "+Qb+" machine state to http://www.pcjs.org.")){var c=a.ca;a=a.i||"";b=b.toString();var d={};d.app=Qb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ia("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function Ch(a,b){if(qb("There may be a problem with your "+Rb+" machine.\n\nTo help us diagnose it, click OK to send this "+Rb+" machine state to http://www.pcjs.org.")){var c=a.ca;a=a.i||"";b=b.toString();var d={};d.app=Rb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ja("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function ug(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",fh),h=Ha();g.set(hh,h);f.set(hh,h);f.set(Ch,"1.34.2");f.set(Dh,window?window.location.href:null);f.set(Eh,window?window.navigator.userAgent:"");a.v&&a.v.na&&(c&&(b&&(a.v.A.aa=a.v.A.N),a.v.V()),d=a.v.na(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.X=!1,!1===d&&(e=null)));for(var h=qb(a.id),k=0;k<h.length;k++){var m=h[k];m.A.X&&(m.na&&(d=m.na(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.A.X=
|
function vg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new G(a,"1.34.2"),g=new G(a,"1.34.2",lh),h=Ia();g.set(nh,h);f.set(nh,h);f.set(Ih,"1.34.2");f.set(Jh,window?window.location.href:null);f.set(Kh,window?window.navigator.userAgent:"");a.v&&a.v.ma&&(c&&(b&&(a.v.A.aa=a.v.A.N),a.v.V()),d=a.v.ma(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.X=!1,!1===d&&(e=null)));for(var h=rb(a.id),k=0;k<h.length;k++){var n=h[k];n.A.X&&(n.ma&&(d=n.ma(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.X=
|
||||||
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Fh(a,a.i,f.toString()),zh(g)&&zh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Gh),d&&f.clear(h)):e=f.toString());c&&(a.A.X=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Lh(a,a.i,f.toString()),Fh(g)&&Fh(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Mh),d&&f.clear(h)):e=f.toString());c&&(a.A.X=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
|
||||||
l.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Pb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Pb(this,"Resetting "+this.v.type),this.v.reset());for(var a=qb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Pb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)};
|
l.reset=function(){this.A.reset=!0;this.G&&this.G.reset&&(Qb(this,"Resetting "+this.G.type),this.G.reset());this.v&&this.v.reset&&(Qb(this,"Resetting "+this.v.type),this.v.reset());for(var a=rb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.G&&c!==this.v&&c.reset&&(Qb(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;I(this,-1)};l.start=function(a,b){for(var c=rb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}I(this,-1)};
|
||||||
l.stop=function(a,b){for(var c=qb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)};
|
l.stop=function(a,b){for(var c=rb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}I(this,-1)};
|
||||||
function I(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.ba.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.S||8,e=e||0,e=8==f?n(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.ya);ic(a,a.i);cc(a,a.w)}}
|
function I(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.ab+=d))&&(e.textContent=c.A.N?c.ba.toFixed(2)+"Mhz":"Stopped",c.ab=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.N;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8,e=e||0,e=8==f?m(e,void 0):q(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.xa);jc(a,a.i);dc(a,a.w)}}
|
||||||
l.oa=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.X?ug(d,!1,!0):dh(d,d.Oa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.X&&!d.w)if(d.b&&!d.F){var a=pb("Click OK to save changes to this "+Qb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ug(d,a,!0);!a&&d.M?window&&window.location.reload():d.Oa(ah)}else d.reset(),d.v&&!d.D&&d.v.aa()},!0;case "save":if(za(Na(),"pcjs.org"))c.parentNode.removeChild(c);
|
l.na=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.X?vg(d,!1,!0):jh(d,d.Oa))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.X&&!d.w)if(d.b&&!d.F){var a=qb("Click OK to save changes to this "+Rb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vg(d,a,!0);!a&&d.M?window&&window.location.reload():d.Oa(gh)}else d.reset(),d.v&&!d.D&&d.v.aa()},!0;case "save":if(Aa(Oa(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||||
else return this.J[b]=c,c.onclick=function(){var a=$g(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=ug(d,b);b?Fh(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
else return this.J[b]=c,c.onclick=function(){var a=fh(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=vg(d,b);b?Lh(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function $g(a,b){var c=a.i;c||((c=Qa(Ah),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Hh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
function fh(a,b){var c=a.i;c||((c=Ra(Gh),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Nh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
|
||||||
function Hh(a,b){a.i=null;b=Ia(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(Ah,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function ch(a){var b=null;a.i&&(b=Na()+"/api/v1/user?req=load&user="+a.i+"&state="+Ih(a,"1.34.2"));return b}
|
function Nh(a,b){a.i=null;b=Ja(Oa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Sa(Gh,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function ih(a){var b=null;a.i&&(b=Oa()+"/api/v1/user?req=load&user="+a.i+"&state="+Oh(a,"1.34.2"));return b}
|
||||||
function Fh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ih(a,"1.34.2");d.data=c;b=Ia(Na()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.da("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.da(c),Ra(Ah,""),a.i=null)}}
|
function Lh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Oh(a,"1.34.2");d.data=c;b=Ja(Oa()+"/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.da("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.da(c),Sa(Gh,""),a.i=null)}}
|
||||||
function id(a,b){if(a.wa){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.wa.focus();!b&&window&&window.scrollTo(c,d)}}var kh="failsafe",fh="validate",hh="timestamp",Ch="version",Dh="url",Eh="browser",Ah="user",jh=-1,ah=0,ih=1,xh=2,Gh=3;Ya(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new Yg(g,d,!0);tb(g,f);g.O&&dh(g,g.Oa)}});
|
function jd(a,b){if(a.va){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.va.focus();!b&&window&&window.scrollTo(c,d)}}var Bh="failsafe",lh="validate",nh="timestamp",Ih="version",Jh="url",Kh="browser",Gh="user",Ah=-1,gh=0,oh=1,Dh=2,Mh=3;Za(function(){for(var a=x(document,w+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=v(c),c=x(c,w,"computer"),e=0;e<c.length;e++){var f=c[e],g=v(f),g=new dh(g,d,!0);ub(g,f);g.O&&jh(g,g.Oa)}});
|
||||||
Za.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=sb("Computer",c.id))&&c.T&&!c.A.X&&c.Oa(jh)}});Za.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=sb("Computer",c.id))&&c.A.X&&ug(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Ih(a,b,c);yh(this,a.Nb)}l=G.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
$a.show.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=tb("Computer",c.id))&&c.S&&!c.A.X&&c.Oa(Ah)}});$a.exit.push(function(){for(var a=x(document,w,"computer"),b=0;b<a.length;b++){var c=v(a[b]);(c=tb("Computer",c.id))&&c.A.X&&vg(c,!(!c.b||c.F),!0)}});function G(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Oh(a,b,c);Eh(this,a.Nb)}l=G.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
|
||||||
l.data=function(){return this.b};function bh(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function gh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function zh(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Ra(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
l.data=function(){return this.b};function hh(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Pa()&&(b=Ra(a.key))?(a.i=b,a.v=!0):!1}function mh(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function Fh(a){var b=!0;if(Pa()){var c=JSON.stringify(a.b);Sa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
|
||||||
function yh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}l.clear=function(a){yh(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 Ih(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}var Jh=0;
|
function Eh(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}l.clear=function(a){Eh(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 Oh(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}var Ph=0;
|
||||||
function Kh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ia(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),g(k,null)):Lh(k,a,b,c,d,e,f,g)})}
|
function Qh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ja(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):Rh(k,a,b,c,d,e,f,g)})}
|
||||||
function Lh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(mb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
function Rh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(nb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(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(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Mh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(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(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Sh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
|
||||||
function Mh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ia(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function Sh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ja(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
"");a=a.replace(d[0],g);Mh(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);Sh(a,b,c)}})}else c(a,null)}
|
||||||
function Nh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Aa(a))}function g(a){f("Error: "+a);m&&(--Jh||hb(!0));m=!1}var h,k,m=!0;Jh++;nb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],D=document.createElement("style");D.type="text/css";D.styleSheet?D.styleSheet.cssText=p:D.appendChild(document.createTextNode(p));t.appendChild(D)}d||
|
function Th(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&x(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);n&&(--Ph||ib(!0));n=!1}var h,k,n=!0;Ph++;ob[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));t.appendChild(B)}d||
|
||||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?Kh(d,null,a,null,!1,f,function(a,e){e?(mb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Jh||hb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Jh||
|
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?Qh(d,null,a,null,!1,f,function(a,e){e?(nb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Ph||ib(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Ph||
|
||||||
hb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Kh(c,b,a,e,!0,f,p):Lh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(Y){g(Y.message)}return m}window.embedPDP10=function(a,b,c,d){hb(!1);return Nh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){hb(!1);return Nh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return sb(b,a+".machine")};
|
ib(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Qh(c,b,a,e,!0,f,p):Rh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(P){g(P.message)}return n}window.embedPDP10=function(a,b,c,d){ib(!1);return Th("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){ib(!1);return Th("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return tb(b,a+".machine")};
|
||||||
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!vb[a]){for(var c=!0,d=vb,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p<f;p++){var t=b[p];if('"'==t||"'"==t)m&&t!=m?k+=t:(m?m=null:m=t,k&&(h.push(k),k=""));else{if(!m){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;ub(a)||(c=!1)}return c};window.enableEvents=hb;window.sendEvent=jb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!wb[a]){for(var c=!0,d=wb,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p<f;p++){var t=b[p];if('"'==t||"'"==t)n&&t!=n?k+=t:(n?n=null:n=t,k&&(h.push(k),k=""));else{if(!n){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;vb(a)||(c=!1)}return c};window.enableEvents=ib;window.sendEvent=kb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ function P(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.ya(b,e,6),a.lc(e,d.call
|
||||||
function af(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.ya(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
|
function af(a,b,c,d){var e=a.j=b&7;(b=a.u=(b&56)>>3)?(e=a.ya(b,e,4),d.call(a,c=0>c?a.g[-c-1]:c),a.lc(e,c)):(a.g[e]=c=0>c?a.g[-c-1]:c,d.call(a,c))}
|
||||||
h.Cc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Tc?-1:0:0,c=a?this.A.Tc?0:1:-1;this.A.Tc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(cf(this.D,this.g[7],c)){this.da();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.sa(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i&
|
h.Cc=function(a){this.A.complete=!0;var b=this.D?bf(this.D)?1:this.A.Tc?-1:0:0,c=a?this.A.Tc?0:1:-1;this.A.Tc=!1;this.lb=this.b=a;this.i=this.i&-5|(b?4:0);do{if(this.i){if(this.i&4){if(cf(this.D,this.g[7],c)){this.da();break}++b||(this.i&=-5);c||c++}if(a=this.i&11)if(a=!1,this.i&2){var d=160,e=(this.ob&224)>>5,f=this.R&&this.R.pb>e?this.R:null;f&&(d=f.Fb,e=f.pb);e>(this.w&224)>>5?(this.i&8&&(Fe(this,2),this.i&=-9),this.sa(d,0,-10),e=!0):e=!1;e&&(f&&He(this,f),a=!0);this.R||this.ob||(this.i&=-3)}else this.i&
|
||||||
1&&this.i++;if(a){if(this.i&4&&cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}if(this.i&112&&Ie(this)){if(this.i&4&&cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.pa(a);this.g[7]=a+2&65535;this.be(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};Sa(function(){for(var a=z(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ve(d);pb(d,c)}});
|
1&&this.i++;if(a){if(this.i&4&&cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}if(this.i&112&&Ie(this)){if(this.i&4&&cf(this.D,this.g[7],c)){this.da();break}if(0>c)break}}this.i=this.i&15|this.w&16;a=this.O=this.g[7];f=this.pa(a);this.g[7]=a+2&65535;this.be(f)}while(0<this.b);return this.A.complete?this.lb-this.b:!1===this.A.complete?-1:0};Sa(function(){for(var a=z(document,y,"cpu"),b=0;b<a.length;b++){var c=a[b],d=ob(c),d=new ve(d);pb(d,c)}});
|
||||||
function df(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function ef(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function Bf(a,b){a=b<<1;Je(this,a);return a&65535}function Cf(a,b){a=b<<1;Je(this,a<<8);return a&255}function Df(a,b){a=b&32768|b>>1|b<<16;Je(this,a);return a&65535}function Ef(a,b){a=b&128|b>>1|b<<8;Je(this,a<<8);return a&255}function Ff(a,b){a=b&~a;this.Fa(a);return a}function Gf(a,b){a=b&~a;this.Fa(a<<8);return a}
|
function df(a,b){var c=b+a;this.I=this.L=this.C=c;this.G=(a^c)&(b^c);return c&65535}function ef(a,b){var c=b+a,d=c<<8;this.I=this.L=this.C=d;this.G=(a<<8^d)&(b<<8^d);return c&255}function ff(a,b){a=b<<1;Je(this,a);return a&65535}function Cf(a,b){a=b<<1;Je(this,a<<8);return a&255}function Df(a,b){a=b&32768|b>>1|b<<16;Je(this,a);return a&65535}function Ef(a,b){a=b&128|b>>1|b<<8;Je(this,a<<8);return a&255}function Ff(a,b){a=b&~a;this.Fa(a);return a}function Gf(a,b){a=b&~a;this.Fa(a<<8);return a}
|
||||||
function Hf(a,b){a|=b;this.Fa(a);return a}function If(a,b){a|=b;this.Fa(a<<8);return a}function Jf(a,b){a=~b|65536;this.qb(a);return a&65535}function Kf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Lf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Mf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Nf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Of(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255}
|
function Hf(a,b){a|=b;this.Fa(a);return a}function If(a,b){a|=b;this.Fa(a<<8);return a}function Jf(a,b){a=~b|65536;this.qb(a);return a&65535}function Kf(a,b){a=~b|256;this.qb(a<<8);return a&255}function Lf(a,b){this.I=this.L=a=b-a;this.G=b&(b^a);return a&65535}function Mf(a,b){a=b-a;var c=a<<8;b<<=8;this.I=this.L=c;this.G=b&(b^c);return a&255}function Nf(a,b){this.I=this.L=a=b+a;this.G=a&(b^a);return a&65535}function Of(a,b){a=b+a;var c=a<<8;this.I=this.L=c;this.G=c&(b<<8^c);return a&255}
|
||||||
function Pf(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Qf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Rf(a,b){a=b<<1|this.C>>16&1;Je(this,a);return a&65535}function Sf(a,b){a=b<<1|this.C>>16&1;Je(this,a<<8);return a&255}function Tf(a,b){a=(this.C&65536|b)>>1|b<<16;Je(this,a);return a&65535}function Uf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Je(this,a<<8);return a&255}function Vf(a,b){var c=b-a;Ke(this,c,a,b);return c&65535}
|
function Pf(a,b){a=-b;this.qb(a,a&b&32768);return a&65535}function Qf(a,b){a=-b;this.qb(a<<8,(a&b&128)<<8);return a&255}function Rf(a,b){a=b<<1|this.C>>16&1;Je(this,a);return a&65535}function Sf(a,b){a=b<<1|this.C>>16&1;Je(this,a<<8);return a&255}function Tf(a,b){a=(this.C&65536|b)>>1|b<<16;Je(this,a);return a&65535}function Uf(a,b){a=((this.C&65536)>>8|b)>>1|b<<8;Je(this,a<<8);return a&255}function Vf(a,b){var c=b-a;Ke(this,c,a,b);return c&65535}
|
||||||
function Wf(a,b){var c=b-a;Ke(this,c<<8,a<<8,b<<8);return c&255}function Xf(a,b){this.I=this.L=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function Yf(a,b){a^=b;this.Fa(a);return a&65535}function Zf(a){P(this,a,Ve(this,a),df);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
|
function Wf(a,b){var c=b-a;Ke(this,c<<8,a<<8,b<<8);return c&255}function Xf(a,b){this.I=this.L=b&65280;this.G=this.C=0;return(b<<8|b>>8)&65535}function Yf(a,b){a^=b;this.Fa(a);return a&65535}function Zf(a){P(this,a,Ve(this,a),df);this.b-=this.u?9+(this.Y&&6<=this.j?1:0):(this.U?5:3)+(7==this.j?2:0)}
|
||||||
|
|
@ -186,7 +186,7 @@ function Sg(a){a&1&&(this.C=65536);a&2&&(this.G=32768);a&4&&(this.L=0);a&8&&(thi
|
||||||
function Xg(){this.ta&&(this.ta.Hd(this.g[7],!0),this.ta.setData(this.g[0],!0));this.i|=8;Fe(this,-2);this.b-=3}function Yg(a){P(this,a,this.g[(a>>6&7)+this.Ac],Yf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Dg(b)):b=!1;b||this.sa(8,0,-9)}function we(a){Zg[a>>12].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}
|
function Xg(){this.ta&&(this.ta.Hd(this.g[7],!0),this.ta.setData(this.g[0],!0));this.i|=8;Fe(this,-2);this.b-=3}function Yg(a){P(this,a,this.g[(a>>6&7)+this.Ac],Yf);this.b-=this.u?9:3+(7==this.j?2:0)}function Q(a){var b;if(b=this.D)b=this.D,E(b,1)?(F(b,"undefined opcode "+K(b,a),!0,!0),b=Dg(b)):b=!1;b||this.sa(8,0,-9)}function we(a){Zg[a>>12].call(this,a)}function $g(a){ah[a>>6&3].call(this,a)}function bh(a){ch[a>>6&3].call(this,a)}function dh(a){eh[a>>6&3].call(this,a)}
|
||||||
function fh(a){gh[a&15].call(this,a)}function hh(a){ih[a&15].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}function lh(a){mh[a>>6&3].call(this,a)}function nh(a){oh[a>>6&3].call(this,a)}
|
function fh(a){gh[a&15].call(this,a)}function hh(a){ih[a&15].call(this,a)}function jh(a){kh[a>>6&3].call(this,a)}function lh(a){mh[a>>6&3].call(this,a)}function nh(a){oh[a>>6&3].call(this,a)}
|
||||||
var Zg=[function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,Q,function(a){qh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],ph=[function(a){rh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,Q,Q,Q],ah=[function(a){af(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],ch=[function(a){P(this,a,0,Pf);
|
var Zg=[function(a){ph[a>>8&15].call(this,a)},Kg,yg,hg,dg,fg,Zf,Q,function(a){qh[a>>8&15].call(this,a)},Lg,zg,ig,eg,gg,Ug,Q],ph=[function(a){rh[a>>4&15].call(this,a)},ug,rg,jg,kg,pg,lg,ng,Ig,Ig,$g,bh,dh,Q,Q,Q],ah=[function(a){af(this,a,0,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Jf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Nf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,1,Lf);this.b-=this.u?9:3+(7==this.j?2:0)}],ch=[function(a){P(this,a,0,Pf);
|
||||||
this.b-=this.u?11:6},function(a){P(this,a,Be(this)?1:0,df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Be(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ye(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],eh=[function(a){P(this,a,0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Bf);this.b-=this.u?9:3+(7==this.j?2:0)}],rh=
|
this.b-=this.u?11:6},function(a){P(this,a,Be(this)?1:0,df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,Be(this)?1:0,Vf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Ye(this,a);this.qb(a);this.b-=this.u?4:3+(7==this.j?2:0)}],eh=[function(a){P(this,a,0,Tf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Rf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,Df);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){P(this,a,0,ff);this.b-=this.u?9:3+(7==this.j?2:0)}],rh=
|
||||||
[function(a){sh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,Q,fh,hh,Vg,Vg,Vg,Vg],sh=[Cg,Xg,Rg,tg,Eg,Pg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],gh=[Og,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},xg,function(){this.L=1;this.b-=5},xg,xg,xg,function(){this.I=0;this.b-=5},xg,xg,xg,xg,xg,xg,xg],ih=[Og,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Sg,function(){this.L=0;this.b-=5},Sg,Sg,Sg,function(){this.I=32768;this.b-=5},Sg,Sg,Sg,Sg,Sg,Sg,Sg],qh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,
|
[function(a){sh[a&15].call(this,a)},Q,Q,Q,Gg,Gg,Gg,Gg,Qg,Q,fh,hh,Vg,Vg,Vg,Vg],sh=[Cg,Xg,Rg,tg,Eg,Pg,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q],gh=[Og,function(){this.C=0;this.b-=5},function(){this.G=0;this.b-=5},xg,function(){this.L=1;this.b-=5},xg,xg,xg,function(){this.I=0;this.b-=5},xg,xg,xg,xg,xg,xg,xg],ih=[Og,function(){this.C=65536;this.b-=5},function(){this.G=32768;this.b-=5},Sg,function(){this.L=0;this.b-=5},Sg,Sg,Sg,function(){this.I=32768;this.b-=5},Sg,Sg,Sg,Sg,Sg,Sg,Sg],qh=[sg,qg,mg,og,vg,wg,bg,cg,Bg,Wg,jh,lh,
|
||||||
nh,Q,Q,Q],kh=[function(a){$e(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)}],mh=[function(a){Ze(this,a,0,Qf);this.b-=this.u?11:6},function(a){Ze(this,a,Be(this)?1:0,ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,Be(this)?1:0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this,
|
nh,Q,Q,Q],kh=[function(a){$e(this,a,0,255,this.qb);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Kf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Of);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,1,Mf);this.b-=this.u?9:3+(7==this.j?2:0)}],mh=[function(a){Ze(this,a,0,Qf);this.b-=this.u?11:6},function(a){Ze(this,a,Be(this)?1:0,ef);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,Be(this)?1:0,Wf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){a=Xe(this,
|
||||||
a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],oh=[function(a){Ze(this,a,0,Uf);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Ef);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)}];function xe(a){th[a>>12].call(this,a)}
|
a);this.qb(a<<8);this.b-=this.u?4:3+(7==this.j?2:0)}],oh=[function(a){Ze(this,a,0,Uf);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Sf);this.b-=this.u?9:3+(7==this.j?2:0)},function(a){Ze(this,a,0,Ef);this.b-=this.u?9+(this.Yc&1):3+(7==this.j?2:0)},function(a){Ze(this,a,0,Cf);this.b-=this.u?9:3+(7==this.j?2:0)}];function xe(a){th[a>>12].call(this,a)}
|
||||||
|
|
@ -289,14 +289,15 @@ this.Sa):td(this.f,this.Sa)};h.Lg=function(a,b){if(!b)switch(this.j){case V.EMPT
|
||||||
h.bi=function(a){switch(this.j){case V.bd:this.b&W.eb&&(this.b&=~W.eb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Mc:if(this.b&W.eb)switch(this.b&=~W.eb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Mc,c=0,d=this.b&W.ud?1:0,e=this.g[d],e=e&&e.ea,f=this.I&sj.cb,g=this.G&tj.cb;this.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Ga);if(e)if(this.i|=uj.Ga,E(this)&&
|
h.bi=function(a){switch(this.j){case V.bd:this.b&W.eb&&(this.b&=~W.eb,this.w[this.u]=a&255,E(this)&&F(this,this.type+".writeByte("+this.u+","+v(a,2,!0)+")",!0,!0),++this.u>=this.w.length&&qj(this));break;case V.tb:case V.hc:case V.Mc:if(this.b&W.eb)switch(this.b&=~W.eb,this.u++){case 0:this.G=a;break;case 1:if(this.I=a,this.j==V.tb)pj(this);else{var b=this.j==V.Mc,c=0,d=this.b&W.ud?1:0,e=this.g[d],e=e&&e.ea,f=this.I&sj.cb,g=this.G&tj.cb;this.i&=~(uj.Nd|uj.Xd|uj.cc|uj.Ga);if(e)if(this.i|=uj.Ga,E(this)&&
|
||||||
F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=rj.pd;break}b++}else c=rj.qd;else c=d?rj.gd:rj.fd;qj(this,c)}}}this.C=a};var W=Pb.kf,sj=Pb.nf,tj=Pb.mf,uj=Pb.lf,V=Pb.xa,rj=Pb.ERROR,vj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),wj={},oj=(wj[65144]=[null,null,Fd.prototype.Kg,Fd.prototype.ai,"RXCS"],wj[65146]=[null,null,Fd.prototype.Lg,Fd.prototype.bi,"RXDB"],wj);
|
F(this,this.type+".writeSector("+f+":0:"+g+")",!0,!0),d=e.seek(f,0,g,!0))for(b&&(d.Ef=!0),b=0,f=this.w.length;b<f;){if(!e.write(d,b,this.w[b]&255)){c=rj.pd;break}b++}else c=rj.qd;else c=d?rj.gd:rj.fd;qj(this,c)}}}this.C=a};var W=Pb.kf,sj=Pb.nf,tj=Pb.mf,uj=Pb.lf,V=Pb.xa,rj=Pb.ERROR,vj="FILL EMPTY WRITE READ UNUSED RDSTAT WRDEL RDERR".split(" "),wj={},oj=(wj[65144]=[null,null,Fd.prototype.Kg,Fd.prototype.ai,"RXCS"],wj[65146]=[null,null,Fd.prototype.Lg,Fd.prototype.bi,"RXDB"],wj);
|
||||||
function xj(a){x.call(this,"Debugger",a);this.aa=+a.base||16;this.za=null;this.U=["{","}"];this.ka=["[","]"];this.w=0;this.O=!1;this.u=-1;this.j=[];this.S={}}p(xj,x);xj.prototype.re=function(){return-1};xj.prototype.Bd=function(){};
|
function xj(a){x.call(this,"Debugger",a);this.aa=+a.base||16;this.za=null;this.U=["{","}"];this.ka=["[","]"];this.w=0;this.O=!1;this.u=-1;this.j=[];this.S={}}p(xj,x);xj.prototype.re=function(){return-1};xj.prototype.Bd=function(){};
|
||||||
function yj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(za(b.substring(c,f))),c=f+1}}return a}function zj(a){var b,c=a;b=b||32;32>=b?c=a|0:(b=Math.pow(2,b-1),a<-b?c=a%b:a>=2*b&&(c=a%(2*b)));a!=c&&(a=c);return a}
|
function yj(a,b,c,d){if(c)if(b){0>a.u&&a.j.length&&(a.u=0);if(0>a.u||b!=a.j[a.u])a.j.splice(0,0,b),a.u=0;a.u--}else a.O?b="end":b=a.j[a.u+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(za(b.substring(c,f))),c=f+1}}return a}
|
||||||
function Aj(a,b,c){for(c=void 0===c?-1:c;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=Math.trunc(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;
|
function zj(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a|0:(b=Math.pow(2,b-1),a<-b?d=a%b:a>=2*b&&(d=a%(2*b)));a!=d&&(a=d);return a}
|
||||||
case "&":d=f&e;break;case "!":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;if(e=35-(e&255))0>d&&(d+=Math.pow(2,36)),d=0<e?d*Math.pow(2,e):Math.trunc(d/Math.pow(2,-e));break;default:return!1}a.push(zj(d))}return!0}
|
function Aj(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "%":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
|
||||||
function Bj(a,b,c,d,e,f){var g,k,l,m=!1,n=!1,q=[],t=[],r=a.aa;for(a.aa=e;c<d;){k=b[c++].trim();l=c<d?b[c++]:"";if(k)n=Cj(a,k,null,f,n);else if("{"==l){k=1;for(n=c;c<d;)if(c++,l=c<b.length?b[c++]:"","{"==l)k++;else if("}"==l&&!--k)break;n=Bj(a,b,n,c-1,a.aa,f);k=c<d?b[c++].trim():"";l=c<d?b[c++]:""}else{if("-"!=l){m=!0;break}n=!0;continue}if(void 0===n)if(null==a.za&&f)a.za=k,n=0;else{m=!0;f=!f;break}q.push(zj(n));if(!l)break;t.length&&Dj[l]<Dj[t[t.length-1]]&&Aj(q,t,1);t.push(l);a.aa="><"==l?10:e;
|
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=zj(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(zj(e))}return!0}
|
||||||
n=!1}Aj(q,t)&&1==q.length||(m=!0);m?!1===f&&a.v("parse error ("+(k||l)+")"):g=q.pop();a.aa=r;return g}function Ej(a,b,c){var d;a.za=null;b&&("{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2><"),b=b.split(/(\{|}|\|\||&&|\||\^\^|><|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Bj(a,b,0,b.length,a.aa,c),void 0!==d&&!1===c&&Fj(a,null,d));return d}
|
function Bj(a,b,c,d,e,f){var g,k,l,m=!1,n=0,q=[],t=[],r=a.aa;for(a.aa=e;c<d;){k=b[c++].trim();l=c<d?b[c++]:"";if(k)n=Cj(a,k,null,f,n);else if("{"==l){k=1;for(n=c;c<d;)if(c++,l=c<b.length?b[c++]:"","{"==l)k++;else if("}"==l&&!--k)break;n=Bj(a,b,n,c-1,a.aa,f);k=c<d?b[c++].trim():"";l=c<d?b[c++]:""}else{if("~"==l||"^-"==l){n=1;continue}if("-"==l){n=-1;continue}m=!0;break}if(void 0===n)if(null==a.za&&f)a.za=k,n=0;else{m=!0;f=!f;break}q.push(zj(n));if(!l)break;t.length&&Dj[l]<Dj[t[t.length-1]]&&Aj(q,t,
|
||||||
function Cj(a,b,c,d,e){var f;null!=b?(f=a.re(b),0<=f?f=a.Bd(f):(f=a.S[b],null==f&&(f=ma(e?"-"+b:b,a.aa),e=!1)),null!=f?e&&(f=-f):d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return f}
|
1);t.push(l);a.aa="^_"==l?10:e;n=0}Aj(q,t)&&1==q.length||(m=!0);m?!1===f&&a.v("parse error ("+(k||l)+")"):g=q.pop();a.aa=r;return g}function Ej(a,b,c){var d;a.za=null;b&&("{"!=a.U[0]&&(b=b.split(a.U[0]).join("{").split(a.U[1]).join("}")),b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_"),b=b.split(/(\{|}|\|\||&&|\||\^!|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/),d=Bj(a,b,0,b.length,a.aa,c),void 0!==d&&!1===c&&Fj(a,null,d));return d}
|
||||||
|
function Cj(a,b,c,d,e){e=void 0===e?0:e;var f;null!=b?(f=a.re(b),0<=f?f=a.Bd(f):(f=a.S[b],null==f&&(0>e&&(b="-"+b,e=0),f=ma(b,a.aa))),null!=f?0>e?f=-f:0<e&&(f|=-1):d||a.v("invalid "+(c?c:"value")+": "+b)):d||a.v("missing "+(c||"value"));return f}
|
||||||
function Fj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.aa)d=c+". "+u(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}function Gj(a,b){if(b)return Fj(a,b,a.S[b]);var c=0;for(b in a.S)Fj(a,b,a.S[b]),c++;return 0<c}
|
function Fj(a,b,c){var d,e=!1;if(void 0!==c){e=!0;if(8==a.aa)d=c+". "+u(c,0,!0);else{d=c;var f=4,g="";if(!f||4<f)f=4;for(var k=0;k<f;k++)g&&(g=","+g),g=pa(d&255,8)+g,d>>=8;d=v(c,0,!0)+" "+c+". "+u(c,0,!0)+" "+("0b"+g)}32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.v((null!=b?b+": ":"")+d);return e}function Gj(a,b){if(b)return Fj(a,b,a.S[b]);var c=0;for(b in a.S)Fj(a,b,a.S[b]),c++;return 0<c}
|
||||||
function K(a,b,c){c=void 0===c?0:c;switch(a.aa){case 2:a=pa(b,0<c?c:0);break;case 8:a=u(b,0<c?(c+2)/3|0:0);break;case 10:a=qa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Dj={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,"><":10,"{":11,"}":11};
|
function K(a,b,c){c=void 0===c?0:c;switch(a.aa){case 2:a=pa(b,0<c?c:0);break;case 8:a=u(b,0<c?(c+2)/3|0:0);break;case 10:a=qa(b,0<c?Math.ceil(.3*c):0);break;default:a=v(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Dj={"||":0,"&&":1,"!":2,"|":2,"^!":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9,_:10,"^_":10,"{":11,"}":11};
|
||||||
function Hj(a){xj.call(this,a);this.Ia=!1;this.U=["(",")"];this.ka=[];this.G=X();this.Ha=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Ij(this);this.P=this.ha=0;this.i=[];this.ta=void 0;Jj(this);this.D=this;this.ma={};this.ja=this.ke=0;this.R=null;this.M=[];Kj(this,a.messages);this.ya=a.commands;this.La=Lj;this.X=[];this.I=0;this.Qa=this.ua=null;this.w=this.Ka=this.Ja=this.Y=this.qa=0;this.g=this.W=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return le(b,a)}):void 0===global[y]&&
|
function Hj(a){xj.call(this,a);this.Ia=!1;this.U=["(",")"];this.ka=[];this.G=X();this.Ha=X();this.N=X();this.B=[];this.b=this.L=this.C=[];Ij(this);this.P=this.ha=0;this.i=[];this.ta=void 0;Jj(this);this.D=this;this.ma={};this.ja=this.ke=0;this.R=null;this.M=[];Kj(this,a.messages);this.ya=a.commands;this.La=Lj;this.X=[];this.I=0;this.Qa=this.ua=null;this.w=this.Ka=this.Ja=this.Y=this.qa=0;this.g=this.W=null;var b=this;window?void 0===window[y]&&(window[y]=function(a){return le(b,a)}):void 0===global[y]&&
|
||||||
(global[y]=function(a){return le(b,a)})}p(Hj,xj);function Mj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Na:void 0===b?!1:b,Wa:!1,aa:c}}h=Hj.prototype;h.Hd=function(a,b){a.K=b;a.Wa=!1;a.aa=void 0;return a};function Nj(a){return[a.K,a.Na,a.aa,a.Wa,a.Qc]}function Oj(a,b){var c=X(b[0],b[1],b[2]);c.Wa=b[3];b[4]&&(c.he=yj(a,c.Qc=b[4]));return c}
|
(global[y]=function(a){return le(b,a)})}p(Hj,xj);function Mj(a){a=a&&a.K;null==a&&(a=-1);return a}function X(a,b,c){return{K:void 0===a?null:a,Na:void 0===b?!1:b,Wa:!1,aa:c}}h=Hj.prototype;h.Hd=function(a,b){a.K=b;a.Wa=!1;a.aa=void 0;return a};function Nj(a){return[a.K,a.Na,a.aa,a.Wa,a.Qc]}function Oj(a,b){var c=X(b[0],b[1],b[2]);c.Wa=b[3];b[4]&&(c.he=yj(a,c.Qc=b[4]));return c}
|
||||||
h.Ca=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=ge(a,"messages"))&&Kj(this,a);1140>this.f.ka&&(this.X=this.X.concat(Pj));1145>this.f.ka&&(this.X=this.X.concat(Qj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Mj(Rj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
|
h.Ca=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.g=a.i;(a=ge(a,"messages"))&&Kj(this,a);1140>this.f.ka&&(this.X=this.X.concat(Pj));1145>this.f.ka&&(this.X=this.X.concat(Qj));rd(this,16,function(a){a:{var b=d.F.b,c=a[0],e=a=0,l=b.length;if(c){a=Mj(Rj(d,c));if(-1===a){d.v("invalid address: "+c);break a}e=a>>>d.F.g;l=1}d.v("blockid physical blockaddr used size type");d.v("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.v("..."):
|
||||||
|
|
@ -340,20 +341,20 @@ function uk(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.v(mk+b):(a.O&&(a.v("ende
|
||||||
Rj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Uj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Qd(q,t[r],1);a.v(vk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
Rj(a,g[1],!0);if(q)if(a.N=q,void 0===g[2])a.v("begin assemble at "+Uj(a,q)),a.O=!0,H(a.J);else{var t;a.v("not supported yet");t=[];if(t.length){for(var r=0;r<t.length;r++)a.Qd(q,t[r],1);a.v(vk(a,a.N))}}break;case "b":a:{var D=g[0],A=g[1],B=b;if("?"==A)a.v("breakpoint commands:"),a.v("\tbp #\tset exec breakpoint"),a.v("\tbr #\tset read breakpoint"),a.v("\tbw #\tset write breakpoint"),a.v("\tbc #\tclear breakpoint (* to clear all)"),a.v("\tbl\tlist all breakpoints"),a.v("\tbn [#]\tbreak after # instruction(s)");
|
||||||
else{var J=D.charAt(1);if("l"==J){var ub;ub=0+tk(a,a.b);ub+=tk(a,a.L);(ub+=tk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.ha=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Rj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Ij(a),a.v("all breakpoints cleared")):rk(a,a.b,sa)||rk(a,a.L,sa)||rk(a,a.C,sa)||a.v("breakpoint missing: "+Uj(a,sa)):null!=sa.K&&(Tj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"==
|
else{var J=D.charAt(1);if("l"==J){var ub;ub=0+tk(a,a.b);ub+=tk(a,a.L);(ub+=tk(a,a.C))||a.v("no breakpoints")}else if("n"==J){var Cd=+A||0;A&&(a.ha=Cd);a.v("break after "+Cd+" instruction(s)")}else if(void 0===A)a.v("missing breakpoint address");else{var sa=X();if("*"!=A&&(sa=Rj(a,A,!0),!sa))break a;"c"==J?null==sa.K?(Ij(a),a.v("all breakpoints cleared")):rk(a,a.b,sa)||rk(a,a.L,sa)||rk(a,a.C,sa)||a.v("breakpoint missing: "+Uj(a,sa)):null!=sa.K&&(Tj(a,sa,B),"p"==J?a.Bb(a.b,sa):"r"==J?a.Bb(a.L,sa):"w"==
|
||||||
J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Va&&(a.Va.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ol=g[3];if("?"==Ta){var Zb="";for(Yb in Rb)a.ma[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
J?a.Bb(a.C,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":a.Va&&(a.Va.value="");break;case "d":a:{var Yb,jb=g[0],Ta=g[1],kb=g[2],ol=g[3];if("?"==Ta){var Zb="";for(Yb in Rb)a.ma[Yb]&&(Zb&&(Zb+=","),Zb+=Yb);Zb+=",state,symbols";a.v("dump memory commands:");a.v("\tda [a] dump info for address a");a.v("\tdb [a] [n] dump n bytes at address a");a.v("\tdw [a] [n] dump n words at address a");a.v("\tdd [a] [n] dump n dwords at address a");a.v("\tds [a] [n] dump n words at address a as JSON");
|
||||||
a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var ff=Qk(a.J,!0);"console"==kb?console.log(ff):(a.Va&&(a.Va.value=""),ff&&a.v(ff))}else if("symbols"==Ta)for(var gf=0;gf<a.B.length;gf++){var hf=a.B[gf],$b;for($b in hf.ia)if("."!=$b.charAt(0)){var wi=hf.ia[$b].o;if(void 0!==wi){var xi=hf.ia[$b].l;xi&&($b=xi);a.v(K(a,wi)+" "+$b)}}}else{if("d"==jb){for(Yb in Rb)if(g[1]==Yb){var yi=a.ma[Yb];yi?(g.shift(),g.shift(),
|
a.v("\tdh [p] [n] dump n instructions from history position p");Zb.length&&a.v("dump extension commands:\n\t"+Zb)}else if("state"==Ta){var gf=Qk(a.J,!0);"console"==kb?console.log(gf):(a.Va&&(a.Va.value=""),gf&&a.v(gf))}else if("symbols"==Ta)for(var hf=0;hf<a.B.length;hf++){var jf=a.B[hf],$b;for($b in jf.ia)if("."!=$b.charAt(0)){var wi=jf.ia[$b].o;if(void 0!==wi){var xi=jf.ia[$b].l;xi&&($b=xi);a.v(K(a,wi)+" "+$b)}}}else{if("d"==jb){for(Yb in Rb)if(g[1]==Yb){var yi=a.ma[Yb];yi?(g.shift(),g.shift(),
|
||||||
yi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.Qa||"dw")}else a.Qa=jb;if("dh"==jb){var zi=Ta,Ai=kb,Bi="",Ci=0,Ja=a.P,Ua=a.i;if(Ua.length){var Ca=+zi||a.ta,Lc=+Ai||10;isNaN(Ca)?Ca=Lc:Bi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ja-=Ca;0>Ja&&(null==Ua[Ua.length-1].K?(Ca=Ja+Ca,Ja=0):Ja+=Ua.length);var jf=[];"call"==Ai&&(Lc=1E5,jf=["CALL"]);for(void 0!==zi&&a.v(Ca+" instructions earlier:");0<Lc&&Ja!=a.P;){var Di=Ua[Ja++];if(null==Di.K)break;var Mc=X(Di.K),
|
yi(g)):a.v("no dump registered for "+Ta);break a}Ta||(jb=a.Qa||"dw")}else a.Qa=jb;if("dh"==jb){var zi=Ta,Ai=kb,Bi="",Ci=0,Ja=a.P,Ua=a.i;if(Ua.length){var Ca=+zi||a.ta,Lc=+Ai||10;isNaN(Ca)?Ca=Lc:Bi="more ";Ca>Ua.length&&(a.v("note: only "+Ua.length+" available"),Ca=Ua.length);Ja-=Ca;0>Ja&&(null==Ua[Ua.length-1].K?(Ca=Ja+Ca,Ja=0):Ja+=Ua.length);var kf=[];"call"==Ai&&(Lc=1E5,kf=["CALL"]);for(void 0!==zi&&a.v(Ca+" instructions earlier:");0<Lc&&Ja!=a.P;){var Di=Ua[Ja++];if(null==Di.K)break;var Mc=X(Di.K),
|
||||||
pl=Ca--,Ei=vk(a,Mc,"history",pl);(!jf.length||0<=Ei.indexOf(jf[0]))&&a.v(Ei);Mc.yd&&(Ja+=Mc.yd,Lc-=Mc.yd,Ca-=Mc.yd);Ja>=Ua.length&&(Ja=0);a.ta=Ca;Ci++;Lc--}}Ci||(a.v("no "+Bi+"history available"),a.ta=void 0)}else{var oa=Rj(a,Ta);if(oa)if("da"==jb){var kf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,kf);a.v(ya("",kf?12:19)+pa(oa.K,kf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
pl=Ca--,Ei=vk(a,Mc,"history",pl);(!kf.length||0<=Ei.indexOf(kf[0]))&&a.v(Ei);Mc.yd&&(Ja+=Mc.yd,Lc-=Mc.yd,Ca-=Mc.yd);Ja>=Ua.length&&(Ja=0);a.ta=Ca;Ci++;Lc--}}Ci||(a.v("no "+Bi+"history available"),a.ta=void 0)}else{var oa=Rj(a,Ta);if(oa)if("da"==jb){var lf=oa.Na||65535<oa.K,O=Pe(a.f,oa.K||0,lf);a.v(ya("",lf?12:19)+pa(oa.K,lf?22:17,3)+" "+u(oa.K,8));6>O.length?(2<O.length&&(a.v(" OFFSET: "+pa(O[3],13,3)+" "+u(O[3],8)),a.v("UNIMAP["+qa(O[1],2)+"]: "+pa(O[2],22,3)+" "+u(O[2],8))),a.v(" PHYSICAL: "+
|
||||||
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Rk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var wb=0,lf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ol,wb=Cj(a,kb);else{var Fi=Rj(a,kb);Fi&&(wb=Fi.K-oa.K)}0>wb&&(wb=0);65536<wb&&(wb=65536)}var rl=a.aa;oa.aa&&(a.aa=oa.aa);for(var xb="dd"==jb?4:"db"==jb?1:2,Ld=xb*wb||128,mf=
|
pa(O[0],22,3)+" "+u(O[0],8))):(a.v(" OFFSET: "+pa(O[1],13,3)+" "+u(O[1],8)),a.v("+ "+Rk[O[2]]+"PAR"+O[3]+": "+pa(O[4],22,3)+" "+u(O[4],8)),a.v("& MMUMASK: "+pa(O[5],22,3)+" "+u(O[5],8)),a.v("= PHYSICAL: "+pa(O[0],22,3)+" "+u(O[0],8)))}else{var wb=0,mf="ds"==jb;if(kb){if("l"==kb.charAt(0))kb=kb.substr(1)||ol,wb=Cj(a,kb);else{var Fi=Rj(a,kb);Fi&&(wb=Fi.K-oa.K)}0>wb&&(wb=0);65536<wb&&(wb=65536)}var rl=a.aa;oa.aa&&(a.aa=oa.aa);for(var xb="dd"==jb?4:"db"==jb?1:2,Ld=xb*wb||128,nf=
|
||||||
lf?16:a.aa,sl=(Ld+mf-1)/mf|0||1,yb="";sl--&&0<Ld;){for(var zb="",nf="",Ta=Uj(a,oa),Md=mf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==xb?a.Pd(oa,ac):a.Ta(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==xb&&(lf?(zb&&(zb+=","),zb+="0x"+v(Nc,xb<<1)):(zb+=K(a,Nc,xb<<3),zb+=1==xb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==xb&&ac--;)var of=Nd&255,nf=nf+(32<=of&&128>of?String.fromCharCode(of):"."),Nd=Nd>>8}yb&&(yb+="\n");yb=lf?yb+(zb+","):yb+(Ta+": "+zb+(Md?"":" "+nf))}yb&&a.v(yb);a.Ha=oa;a.aa=rl}}}}break;case "e":if("else"==
|
mf?16:a.aa,sl=(Ld+nf-1)/nf|0||1,yb="";sl--&&0<Ld;){for(var zb="",of="",Ta=Uj(a,oa),Md=nf,Nc=0,Oc=0;0<Md&&0<Ld;){var ac=1,Nd=1==xb?a.Pd(oa,ac):a.Ta(oa,ac=2),Nc=Nc|Nd<<(Oc<<3),Oc=Oc+ac;Oc==xb&&(mf?(zb&&(zb+=","),zb+="0x"+v(Nc,xb<<1)):(zb+=K(a,Nc,xb<<3),zb+=1==xb?9==Md?"-":" ":" "),Nc=Oc=0);Md-=ac;for(Ld-=ac;1==xb&&ac--;)var pf=Nd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Nd=Nd>>8}yb&&(yb+="\n");yb=mf?yb+(zb+","):yb+(Ta+": "+zb+(Md?"":" "+of))}yb&&a.v(yb);a.Ha=oa;a.aa=rl}}}}break;case "e":if("else"==
|
||||||
g[0])break;var bc,pf,qf,rf,sf=g[0],tf=g[1];"eb"==sf?(bc=1,pf=255,qf=a.Pd,rf=a.Qd):"e"==sf||"ew"==sf?(bc=2,pf=65535,qf=a.Ta,rf=a.Le):tf=null;if(null==tf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Rj(a,tf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=Ej(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~pf&&a.v("warning: "+v(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Uj(a,Od)+(E(a,16)?
|
g[0])break;var bc,qf,rf,sf,tf=g[0],uf=g[1];"eb"==tf?(bc=1,qf=255,rf=a.Pd,sf=a.Qd):"e"==tf||"ew"==tf?(bc=2,qf=65535,rf=a.Ta,sf=a.Le):uf=null;if(null==uf)a.v("edit memory commands:"),a.v("\teb [a] [...] edit bytes at address a"),a.v("\tew [a] [...] edit words at address a");else{var Od=Rj(a,uf);if(Od)for(var Pd=2;Pd<g.length;Pd++){var Pc=Ej(a,g[Pd]);if(void 0===Pc){a.v("unrecognized value: "+g[Pd]);break}Pc&~qf&&a.v("warning: "+v(Pc)+" exceeds "+bc+"-byte value");a.v("changing "+Uj(a,Od)+(E(a,16)?
|
||||||
"":" from "+K(a,qf.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));rf.call(a,Od,Pc,bc)}}break;case "g":a:{var Gi=g[1],tl=b;if(void 0!==Gi){var uf=Rj(a,Gi,!0);if(!uf)break a;Tj(a,uf,tl);a.Bb(a.b,uf,!0)}kk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var vf;var Qc=b.substr(2),Qc=za(Qc);Ej(a,Qc)?(c||a.v("true: "+Qc),vf=!0):(c||a.v("false: "+Qc),vf=!1);vf||(d=!1);break}f=!0;break;case "k":var ul=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
"":" from "+K(a,rf.call(a,Od),bc<<3))+" to "+K(a,Pc,bc<<3));sf.call(a,Od,Pc,bc)}}break;case "g":a:{var Gi=g[1],tl=b;if(void 0!==Gi){var vf=Rj(a,Gi,!0);if(!vf)break a;Tj(a,vf,tl);a.Bb(a.b,vf,!0)}kk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Eb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Qc=b.substr(2),Qc=za(Qc);Ej(a,Qc)?(c||a.v("true: "+Qc),wf=!0):(c||a.v("false: "+Qc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var ul=g[0];if("?"==g[1])a.v("stack trace commands:"),
|
||||||
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var wf=0,xf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Uj(a,Rc));10>wf;){for(var Ab=null,vl=256;65536>Rc.K>>>0;){xf.K=a.Ta(Rc,2);if(null==Rc.K||!vl--)break;if(!(xf.K&1)){for(var wl=a,Qd=xf,Hi=null,Sc=Qd.K,Ii=Sc,yf=1;6>=yf&⪼yf++){if(2<yf){Qd.K=Sc;var Rd=vk(wl,Qd);if(0<=Rd.indexOf("JSR")){var Ji=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Ji+1)-Ji-1)/2==Ii){Hi=Rd;break}}}Sc-=2}Qd.K=Ii;if(Ab=Hi)break}}if(!Ab||null==Ab)break;var Ki=
|
a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Rc=X(a.f.g[6]);for(a.v("stack trace for "+Uj(a,Rc));10>xf;){for(var Ab=null,vl=256;65536>Rc.K>>>0;){yf.K=a.Ta(Rc,2);if(null==Rc.K||!vl--)break;if(!(yf.K&1)){for(var wl=a,Qd=yf,Hi=null,Sc=Qd.K,Ii=Sc,zf=1;6>=zf&⪼zf++){if(2<zf){Qd.K=Sc;var Rd=vk(wl,Qd);if(0<=Rd.indexOf("JSR")){var Ji=Rd.indexOf(" ");if(Sc+(Rd.indexOf(" ",Ji+1)-Ji-1)/2==Ii){Hi=Rd;break}}}Sc-=2}Qd.K=Ii;if(Ab=Hi)break}}if(!Ab||null==Ab)break;var Ki=
|
||||||
null;if("ks"==ul){var Li=Ab.match(/[0-9A-F]+$/);Li&&(Ki=Nk(a,Li[0]))}Ab=ya(Ab,50)+" ;"+(Ki||"stack="+Uj(a,Rc));a.v(Ab);wf++}wf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Nk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ja&lb);break}if(!lb){a.v("unknown message category: "+
|
null;if("ks"==ul){var Li=Ab.match(/[0-9A-F]+$/);Li&&(Ki=Nk(a,Li[0]))}Ab=ya(Ab,50)+" ;"+(Ki||"stack="+Uj(a,Rc));a.v(Ab);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Nk(a,g[1],!0);break}f=!0;break;case "m":a:{var Va,Wa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var lb=0;if("all"==T)lb=1879046143,T=null;else if("on"==T)Wa=!0,T=null;else if("off"==T)Wa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Va in Rb)if(T==Va){lb=Rb[Va];Wa=!!(a.ja&lb);break}if(!lb){a.v("unknown message category: "+
|
||||||
T);break a}}if(lb)if("on"==g[2])a.ja|=lb,Wa=!0;else if("off"==g[2]&&(a.ja&=~lb,Wa=!1,1073741824==lb)){for(var Mi=1E3<=a.M.length?a.M.length-1E3:0;Mi<a.M.length;)a.v(a.M[Mi++]);a.M=[]}}var xl=0,Tc="";for(Va in Rb)if(!T||T==Va){var yl=!!(a.ja&Rb[Va]);if(null===Wa||Wa==yl)Tc&&(Tc+=","),++xl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
T);break a}}if(lb)if("on"==g[2])a.ja|=lb,Wa=!0;else if("off"==g[2]&&(a.ja&=~lb,Wa=!1,1073741824==lb)){for(var Mi=1E3<=a.M.length?a.M.length-1E3:0;Mi<a.M.length;)a.v(a.M[Mi++]);a.M=[]}}var xl=0,Tc="";for(Va in Rb)if(!T||T==Va){var yl=!!(a.ja&Rb[Va]);if(null===Wa||Wa==yl)Tc&&(Tc+=","),++xl%10||(Tc+="\n\t"),"key"==Va&&(Va="keys"),Tc+=Va}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==Wa?Wa?"messages on: ":"messages off: ":"message categories:\n\t")+
|
||||||
(Tc||"none"));Jj(a)}break;case "p":if("print"==g[0]){Ok(a,b.substr(5));break}var zl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ni="pr"==zl?1:0,Oi=1+Ni;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Ta(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Oi,Sj(Sd,2)):2048==(cc&65024)&&(vk(a,Sd),a.I=Oi);a.I?(a.Bb(a.b,Sd,!0),kk(a)||(a.J&&qe(a.J),a.I=0)):Pk(a,Ni?"tr":
|
(Tc||"none"));Jj(a)}break;case "p":if("print"==g[0]){Ok(a,b.substr(5));break}var zl=g[0];if("?"==g[1])a.v("step commands:"),a.v("\tp\tstep over instruction"),a.v("\tpr\tstep over instruction with register update");else{var Ni="pr"==zl?1:0,Oi=1+Ni;if(a.I)a.v("step in progress");else{var Sd=X(a.f.g[7]),cc=a.Ta(Sd);3==cc||4==cc||34816==(cc&65280)||32256==(cc&65024)||35072==(cc&65280)?(a.I=Oi,Sj(Sd,2)):2048==(cc&65024)&&(vk(a,Sd),a.I=Oi);a.I?(a.Bb(a.b,Sd,!0),kk(a)||(a.J&&qe(a.J),a.I=0)):Pk(a,Ni?"tr":
|
||||||
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}nk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.aa=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.aa);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&ie(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!==
|
"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}nk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Uc=+g[2];if(8==Uc||10==Uc||16==Uc)a.aa=Uc;else{a.v("invalid base: "+Uc);break}}a.v("default base: "+a.aa);break;case "cs":var Vc;void 0!==g[3]&&(Vc=+g[3]);switch(g[2]){case "int":a.f.Ob=Vc;break;case "start":a.f.pc=Vc;break;case "stop":a.f.Rb=Vc;break;default:a.v("unknown cs option");break a}void 0!==Vc&&ie(a.f);a.v("checksums "+(a.f.A.Nb?"enabled":"disabled"));break;case "sp":void 0!==
|
||||||
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Pk(a,
|
g[2]&&(ne(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.xb.toFixed(2)+"Mhz")+" ("+a.f.mb+"x)");break;default:if(g[1]){a.v("unknown option: "+g[1]);break}case "?":a.v("debugger options:"),a.v("\tbase #\t\tset default base to #"),a.v("\tcs int #\tset checksum cycle interval to #"),a.v("\tcs start #\tset checksum cycle start count to #"),a.v("\tcs stop #\tset checksum cycle stop count to #"),a.v("\tsp #\t\tset speed multiplier to #")}break;case "t":Pk(a,
|
||||||
g[0],g[1]);break;case "u":ok(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Mk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ok(a,b.substr(1));break}var zf="commands:",Af;for(Af in Sk)zf+="\n"+ya(Af,9)+Sk[Af];bf(a)||(zf+="\nnote: history disabled if no exec breakpoints");a.v(zf);break;default:f=!0}f&&(a.v("unknown command: "+
|
g[0],g[1]);break;case "u":ok(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Mk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Hb||"PDP11")+" version 1.34.2 ("+a.f.ka+",RELEASE"+(Jb?",TYPEDARRAYS":Ib?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Ok(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in Sk)Af+="\n"+ya(Bf,9)+Sk[Bf];bf(a)||(Af+="\nnote: history disabled if no exec breakpoints");a.v(Af);break;default:f=!0}f&&(a.v("unknown command: "+
|
||||||
b),d=!1)}}catch(Qi){a.v("debugger error: "+(Qi.stack||Qi.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!uk(a,b[+d]))return!1;return!0}
|
b),d=!1)}}catch(Qi){a.v("debugger error: "+(Qi.stack||Qi.message)),d=!1}return d}function le(a,b,c){b=yj(a,b,c);for(var d in b)if(!uk(a,b[+d]))return!1;return!0}
|
||||||
var Sk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
var Sk={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xk=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||||
Zj=20,ak=21,bk=22,ck=23,dk=24,ek=25,fk=26,gk=27,Xj=28,hk=29,ik=30,Vj={SP:6,PC:7,PS:Zj,PI:ak,ER:bk,SL:ck,M0:dk,M1:ek,M2:fk,M3:gk,AR:Xj,DR:hk,SR:ik},Yj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Rk="KI KD SI SD ?? ?? UI UD".split(" "),Ek=7,Fk=56,Z=Fk|Ek,Dk=4032,Y=4096,zk=8192,Ak=12288,Bk=24576,Ck=32768,yk=61440,Lj={61440:{4096:[62,Dk,Z],8192:[47,Dk,Z],12288:[18,Dk,Z],16384:[14,Dk,Z],20480:[16,Dk,Z],24576:[3,Dk,Z],36864:[63,Dk,Z],40960:[48,
|
Zj=20,ak=21,bk=22,ck=23,dk=24,ek=25,fk=26,gk=27,Xj=28,hk=29,ik=30,Vj={SP:6,PC:7,PS:Zj,PI:ak,ER:bk,SL:ck,M0:dk,M1:ek,M2:fk,M3:gk,AR:Xj,DR:hk,SR:ik},Yj="R0 R1 R2 R3 R4 R5 SP PC A0 A1 A2 A3 A4 A5 A6 A7 S0 S1 S2 S3 PS PI ER SL M0 M1 M2 M3 AR DR SR".split(" "),Rk="KI KD SI SD ?? ?? UI UD".split(" "),Ek=7,Fk=56,Z=Fk|Ek,Dk=4032,Y=4096,zk=8192,Ak=12288,Bk=24576,Ck=32768,yk=61440,Lj={61440:{4096:[62,Dk,Z],8192:[47,Dk,Z],12288:[18,Dk,Z],16384:[14,Dk,Z],20480:[16,Dk,Z],24576:[3,Dk,Z],36864:[63,Dk,Z],40960:[48,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue