Some more Debugger factoring
This commit is contained in:
parent
522563a72b
commit
e5c5a8e6be
17 changed files with 1124 additions and 1539 deletions
|
|
@ -1,4 +1,4 @@
|
|||
(function(){var m;function da(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
|
||||
(function(){var m;function da(a){var b=16,c;if(a){b||(b=10);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}
|
||||
function q(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ea(a){return"0x"+q(a,4)}function fa(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 ja(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ka(){var a=la();return-1!==a.indexOf("pcjs.org",a.length-8)}
|
||||
var ma={"&":"&","<":"<",">":">",'"':""","'":"'"};function na(a){return a.replace(/[&<>"']/g,function(a){return ma[a]})}function oa(a,b){return(a+" ").slice(0,b)}function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function ta(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var h=d+e>>1,g;g=c(b,a[h]);0<g?d=h+1:(e=h,f=!g)}return f?d:~d}var ua=Date.now||function(){return+new Date};
|
||||
function va(){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 wa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1}
|
||||
|
|
@ -80,64 +80,63 @@ a&4&&(this.j=0);a&8&&(this.b=32768);break;default:switch(a){case 0:49152&this.I?
|
|||
function Kc(a){t.call(this,"ROM",a,Kc);this.i=null;this.C=a.addr;this.j=a.size;this.G=a.writable;this.w=a.alias;this.D=a.file;this.J=fa(this.D);if(this.D){a=this.D;var b=ja(this.J);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var c=this;xa(a,null,!0,function(a,b,f){Lc(c,a,b,f)})}}v(Kc);Kc.prototype.za=function(a,b,c,d){this.H=b;this.b=c;this.F=d;Mc(this)};
|
||||
Kc.prototype.sa=function(){if(this.qa){if(this.F){var a=this.F,b=this.id,c=this.C,d=this.j,e=this.qa,f=[],h;for(h in e){var g=e[h];"number"==typeof g&&(e[h]=g={o:g});var k=g.o,l=g.a;if(void 0!==k){var n=f,k=[k>>>0,h],p=ta(n,k,a.hb);0>p&&n.splice(-(p+1),0,k)}l&&(g.a=l.replace(/''/g,'"'))}a.G.push({Kb:b,B:c,Eb:d,qa:e,fb:f})}delete this.qa}return!0};Kc.prototype.ra=function(){return!0};
|
||||
function Lc(a,b,c,d){if(d)a.ea("Unable to load system ROM (error "+d+": "+b+")");else{ab(a.nb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,h=e.data;if(f)a.i=f;else if(h)for(a.i=Array(4*h.length),d=c=0;c<h.length;c++)a.i[d++]=h[c]&255,a.i[d++]=h[c]>>8&255,a.i[d++]=h[c]>>16&255,a.i[d++]=h[c]>>24&255;else a.i=e;a.qa=e.symbols;if(!a.i.length){r("Empty ROM: "+b);return}if(1==a.i.length){r(a.i[0]);return}}catch(g){a.ea("ROM data error: "+g.message);return}else for(b=c.replace(/\n/gm,
|
||||
" ").replace(/ +$/,"").split(" "),a.i=Array(b.length),e=0;e<b.length;e++)a.i[e]=da(b[e],16);Mc(a)}}
|
||||
" ").replace(/ +$/,"").split(" "),a.i=Array(b.length),e=0;e<b.length;e++)a.i[e]=da(b[e]);Mc(a)}}
|
||||
function Mc(a){if(!qb(a))if(!a.D)A(a);else if(a.i&&a.H){a.j||(a.j=a.i.length);if(a.i.length!=a.j)rb(a,"ROM size (0x"+q(a.i.length)+") does not match specified size ("+("0x"+q(a.j))+")");else{var b;b=a.C;if(xb(a.H,b,a.j,a.G?1:Rb)){var c;for(c=0;c<a.i.length;c++){var d=a.H,e=b+c;d.P[(e&d.j)>>>d.aa].Ia(e&d.i,a.i[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(c=0;c<b.length;c++){for(var f=a,d=b[c],e=f.H,h=f.j,g=[],k=f.C>>>e.aa;0<h&&k<e.P.length;)g.push(e.P[k++]),
|
||||
h-=e.la;e=f.H;f=f.j;h=0;for(d>>>=e.aa;0<f&&d<e.P.length;){k=g[h++];if(!k)break;e.P[d++]=k;f-=e.la}}delete a.i}}A(a)}}Qa(function(){for(var a=z(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Kc(d);mb(d,c)}});function Nc(a){t.call(this,"RAM",a,Nc);this.w=a.addr;this.j=a.size;this.i=!1}v(Nc);m=Nc.prototype;m.za=function(a,b,c,d){this.H=b;this.b=c;this.F=d;A(this)};m.sa=function(a,b){b||this.reset();return!0};m.ra=function(a){return a?this.save():!0};
|
||||
m.reset=function(){!this.i&&this.j&&xb(this.H,this.w,this.j,1)&&(this.i=!0);this.i||r("No RAM allocated")};m.save=function(){return null};m.restore=function(){return!0};Qa(function(){for(var a=z(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Nc(d);mb(d,c)}});function Oc(a){t.call(this,"Keyboard",a,Oc,65536);A(this)}v(Oc);Oc.prototype.ha=function(){return!1};Oc.prototype.za=function(a,b,c,d){this.D=a;this.b=c;this.F=d;this.ja=null};
|
||||
Qa(function(){for(var a=z(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Oc(d);mb(d,c)}});function Pc(a){t.call(this,"Debugger",a,Pc);this.R=this.ga=this.L=0;this.w=-1;this.j=[];this.V={}}v(Pc);var Qc={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
Qa(function(){for(var a=z(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Oc(d);mb(d,c)}});function Pc(a){t.call(this,"Debugger",a,Pc);this.R=this.ga=this.L=0;this.T=!1;this.w=-1;this.j=[];this.V={}}v(Pc);var Qc={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
|
||||
function Rc(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function Sc(a,b,c){var d;if(b){b=Tc(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=pa(n);if(!n){f=!0;break}n=Uc(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],y=n.length;k.length&&Qc[n]<Qc[k[k.length-1]]&&Rc(g,k,1);k.push(n);b=b.substr(p+y)}Rc(g,k)&&1==g.length||(f=!0);f?c&&a.u("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&Vc(a,null,
|
||||
d))}return d}function Tc(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Sc(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?q(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=V(a,c[1]),b=b.replace("["+c[1]+"]",d?q(a.Ta(d,0),d.Jb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.R-a.ga}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
|
||||
function Uc(a,b,c,d){var e;void 0!==b?(e=Wc(b),0<=e?e=Xc(a,e):(e=a.V[b],void 0===e&&(e=da(b))),void 0!==e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}
|
||||
function Vc(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,n="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.u((null!=b?b+": ":"")+d);return e}function Yc(a,b){if(b)return Vc(a,b,a.V[b]);var c=0;for(b in a.V)Vc(a,b,a.V[b]),c++;return 0<c}
|
||||
function Zc(a){Pc.call(this,a);this.N=W();this.pa=W();this.T=!1;this.S=W();this.G=[];this.i=this.O=this.C=[];$c(this);this.ca=0;ad(this);this.ja=[];bd(this,a.messages);this.ka=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return gc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return gc(b,a)})}v(Zc,Pc);
|
||||
var cd={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","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",v:"print version","var":"assign variable"},dd=["NONE"],ed=["PC","PSW"],fd=[];m=Zc.prototype;
|
||||
m.za=function(a,b,c,d){this.H=b;this.b=c;this.D=a;(a=dc(a,"messages"))&&bd(this,a);this.oa=fd;gd(this,function(a){a:{var b=d.H.P,c=a[0],g=a=0,k=b.length;if(c){a=X(V(d,c));if(-1===a){d.u("invalid address: "+c);break a}g=a>>>d.H.aa;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var n=b[g];n.type==c?l++||d.u("..."):(c=n.type,l=zb[c],n&&d.u(q(n.id)+" %"+q(g<<d.H.aa)+" %%"+q(n.B)+" "+ea(n.Sa)+" "+
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}function Sc(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.T?b="end":b=a.j[a.w+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(pa(b.substring(c,f))),c=f+1}}return a}
|
||||
function Tc(a,b,c){var d;if(b){b=Uc(a,b);for(var e=0,f=!1,h=b,g=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<l.length;){var n=l[e++],p=n.length,n=pa(n);if(!n){f=!0;break}n=Vc(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}g.push(n);if(e==l.length)break;var n=l[e++],y=n.length;k.length&&Qc[n]<Qc[k[k.length-1]]&&Rc(g,k,1);k.push(n);b=b.substr(p+y)}Rc(g,k)&&1==g.length||(f=!0);f?c&&a.u("error parsing '"+h+"' at character "+(h.length-b.length)):(d=g.pop(),c&&Wc(a,null,
|
||||
d))}return d}function Uc(a,b){for(var c;(c=b.match(/\{(.*?)}/))&&!(0<=c[1].indexOf("{"));){var d=Tc(a,c[1]);b=b.replace("{"+c[1]+"}",null!=d?q(d):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)d=V(a,c[1]),b=b.replace("["+c[1]+"]",d?q(a.Ta(d,0),d.Jb?8:4):"undefined");for(c=b;d=c.match(/\$([a-z]+)/i);){var e=null;switch(d[1].toLowerCase()){case "ops":e=a.R-a.ga}if(null==e)break;c=c.replace(d[0],e.toString())}return c}
|
||||
function Vc(a,b,c,d){var e;void 0!==b?(e=Xc(b),0<=e?e=Yc(a,e):(e=a.V[b],void 0===e&&(e=da(b))),void 0!==e||d||a.u("invalid "+(c?c:"value")+": "+b)):d||a.u("missing "+(c||"value"));return e}
|
||||
function Wc(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f,h="";if(!f||4<f)f=4;for(var g=0;g<f;g++){h&&(h=","+h);var k=d&255,l=8,n="";void 0===l?l=32:32<l&&(l=32);if(null==k||isNaN(k))for(;0<l--;)n="?"+n;else for(;0<l--;)n=(k&1?"1":"0")+n,k>>=1;h=n+"b"+h;d>>=8}d="0x"+q(c)+" "+c+". ("+h+")"}a.u((null!=b?b+": ":"")+d);return e}function Zc(a,b){if(b)return Wc(a,b,a.V[b]);var c=0;for(b in a.V)Wc(a,b,a.V[b]),c++;return 0<c}
|
||||
function $c(a){Pc.call(this,a);this.N=W();this.pa=W();this.S=W();this.G=[];this.i=this.O=this.C=[];ad(this);this.ca=0;bd(this);this.ja=[];cd(this,a.messages);this.ka=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return gc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return gc(b,a)})}v($c,Pc);
|
||||
var dd={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","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",v:"print version","var":"assign variable"},ed=["NONE"],fd=["PC","PSW"],gd=[];m=$c.prototype;
|
||||
m.za=function(a,b,c,d){this.H=b;this.b=c;this.D=a;(a=dc(a,"messages"))&&cd(this,a);this.oa=gd;hd(this,function(a){a:{var b=d.H.P,c=a[0],g=a=0,k=b.length;if(c){a=X(V(d,c));if(-1===a){d.u("invalid address: "+c);break a}g=a>>>d.H.aa;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- ---------- ------ ------ ----");for(var c=-1,l=0;k--;){var n=b[g];n.type==c?l++||d.u("..."):(c=n.type,l=zb[c],n&&d.u(q(n.id)+" %"+q(g<<d.H.aa)+" %%"+q(n.B)+" "+ea(n.Sa)+" "+
|
||||
ea(n.size)+" "+l),c!=Qb&&(c=-1),l=0);a+=d.H.la;g++}}});A(this)};
|
||||
m.ha=function(a,b,c){var d=this;switch(b){case "debugInput":return this.$=this.K[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?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 h=b.length;c.value=b;c.setSelectionRange(h,h)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.K[b]=c,Ka(c,function(){if(d.$){var a=d.$.value;d.$.value=
|
||||
"";gc(d,a,!0);return!0}return!1}),!0;case "step":return this.K[b]=c,Ka(c,function(a){var b=!1;pb(d,!0)||(ob(d,!0),b=d.Ha(a?1:0),ob(d,!1));return b}),!0}return!1};m.Ra=function(){this.$&&this.$.focus()};function X(a){a=a&&a.B;null==a&&(a=-1);return a}m.ua=function(a,b){var c=255,d=X(a);-1!==d&&(c=Ab(this.H,d),b&&hd(a,b));return c};m.Ta=function(a,b){var c=65535,d=X(a);if(-1!==d){var c=this.H,e=d&c.i,f=(d&c.j)>>>c.aa,c=e!=c.i?c.P[f].vb(e,d):c.P[f++].Qa(e,d)|c.P[f&c.G].Qa(0,d+1)<<8;b&&hd(a,b)}return c};
|
||||
m.eb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.H;e.P[(d&e.j)>>>e.aa].Ia(d&e.i,b&255,d);c&&hd(a,c);F(this.b,!0)}};m.zb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.H,f=d&e.i,h=(d&e.j)>>>e.aa;f!=e.i?e.P[h].yb(f,b&65535,d):(e.P[h++].Ia(f,b&255,d),e.P[h&e.G].Ia(0,b>>8&255,d+1));c&&hd(a,c);F(this.b,!0)}};function W(a){return{B:a,ma:!1}}function id(a){return[a.B,a.ma]}function jd(a){return{B:a[0],ma:a[1]}}
|
||||
function V(a,b,c){var d;c=(c?a.N:a.pa).B;if(void 0!==b){d=b=Tc(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].qa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Sc(a,b,void 0)}null!=c&&(d=W(c));return d}function kd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ab=ld(a,b.wb=c[2]))}function hd(a,b){null!=a.B&&(a.B+=b||1)}
|
||||
function md(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ua(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function bd(a,b){a.F=a;a.Y=a.Bb=536870912;a.da=null;a.fa=[];var c=ld(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in C)0<=wa(c,d)&&(a.Y|=C[d],a.u(d+" messages enabled"))}function gd(a,b){for(var c in C)if(64==C[c]){a.ja[c]=b;break}}
|
||||
function Wc(a,b){var c;a=a.toUpperCase();null==b?c=wa(ed,a):(c=wa(ed,a.substr(b,2)),0>c&&(c=wa(ed,a.substr(b,1))));return c}function Xc(a,b){var c;if(0<=b){var d=a.b;switch(b){case 12:c=d.g[7];break;case 14:c=d.I&-14|0|(d.ta&255?0:4)|(d.ta&256?1:0)}}return c}
|
||||
function nd(a,b){b=Tc(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));){e=Wc(b,c+1);if(0<=e){d=0;var f=Xc(a,e);if(void 0!==f)switch(e){case 12:case 14:d=4}b=b.substr(0,c)+(d?q(f,d):"??")+b.substr(c+1+ed[e].length)}c++}for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=da(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=V(a,e))?(d=e+' "'+md(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=
|
||||
0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=V(a,e))?(hd(d),d=e+' "'+md(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+q(W(this.b.g[7]).B,4));if(this.Y&1073741824)this.fa.push(a);else if(!this.da||a!=this.da)if(this.da=a,this.Y&-2147483648&&(this.ba(),a+=" (cpu halted)"),this.u(a),this.b){var c=this.b;nc(c);c.da=0;F(c)}};
|
||||
function ad(a){var b;if(Ic(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b<a.M.length;b++)a.M[b]=W();a.W=0;a.u("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),b=0;b<a.J.length;b++)a.J[b]=[b,0]}else a.M&&a.M.length&&a.u("instruction history buffer freed"),a.W=0,a.M=[],a.J=[]}m.Ca=function(a){if(!od(this))return!1;this.b.Ca(a);return!0};
|
||||
"";gc(d,a,!0);return!0}return!1}),!0;case "step":return this.K[b]=c,Ka(c,function(a){var b=!1;pb(d,!0)||(ob(d,!0),b=d.Ha(a?1:0),ob(d,!1));return b}),!0}return!1};m.Ra=function(){this.$&&this.$.focus()};function X(a){a=a&&a.B;null==a&&(a=-1);return a}m.ua=function(a,b){var c=255,d=X(a);-1!==d&&(c=Ab(this.H,d),b&&id(a,b));return c};m.Ta=function(a,b){var c=65535,d=X(a);if(-1!==d){var c=this.H,e=d&c.i,f=(d&c.j)>>>c.aa,c=e!=c.i?c.P[f].vb(e,d):c.P[f++].Qa(e,d)|c.P[f&c.G].Qa(0,d+1)<<8;b&&id(a,b)}return c};
|
||||
m.eb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.H;e.P[(d&e.j)>>>e.aa].Ia(d&e.i,b&255,d);c&&id(a,c);F(this.b,!0)}};m.zb=function(a,b,c){var d=X(a);if(-1!==d){var e=this.H,f=d&e.i,h=(d&e.j)>>>e.aa;f!=e.i?e.P[h].yb(f,b&65535,d):(e.P[h++].Ia(f,b&255,d),e.P[h&e.G].Ia(0,b>>8&255,d+1));c&&id(a,c);F(this.b,!0)}};function W(a){return{B:a,ma:!1}}function jd(a){return[a.B,a.ma]}function kd(a){return{B:a[0],ma:a[1]}}
|
||||
function V(a,b,c){var d;c=(c?a.N:a.pa).B;if(void 0!==b){d=b=Uc(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var f=a.G[c].qa[d];if(void 0!==f){d=f.o;void 0!==d&&(e=W(d));break}}if(d=e)return d;c=Tc(a,b,void 0)}null!=c&&(d=W(c));return d}function ld(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Ab=Sc(a,b.wb=c[2]))}function id(a,b){null!=a.B&&(a.B+=b||1)}
|
||||
function md(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.ua(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}function cd(a,b){a.F=a;a.Y=a.Bb=536870912;a.da=null;a.fa=[];var c=Sc(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(c.length)for(var d in C)0<=wa(c,d)&&(a.Y|=C[d],a.u(d+" messages enabled"))}function hd(a,b){for(var c in C)if(64==C[c]){a.ja[c]=b;break}}
|
||||
function Xc(a,b){var c;a=a.toUpperCase();null==b?c=wa(fd,a):(c=wa(fd,a.substr(b,2)),0>c&&(c=wa(fd,a.substr(b,1))));return c}function Yc(a,b){var c;if(0<=b){var d=a.b;switch(b){case 12:c=d.g[7];break;case 14:c=d.I&-14|0|(d.ta&255?0:4)|(d.ta&256?1:0)}}return c}
|
||||
function nd(a,b){b=Uc(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));){e=Xc(b,c+1);if(0<=e){d=0;var f=Yc(a,e);if(void 0!==f)switch(e){case 12:case 14:d=4}b=b.substr(0,c)+(d?q(f,d):"??")+b.substr(c+1+fd[e].length)}c++}for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=da(e),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=V(a,e))?(d=e+' "'+md(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=
|
||||
(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=V(a,e))?(id(d),d=e+' "'+md(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m.message=function(a,b){b&&(a+=" at "+q(W(this.b.g[7]).B,4));if(this.Y&1073741824)this.fa.push(a);else if(!this.da||a!=this.da)if(this.da=a,this.Y&-2147483648&&(this.ba(),a+=" (cpu halted)"),this.u(a),this.b){var c=this.b;nc(c);c.da=0;F(c)}};
|
||||
function bd(a){var b;if(Ic(a)){if(!a.M||!a.M.length){a.M=Array(1E3);for(b=0;b<a.M.length;b++)a.M[b]=W();a.W=0;a.u("instruction history buffer allocated")}if(!a.J||!a.J.length)for(a.J=Array(256),b=0;b<a.J.length;b++)a.J[b]=[b,0]}else a.M&&a.M.length&&a.u("instruction history buffer freed"),a.W=0,a.M=[],a.J=[]}m.Ca=function(a){if(!od(this))return!1;this.b.Ca(a);return!0};
|
||||
m.Ha=function(a,b,c){if(!od(this))return!1;this.L=0;a||Ic(this)&&Jc(this,this.b.g[7],0);try{var d=this.b.Ha(a);0<d&&(this.L+=d,lc(this.b,d,!0),hc(this.b,d),this.R++)}catch(e){"number"!=typeof e&&(this.L=0,rb(this.b,e.stack||e.message))}!1!==c&&F(this.b);this.ia(b||!1);return 0<this.L};m.ba=function(a){this.b&&this.b.ba(a)};m.ia=function(a){void 0===a&&(a=!0);this.N=W(this.b.g[7]);a&&1!=this.U?pd(this):qd(this)};
|
||||
function od(a){var b;if(b=a.b&&qb(a.b))b=a.b,b.A.X?b=!0:(b.u(b.toString()+" not powered"),b=!1);b&&!pb(a.b)?(a=a.b,a.A.error?(a.u(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.ra=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){ad(this);this.R=this.ga=0;this.da=null;this.L=0;this.N=W(this.b.g[7]);this.A.Z=!1;rd(this);a||this.ia()};
|
||||
m.save=function(){var a=new G(this);H(a,0,id(this.N));H(a,1,id(this.S));H(a,2,[this.j,this.T,this.Y]);H(a,3,this.G);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.N=jd(a[b++]),this.S=jd(a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.T=a[b][1],this.Y|=a[b][2]);a[3]&&(this.G=a[3]);return!0};m.start=function(a,b){this.U||this.u("running");this.A.Z=!0;this.Ka=a;this.La=b};
|
||||
function od(a){var b;if(b=a.b&&qb(a.b))b=a.b,b.A.X?b=!0:(b.u(b.toString()+" not powered"),b=!1);b&&!pb(a.b)?(a=a.b,a.A.error?(a.u(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}m.sa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};m.ra=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){bd(this);this.R=this.ga=0;this.da=null;this.L=0;this.N=W(this.b.g[7]);this.A.Z=!1;rd(this);a||this.ia()};
|
||||
m.save=function(){var a=new G(this);H(a,0,jd(this.N));H(a,1,jd(this.S));H(a,2,[this.j,this.T,this.Y]);H(a,3,this.G);return a.data()};m.restore=function(a){var b=0;void 0!==a[2]&&(this.N=kd(a[b++]),this.S=kd(a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.T=a[b][1],this.Y|=a[b][2]);a[3]&&(this.G=a[3]);return!0};m.start=function(a,b){this.U||this.u("running");this.A.Z=!0;this.Ka=a;this.La=b};
|
||||
m.stop=function(a,b){if(this.A.Z){this.A.Z=!1;this.L=b-this.La;if(!this.U){var c="stopped";if(this.L){var d=a-this.Ka,e=0<d?Math.round(1E3*this.L/d):0,c=c+" (";Ic(this)&&(c+=this.R+" opcodes, ",this.ga-=this.R,this.R=0);c+=this.L+" cycles, "+d+" ms, "+e+" hz)"}else nb(this,-2147483648)&&(c+=" (use the 't' command to execute blocked faults)");this.u(c)}this.ia(!0);this.Ra();rd(this,this.b.g[7])}};function Ic(a){return 1<a.i.length||!!a.ca}
|
||||
function Jc(a,b,c){var d=a.b;if(0<c&&(a.ca&&!--a.ca||Zb(a,b,1,a.i)))return!0;0<=c&&a.J.length&&(a.R++,b=Ab(a.H,b),null!=b&&(a.J[b][1]++,b=a.M[a.W],b.B=d.g[7],b.ma=!1,++a.W==a.M.length&&(a.W=0)));return!1}function $c(a){var b,c;a.i=["bp"];if(void 0!==a.O)for(b=1;b<a.O.length;b++){c=a.O[b];var d=a.H;$b(d.P[X(c)>>>d.aa],!1)}a.O=["br"];if(void 0!==a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.H,$b(d.P[X(c)>>>d.aa],!0);a.C=["bw"];a.na=0}
|
||||
m.xa=function(a,b,c){var d=!0;c||sd(this,a,b,!1,!0);if(a!=this.i){var e=X(b);if(-1===e)this.u("invalid address: "+q(b.B,4)),d=!1;else{var f=this.H;f.P[e>>>f.aa].xa(e&f.i,a==this.C)}}d&&(a.push(b),c?b.ma=!0:(td(this,a,a.length-1,"set"),ad(this)));return d};function sd(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.ma)){f=!0;g.ma||e||td(a,b,h,"cleared");b.splice(h,1);b!=a.i&&(d=a.H,$b(d.P[c>>>d.aa],b==a.C));g.ma||ad(a);break}}return f}
|
||||
function Jc(a,b,c){var d=a.b;if(0<c&&(a.ca&&!--a.ca||Zb(a,b,1,a.i)))return!0;0<=c&&a.J.length&&(a.R++,b=Ab(a.H,b),null!=b&&(a.J[b][1]++,b=a.M[a.W],b.B=d.g[7],b.ma=!1,++a.W==a.M.length&&(a.W=0)));return!1}function ad(a){var b,c;a.i=["bp"];if(void 0!==a.O)for(b=1;b<a.O.length;b++){c=a.O[b];var d=a.H;$b(d.P[X(c)>>>d.aa],!1)}a.O=["br"];if(void 0!==a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.H,$b(d.P[X(c)>>>d.aa],!0);a.C=["bw"];a.na=0}
|
||||
m.xa=function(a,b,c){var d=!0;c||sd(this,a,b,!1,!0);if(a!=this.i){var e=X(b);if(-1===e)this.u("invalid address: "+q(b.B,4)),d=!1;else{var f=this.H;f.P[e>>>f.aa].xa(e&f.i,a==this.C)}}d&&(a.push(b),c?b.ma=!0:(td(this,a,a.length-1,"set"),bd(this)));return d};function sd(a,b,c,d,e){var f=!1;c=X(c);for(var h=1;h<b.length;h++){var g=b[h];if(c==X(g)&&(!d||g.ma)){f=!0;g.ma||e||td(a,b,h,"cleared");b.splice(h,1);b!=a.i&&(d=a.H,$b(d.P[c>>>d.aa],b==a.C));g.ma||bd(a);break}}return f}
|
||||
function ud(a,b){for(var c=1;c<b.length;c++)td(a,b,c);return b.length-1}function td(a,b,c,d){c=b[c];a.u(b[0]+" "+q(c.B,4)+(d?" "+d:c.wb?' "'+c.wb+'"':""))}function rd(a,b){if(void 0!==b)Zb(a,b,1,a.i,!0),a.U=0;else for(var c=1;c<a.i.length;c++){var d=a.i[c];if(d.ma){if(!sd(a,a.i,d,!0))break;c=0}}}
|
||||
function Zb(a,b,c,d,e){var f=!1;if(!a.na++)for(var h=1;!f&&h<d.length;h++){var g=d[h];if(!e||g.ma)for(var k=X(g),l=0;l<c;l++)if(b+l==k){var n,f=!0;g.ma&&(sd(a,d,g,!0),e=!0);if(n=g.Ab){for(var f=!1,p=0;p<n.length;p++)if(!vd(a,n[p],!0)){if(n[p].indexOf("if")){f=!0;break}for(var y=p+1;y<n.length&&n[y].indexOf("else");y++)p++;if(y==n.length){f=!0;break}}a.b.A.Z||(f=!0)}if(f){e||td(a,d,h,"hit");break}}}a.na--;return f}
|
||||
function Ud(a,b,c,d){for(var e=W(b.B),f=a.ua(b,1),h=a.oa[f]||[0],g="",k=dd[h[0]],l=h.length-1,n=0,p,y=1;y<=l;y++){var J="";p=h[y];if(void 0!==p){var E=p&240;if(E){var ga=p&15;ga?n=ga:p|=n;p&61440||(p|=1==y?8192:4096);if(E&32)a:{var J=a,E=p,ga=b,B=" ";switch(E&15){case 1:B=q(J.ua(ga,1),2);break;case 2:B=q(J.ua(ga,1)<<24>>24,4);break;case 3:B=q(J.Ta(ga,2),4);break;default:J="imm("+ea(E)+")";break a}E&64?B="["+B+"]":E&16||(B="0x"+B);J=B}else E&16?J=ed[(p&3840)>>8]:E&128&&(J=(f>>3&7).toString());if(!J||
|
||||
function Ud(a,b,c,d){for(var e=W(b.B),f=a.ua(b,1),h=a.oa[f]||[0],g="",k=ed[h[0]],l=h.length-1,n=0,p,y=1;y<=l;y++){var J="";p=h[y];if(void 0!==p){var E=p&240;if(E){var ga=p&15;ga?n=ga:p|=n;p&61440||(p|=1==y?8192:4096);if(E&32)a:{var J=a,E=p,ga=b,B=" ";switch(E&15){case 1:B=q(J.ua(ga,1),2);break;case 2:B=q(J.ua(ga,1)<<24>>24,4);break;case 3:B=q(J.Ta(ga,2),4);break;default:J="imm("+ea(E)+")";break a}E&64?B="["+B+"]":E&16||(B="0x"+B);J=B}else E&16?J=fd[(p&3840)>>8]:E&128&&(J=(f>>3&7).toString());if(!J||
|
||||
!J.length){g="INVALID";break}0<g.length&&(g+=",");g+=J||"???"}}}f="";h=q(e.B,4)+" ";if(-1!==e.B&&-1!==b.B){do if(f+=q(a.ua(e,1),2),null==e.B)break;while(e.B!=b.B)}h+=oa(f,10);h=h+(p&32768?"*":" ")+oa(k,7);g&&(h+=" "+g);c&&(h=oa(h,40)+";"+c,h=a.b.A.Ea?h+("cycles="+ic(a.b).toString()+" cs="+q(a.b.Na)):h+(null!=d?"="+d.toString():""));return h}m.hb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Vd(a,b,c){var d=[],e=X(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],h=f.B>>>0,g=f.Eb;if(e>=h&&e<h+g){e=ta(f.fb,[e-h],a.hb);0<=e?Wd(a,b,e,d):c&&(e=~e,Wd(a,b,e-1,d),Wd(a,b,e,d));break}}return d}function Wd(a,b,c,d){var e={},f=a.G[b].fb,h=0,g=null;0<=c&&c<f.length&&(h=f[c][0],g=f[c][1]);g&&(e=a.G[b].qa[g],g="."==g.charAt(0)?null:e.l||g);d.push(g);d.push(h);d.push(e.a);d.push(e.c)}
|
||||
function Xd(a,b){if("?"==b)a.u("frequency commands:"),a.u("\tclear\tclear all frequency counts");else{var c,d=0;if(a.J)if("clear"==b){for(c=0;c<a.J.length;c++)a.J[c]=[c,0];a.u("frequency data cleared");d++}else if(void 0!==b)a.u("unknown frequency command: "+b),d++;else{var e=a.J.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],h=e[c][1];h&&(a.u((dd[a.oa[f][0]]+" ").substr(0,5)+" ("+("0x"+q(f,2))+"): "+h+" times"),d++)}}d||a.u("no frequency data available")}}
|
||||
function Yd(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Yc(a)||a.u("no variables"),!0;if(!c[2])return Yc(a,c[1]);if(!c[3])return delete a.V[c[1]],!0;var d=Sc(a,c[3]);return void 0!==d?(a.V[c[1]]=d,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function Xd(a,b){if("?"==b)a.u("frequency commands:"),a.u("\tclear\tclear all frequency counts");else{var c,d=0;if(a.J)if("clear"==b){for(c=0;c<a.J.length;c++)a.J[c]=[c,0];a.u("frequency data cleared");d++}else if(void 0!==b)a.u("unknown frequency command: "+b),d++;else{var e=a.J.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],h=e[c][1];h&&(a.u((ed[a.oa[f][0]]+" ").substr(0,5)+" ("+("0x"+q(f,2))+"): "+h+" times"),d++)}}d||a.u("no frequency data available")}}
|
||||
function Yd(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Zc(a)||a.u("no variables"),!0;if(!c[2])return Zc(a,c[1]);if(!c[3])return delete a.V[c[1]],!0;var d=Tc(a,c[3]);return void 0!==d?(a.V[c[1]]=d,!0):!1}a.u("invalid assignment:"+b);return!1}
|
||||
function Zd(a,b,c){var d=null;if(b=V(a,b,!0)){var e=Vd(a,b,!0);if(e.length){var f,h;e[0]&&(h="",(f=b.B-e[1])&&(h=" + "+ea(f)),f=e[0]+" ("+q(e[1],4)+")"+h,c&&a.u(f),d=f);4<e.length&&e[4]&&(h="",(f=e[5]-b.B)&&(h=" - "+ea(f)),f=e[4]+" ("+q(e[5],4)+")"+h,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols")}return d}
|
||||
function pd(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.u("missing value for "+b[1]);return}var h=!1,g=Sc(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "PC":d.g[7]=g;a.N=W(d.g[7]);break;case "CF":d.ta=g?d.ta|256:d.ta&255;break;case "ZF":d.ta=g?d.ta&
|
||||
-256:d.ta|255;break;case "SF":break;default:a.u("unknown register: "+e);return}if(!h){a.u("invalid value: "+f);return}F(d);a.u("updated registers:")}a.u("no regs");c&&(a.N=W(d.g[7]),qd(a,q(a.N.B,4)))}}function $d(a,b){b=pa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.u(nd(a,c[2])):Sc(a,b,!0)}function ae(a,b,c){var d="t"!=b;c=Uc(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ja(c,function(){return ob(a,!0)&&a.Ha(e,d,!1)},function(){F(a.b);ob(a,!1)})}
|
||||
function pd(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(null!=b&&1<b.length){var e=b[1],f=null,h=e.indexOf("=");if(0<h)f=e.substr(h+1),e=e.substr(0,h);else if(2<b.length)f=b[2];else{a.u("missing value for "+b[1]);return}var h=!1,g=Tc(a,f);if(void 0!==g)switch(h=!0,e.toUpperCase()){case "PC":d.g[7]=g;a.N=W(d.g[7]);break;case "CF":d.ta=g?d.ta|256:d.ta&255;break;case "ZF":d.ta=g?d.ta&
|
||||
-256:d.ta|255;break;case "SF":break;default:a.u("unknown register: "+e);return}if(!h){a.u("invalid value: "+f);return}F(d);a.u("updated registers:")}a.u("no regs");c&&(a.N=W(d.g[7]),qd(a,q(a.N.B,4)))}}function $d(a,b){b=pa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.u(nd(a,c[2])):Tc(a,b,!0)}function ae(a,b,c){var d="t"!=b;c=Vc(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ja(c,function(){return ob(a,!0)&&a.Ha(e,d,!1)},function(){F(a.b);ob(a,!1)})}
|
||||
function qd(a,b,c,d){if(b=V(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=V(a,c,!0);if(!d||d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=pb(a,!1)||a.U?a.L:null;var h=null!=f?"cycles":null,g=Vd(a,b),k=b.B;if(g[0]&&d&&(!c&&d||0>g[0].indexOf("+"))){var l=g[0]+":";g[2]&&(l+=" "+g[2]);a.u(l)}g[3]&&(h=g[3],f=null);f=Ud(a,b,h,f);a.u(f);a.N=b;e-=b.B-k;c++}}}
|
||||
function ld(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.T?b="end":b=a.j[a.w+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var h=b.charAt(f);if('"'==h||"'"==h)e?h==e&&(e=null):e=h;else if(h==d&&!e||!h)a.push(pa(b.substring(c,f))),c=f+1}}return a}
|
||||
function vd(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(">> "+b):(a.T&&(a.u("ended assemble at "+q(a.S.B,4)),a.N=a.S,a.T=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.da=null;if(qb(a)&&0<b.length){a.T&&(b="a "+q(a.S.B,4)+" "+b);var f=b.replace(/ +/g," ").split(" ");if(f&&f.length)for(var h=f[0],g=h.charAt(0),k=1;k<h.length;k++){var l=h.charAt(k);if("?"==g||"r"==g||"a">l||"z"<l){f[0]=h.substr(k);f.unshift(h.substr(0,k));break}}switch(f[0].charAt(0)){case "a":var n=V(a,f[1],!0);if(n)if(a.S=
|
||||
n,void 0===f[2])a.u("begin assemble at "+q(n.B,4)),a.T=!0,F(a.b);else{var p;a.u("not supported yet");p=[];if(p.length){for(var y=0;y<p.length;y++)a.eb(n,p[y],1);a.u(Ud(a,a.S))}}break;case "b":a:{var J=f[0],E=f[1],ga=b;if("?"==E)a.u("breakpoint commands:"),a.u("\tbp [a]\tset exec breakpoint at addr [a]"),a.u("\tbr [a]\tset read breakpoint at addr [a]"),a.u("\tbw [a]\tset write breakpoint at addr [a]"),a.u("\tbc [a]\tclear breakpoint at addr [a]"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [n]\tbreak after [n] instruction(s)");
|
||||
else{var B=J.charAt(1);if("l"==B){var Aa=0,Aa=Aa+ud(a,a.i),Aa=Aa+ud(a,a.O);(Aa+=ud(a,a.C))||a.u("no breakpoints")}else if("n"==B)a.ca=Uc(a,E),a.u("break after "+a.ca+" instruction(s)");else if(void 0===E)a.u("missing breakpoint address");else{var P=W();if("*"!=E&&(P=V(a,E,!0),!P))break a;"c"==B?null==P.B?($c(a),a.u("all breakpoints cleared")):sd(a,a.i,P)||sd(a,a.O,P)||sd(a,a.C,P)||a.u("breakpoint missing: "+q(P.B,4)):null!=P.B&&(kd(a,P,ga),"p"==B?a.xa(a.i,P):"r"==B?a.xa(a.O,P):"w"==B?a.xa(a.C,P):
|
||||
else{var B=J.charAt(1);if("l"==B){var Aa=0,Aa=Aa+ud(a,a.i),Aa=Aa+ud(a,a.O);(Aa+=ud(a,a.C))||a.u("no breakpoints")}else if("n"==B)a.ca=Vc(a,E),a.u("break after "+a.ca+" instruction(s)");else if(void 0===E)a.u("missing breakpoint address");else{var P=W();if("*"!=E&&(P=V(a,E,!0),!P))break a;"c"==B?null==P.B?(ad(a),a.u("all breakpoints cleared")):sd(a,a.i,P)||sd(a,a.O,P)||sd(a,a.C,P)||a.u("breakpoint missing: "+q(P.B,4)):null!=P.B&&(ld(a,P,ga),"p"==B?a.xa(a.i,P):"r"==B?a.xa(a.O,P):"w"==B?a.xa(a.C,P):
|
||||
a.u("unknown breakpoint command: "+B))}}}break;case "c":a.ya&&(a.ya.value="");break;case "d":a:{var Ba,Ca=f[0],Y=f[1],qa=f[2],ue=f[3];if("?"==Y){var Z="";for(Ba in C)a.ja[Ba]&&(Z&&(Z+=","),Z+=Ba);Z+=",state,symbols";a.u("dump memory commands:");a.u("\tdb [a] [#] dump # bytes at address a");a.u("\tdw [a] [#] dump # words at address a");a.u("\tdd [a] [#] dump # dwords at address a");a.u("\tdh [#] [#] dump # instructions from history");Z.length&&a.u("dump extension commands:\n\t"+Z)}else if("state"==
|
||||
Y){var wd=be(a.D,!0);"console"==qa?console.log(wd):(a.ya&&(a.ya.value=""),a.u(wd))}else if("symbols"==Y)for(var oc=0;oc<a.G.length;oc++){var pc=a.G[oc],Da;for(Da in pc.qa)if("."!=Da.charAt(0)){var xd=pc.qa[Da].o;if(void 0!==xd){var yd=pc.qa[Da].l;yd&&(Da=yd);a.u(q(xd,4)+" "+Da)}}}else{if("d"==Ca){for(Ba in C)if(f[1]==Ba){var zd=a.ja[Ba];zd?(f.shift(),f.shift(),zd(f)):a.u("no dump registered for "+Y);break a}Y||(Ca=a.Ma||"db")}else a.Ma=Ca;if("dh"==Ca){var Ad=Y,Bd=qa,Cd="",Dd=0,K=a.W,aa=a.M;if(aa.length){var Q=
|
||||
+Ad||a.wa,Ea=+Bd||10;isNaN(Q)?Q=Ea:Cd="more ";Q>aa.length&&(a.u("note: only "+aa.length+" available"),Q=aa.length);K-=Q;0>K&&(null==aa[aa.length-1].B?(Q=K+Q,K=0):K+=aa.length);var qc=[];"call"==Bd&&(Ea=1E5,qc=["CALL"]);for(void 0!==Ad&&a.u(Q+" instructions earlier:");0<Ea&&K!=a.W;){var Ed=aa[K++];if(null==Ed.B)break;var cb=W(Ed.B),ve=Q--,Fd=Ud(a,cb,"history",ve);(!qc.length||0<=Fd.indexOf(qc[0]))&&a.u(Fd);cb.Wa&&(K+=cb.Wa,Ea-=cb.Wa,Q-=cb.Wa);K>=aa.length&&(K=0);a.wa=Q;Dd++;Ea--}}Dd||(a.u("no "+Cd+
|
||||
"history available"),a.wa=void 0)}else{var Cb=V(a,Y);if(Cb){var Db=0;qa&&("l"==qa.charAt(0)&&(qa=qa.substr(1)||ue),Db=Uc(a,qa)>>>0,65536<Db&&(Db=65536));for(var ra="",Eb="dd"==Ca?4:"dw"==Ca?2:1,Fb=Eb*Db||128,we=Fb+15>>4||1;we--&&0<Fb;){var Gb=0,rc=0,db,eb="",sc="",Y=q(Cb.B,4);for(db=16;0<db&&0<Fb;db--){var Hb=a.ua(Cb,1),Gb=Gb|Hb<<(rc++<<3);rc==Eb&&(eb+=q(Gb,2*Eb),eb+=1==Eb?9==db?"-":" ":" ",Gb=rc=0);sc+=32<=Hb&&128>Hb?String.fromCharCode(Hb):".";Fb--}ra&&(ra+="\n");ra+=Y+" "+eb+(0==db?" "+sc:"")}ra&&
|
||||
a.u(ra);a.pa=Cb}}}}break;case "e":if("else"==f[0])break;var Ib=1,Gd=255,Hd=a.ua,Id=a.eb;"ew"==f[0]&&(Ib=2,Gd=65535,Hd=a.Ta,Id=a.zb);var Jd=Ib<<1,Kd=f[1];if(null==Kd)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var Jb=V(a,Kd);if(Jb)for(var Kb=2;Kb<f.length;Kb++){var fb=Sc(a,f[Kb]);if(void 0===fb){a.u("unrecognized value: "+f[Kb]);break}fb&~Gd&&a.u("warning: "+q(fb)+" exceeds "+Ib+"-byte value");var xe=Hd.call(a,Jb);
|
||||
a.u("changing "+q(Jb.B,4)+" from 0x"+q(xe,Jd)+" to 0x"+q(fb,Jd));Id.call(a,Jb,fb,Ib)}}break;case "f":Xd(a,f[1]);break;case "g":a:{var Ld=f[1],ye=b;if(void 0!==Ld){var tc=V(a,Ld,!0);if(!tc)break a;kd(a,tc,ye);a.xa(a.i,tc,!0)}a.Ca(!0)||c||a.u("cpu busy or unavailable, run command ignored")}break;case "h":a:{var uc;if(a.A.Z)uc="halting",a.ba();else{if(pb(a,!0))break a;uc="already halted"}c||a.u(uc)}break;case "i":if("if"==f[0]){var vc;var gb=b.substr(2),gb=pa(gb);Sc(a,gb)?(c||a.u("true: "+gb),vc=!0):
|
||||
"history available"),a.wa=void 0)}else{var Cb=V(a,Y);if(Cb){var Db=0;qa&&("l"==qa.charAt(0)&&(qa=qa.substr(1)||ue),Db=Vc(a,qa)>>>0,65536<Db&&(Db=65536));for(var ra="",Eb="dd"==Ca?4:"dw"==Ca?2:1,Fb=Eb*Db||128,we=Fb+15>>4||1;we--&&0<Fb;){var Gb=0,rc=0,db,eb="",sc="",Y=q(Cb.B,4);for(db=16;0<db&&0<Fb;db--){var Hb=a.ua(Cb,1),Gb=Gb|Hb<<(rc++<<3);rc==Eb&&(eb+=q(Gb,2*Eb),eb+=1==Eb?9==db?"-":" ":" ",Gb=rc=0);sc+=32<=Hb&&128>Hb?String.fromCharCode(Hb):".";Fb--}ra&&(ra+="\n");ra+=Y+" "+eb+(0==db?" "+sc:"")}ra&&
|
||||
a.u(ra);a.pa=Cb}}}}break;case "e":if("else"==f[0])break;var Ib=1,Gd=255,Hd=a.ua,Id=a.eb;"ew"==f[0]&&(Ib=2,Gd=65535,Hd=a.Ta,Id=a.zb);var Jd=Ib<<1,Kd=f[1];if(null==Kd)a.u("edit memory commands:"),a.u("\teb [a] [...] edit bytes at address a"),a.u("\tew [a] [...] edit words at address a");else{var Jb=V(a,Kd);if(Jb)for(var Kb=2;Kb<f.length;Kb++){var fb=Tc(a,f[Kb]);if(void 0===fb){a.u("unrecognized value: "+f[Kb]);break}fb&~Gd&&a.u("warning: "+q(fb)+" exceeds "+Ib+"-byte value");var xe=Hd.call(a,Jb);
|
||||
a.u("changing "+q(Jb.B,4)+" from 0x"+q(xe,Jd)+" to 0x"+q(fb,Jd));Id.call(a,Jb,fb,Ib)}}break;case "f":Xd(a,f[1]);break;case "g":a:{var Ld=f[1],ye=b;if(void 0!==Ld){var tc=V(a,Ld,!0);if(!tc)break a;ld(a,tc,ye);a.xa(a.i,tc,!0)}a.Ca(!0)||c||a.u("cpu busy or unavailable, run command ignored")}break;case "h":a:{var uc;if(a.A.Z)uc="halting",a.ba();else{if(pb(a,!0))break a;uc="already halted"}c||a.u(uc)}break;case "i":if("if"==f[0]){var vc;var gb=b.substr(2),gb=pa(gb);Tc(a,gb)?(c||a.u("true: "+gb),vc=!0):
|
||||
(c||a.u("false: "+gb),vc=!1);vc||(d=!1)}break;case "k":var ze=f[0];if("?"==f[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var wc=0,Md=W(),hb=W(a.b.g[6]);for(a.u("stack trace for "+q(hb.B,4));10>wc;){for(var sa=null,Ae=256;65536>hb.B>>>0;){Md.B=a.Ta(hb,2);if(null==hb.B||!Ae--)break;for(var Be=a,Lb=Md,Nd=null,ib=Lb.B,Od=ib,xc=1;6>=xc&&ib;xc++){if(2<xc){Lb.B=ib;var Mb=Ud(Be,Lb);if(0<=Mb.indexOf("CALL")){var Pd=Mb.indexOf(" ");if(ib+(Mb.indexOf(" ",
|
||||
Pd+1)-Pd-1)/2==Od){Nd=Mb;break}}}ib--}Lb.B=Od;if(sa=Nd)break}if(!sa||null==sa)break;var Qd=null;if("ks"==ze){var Rd=sa.match(/[0-9A-F]+$/);Rd&&(Qd=Zd(a,Rd[0]))}sa=oa(sa,50)+" ;"+(Qd||"stack="+q(hb.B,4));a.u(sa);wc++}wc||a.u("no return addresses found")}break;case "l":if("ln"==f[0]){Zd(a,f[1],!0);break}break;case "m":a:{var ba,ca=null,x=f[1];"?"==x&&(x=void 0);if(void 0!==x){var ha=0;if("all"==x)ha=1878917119,x=null;else if("on"==x)ca=!0,x=null;else if("off"==x)ca=!1,x=null;else{"keys"==x&&(x="key");
|
||||
"kbd"==x&&(x="keyboard");for(ba in C)if(x==ba){ha=C[ba];ca=!!(a.Y&ha);break}if(!ha){a.u("unknown message category: "+x);break a}}if(ha)if("on"==f[2])a.Y|=ha,ca=!0;else if("off"==f[2]&&(a.Y&=~ha,ca=!1,1073741824==ha)){for(var yc=0;yc<a.fa.length;yc++)a.u(a.fa[yc]);a.fa=[]}}var Ce=0,ia="";for(ba in C)if(!x||x==ba){var De=!!(a.Y&C[ba]);if(null===ca||ca==De)ia&&(ia+=","),++Ce%10||(ia+="\n\t"),"key"==ba&&(ba="keys"),ia+=ba}void 0===x&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.u((null!==ca?ca?"messages on: ":"messages off: ":"message categories:\n\t")+(ia||"none"));ad(a)}break;case "p":if("print"==f[0]){$d(a,b.substr(5));break}var Ee="pr"==f[0]?1:0;if(a.U)a.u("step in progress");else{var Sd=W(a.b.g[7]);a.ua(Sd);a.U?(a.xa(a.i,Sd,!0),a.Ca()||(a.D&&a.D.Ra(),a.U=0)):ae(a,Ee?"tr":"t")}break;case "r":if("reset"==b){a.D&&a.D.reset();break}pd(a,f);break;case "s":a:switch(f[1]){case "cs":var jb;void 0!==f[3]&&(jb=+f[3]);switch(f[2]){case "int":a.b.Fa=jb;break;case "start":a.b.Oa=
|
||||
a.u((null!==ca?ca?"messages on: ":"messages off: ":"message categories:\n\t")+(ia||"none"));bd(a)}break;case "p":if("print"==f[0]){$d(a,b.substr(5));break}var Ee="pr"==f[0]?1:0;if(a.U)a.u("step in progress");else{var Sd=W(a.b.g[7]);a.ua(Sd);a.U?(a.xa(a.i,Sd,!0),a.Ca()||(a.D&&a.D.Ra(),a.U=0)):ae(a,Ee?"tr":"t")}break;case "r":if("reset"==b){a.D&&a.D.reset();break}pd(a,f);break;case "s":a:switch(f[1]){case "cs":var jb;void 0!==f[3]&&(jb=+f[3]);switch(f[2]){case "int":a.b.Fa=jb;break;case "start":a.b.Oa=
|
||||
jb;break;case "stop":a.b.Ga=jb;break;default:a.u("unknown cs option");break a}void 0!==jb&&fc(a.b);a.u("checksums "+(a.b.A.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(kc(a.b,+f[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.b.Aa.toFixed(2)+"Mhz")+" ("+a.b.Ba+"x)");break;case "?":a.u("debugger options:");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;default:f[1]&&a.u("unknown option: "+f[1])}break;case "t":ae(a,f[0],f[1]);break;case "u":qd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Yd(a,b.substr(3))||(d=!1);break}a.u("PDP11js version 1.30.0 ("+a.b.pb+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break;case "?":if(f[1]){$d(a,b.substr(1));break}var kb="commands:",zc;for(zc in cd)kb+="\n"+oa(zc,9)+cd[zc];Ic(a)||(kb+="\nnote: frequency/history disabled if no exec breakpoints");
|
||||
a.u(kb);break;default:a.u("unknown command: "+b),d=!1}}}catch(Td){a.u("debugger error: "+(Td.stack||Td.message)),d=!1}return d}function gc(a,b,c){b=ld(a,b,c);for(var d in b)if(!vd(a,b[d]))return!1;return!0}Qa(function(){for(var a=z(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Zc(d);mb(d,c)}});
|
||||
a.u("\tsp #\t\tset speed multiplier to #");break;default:f[1]&&a.u("unknown option: "+f[1])}break;case "t":ae(a,f[0],f[1]);break;case "u":qd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){Yd(a,b.substr(3))||(d=!1);break}a.u("PDP11js version 1.30.0 ("+a.b.pb+",RELEASE"+(sb?",TYPEDARRAYS":",LONGARRAYS")+")");a.u(window?window.navigator.userAgent:"");break;case "?":if(f[1]){$d(a,b.substr(1));break}var kb="commands:",zc;for(zc in dd)kb+="\n"+oa(zc,9)+dd[zc];Ic(a)||(kb+="\nnote: frequency/history disabled if no exec breakpoints");
|
||||
a.u(kb);break;default:a.u("unknown command: "+b),d=!1}}}catch(Td){a.u("debugger error: "+(Td.stack||Td.message)),d=!1}return d}function gc(a,b,c){b=Sc(a,b,c);for(var d in b)if(!vd(a,b[d]))return!1;return!0}Qa(function(){for(var a=z(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new $c(d);mb(d,c)}});
|
||||
function ce(a,b,c){t.call(this,"Computer",a,ce,67108864);this.A.X=!1;de(this,b);this.N=dc(this,"autoPower",a);this.w=0;this.U=a.busWidth||a.buswidth;this.i=ee;this.L=null;this.G=this.S=!1;this.V=dc(this,"url")||"";(Math.random()+.1).toString(36);this.j=fe(this);if(this.b=lb("CPU",this.id)){this.F=lb("Debugger",this.id);this.H=new vb({id:this.nb+".bus",busWidth:this.U},this.b,this.F);var d,e=bb(this.id);if((this.D=lb("Panel",this.id))&&this.D.ya)for(b=0;b<e.length;b++)d=e[b],d.ea=this.D.ea,d.u=this.D.u,
|
||||
d.ya=this.D.ya;this.u("PDP11js v1.30.0\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.u("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.za&&d.za(this,this.H,this.b,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.i=parseInt(d,10));var f;if(a=dc(this,"state")||(f=!0,a.state))b=this.O=a,f||(this.G=!0,this.i=ee),this.i&&(this.M=
|
||||
new G(this,"1.30.0"),ge(this.M)?b=null:delete this.M);!b&&this.i&&(b=he(this))&&(this.G=!0);if(b){var h=this;xa(b,null,!0,function(a,b,c){c?(h.J=null,h.G=!1,h.ea("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(h.L=b,h.S=!0);A(h)})}else A(this);this.K.power||(this.N=!0);!c&&this.N&&ie(this,this.Pa)}else r("Unable to find CPU component")}v(ce);var ee=0;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
(function(){var m;function aa(a){var b=16,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var f,d=a,e=b;(e&&10!=e?16==e?null!==d.match(/^[0-9a-f]+$/i):2==e&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}
|
||||
(function(){var m;function aa(a){var b=16,c;if(a){b||(b=10);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var f,d=a,e=b;(e&&10!=e?16==e?null!==d.match(/^[0-9a-f]+$/i):2==e&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}
|
||||
function n(a,b){var c="";void 0===b?b=8:8<b&&(b=8);if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;){var d=a&15,d=d+(0<=d&&9>=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ba(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function ca(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function da(){var a=p();return-1!==a.indexOf("pcjs.org",a.length-8)}
|
||||
var ea={"&":"&","<":"<",">":">",'"':""","'":"'"};function fa(a){return a.replace(/[&<>"']/g,function(a){return ea[a]})}var q=Date.now||function(){return+new Date};function ga(){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 r(a,b,c,d){var f=0,e=null,h=null;if("object"==typeof resources&&(e=resources[a]))return d&&d(a,e,f),[e,f];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),h;var g=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(g.onreadystatechange=function(){4===g.readyState&&(e=g.responseText,200==g.status||!g.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=g.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
|
|
|
|||
Loading…
Reference in a new issue