Fixed soft keyboard controls for both iOS and non-iOS browsers, and updated the TopView 1.01 page
This commit is contained in:
parent
299948fa1f
commit
d8804faba0
32 changed files with 1132 additions and 1067 deletions
|
|
@ -57,7 +57,7 @@ function wb(a){for(var b=!0,c=xb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],
|
|||
m.toString=function(){return this.name?this.name:this.id||this.type};
|
||||
m.sa=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.J[b]=c,this.ja=function(a){this.u(a,this.type);return!0},c.value="",this.print=function(a){return function(b){rb(a,b)}}(c),this.u=function(a,b){return function(a,c){a||(a="");if(c!=Bb.Rb||"..."!=a.slice(-3))c&&(a=c+": "+a),rb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+
|
||||
".")+c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};m.log=function(){};m.print=function(){};m.u=function(){};m.status=function(a){this.u(this.type+": "+a)};m.ja=function(a,b,c){if(!b){var d=vb("Computer",this.id);if(d&&d.A.ub)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||q((c?c+": ":"")+a);return!0};function Cb(a,b){a.A.error=!0;a.ja(b)}
|
||||
function Db(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Eb(a,b){b&&(a.A.ready?b():a.cb=b);return a.A.ready}function Pb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.cb;a.cb=null;b&&b()}}function Qb(a,b){a.A.Ua&&(b?a.A.ob=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Ua}function Rb(a,b){if(a.A.ob)return a.A.Ua=!1,a.A.ob=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Ua=b;return a.A.Ua}m.Aa=function(){return this.A.ba=!0};
|
||||
function Db(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Eb(a,b){b&&(a.A.ready?b():a.cb=b);return a.A.ready}function Fb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.cb;a.cb=null;b&&b()}}function Qb(a,b){a.A.Ua&&(b?a.A.ob=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Ua}function Rb(a,b){if(a.A.ob)return a.A.Ua=!1,a.A.ob=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Ua=b;return a.A.Ua}m.Aa=function(){return this.A.ba=!0};
|
||||
m.ra=function(a,b){b&&(this.A.ba=!1);return!0};function Sb(a,b){if(a.D){a===a.D?b|=0:b=b||a.da;var c=a.D.da&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function Tb(a,b,c,d){a.D&&(!0===c||Sb(a,c|0))&&a.D.message(b,d)}var Bb={ERROR:"error",cd:"notice",Rb:"progress",SCRIPT:"script",md:"warning"};window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
|
||||
var jb=window?window.PCjs.Machines:{},hb=window?window.PCjs.Components:[],xb=window?window.PCjs.Commands:{},yb=["hold","sleep","wait"],zb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ab={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)});
|
||||
|
|
@ -65,7 +65,7 @@ Function.prototype.bind||(Function.prototype.bind=function(a){function b(){retur
|
|||
var t="pdp10",Ub="PDPjs",Vb=Math.pow(2,18)-1,Wb=Math.pow(2,18),Xb=Math.pow(2,17)-1,Yb=Math.pow(2,17),x=Math.pow(2,18)-1,y=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),Zb=Math.pow(2,34),$b=Math.pow(2,36),ac=Math.pow(2,21),bc=Math.pow(2,26),cc=Math.pow(2,23),dc=Math.pow(2,30),t="pdp10",Ub="PDPjs",ec={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};
|
||||
function fc(a,b){r.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=gc;this.C={};this.b={START:[1,1,!0,!1,this.fc],STEP:[1,1,!1,!1,this.gc],ENABLE:[1,1,!1,!1,this.ac],CONT:[1,1,!0,!1,this.Zb],DEP:[0,0,!0,!1,this.$b],EXAM:[1,1,!0,!1,this.bc],LOAD:[1,1,!0,!1,this.dc],TEST:[0,0,!0,!1,this.cc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.ec,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Wb,toggle:this.pc,reset:this.lc,
|
||||
set:this.oc};Pb(this)}la(fc,r);m=fc.prototype;m.reset=function(a){this.stop();a&&hc(this,this.w=0)};
|
||||
set:this.oc};Fb(this)}la(fc,r);m=fc.prototype;m.reset=function(a){this.stop();a&&hc(this,this.w=0)};
|
||||
m.sa=function(a,b,c,d){if(this.G&&this.G.sa(a,b,c,d)||this.v&&this.v.sa(a,b,c,d)||this.D&&this.D.sa(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(){ic(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){jc(a,b)}}(this,b),a.ontouchstart=
|
||||
function(a,b){return function(c){ic(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){jc(a,b)}}(this,b),!0):r.prototype.sa.call(this,a,b,c,d)}};m.La=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;kc(this);lc(this)};m.Aa=function(a,b){if(!b)if(this.V&&mc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
|
||||
m.restore=function(a){if(a=a[0])nc(this,this.i=a[0]),hc(this,this.w=a[1]),oc(this,a[2]);return!0};m.lc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}lc(this);return!0};function pc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function kc(a,b){for(var c in a.C)pc(a,c,null!=b?b:a.C[c])}function qc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function lc(a){for(var b in a.b)qc(a,b,a.b[b][1])}
|
||||
|
|
@ -74,18 +74,18 @@ function jc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(qc(a,b,c[1]=c[0]),c[4]&&c[4].call
|
|||
m.Zb=function(a){if(!a&&!this.v.A.P)if(this.b[uc]&&this.b[uc][1])vc(this.v);else{if((a=this.D)&&!Qb(a,!0))Rb(a,!0),wc(a,0,null),Rb(a,!1);else try{var b=this.v.Ya(1);0<b&&(xc(this.v,b),yc(this.v,b,!0),zc(this.v,b))}catch(c){"number"!=typeof c&&Cb(this.v,c.stack||c.message)}this.stop();this.G&&K(this.G)}};m.$b=function(a){a&&!this.v.A.P&&(this.O&&Ac(this),a=hc(this,this.w=this.j),this.S==gc?Bc(this.H,this.i,a):this.v.g(this.i,a))};
|
||||
m.bc=function(a){if(!a&&!this.v.A.P){var b;this.R&&Ac(this);this.S==gc?b=Cc(this.H,this.i):b=this.v.f(this.i);hc(this,this.w=b)}};m.dc=function(a){a||this.v.A.P||nc(this,this.j)};m.cc=function(a){a?(this.F=!0,kc(this,!0)):(this.F=!1,kc(this),oc(this,0))};m.ec=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function Ac(a){var b=1,c=a.H.j;a.b[rc]&&a.b[rc][1]||(b=-b);nc(a,a.i&~c|a.i+b&c)}
|
||||
function nc(a,b){a.i=b&a.H.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||pc(d,e,f)}}}function hc(a,b){a.I=b%E;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.C[e]=f;d.F||pc(d,e,f)}}return a.I}function oc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;lc(a);return!0}m.stop=function(){nc(this,this.v.i)};
|
||||
function mc(){for(var a=v(document,t,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=ub(d.id);e||(e=new fc(d,!0));sb(e,c)}}var gc=7,sc="DEP",uc="ENABLE",tc="EXAM",rc="STEP";$a(mc);function Dc(a,b,c){r.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;Pb(this)}la(Dc,r);m=Dc.prototype;m.reset=function(){};
|
||||
function mc(){for(var a=v(document,t,"panel"),b=0;b<a.length;b++){var c=a[b],d=w(c),e=ub(d.id);e||(e=new fc(d,!0));sb(e,c)}}var gc=7,sc="DEP",uc="ENABLE",tc="EXAM",rc="STEP";$a(mc);function Dc(a,b,c){r.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;Fb(this)}la(Dc,r);m=Dc.prototype;m.reset=function(){};
|
||||
m.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.save=function(){var a=new G(this);a.set(0,Gc(this));return a.data()};m.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)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
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,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Wa+=h.B-e,h.B=e,!0;if(e>=h.B+h.Wa){l=h.size-(e-k);l>f&&(l=f);h.Wa=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Ic(Jc,e,f)}e=new Ec(a,e,l,16384,d);Fc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Kc[d]+" at "+qa(b)),!0):Ic(Lc,b,c)}
|
||||
function Cc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function Bc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(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.qb||e.Ub){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
|
||||
m.Jb=function(a){if(!this.w)throw this.D&&Sb(this.D,4)&&Tb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.Y(),-1;};function Ic(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Jc=1,Lc=2;function Qc(a){r.call(this,"Device",a,256)}la(Qc,r);m=Qc.prototype;m.La=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Pb(this)};m.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.reset=function(){};
|
||||
m.Jb=function(a){if(!this.w)throw this.D&&Sb(this.D,4)&&Tb(this.D,"memory fault on "+L(this.D,a),!0,!0),this.v.Y(),-1;};function Ic(a,b,c){q("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Jc=1,Lc=2;function Qc(a){r.call(this,"Device",a,256)}la(Qc,r);m=Qc.prototype;m.La=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Fb(this)};m.Aa=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.ra=function(a){return a?this.save():!0};m.reset=function(){};
|
||||
m.save=function(){return(new G(this)).data()};m.restore=function(){return!0};$a(function(){for(var a=v(document,t,"device"),b=0;b<a.length;b++){var c,d=a[b];c=w(d);switch(c.type){case "default":c=new Qc(c),sb(c,d)}}});
|
||||
function Ec(a,b,c,d,e){this.H=a;this.id=Rc+=2;this.B=b;this.Wa=c;this.size=d||0;this.type=e||Sc;this.G=e==Tc;this.b=null;this.f=this.w=this.tb;this.g=this.D=this.Xa;this.i=this.v=0;Fc(this);this.qb=this.Ub=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Uc(this,Vc)}else Uc(this)}m=Ec.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.qb=!0):!1};function Uc(a,b){b||(b=Wc);Xc(a,b,void 0);Yc(a,b,void 0)}
|
||||
function Xc(a,b,c){c&&a.i||(a.f=b[0]||a.tb);if(c||void 0===c)a.w=b[0]||a.tb}function Yc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Xa);if(c||void 0===c)a.D=b[1]||a.Xa}m.Ra=function(a,b){b?this.v++||Yc(this,Zc,!1):this.i++||Xc(this,Zc,!1)};function $c(a,b){b?--a.v||(a.g=a.G?a.Xa:a.D):--a.i||(a.f=a.w)}function Fc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Xc(a,Zc,!1),(a.v=c.v)&&Yc(a,Zc,!1))}m.tb=function(a,b){this.b&&Sb(this.b,32)&&Tb(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Jb(b);return-1};
|
||||
m.Xa=function(a,b,c){this.b&&Sb(this.b,32)&&Tb(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Jb(c)};m.jc=function(a){return this.j[a]};m.sc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.qb=!0)};m.hc=function(a,b){if(this.b&&null!=this.B){var c=this.b;ad(c,this.B+a,2,c.N)&&c.Y(!1)}return this.w(a,b)};m.rc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;ad(d,this.B+b,2,d.K)&&d.Y(!1)}this.G?this.Xa(a,0,c):this.D(a,b,c)};
|
||||
var Sc=0,Tc=2,Kc=["NONE","RAM","ROM"],Rc=0,Wc=[],Vc=[Ec.prototype.jc,Ec.prototype.sc],Zc=[Ec.prototype.hc,Ec.prototype.rc];
|
||||
function bd(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.hb=0;this.lb=b;this.ha=c;this.ib=Math.round(this.lb/1E4)/100;this.ca=this.ib*this.ha;this.kb=this.Ia=this.ma=this.ab=0;this.A.P=this.A.gb=!1;this.A.ga=a.autoStart;"string"==typeof this.A.ga&&(this.A.ga="true"==this.A.ga);this.A.Ta=!1;this.Ga=this.ta=0;this.Ha=+a.csStart;this.pa=+a.csInterval;this.ua=+a.csStop;this.R=[];this.Fb=this.mc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Fa=this.S=this.va=this.mb=this.Z=
|
||||
0;this.Na=null;Pb(this)}la(bd,r);m=bd.prototype;m.La=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.j;for(a=0;a<cd.length;a++)(b=this.J[cd[a]])&&this.G.sa(null,cd[a],b);Pb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
0;this.Na=null;Fb(this)}la(bd,r);m=bd.prototype;m.La=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Na=a.j;for(a=0;a<cd.length;a++)(b=this.J[cd[a]])&&this.G.sa(null,cd[a],b);Fb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
|
||||
m.Aa=function(a,b){var c=dd(this.G,"autoStart");null!=c?this.A.ga="true"==c?!0:"false"==c?!1:!!c:null==this.A.ga&&(this.A.ga=!this.D&&void 0===this.J.run);if(!b){if(a){ed(this);if(!this.restore(a))return!1;fd(this)}else this.reset();this.D?(a=this.D,b=this.A.ga,a.Ia=!0,a.u("Type ? for help with PDPjs Debugger commands"),gd(a),b||hd(a),a.ua&&(b=a.ua,a.ua=null,id(a,b,!0))):this.status("No debugger detected");this.A.ga||this.u("CPU will not be auto-started "+(this.Na?"(click Run to start)":"(type 'go' to start)"))}return!0};
|
||||
m.ra=function(a){return a?this.save():!0};m.ga=function(){return this.A.P?!0:this.A.ga?(vc(this),!0):!1};m.Kb=function(){return 0};function fd(a){void 0===a.Ha&&(a.Ha=0);void 0===a.pa&&(a.pa=-1);void 0===a.ua&&(a.ua=-1);a.A.Ta=0<=a.Ha&&0<a.pa;a.A.Ta&&(a.Ga=0,a.ta=a.Ha-a.W)}function zc(a,b){if(a.A.Ta){var c=!1;a.Ga=a.Ga+a.Kb()|0;a.ta-=b;0>=a.ta&&(a.ta+=a.pa,c=!0);0<=a.ua&&a.ua<=jd(a)&&(a.pa=a.ua=-1,fd(a),a.Y(),c=!0);c&&a.u(jd(a)+" cycles: checksum="+n(a.Ga))}}
|
||||
m.sa=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.G)if(a=d.G,a.A.ba)a=!0;else{var b=null,c,h=tb(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.ba);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.cb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.P?d.Y():vc(d))},!0;
|
||||
|
|
@ -157,15 +157,15 @@ a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
|
|||
function Ie(a){r.call(this,"ROM",a,128);this.aa=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=La()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.ja("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(ib(c.$a,a,b),(a=Ka(a,b))?(c.b=a.ea,c.aa=a.aa):c.w=null);Je(c)})}}la(Ie,r);
|
||||
Ie.prototype.La=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Je(this)};Ie.prototype.Aa=function(){this.aa&&(this.D&&Ke(this.D,this.id,this.C,this.j,this.aa),delete this.aa);return!0};Ie.prototype.ra=function(){return!0};
|
||||
function Je(a){if(!Eb(a)){if(a.w){if(!a.b||!a.H)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Cb(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b;b=a.C;if(Hc(a.H,b,a.j,Tc)){var c;for(c=0;c<a.b.length;c++)Bc(a.H,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.H,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;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}}}Pb(a)}}$a(function(){for(var a=v(document,t,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ie(d);sb(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}}}Fb(a)}}$a(function(){for(var a=v(document,t,"rom"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Ie(d);sb(d,c)}});
|
||||
function Le(a){r.call(this,"RAM",a);this.aa=this.Oa=null;this.i=+a.addr;this.j=+a.size;this.la=a.load;this.ya=a.exec;null!=this.la&&(this.la=+this.la);null!=this.ya&&(this.ya=+this.ya);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=La()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ja(a,null,!0,function(a,b,f){f?(c.ja("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(ib(c.$a,a,b),(a=Ka(a,b))?(c.Oa=a.Oa,
|
||||
c.aa=a.aa,null==c.la&&(c.la=a.la),null==c.ya&&(c.ya=a.ya)):c.b=null);Me(c)})}}la(Le,r);Le.prototype.La=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Me(this)};Le.prototype.Aa=function(a,b){this.aa&&(this.D&&Ke(this.D,this.id,this.i,this.j,this.aa),delete this.aa);b||this.reset();return!0};Le.prototype.ra=function(){return!0};
|
||||
function Me(a){if(a.H&&(!a.w&&a.j&&(Hc(a.H,a.i,a.j,1)?a.w=!0:a.j=0),!Eb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Oa)return;Ne(a,a.Oa,a.la,a.ya,a.i)?a.status('Loaded image "'+a.C+'"'):a.ja('Error loading image "'+a.C+'"')}a.F=!0;Pb(a)}}
|
||||
function Me(a){if(a.H&&(!a.w&&a.j&&(Hc(a.H,a.i,a.j,1)?a.w=!0:a.j=0),!Eb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Oa)return;Ne(a,a.Oa,a.la,a.ya,a.i)?a.status('Loaded image "'+a.C+'"'):a.ja('Error loading image "'+a.C+'"')}a.F=!0;Fb(a)}}
|
||||
Le.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,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.D(g,d,e.B+d);c-=16384;b++;d=0}this.Oa&&Ne(this,this.Oa,this.la,this.ya,this.i,!this.D)}this.F=!1};
|
||||
function Ne(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Bc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.Y(),f=!1),null!=d&&(a=a.v,a.Za=d,H(a,d),f?a.A.ba?a.A.P||vc(a):a.A.ga=!0:a.D&&a.A.ba?a.Y()||a.G.A.reset||(gd(a.D),K(a.G,-1)):!1===f&&a.Y(),!a.A.P&&a.Na&&a.Na.stop()));return g}$a(function(){for(var a=v(document,t,"ram"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Le(d);sb(d,c)}});
|
||||
function Oe(a){r.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=Pe;b&&(void 0===c&&(c="Panel"),(c=vb(c,this.id))&&(b=c.J[b])&&this.sa(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.eb,receiveStatus:this.kc,setConnection:this.nc}}la(Oe,r);m=Oe.prototype;
|
||||
m.sa=function(a,b,c){var d=this;switch(b){case Pe: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.xb:na.Qb:46==c?b=na.xb:a.ctrlKey&&c>=na.wb&&c<=na.Sb&&(b=c-(na.wb-na.Nb));b&&(a.preventDefault&&a.preventDefault(),d.eb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==na.Pb&&(b=na.Ob);d.eb(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.eb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.La=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Pb(this)};
|
||||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.eb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.La=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Fb(this)};
|
||||
m.Lb=function(a){if(!this.b){var b=dd(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Db)return;c=Ea(c[1]);if(this.b=ub(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.$a+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.Aa=function(a,b){if(!b)if(this.Lb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
m.ra=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new G(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.eb=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};m.kc=function(){};m.nc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var Pe="buffer";
|
||||
$a(function(){for(var a=v(document,t,"serial"),b=0;b<a.length;b++){var c=a[b],d=w(c),d=new Oe(d);sb(d,c)}});function Qe(a){r.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.S=["{","}"];this.ta=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}la(Qe,r);Qe.prototype.rb=function(){return-1};Qe.prototype.sb=function(){};
|
||||
|
|
@ -185,7 +185,7 @@ var $e={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<
|
|||
function ff(a){Qe.call(this,a);this.Ia=!1;this.Fa=18;this.L=36;this.S=["<",">"];this.ta=[];this.Ha=Y();this.M=Y(0);this.oa=Y(0);this.ha=Y(0);this.I=[];this.i=this.N=this.K=[];gf(this);this.W=this.pa=0;this.j=[];this.Ba=void 0;hf(this);this.D=this;this.va={};this.da=this.Eb=0;this.Z=null;this.R=[];jf(this,a.messages);this.ua=a.commands;this.Ga=[];this.O=0;this.Na=this.Ca=null;this.F=this.Ka=this.Ja=this.na=this.xa=0;this.wa=this.ma=this.ca=null;var b=this;window?void 0===window[t]&&(window[t]=function(a){return id(b,
|
||||
a)}):void 0===global[t]&&(global[t]=function(a){return id(b,a)})}la(ff,Qe);function kf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,bb:void 0===b?!1:b,qa:!1,T:c}}function lf(a,b,c,d){a.B=b;a.bb=c||!1;a.qa=!1;a.T=d}function mf(a){return[a.B,a.bb,a.qa,a.T,a.fb]}function nf(a,b){var c=Y(b[0],b[1],b[2]);c.qa=b[3];b[4]&&(c.zb=Re(a,c.fb=b[4]));return c}m=ff.prototype;
|
||||
m.La=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ma=a.j;this.Fa=b.F;(b=dd(a,"messages"))&&jf(this,b);if(a=dd(a,"commands"))this.ua=a;of(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=kf(pf(d,c,d.oa));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");for(var c=-1,l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Kc[c],p&&d.u(n(p.id,8)+" %"+
|
||||
n(e<<d.H.i,8)+" %"+n(p.B,8)+" "+n(p.Wa,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Sc&&(c=-1),l=0);a+=16384;e++}}});Pb(this)};
|
||||
n(e<<d.H.i,8)+" %"+n(p.B,8)+" "+n(p.Wa,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=Sc&&(c=-1),l=0);a+=16384;e++}}});Fb(this)};
|
||||
m.sa=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="",id(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Ya(c,function(){if(d.ca){var a=d.ca.value;
|
||||
d.ca.value="";id(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Ya(c,function(a){var b=!1;Qb(d,!0)||(Rb(d,!0),b=wc(d,a?1:0,null),Rb(d,!1));return b}),!0}return!1};function hd(a){if(a.ca){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ca.focus();window&&window.scrollTo(b,c)}}m.Ma=function(a,b){var c=-1,d=kf(a);-1!==d&&(c=Cc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};m.yb=function(a,b,c){var d=kf(a);-1!==d&&(Bc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),K(this.G,-1))};
|
||||
m.Ib=function(a,b){0>a&&(a+=E);0>b&&(b+=E);a=De.call(this.v,a,b,!1,!0);a>=C&&(a-=E);return a};
|
||||
|
|
@ -224,15 +224,15 @@ k[0],J=z.charAt(0),p=1;p<z.length;p++)if(B=z.charAt(p),"?"==J||"r"==J||"a">B||"z
|
|||
if("l"==Pa){var Rd;Rd=0+Wf(a,a.i);Rd+=Wf(a,a.N);(Rd+=Wf(a,a.K))||a.u("no breakpoints")}else if("n"==Pa){var cg=+ra||0;ra&&(a.pa=cg);a.u("break after "+cg+" instruction(s)")}else if(void 0===ra)a.u("missing breakpoint address");else{var ja="*"==ra?Y():pf(a,ra,a.M);"c"==Pa?null==ja.B?(gf(a),a.u("all breakpoints cleared")):Uf(a,a.i,ja)||Uf(a,a.N,ja)||Uf(a,a.K,ja)||a.u("breakpoint missing: "+L(a,ja.B,18)):null!=ja.B&&(rf(a,ja,I),"p"==Pa?a.Ra(a.i,ja):"r"==Pa?a.Ra(a.N,ja):"w"==Pa?a.Ra(a.K,ja):a.u("unknown breakpoint command: "+
|
||||
Pa))}}break;case "c":var dg=a.G;dg.F&&(dg.F.value="");break;case "d":a:{var kb,lb=k[0],sa=k[1],Ga=k[2],ci=k[3];if("?"==sa){var mb="";for(kb in ec)a.va[kb]&&(mb&&(mb+=","),mb+=kb);mb+=",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");mb.length&&a.u("dump extension commands:\n\t"+mb)}else if("state"==sa){var Sd=Mg(a.G,!0);if("console"==
|
||||
Ga)console.log(Sd);else{var eg=a.G;eg.F&&(eg.F.value="");Sd&&a.u(Sd)}}else if("symbols"==sa)for(var Td=0;Td<a.I.length;Td++){var Ud=a.I[Td],nb;for(nb in Ud.aa)if("."!=nb.charAt(0)){var fg=Ud.aa[nb].o;if(void 0!==fg){var gg=Ud.aa[nb].l;gg&&(nb=gg);a.u(L(a,fg,18)+" "+nb)}}}else{if("d"==lb){for(kb in ec)if(k[1]==kb){var hg=a.va[kb];hg?(k.shift(),k.shift(),hg(k)):a.u("no dump registered for "+sa);break a}sa||(lb=a.Na||"dw")}else a.Na=lb;if("dh"==lb){var ig=sa,jg=Ga,kg="",lg=0,ka=a.W,ta=a.j;if(ta.length){var ga=
|
||||
+ig||a.Ba,Fb=+jg||10;isNaN(ga)?ga=Fb:kg="more ";ga>ta.length&&(a.u("note: only "+ta.length+" available"),ga=ta.length);ka-=ga;0>ka&&(null==ta[ta.length-1].B?(ga=ka+ga,ka=0):ka+=ta.length);var Vd=[];"call"==jg&&(Fb=1E5,Vd=["CALL"]);for(void 0!==ig&&a.u(ga+" instructions earlier:");0<Fb&&ka!=a.W;){var mg=ta[ka++];if(null==mg.B)break;var Gb=Y(mg.B),di=ga--,ng=Lf(a,Gb,"history",di);(!Vd.length||0<=ng.indexOf(Vd[0]))&&a.u(ng);Gb.pb&&(ka+=Gb.pb,Fb-=Gb.pb,ga-=Gb.pb);ka>=ta.length&&(ka=0);a.Ba=ga;lg++;Fb--}}lg||
|
||||
(a.u("no "+kg+"history available"),a.Ba=void 0)}else{var Qa=0,og="ds"==lb,Hb=pf(a,sa,a.oa);Ga&&("l"==Ga.charAt(0)?(Ga=Ga.substr(1)||ci,Qa=Xe(a,Ga)):Qa=pf(a,Ga).B-Hb.B,0>Qa&&(Qa=0),65536<Qa&&(Qa=65536));var ei=a.T;Hb.T&&(a.T=Hb.T);for(var pg="db"==lb?1:2,Wd=Qa||32,Xd=1==pg?1:4,fi=(Wd+Xd-1)/Xd|0||1,Ra="";fi--&&0<Wd;){for(var ua="",Yd="",sa=L(a,Hb.B,18),qg=Xd;0<qg--&&0<Wd--;){var Zd=a.Ma(Hb,1);og?(ua&&(ua+=","),ua+=Zd):(ua+=sf(a,Zd),ua+=" ");for(var Nc=29,gi=0;1==pg&&0<=Nc;gi++)var Ib=Zd/Math.pow(2,
|
||||
Nc)%Math.pow(2,7),ua=ua+(L(a,Ib,7)+" "),Ib=Ib+0,Yd=Yd+(32>Ib?".":String.fromCharCode(Ib)),Nc=Nc-7}Ra&&(Ra+="\n");Ra=og?Ra+(ua+","):Ra+(sa+": "+ua+(0>qg?" "+Yd:""))}Ra&&a.u(Ra);a.T=ei}}}break;case "e":if("else"==k[0])break;var rg,sg,tg=k[0],$d=k[1];"e"==tg||"ew"==tg?(rg=a.Ma,sg=a.yb):$d=null;if(null==$d)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var ae=pf(a,$d,a.oa),be=2;be<k.length;be++){var Jb=bf(a,k[be]);if(void 0===Jb)break;Jb=qf(Jb);a.u("changing "+L(a,
|
||||
ae.B,18)+" from "+sf(a,rg.call(a,ae))+" to "+sf(a,Jb));sg.call(a,ae,Jb,1)}break;case "g":var ug=k[1],hi=b;if(void 0!==ug){var vg=pf(a,ug);rf(a,vg,hi);a.Ra(a.i,vg,!0)}Ff(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),a.Y()):Qb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var ce;var Kb=b.substr(2),Kb=Ea(Kb);bf(a,Kb)?(c||a.u("true: "+Kb),ce=!0):(c||a.u("false: "+Kb),ce=!1);ce||(d=!1);break}f=!0;break;case "k":var ii=k[0];if("?"==k[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),
|
||||
a.u("\tks\tshow symbol information");else{var de=0,ee=Y(),Lb=Y();for(a.u("stack trace for "+L(a,Lb.B,18));10>de;){for(var Sa=null,ji=256;65536>Lb.B>>>0;){ee.B=a.Ma(Lb,2);if(null==Lb.B||!ji--)break;if(!(ee.B&1)){for(var ki=a,Oc=ee,wg=null,Mb=Oc.B,xg=Mb,fe=1;6>=fe&&Mb;fe++){if(2<fe){Oc.B=Mb;var Pc=Lf(ki,Oc);if(0<=Pc.indexOf("JSR")){var yg=Pc.indexOf(" ");if(Mb+(Pc.indexOf(" ",yg+1)-yg-1)/2==xg){wg=Pc;break}}}Mb-=2}Oc.B=xg;if(Sa=wg)break}}if(!Sa||null==Sa)break;var zg=null;if("ks"==ii){var Ag=Sa.match(/[0-9A-F]+$/);
|
||||
Ag&&(zg=Jg(a,Ag[0]))}Sa=Da(Sa,50)+" ;"+(zg||"stack="+L(a,Lb.B,18));a.u(Sa);de++}de||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Jg(a,k[1],!0);break}f=!0;break;case "m":a:{var va,wa=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ha=0;if("all"==N)Ha=1879046143,N=null;else if("on"==N)wa=!0,N=null;else if("off"==N)wa=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(va in ec)if(N==va){Ha=ec[va];wa=!!(a.da&Ha);break}if(!Ha){a.u("unknown message category: "+N);break a}}if(Ha)if("on"==
|
||||
k[2])a.da|=Ha,wa=!0;else if("off"==k[2]&&(a.da&=~Ha,wa=!1,1073741824==Ha)){for(var Bg=1E3<=a.R.length?a.R.length-1E3:0;Bg<a.R.length;)a.u(a.R[Bg++]);a.R=[]}}var li=0,Nb="";for(va in ec)if(!N||N==va){var mi=!!(a.da&ec[va]);if(null===wa||wa==mi)Nb&&(Nb+=","),++li%10||(Nb+="\n\t"),"key"==va&&(va="keys"),Nb+=va}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==wa?wa?"messages on: ":"messages off: ":"message categories:\n\t")+(Nb||"none"));hf(a)}break;case "p":if("print"==
|
||||
+ig||a.Ba,Gb=+jg||10;isNaN(ga)?ga=Gb:kg="more ";ga>ta.length&&(a.u("note: only "+ta.length+" available"),ga=ta.length);ka-=ga;0>ka&&(null==ta[ta.length-1].B?(ga=ka+ga,ka=0):ka+=ta.length);var Vd=[];"call"==jg&&(Gb=1E5,Vd=["CALL"]);for(void 0!==ig&&a.u(ga+" instructions earlier:");0<Gb&&ka!=a.W;){var mg=ta[ka++];if(null==mg.B)break;var Hb=Y(mg.B),di=ga--,ng=Lf(a,Hb,"history",di);(!Vd.length||0<=ng.indexOf(Vd[0]))&&a.u(ng);Hb.pb&&(ka+=Hb.pb,Gb-=Hb.pb,ga-=Hb.pb);ka>=ta.length&&(ka=0);a.Ba=ga;lg++;Gb--}}lg||
|
||||
(a.u("no "+kg+"history available"),a.Ba=void 0)}else{var Qa=0,og="ds"==lb,Ib=pf(a,sa,a.oa);Ga&&("l"==Ga.charAt(0)?(Ga=Ga.substr(1)||ci,Qa=Xe(a,Ga)):Qa=pf(a,Ga).B-Ib.B,0>Qa&&(Qa=0),65536<Qa&&(Qa=65536));var ei=a.T;Ib.T&&(a.T=Ib.T);for(var pg="db"==lb?1:2,Wd=Qa||32,Xd=1==pg?1:4,fi=(Wd+Xd-1)/Xd|0||1,Ra="";fi--&&0<Wd;){for(var ua="",Yd="",sa=L(a,Ib.B,18),qg=Xd;0<qg--&&0<Wd--;){var Zd=a.Ma(Ib,1);og?(ua&&(ua+=","),ua+=Zd):(ua+=sf(a,Zd),ua+=" ");for(var Nc=29,gi=0;1==pg&&0<=Nc;gi++)var Jb=Zd/Math.pow(2,
|
||||
Nc)%Math.pow(2,7),ua=ua+(L(a,Jb,7)+" "),Jb=Jb+0,Yd=Yd+(32>Jb?".":String.fromCharCode(Jb)),Nc=Nc-7}Ra&&(Ra+="\n");Ra=og?Ra+(ua+","):Ra+(sa+": "+ua+(0>qg?" "+Yd:""))}Ra&&a.u(Ra);a.T=ei}}}break;case "e":if("else"==k[0])break;var rg,sg,tg=k[0],$d=k[1];"e"==tg||"ew"==tg?(rg=a.Ma,sg=a.yb):$d=null;if(null==$d)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var ae=pf(a,$d,a.oa),be=2;be<k.length;be++){var Kb=bf(a,k[be]);if(void 0===Kb)break;Kb=qf(Kb);a.u("changing "+L(a,
|
||||
ae.B,18)+" from "+sf(a,rg.call(a,ae))+" to "+sf(a,Kb));sg.call(a,ae,Kb,1)}break;case "g":var ug=k[1],hi=b;if(void 0!==ug){var vg=pf(a,ug);rf(a,vg,hi);a.Ra(a.i,vg,!0)}Ff(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),a.Y()):Qb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var ce;var Lb=b.substr(2),Lb=Ea(Lb);bf(a,Lb)?(c||a.u("true: "+Lb),ce=!0):(c||a.u("false: "+Lb),ce=!1);ce||(d=!1);break}f=!0;break;case "k":var ii=k[0];if("?"==k[1])a.u("stack trace commands:"),a.u("\tk\tshow frame addresses"),
|
||||
a.u("\tks\tshow symbol information");else{var de=0,ee=Y(),Mb=Y();for(a.u("stack trace for "+L(a,Mb.B,18));10>de;){for(var Sa=null,ji=256;65536>Mb.B>>>0;){ee.B=a.Ma(Mb,2);if(null==Mb.B||!ji--)break;if(!(ee.B&1)){for(var ki=a,Oc=ee,wg=null,Nb=Oc.B,xg=Nb,fe=1;6>=fe&&Nb;fe++){if(2<fe){Oc.B=Nb;var Pc=Lf(ki,Oc);if(0<=Pc.indexOf("JSR")){var yg=Pc.indexOf(" ");if(Nb+(Pc.indexOf(" ",yg+1)-yg-1)/2==xg){wg=Pc;break}}}Nb-=2}Oc.B=xg;if(Sa=wg)break}}if(!Sa||null==Sa)break;var zg=null;if("ks"==ii){var Ag=Sa.match(/[0-9A-F]+$/);
|
||||
Ag&&(zg=Jg(a,Ag[0]))}Sa=Da(Sa,50)+" ;"+(zg||"stack="+L(a,Mb.B,18));a.u(Sa);de++}de||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Jg(a,k[1],!0);break}f=!0;break;case "m":a:{var va,wa=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ha=0;if("all"==N)Ha=1879046143,N=null;else if("on"==N)wa=!0,N=null;else if("off"==N)wa=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(va in ec)if(N==va){Ha=ec[va];wa=!!(a.da&Ha);break}if(!Ha){a.u("unknown message category: "+N);break a}}if(Ha)if("on"==
|
||||
k[2])a.da|=Ha,wa=!0;else if("off"==k[2]&&(a.da&=~Ha,wa=!1,1073741824==Ha)){for(var Bg=1E3<=a.R.length?a.R.length-1E3:0;Bg<a.R.length;)a.u(a.R[Bg++]);a.R=[]}}var li=0,Ob="";for(va in ec)if(!N||N==va){var mi=!!(a.da&ec[va]);if(null===wa||wa==mi)Ob&&(Ob+=","),++li%10||(Ob+="\n\t"),"key"==va&&(va="keys"),Ob+=va}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==wa?wa?"messages on: ":"messages off: ":"message categories:\n\t")+(Ob||"none"));hf(a)}break;case "p":if("print"==
|
||||
k[0]){Kg(a,b.substr(5));break}var Cg=k[0],Dg="p"==Cg?0:"pr"==Cg?1:-1;if("?"==k[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 Eg=Y(a.v.i);a.Ma(Eg);a.O?(a.Ra(a.i,Eg,!0),Ff(a)||(a.G&&nd(a.G),a.O=0)):Lg(a,Dg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}If(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var ob=+k[2];if(2==ob||8==ob||10==ob||16==ob)a.T=ob;else{a.u("invalid base: "+
|
||||
ob);break}}a.u("default base: "+a.T);break;case "cs":var Ob;void 0!==k[3]&&(Ob=+k[3]);switch(k[2]){case "int":a.v.pa=Ob;break;case "start":a.v.Ha=Ob;break;case "stop":a.v.ua=Ob;break;default:a.u("unknown cs option");break a}void 0!==Ob&&fd(a.v);a.u("checksums "+(a.v.A.Ta?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(kd(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ca.toFixed(2)+"Mhz")+" ("+a.v.ha+"x)");break;default:if(k[1]){a.u("unknown option: "+
|
||||
ob);break}}a.u("default base: "+a.T);break;case "cs":var Pb;void 0!==k[3]&&(Pb=+k[3]);switch(k[2]){case "int":a.v.pa=Pb;break;case "start":a.v.Ha=Pb;break;case "stop":a.v.ua=Pb;break;default:a.u("unknown cs option");break a}void 0!==Pb&&fd(a.v);a.u("checksums "+(a.v.A.Ta?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(kd(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ca.toFixed(2)+"Mhz")+" ("+a.v.ha+"x)");break;default:if(k[1]){a.u("unknown option: "+
|
||||
k[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":Lg(a,k[0],k[1]);break;case "u":Jf(a,k[1],k[2],8);break;case "v":if("var"==k[0]){Ig(a,b.substr(3))||(d=!1);break}if("ver"==k[0]){a.u((Ub||"PDP10")+" version 1.36.0 ("+a.v.jb+",RELEASE)");a.u(window?
|
||||
window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Kg(a,b.substr(1));break}var ge="commands:",he;for(he in Ng)ge+="\n"+Da(he,9)+Ng[he];yd(a)||(ge+="\nnote: history disabled if no exec breakpoints");a.u(ge);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 id(a,b,c){null!=b&&(a.Ga=Re(a,b,c));for(;b=a.Ga.shift();)if(!Xf(a,b))return!1;return!0}
|
||||
var Ng={"?":"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"},Qf=20,Rf=".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(" "),
|
||||
|
|
@ -270,7 +270,7 @@ function Sg(a,b){a.u("warning in "+Ug(a,void 0)+": "+b)}Fg.prototype.u=function(
|
|||
var dh=1,eh=2,fh=4,lh="ASCII",mh="ASCIZ",oh="BLOCK",ph="BYTE",zh="DEFINE",sh="END",th="EXP",Ah="IF1",Bh="IFDEF",Ch="IFDIF",Dh="IFE",Eh="IFG",Fh="IFGE",Gh="IFIDN",Hh="IFL",Ih="IFLE",Jh="IFN",Kh="IFNDEF",ah="IRP",bh="IRPC",Ph="LALL",vh="LIT",ih="LITERAL",Qh="LIST",wh="LOC",Rh="NOSYM",Lh="OPDEF",Sh="PAGE",Nh="PURGE",Mh="REPEAT",nh="SIXBIT",Th="SUBTTL",Uh="TITLE",xh="VAR",Vh="XALL",yh="XWD",Wh="XLIST",ai=-1,Xh=-2,bi=-3,$h=-4;
|
||||
function ni(a,b,c){r.call(this,"Computer",a,33554432);this.A.ba=!1;this.S=null;oi(this,b);this.O=dd(this,"autoPower",a,6);this.w=0;this.Z=+a.busWidth||+a.buswidth;this.M=this.I=this.N=null;this.L=this.W=!1;this.K=this.C=null;this.V=this.R=!1;this.ca=dd(this,"url")||"";(Math.random()+.1).toString(36);this.i=pi(this);if(this.v=vb("CPU",this.id)){this.D=vb("Debugger",this.id);this.H=new Dc({id:this.$a+".bus",busWidth:this.Z},this.v,this.D);var d,e=tb(this.id);if(this.F=(this.j=vb("Panel",this.id))&&
|
||||
this.j.J.print)for(b=0;b<e.length;b++)d=e[b],d.ja=this.j.ja,d.print=this.j.print,d.u=this.j.u;this.u(Ub+" v1.36.0\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.La&&d.La(this,this.H,this.v,this.D);b=null;d=dd(this,"resume",a);void 0!==d&&(1<d.length?b=this.I=d:this.b=parseInt(d,10));var f;if(a=dd(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=qi),this.b&&(this.K=new G(this,
|
||||
"1.36.0"),ri(this.K)?b=null:delete this.K);!b&&this.b&&(b=si(this))&&(this.L=!0);if(b){var g=this;Ja(b,null,!0,function(a,b,c){c?(g.I=null,g.L=!1,g.ja("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.M=b,g.W=!0);Pb(g)})}else Pb(this);this.J.power||(this.O=!0);!c&&this.O&&ti(this,this.Va)}else q("Unable to find CPU component")}la(ni,r);
|
||||
"1.36.0"),ri(this.K)?b=null:delete this.K);!b&&this.b&&(b=si(this))&&(this.L=!0);if(b){var g=this;Ja(b,null,!0,function(a,b,c){c?(g.I=null,g.L=!1,g.ja("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.M=b,g.W=!0);Fb(g)})}else Fb(this);this.J.power||(this.O=!0);!c&&this.O&&ti(this,this.Va)}else q("Unable to find CPU component")}la(ni,r);
|
||||
function oi(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.S=b}function dd(a,b,c,d){var e=b.toLowerCase(),e=Va(b)||Va(e);void 0===e&&a.S&&(e=a.S[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 ti(a,b,c){for(var d=tb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Eb(f)){Eb(f,function(){ti(a,b,c)});return}}b.call(a,c)}function ui(a,b){var c=new G(a,"1.36.0",vi);if(ri(c)&&wi(c)){var d=c.get(xi),e=b?b.get(xi):"unknown";d!=e&&(a.ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=ni.prototype;
|
||||
m.Va=function(a){void 0===a&&(a=this.b||(this.M?yi:qi));if(!this.w){this.w++;var b=!1,c=!1;this.R=!1;var d=this.K||new G(this,"1.36.0");if(a==zi)b=!0;else if(a>qi){if(ri(d,this.M)){this.C=new G(this,"1.36.0",Ai);ri(this.C)&&(Bi(this,d),a=Ci,Di(this.C));this.C.set(xi,Ia());Ei(this.C);var e=this.b&&!this.L;if(a==yi||qb("Click OK to restore the previous "+Ub+" machine state, or CANCEL to reset the machine.")){if(c=wi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ri(d,g):("error"==f&&"no machine state"!=
|
||||
|
|
@ -301,5 +301,5 @@ function Ri(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
|
|||
function Si(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&v(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);l&&(--Oi||db(!0));l=!1}var h,k,l=!0;Oi++;jb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var u=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));u.appendChild(B)}d||
|
||||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.36.0/components.xsl");p=function(e,k){k?Pi(d,null,a,null,!1,f,function(a,e){e?(ib(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Oi||db(!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),--Oi||
|
||||
db(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Pi(c,b,a,e,!0,f,p):Qi(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(z){g(z.message)}return l}window.embedPDP10=function(a,b,c,d){db(!1);return Si("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){db(!1);return Si("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if("string"==typeof f&&!xb[c]){d=!0;e=xb;for(var g=c,h=f.length,k=[],l=[],p="",u=null,B=0;B<h;B++){var z=f[B];if('"'==z||"'"==z)u&&z!=u?p+=z:(u?u=null:u=z,p&&(l.push(p),p=""));else{if(!u){if("\r"==z||"\n"==z)z=";";if(" "==z||"\t"==z||";"==z){p&&(l.push(p),p="");";"==z&&l.length&&(k.push(l),l=[]);continue}}p+=z}}p&&l.push(p);l.length&&k.push(l);e[g]=k;wb(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(g=vb(d,c+".machine"))&&
|
||||
(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=db;window.sendEvent=fb;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp10-dbg.map
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete xb[c],d=!0;else if("string"==typeof f&&!xb[c]){d=!0;e=xb;for(var g=c,h=f.length,k=[],l=[],p="",u=null,B=0;B<h;B++){var z=f[B];if('"'==z||"'"==z)u&&z!=u?p+=z:(u?u=null:u=z,p&&(l.push(p),p=""));else{if(!u){if("\r"==z||"\n"==z)z=";";if(" "==z||"\t"==z||";"==z){p&&(l.push(p),p="");";"==z&&l.length&&(k.push(l),l=[]);continue}}p+=z}}p&&l.push(p);l.length&&k.push(l);e[g]=k;wb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=vb(d,c+".machine"))&&(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=db;window.sendEvent=fb;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp10-dbg.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3191,7 +3191,11 @@ class Component {
|
|||
{
|
||||
var fSuccess = false;
|
||||
idMachine += ".machine";
|
||||
if (typeof sScript == "string" && !Component.commands[idMachine]) {
|
||||
if (!sScript) {
|
||||
delete Component.commands[idMachine];
|
||||
fSuccess = true;
|
||||
}
|
||||
else if (typeof sScript == "string" && !Component.commands[idMachine]) {
|
||||
fSuccess = true;
|
||||
Component.commands[idMachine] = Component.getScriptCommands(sScript);
|
||||
if (!Component.processCommands(idMachine)) {
|
||||
|
|
|
|||
|
|
@ -194,5 +194,5 @@ function Nd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
|
|||
function Od(a,b,c,d,e){function f(a){if(void 0===m){var b=k&&x(k,"machine-warning");m=b&&b[0]||k}m&&(m.innerHTML=qa(a))}function g(a){f("Error: "+a);t&&(--Kd||Ga(!0));t=!1}var k,m,t=!0;Kd++;La[b]={};try{if(k=document.getElementById(b)){var B;if("object"==typeof resources&&(B=resources.css)){var S=document.head||document.getElementsByTagName("head")[0],X=document.createElement("style");X.type="text/css";X.styleSheet?X.styleSheet.cssText=B:X.appendChild(document.createTextNode(B));S.appendChild(X)}d||
|
||||
(B=a,"pdp"==a.substr(0,3)&&(B="pdpjs"),d="/versions/"+B+"/1.36.0/components.xsl");B=function(e,m){m?Ld(d,null,a,null,!1,f,function(a,e){e?(Ka(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=m.transformNode(e))?(k.outerHTML=e,--Kd||Ga(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(m,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Kd||
|
||||
Ga(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ld(c,b,a,e,!0,f,B):Md(c,null,b,a,e,!1,f,B)}else g("missing machine element: "+b)}catch(I){g(I.message)}return t}window.embedPDP10=function(a,b,c,d){Ga(!1);return Od("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Ga(!1);return Od("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if("string"==typeof f&&!Ta[c]){d=!0;e=Ta;for(var g=c,k=f.length,m=[],t=[],B="",S=null,X=0;X<k;X++){var I=f[X];if('"'==I||"'"==I)S&&I!=S?B+=I:(S?S=null:S=I,B&&(t.push(B),B=""));else{if(!S){if("\r"==I||"\n"==I)I=";";if(" "==I||"\t"==I||";"==I){B&&(t.push(B),B="");";"==I&&t.length&&(m.push(t),t=[]);continue}}B+=I}}B&&t.push(B);t.length&&m.push(t);e[g]=m;Sa(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(g=z(d,c+".machine"))&&
|
||||
(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Ga;window.sendEvent=Ia;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp10.map
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Ta[c],d=!0;else if("string"==typeof f&&!Ta[c]){d=!0;e=Ta;for(var g=c,k=f.length,m=[],t=[],B="",S=null,X=0;X<k;X++){var I=f[X];if('"'==I||"'"==I)S&&I!=S?B+=I:(S?S=null:S=I,B&&(t.push(B),B=""));else{if(!S){if("\r"==I||"\n"==I)I=";";if(" "==I||"\t"==I||";"==I){B&&(t.push(B),B="");";"==I&&t.length&&(m.push(t),t=[]);continue}}B+=I}}B&&t.push(B);t.length&&m.push(t);e[g]=m;Sa(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=z(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Ga;window.sendEvent=Ia;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp10.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -87,7 +87,7 @@ h.Uf=function(a){a||this.f.A.V||(tc(this.f,this.ga),a=this.f,a.F.reset(),uc(a),t
|
|||
h.Of=function(a){if(a&&!this.f.A.V)if(this.G&&Bc(this),a=Wb(this,this.Wa),this.K==Vb)Cc(this.F,this.ga,a);else{var b=this.f,c=this.ga;b.qa++;b.F.Zb(Dc(b,c,4),a);b.qa--}};h.Qf=function(a){a||this.f.A.V||(this.I&&Bc(this),a=this.K==Vb?Ec(this.F,this.ga):Fc(this.f,this.ga),Wb(this,a))};h.Sf=function(a){a||this.f.A.V||lc(this,this.Wa)};h.Rf=function(a){a?(this.w=!0,ic(this,!0)):(this.w=!1,ic(this),mc(this,0))};h.Tf=function(a,b){this.Wa=a?this.Wa|1<<b:this.Wa&~(1<<b)};
|
||||
function Bc(a){var b=1140>=a.f.ka?8:16,c=65472<=a.ga&&a.ga<65472+b,b=c?1:2,c=c?15:a.F.I;a.b[qc]&&a.b[qc][1]||(b=-b);lc(a,a.ga&~c|a.ga+b&c)}function lc(a,b){a.ga=b&a.F.I;if(a.B!==a.ga){a.B=a.ga;b=a.B;for(var c=0;22>c;c++)Gc(a,"A"+c,b&1<<c)}}function Xb(a,b){a.g=b&65535;if(a.C!==a.g){a.C=a.g;b=a.C;for(var c=0;16>c;c++)Gc(a,"D"+c,b&1<<c)}return a.g}function Gc(a,b,c){a.i[b]=c;a.w||nc(a,b,c)}function mc(a,b){a.Wa=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.Wa&1<<b?1:0;jc(a);return!0}
|
||||
h.stop=function(){lc(this,this.f.g[7])};h.Gd=function(a){this.ga=a};h.setData=function(a,b){b?this.Db=a:this.g=a};h.$f=function(a,b){return(b?this.Db:this.Wa)&65535};h.th=function(a){this.Db=a};function kc(){for(var a=A(document,y,"panel"),b=0;b<a.length;b++){var c=a[b],d=kb(c),e=pb(d.id);e||(e=new Ub(d,!0));jb(e,c)}}var Vb=7,rc="DEP",vc="ENABLE",sc="EXAM",qc="STEP",Hc={},gc=(Hc[65400]=[null,null,Ub.prototype.$f,Ub.prototype.th,"CNSW"],Hc);Sa(kc);
|
||||
function Ic(a,b,c){x.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=Jc;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Qa=[];this.oa=0;this.C=!1;this.N=[];this.zf=[Kc,Lc,Xc,Yc];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);Zc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-Jc;$c(this,this.B,Jc,ad,this);this.P=
|
||||
function Ic(a,b,c){x.call(this,"Bus",a,16);this.f=b;this.D=c;this.U=+a.busWidth||16;this.M=1<<this.U;this.I=this.M-1;this.j=Jc;this.g=Math.log2(this.j);this.R=this.j>>2;this.i=this.j-1;this.G=this.M/this.j|0;this.S=this.G-1;this.Qa=[];this.oa=0;this.C=!1;this.N=[];this.zf=[Kc,Lc,Mc,Yc];this.b=this.u=[];this.B=this.K=this.w=this.O=this.P=0;a=new I(this);Zc(a,this.D);this.b=Array(this.G);this.u=Array(this.G);for(b=0;b<this.G;b++)this.b[b]=this.u[b]=a;this.B=this.M-Jc;$c(this,this.B,Jc,ad,this);this.P=
|
||||
this.O=(this.B&this.I)>>>this.g;this.K=0;this.w=this.I;D(this)}p(Ic,x);function bd(a,b){if(b!=a.K){for(var c=0;c<a.G;c++)a.u[c]=a.b[c];a.K=0;a.w=a.I;b&&(a.K=b,b=1<<b,a.w=b-1,b-=Jc,a.P=(b&a.w)>>>a.g,a.u[a.P]=a.b[a.O])}}h=Ic.prototype;h.reset=function(){for(var a=0;a<this.N.length;a++)this.N[a]();bd(this,16)};h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};h.Ca=function(a){return a?this.save():!0};h.save=function(){var a=new G(this);a.set(0,cd(this));return a.data()};
|
||||
h.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&&d.length<this.R){for(var e=0,f=Array(this.R),g=0;g<d.length-1;)for(var k=d[g++],l=d[g++];k--;)f[e++]=l;d=f}e=this.b[c];if(!e||!e.restore(d)){w("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
|
||||
function $c(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.g;0<g&&k<a.b.length;){var l=a.b[k],m=k*a.j,n=a.j-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.L)return l.Vb+=l.L-f,l.L=f,!0;if(f>=l.L+l.Vb){n=l.size-(f-m);n>g&&(n=g);l.Vb=f-l.L+n;f=m+a.j;g-=n;k++;continue}}return dd(ed,f,g)}f=new I(a,f,n,a.j,d,e);Zc(f,a.D,l);a.b[k++]=f;f=m+a.j;g-=n}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+fd[d]+" at "+u(b)),!0):dd(gd,b,c)}h.Ld=function(a){return this.u[(a&this.w)>>>this.g].Cb(a&this.i,a)};
|
||||
|
|
@ -99,7 +99,7 @@ function fc(a,b,c,d){for(var e in c){var f=+e+(d||0),g=c[e];if(!(g[6]&&g[6]>a.f.
|
|||
function hc(a,b){a.N.push(b)}h.Oa=function(a,b,c){this.C=!0;this.oa||(this.D&&E(this.D,4)&&F(this.D,"memory fault ("+c+") on "+K(this.D,a),!0,!0),b&&(this.f.P|=b),this.f.sa(4,0,a))};function nd(a){var b=a.C;a.C=!1;return b}function dd(a,b,c){w("Memory block error ("+a+": "+v(b)+","+v(c)+")");return!1}var Jc=8192,md=Jc-1,ed=1,gd=2;
|
||||
function Kc(a,b){var c=-1,d=this.controller,e=d.Qa[a],f=b&65535;e?e[0]?c=e[0](f):e[2]&&(c=f&1?e[2](f&-2)>>8:e[2](f)&255):f&1&&(e=d.Qa[a&-2])&&(e[2]?c=e[2](f&-2)>>8:e[0]&&(c=e[0](f)));if(0<=c)return this.f&&E(this.f,16|e[5])&&F(this.f,e[4]+".readByte("+K(this.f,b)+"): "+K(this.f,c),!0,!d.oa),c;d.Oa(b,16,3);c=255;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to byte @"+K(this.f,b)+": "+K(this.f,c),!0,!d.oa);return c}
|
||||
function Lc(a,b,c){var d=!1,e=this.controller,f=e.Qa[a],g=c&65535;if(f)if(f[1])f[1](b,g),d=!0;else{if(f[3]){a=f[2]?f[2](g,!0):0;if(g&1)f[3](a&255|b<<8,g&-2);else f[3](a&-256|b,g);d=!0}}else g&1&&(f=e.Qa[a&-2])&&(f[3]?(g&=-2,a=f[2]?f[2](g,!0):0,f[3](a&255|b<<8,g),d=!0):f[1]&&(f[1](b,g),d=!0));d?this.f&&E(this.f,16|f[5])&&F(this.f,f[4]+".writeByte("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.oa):(e.Oa(c,16,5),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to byte @"+K(this.f,c)+": "+K(this.f,
|
||||
b),!0,!e.oa))}function Xc(a,b){var c=-1,d=this.controller;a=d.Qa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.oa),c;d.Oa(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.oa);return c}
|
||||
b),!0,!e.oa))}function Mc(a,b){var c=-1,d=this.controller;a=d.Qa[a];var e=b&65535;a&&(a[2]?c=a[2](e):a[0]&&(c=a[0](e)|a[0](e+1)<<8));if(0<=c)return this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".readWord("+K(this.f,b)+"): "+K(this.f,c),!0,!d.oa),c;d.Oa(b,16,2);c=65535;this.f&&E(this.f,16)&&F(this.f,"warning: unconverted read access to word @"+K(this.f,b)+": "+K(this.f,c),!0,!d.oa);return c}
|
||||
function Yc(a,b,c){var d=!1,e=this.controller;a=e.Qa[a];var f=c&65535;a&&(a[3]?(a[3](b,f),d=!0):a[1]&&(a[1](b&255,f),a[1](b>>8,f+1),d=!0));d?this.f&&E(this.f,16|a[5])&&F(this.f,a[4]+".writeWord("+K(this.f,c)+","+K(this.f,b)+")",!0,!e.oa):(e.Oa(c,16,4),this.f&&E(this.f,16)&&F(this.f,"warning: unconverted write access to word @"+K(this.f,c)+": "+K(this.f,b),!0,!e.oa))}function L(a){x.call(this,"Device",a,256);this.b={fb:128,Hd:-1}}p(L,x);h=L.prototype;
|
||||
h.Ba=function(a,b,c,d){this.F=b;this.J=a;this.f=c;this.D=d;var e=this;this.b.Hd=od(c,function(){e.b.fb|=128;e.b.fb&64&&pd(e.f,e.b.Ra);e.J&&H(e.J,1);qd(e.f,e.b.Hd,1E3/60)});this.b.Ra=rd(c,64,6,2097152);fc(b,this,sd);hc(b,this.reset.bind(this));d&&td(d,64,function(a){var b=e.f;ud(e,"KIPDR",b.B[0],0,a[0]);ud(e,"KDPDR",b.B[0],8,a[0]);ud(e,"KIPAR",b.M[0],0,a[0]);ud(e,"KDPAR",b.M[0],8,a[0],!0);ud(e,"SIPDR",b.B[1],0,a[0]);ud(e,"SDPDR",b.B[1],8,a[0]);ud(e,"SIPAR",b.M[1],0,a[0]);ud(e,"SDPAR",b.M[1],8,a[0],
|
||||
!0);ud(e,"UIPDR",b.B[3],0,a[0]);ud(e,"UDPDR",b.B[3],8,a[0]);ud(e,"UIPAR",b.M[3],0,a[0]);ud(e,"UDPAR",b.M[3],8,a[0],!0);b.X&32&&ud(e,"UNIMAP",b.Ha,-1,a[0])});D(this)};function ud(a,b,c,d,e,f){a=a.D;if(!(e&&0>b.indexOf(e.toUpperCase()))){e=0;var g=8,k="",l=!1,m=8;0>d&&(e=22,g=c.length,d=0,l=!0,m=4);for(var n=0;n<g;n++)n%m||(k&&(k+="\n"),k+=b+(l?"["+qa(n,2)+"]":"")+":"),k+=" "+K(a,c[d+n],e);a.v(k+(f?"\n":""))}}h.Da=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
|
|
@ -346,17 +346,17 @@ Yj(a,g[1],!0);if(r)if(a.P=r,void 0===g[2])a.v("begin assemble at "+bk(a,r)),a.R=
|
|||
else{var J=z.charAt(1);if("l"==J){var wb;wb=0+Ak(a,a.b);wb+=Ak(a,a.M);(wb+=Ak(a,a.G))||a.v("no breakpoints")}else if("n"==J){var Fd=+B||0;B&&(a.ha=Fd);a.v("break after "+Fd+" instruction(s)")}else if(void 0===B)a.v("missing breakpoint address");else{var sa=X();if("*"!=B&&(sa=Yj(a,B,!0),!sa))break a;"c"==J?null==sa.L?(Pj(a),a.v("all breakpoints cleared")):yk(a,a.b,sa)||yk(a,a.M,sa)||yk(a,a.G,sa)||a.v("breakpoint missing: "+bk(a,sa)):null!=sa.L&&(ak(a,sa,C),"p"==J?a.Ab(a.b,sa):"r"==J?a.Ab(a.M,sa):"w"==
|
||||
J?a.Ab(a.G,sa):a.v("unknown breakpoint command: "+J))}}}break;case "c":var yi=a.J;yi.w&&(yi.w.value="");break;case "d":a:{var Zb,lb=g[0],Ua=g[1],mb=g[2],vl=g[3];if("?"==Ua){var $b="";for(Zb in Tb)a.ma[Zb]&&($b&&($b+=","),$b+=Zb);$b+=",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");$b.length&&a.v("dump extension commands:\n\t"+$b)}else if("state"==Ua){var gf=Xk(a.J,!0);if("console"==mb)console.log(gf);else{var zi=a.J;zi.w&&(zi.w.value="");gf&&a.v(gf)}}else if("symbols"==Ua)for(var hf=0;hf<a.C.length;hf++){var jf=a.C[hf],ac;for(ac in jf.ia)if("."!=ac.charAt(0)){var Ai=jf.ia[ac].o;if(void 0!==Ai){var Bi=jf.ia[ac].l;Bi&&(ac=Bi);a.v(K(a,Ai)+" "+ac)}}}else{if("d"==lb){for(Zb in Tb)if(g[1]==Zb){var Ci=a.ma[Zb];Ci?
|
||||
(g.shift(),g.shift(),Ci(g)):a.v("no dump registered for "+Ua);break a}Ua||(lb=a.La||"dw")}else a.La=lb;if("dh"==lb){var Di=Ua,Ei=mb,Fi="",Gi=0,Ia=a.S,Va=a.j;if(Va.length){var Ca=+Di||a.ta,Mc=+Ei||10;isNaN(Ca)?Ca=Mc:Fi="more ";Ca>Va.length&&(a.v("note: only "+Va.length+" available"),Ca=Va.length);Ia-=Ca;0>Ia&&(null==Va[Va.length-1].L?(Ca=Ia+Ca,Ia=0):Ia+=Va.length);var kf=[];"call"==Ei&&(Mc=1E5,kf=["CALL"]);for(void 0!==Di&&a.v(Ca+" instructions earlier:");0<Mc&&Ia!=a.S;){var Hi=Va[Ia++];if(null==Hi.L)break;
|
||||
var Nc=X(Hi.L),wl=Ca--,Ii=Ck(a,Nc,"history",wl);(!kf.length||0<=Ii.indexOf(kf[0]))&&a.v(Ii);Nc.xd&&(Ia+=Nc.xd,Mc-=Nc.xd,Ca-=Nc.xd);Ia>=Va.length&&(Ia=0);a.ta=Ca;Gi++;Mc--}}Gi||(a.v("no "+Fi+"history available"),a.ta=void 0)}else{var oa=Yj(a,Ua);if(oa)if("da"==lb){var lf=oa.Na||65535<oa.L,O=Re(a.f,oa.L||0,lf);a.v(ya("",lf?12:19)+pa(oa.L,lf?22:17,3)+" "+u(oa.L,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)+" "+
|
||||
(g.shift(),g.shift(),Ci(g)):a.v("no dump registered for "+Ua);break a}Ua||(lb=a.La||"dw")}else a.La=lb;if("dh"==lb){var Di=Ua,Ei=mb,Fi="",Gi=0,Ia=a.S,Va=a.j;if(Va.length){var Ca=+Di||a.ta,Nc=+Ei||10;isNaN(Ca)?Ca=Nc:Fi="more ";Ca>Va.length&&(a.v("note: only "+Va.length+" available"),Ca=Va.length);Ia-=Ca;0>Ia&&(null==Va[Va.length-1].L?(Ca=Ia+Ca,Ia=0):Ia+=Va.length);var kf=[];"call"==Ei&&(Nc=1E5,kf=["CALL"]);for(void 0!==Di&&a.v(Ca+" instructions earlier:");0<Nc&&Ia!=a.S;){var Hi=Va[Ia++];if(null==Hi.L)break;
|
||||
var Oc=X(Hi.L),wl=Ca--,Ii=Ck(a,Oc,"history",wl);(!kf.length||0<=Ii.indexOf(kf[0]))&&a.v(Ii);Oc.xd&&(Ia+=Oc.xd,Nc-=Oc.xd,Ca-=Oc.xd);Ia>=Va.length&&(Ia=0);a.ta=Ca;Gi++;Nc--}}Gi||(a.v("no "+Fi+"history available"),a.ta=void 0)}else{var oa=Yj(a,Ua);if(oa)if("da"==lb){var lf=oa.Na||65535<oa.L,O=Re(a.f,oa.L||0,lf);a.v(ya("",lf?12:19)+pa(oa.L,lf?22:17,3)+" "+u(oa.L,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("+ "+Yk[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 xb=0,mf="ds"==lb;if(mb){if("l"==mb.charAt(0))mb=mb.substr(1)||vl,xb=Gj(a,mb);else{var Ji=Yj(a,mb);Ji&&(xb=Ji.L-oa.L)}0>xb&&(xb=0);65536<xb&&(xb=65536)}var yl=a.W;oa.W&&(a.W=oa.W);for(var yb="dd"==lb?4:"db"==
|
||||
lb?1:2,Od=yb*xb||128,nf=mf?16:a.W,zl=(Od+nf-1)/nf|0||1,zb="";zl--&&0<Od;){for(var Ab="",of="",Ua=bk(a,oa),Pd=nf,Oc=0,Pc=0;0<Pd&&0<Od;){var bc=1,Qd=1==yb?a.Pd(oa,bc):a.Sa(oa,bc=2),Oc=Oc|Qd<<(Pc<<3),Pc=Pc+bc;Pc==yb&&(mf?(Ab&&(Ab+=","),Ab+="0x"+v(Oc,yb<<1)):(Ab+=K(a,Oc,yb<<3),Ab+=1==yb?9==Pd?"-":" ":" "),Oc=Pc=0);Pd-=bc;for(Od-=bc;1==yb&&bc--;)var pf=Qd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Qd=Qd>>8}zb&&(zb+="\n");zb=mf?zb+(Ab+","):zb+(Ua+": "+Ab+(Pd?"":" "+of))}zb&&a.v(zb);a.Ga=oa;
|
||||
a.W=yl}}}}break;case "e":if("else"==g[0])break;var cc,qf,rf,sf,tf=g[0],uf=g[1];"eb"==tf?(cc=1,qf=255,rf=a.Pd,sf=a.Qd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,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 Rd=Yj(a,uf);if(Rd)for(var Sd=2;Sd<g.length;Sd++){var Qc=Lj(a,g[Sd]);if(void 0===Qc){a.v("unrecognized value: "+g[Sd]);break}Qc&~qf&&a.v("warning: "+v(Qc)+" exceeds "+cc+"-byte value");
|
||||
a.v("changing "+bk(a,Rd)+(E(a,16)?"":" from "+K(a,rf.call(a,Rd),cc<<3))+" to "+K(a,Qc,cc<<3));sf.call(a,Rd,Qc,cc)}}break;case "g":a:{var Ki=g[1],Al=b;if(void 0!==Ki){var vf=Yj(a,Ki,!0);if(!vf)break a;ak(a,vf,Al);a.Ab(a.b,vf,!0)}rk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Gb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Rc=b.substr(2),Rc=za(Rc);Lj(a,Rc)?(c||a.v("true: "+Rc),wf=!0):(c||a.v("false: "+Rc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var Bl=g[0];
|
||||
if("?"==g[1])a.v("stack trace commands:"),a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Sc=X(a.f.g[6]);for(a.v("stack trace for "+bk(a,Sc));10>xf;){for(var Bb=null,Cl=256;65536>Sc.L>>>0;){yf.L=a.Sa(Sc,2);if(null==Sc.L||!Cl--)break;if(!(yf.L&1)){for(var Dl=a,Td=yf,Li=null,Tc=Td.L,Mi=Tc,zf=1;6>=zf&&Tc;zf++){if(2<zf){Td.L=Tc;var Ud=Ck(Dl,Td);if(0<=Ud.indexOf("JSR")){var Ni=Ud.indexOf(" ");if(Tc+(Ud.indexOf(" ",Ni+1)-Ni-1)/2==Mi){Li=Ud;break}}}Tc-=2}Td.L=Mi;
|
||||
if(Bb=Li)break}}if(!Bb||null==Bb)break;var Oi=null;if("ks"==Bl){var Pi=Bb.match(/[0-9A-F]+$/);Pi&&(Oi=Uk(a,Pi[0]))}Bb=ya(Bb,50)+" ;"+(Oi||"stack="+bk(a,Sc));a.v(Bb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Uk(a,g[1],!0);break}f=!0;break;case "m":a:{var Wa,Xa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var nb=0;if("all"==T)nb=1879046143,T=null;else if("on"==T)Xa=!0,T=null;else if("off"==T)Xa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Wa in Tb)if(T==
|
||||
Wa){nb=Tb[Wa];Xa=!!(a.ja&nb);break}if(!nb){a.v("unknown message category: "+T);break a}}if(nb)if("on"==g[2])a.ja|=nb,Xa=!0;else if("off"==g[2]&&(a.ja&=~nb,Xa=!1,1073741824==nb)){for(var Qi=1E3<=a.N.length?a.N.length-1E3:0;Qi<a.N.length;)a.v(a.N[Qi++]);a.N=[]}}var El=0,Uc="";for(Wa in Tb)if(!T||T==Wa){var Fl=!!(a.ja&Tb[Wa]);if(null===Xa||Xa==Fl)Uc&&(Uc+=","),++El%10||(Uc+="\n\t"),"key"==Wa&&(Wa="keys"),Uc+=Wa}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
|
||||
Xa?Xa?"messages on: ":"messages off: ":"message categories:\n\t")+(Uc||"none"));Qj(a)}break;case "p":if("print"==g[0]){Vk(a,b.substr(5));break}var Gl=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 Ri="pr"==Gl?1:0,Si=1+Ri;if(a.K)a.v("step in progress");else{var Vd=X(a.f.g[7]),dc=a.Sa(Vd);3==dc||4==dc||34816==(dc&65280)||32256==(dc&65024)||35072==(dc&65280)?(a.K=Si,Zj(Vd,2)):2048==(dc&65024)&&(Ck(a,Vd),a.K=
|
||||
Si);a.K?(a.Ab(a.b,Vd,!0),rk(a)||(a.J&&se(a.J),a.K=0)):Wk(a,Ri?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}uk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Vc=+g[2];if(8==Vc||10==Vc||16==Vc)a.W=Vc;else{a.v("invalid base: "+Vc);break}}a.v("default base: "+a.W);break;case "cs":var Wc;void 0!==g[3]&&(Wc=+g[3]);switch(g[2]){case "int":a.f.Lb=Wc;break;case "start":a.f.nc=Wc;break;case "stop":a.f.Pb=Wc;break;default:a.v("unknown cs option");break a}void 0!==Wc&&ke(a.f);
|
||||
lb?1:2,Od=yb*xb||128,nf=mf?16:a.W,zl=(Od+nf-1)/nf|0||1,zb="";zl--&&0<Od;){for(var Ab="",of="",Ua=bk(a,oa),Pd=nf,Pc=0,Qc=0;0<Pd&&0<Od;){var bc=1,Qd=1==yb?a.Pd(oa,bc):a.Sa(oa,bc=2),Pc=Pc|Qd<<(Qc<<3),Qc=Qc+bc;Qc==yb&&(mf?(Ab&&(Ab+=","),Ab+="0x"+v(Pc,yb<<1)):(Ab+=K(a,Pc,yb<<3),Ab+=1==yb?9==Pd?"-":" ":" "),Pc=Qc=0);Pd-=bc;for(Od-=bc;1==yb&&bc--;)var pf=Qd&255,of=of+(32<=pf&&128>pf?String.fromCharCode(pf):"."),Qd=Qd>>8}zb&&(zb+="\n");zb=mf?zb+(Ab+","):zb+(Ua+": "+Ab+(Pd?"":" "+of))}zb&&a.v(zb);a.Ga=oa;
|
||||
a.W=yl}}}}break;case "e":if("else"==g[0])break;var cc,qf,rf,sf,tf=g[0],uf=g[1];"eb"==tf?(cc=1,qf=255,rf=a.Pd,sf=a.Qd):"e"==tf||"ew"==tf?(cc=2,qf=65535,rf=a.Sa,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 Rd=Yj(a,uf);if(Rd)for(var Sd=2;Sd<g.length;Sd++){var Rc=Lj(a,g[Sd]);if(void 0===Rc){a.v("unrecognized value: "+g[Sd]);break}Rc&~qf&&a.v("warning: "+v(Rc)+" exceeds "+cc+"-byte value");
|
||||
a.v("changing "+bk(a,Rd)+(E(a,16)?"":" from "+K(a,rf.call(a,Rd),cc<<3))+" to "+K(a,Rc,cc<<3));sf.call(a,Rd,Rc,cc)}}break;case "g":a:{var Ki=g[1],Al=b;if(void 0!==Ki){var vf=Yj(a,Ki,!0);if(!vf)break a;ak(a,vf,Al);a.Ab(a.b,vf,!0)}rk(a,!0,c)}break;case "h":a.A.V?(c||a.v("halting"),a.da()):Gb(a,!0)||c||a.v("already halted");break;case "i":if("if"==g[0]){var wf;var Sc=b.substr(2),Sc=za(Sc);Lj(a,Sc)?(c||a.v("true: "+Sc),wf=!0):(c||a.v("false: "+Sc),wf=!1);wf||(d=!1);break}f=!0;break;case "k":var Bl=g[0];
|
||||
if("?"==g[1])a.v("stack trace commands:"),a.v("\tk\tshow frame addresses"),a.v("\tks\tshow symbol information");else{var xf=0,yf=X(),Tc=X(a.f.g[6]);for(a.v("stack trace for "+bk(a,Tc));10>xf;){for(var Bb=null,Cl=256;65536>Tc.L>>>0;){yf.L=a.Sa(Tc,2);if(null==Tc.L||!Cl--)break;if(!(yf.L&1)){for(var Dl=a,Td=yf,Li=null,Uc=Td.L,Mi=Uc,zf=1;6>=zf&&Uc;zf++){if(2<zf){Td.L=Uc;var Ud=Ck(Dl,Td);if(0<=Ud.indexOf("JSR")){var Ni=Ud.indexOf(" ");if(Uc+(Ud.indexOf(" ",Ni+1)-Ni-1)/2==Mi){Li=Ud;break}}}Uc-=2}Td.L=Mi;
|
||||
if(Bb=Li)break}}if(!Bb||null==Bb)break;var Oi=null;if("ks"==Bl){var Pi=Bb.match(/[0-9A-F]+$/);Pi&&(Oi=Uk(a,Pi[0]))}Bb=ya(Bb,50)+" ;"+(Oi||"stack="+bk(a,Tc));a.v(Bb);xf++}xf||a.v("no return addresses found")}break;case "l":if("ln"==g[0]){Uk(a,g[1],!0);break}f=!0;break;case "m":a:{var Wa,Xa=null,T=g[1];"?"==T&&(T=void 0);if(void 0!==T){var nb=0;if("all"==T)nb=1879046143,T=null;else if("on"==T)Xa=!0,T=null;else if("off"==T)Xa=!1,T=null;else{"keys"==T&&(T="key");"kbd"==T&&(T="keyboard");for(Wa in Tb)if(T==
|
||||
Wa){nb=Tb[Wa];Xa=!!(a.ja&nb);break}if(!nb){a.v("unknown message category: "+T);break a}}if(nb)if("on"==g[2])a.ja|=nb,Xa=!0;else if("off"==g[2]&&(a.ja&=~nb,Xa=!1,1073741824==nb)){for(var Qi=1E3<=a.N.length?a.N.length-1E3:0;Qi<a.N.length;)a.v(a.N[Qi++]);a.N=[]}}var El=0,Vc="";for(Wa in Tb)if(!T||T==Wa){var Fl=!!(a.ja&Tb[Wa]);if(null===Xa||Xa==Fl)Vc&&(Vc+=","),++El%10||(Vc+="\n\t"),"key"==Wa&&(Wa="keys"),Vc+=Wa}void 0===T&&a.v("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.v((null!==
|
||||
Xa?Xa?"messages on: ":"messages off: ":"message categories:\n\t")+(Vc||"none"));Qj(a)}break;case "p":if("print"==g[0]){Vk(a,b.substr(5));break}var Gl=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 Ri="pr"==Gl?1:0,Si=1+Ri;if(a.K)a.v("step in progress");else{var Vd=X(a.f.g[7]),dc=a.Sa(Vd);3==dc||4==dc||34816==(dc&65280)||32256==(dc&65024)||35072==(dc&65280)?(a.K=Si,Zj(Vd,2)):2048==(dc&65024)&&(Ck(a,Vd),a.K=
|
||||
Si);a.K?(a.Ab(a.b,Vd,!0),rk(a)||(a.J&&se(a.J),a.K=0)):Wk(a,Ri?"tr":"t")}}break;case "r":if("reset"==b){a.J&&a.J.reset();break}uk(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Wc=+g[2];if(8==Wc||10==Wc||16==Wc)a.W=Wc;else{a.v("invalid base: "+Wc);break}}a.v("default base: "+a.W);break;case "cs":var Xc;void 0!==g[3]&&(Xc=+g[3]);switch(g[2]){case "int":a.f.Lb=Xc;break;case "start":a.f.nc=Xc;break;case "stop":a.f.Pb=Xc;break;default:a.v("unknown cs option");break a}void 0!==Xc&&ke(a.f);
|
||||
a.v("checksums "+(a.f.A.Mb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(pe(a.f,+g[2])||a.v("warning: using 1x multiplier, previous target not reached"));a.v("target speed: "+(a.f.wb.toFixed(2)+"Mhz")+" ("+a.f.lb+"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":Wk(a,g[0],g[1]);break;case "u":vk(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Tk(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.v((Jb||"PDP11")+" version 1.36.0 ("+a.f.ka+",RELEASE"+(Lb?",TYPEDARRAYS":Kb?",BYTEARRAYS":",LONGARRAYS")+")");a.v(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){Vk(a,b.substr(1));break}var Af="commands:",Bf;for(Bf in Zk)Af+="\n"+ya(Bf,9)+Zk[Bf];df(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(Ui){a.v("debugger error: "+(Ui.stack||Ui.message)),d=!1}return d}function ne(a,b,c){b=Cj(a,b,c);for(var d in b)if(!Bk(a,b[+d]))return!1;return!0}
|
||||
|
|
@ -400,5 +400,5 @@ function Nl(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
|
|||
function Ol(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&A(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=wa(a))}function g(a){f("Error: "+a);m&&(--Kl||$a(!0));m=!1}var k,l,m=!0;Kl++;fb[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));r.appendChild(t)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.36.0/components.xsl");n=function(e,l){l?Ll(d,null,a,null,!1,f,function(a,e){e?(eb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Kl||$a(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Kl||
|
||||
$a(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Ll(c,b,a,e,!0,f,n):Ml(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(q){g(q.message)}return m}window.embedPDP10=function(a,b,c,d){$a(!1);return Ol("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){$a(!1);return Ol("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if("string"==typeof f&&!sb[c]){d=!0;e=sb;for(var g=c,k=f.length,l=[],m=[],n="",r=null,t=0;t<k;t++){var q=f[t];if('"'==q||"'"==q)r&&q!=r?n+=q:(r?r=null:r=q,n&&(m.push(n),n=""));else{if(!r){if("\r"==q||"\n"==q)q=";";if(" "==q||"\t"==q||";"==q){n&&(m.push(n),n="");";"==q&&m.length&&(l.push(m),m=[]);continue}}n+=q}}n&&m.push(n);m.length&&l.push(m);e[g]=l;rb(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(g=qb(d,c+".machine"))&&
|
||||
(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp11-dbg.map
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete sb[c],d=!0;else if("string"==typeof f&&!sb[c]){d=!0;e=sb;for(var g=c,k=f.length,l=[],m=[],n="",r=null,t=0;t<k;t++){var q=f[t];if('"'==q||"'"==q)r&&q!=r?n+=q:(r?r=null:r=q,n&&(m.push(n),n=""));else{if(!r){if("\r"==q||"\n"==q)q=";";if(" "==q||"\t"==q||";"==q){n&&(m.push(n),n="");";"==q&&m.length&&(l.push(m),m=[]);continue}}n+=q}}n&&m.push(n);m.length&&l.push(m);e[g]=l;rb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=qb(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=$a;window.sendEvent=bb;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp11-dbg.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3419,7 +3419,11 @@ class Component {
|
|||
{
|
||||
var fSuccess = false;
|
||||
idMachine += ".machine";
|
||||
if (typeof sScript == "string" && !Component.commands[idMachine]) {
|
||||
if (!sScript) {
|
||||
delete Component.commands[idMachine];
|
||||
fSuccess = true;
|
||||
}
|
||||
else if (typeof sScript == "string" && !Component.commands[idMachine]) {
|
||||
fSuccess = true;
|
||||
Component.commands[idMachine] = Component.getScriptCommands(sScript);
|
||||
if (!Component.processCommands(idMachine)) {
|
||||
|
|
|
|||
|
|
@ -304,5 +304,5 @@ function Lh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
|
|||
function Mh(a,b,c,d,e){function f(a){if(void 0===l){var b=k&&z(k,"machine-warning");l=b&&b[0]||k}l&&(l.innerHTML=ua(a))}function g(a){f("Error: "+a);m&&(--Ih||Oa(!0));m=!1}var k,l,m=!0;Ih++;Ua[b]={};try{if(k=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=n:v.appendChild(document.createTextNode(n));q.appendChild(v)}d||
|
||||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.36.0/components.xsl");n=function(e,l){l?Jh(d,null,a,null,!1,f,function(a,e){e?(Sa(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(k.outerHTML=e,--Ih||Oa(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?k.parentNode?(k.parentNode.replaceChild(e,k),--Ih||
|
||||
Oa(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Jh(c,b,a,e,!0,f,n):Kh(c,null,b,a,e,!1,f,n)}else g("missing machine element: "+b)}catch(u){g(u.message)}return m}window.embedPDP10=function(a,b,c,d){Oa(!1);return Mh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){Oa(!1);return Mh("pdp11",a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if("string"==typeof f&&!bb[c]){d=!0;e=bb;for(var g=c,k=f.length,l=[],m=[],n="",q=null,v=0;v<k;v++){var u=f[v];if('"'==u||"'"==u)q&&u!=q?n+=u:(q?q=null:q=u,n&&(m.push(n),n=""));else{if(!q){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){n&&(m.push(n),n="");";"==u&&m.length&&(l.push(m),m=[]);continue}}n+=u}}n&&m.push(n);m.length&&l.push(m);e[g]=l;ab(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(g=$a(d,c+".machine"))&&
|
||||
(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Oa;window.sendEvent=Qa;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp11.map
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete bb[c],d=!0;else if("string"==typeof f&&!bb[c]){d=!0;e=bb;for(var g=c,k=f.length,l=[],m=[],n="",q=null,v=0;v<k;v++){var u=f[v];if('"'==u||"'"==u)q&&u!=q?n+=u:(q?q=null:q=u,n&&(m.push(n),n=""));else{if(!q){if("\r"==u||"\n"==u)u=";";if(" "==u||"\t"==u||";"==u){n&&(m.push(n),n="");";"==u&&m.length&&(l.push(m),m=[]);continue}}n+=u}}n&&m.push(n);m.length&&l.push(m);e[g]=l;ab(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=$a(d,c+".machine"))&&(k=g.exports)&&(k=k[e]))return k.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=Oa;window.sendEvent=Qa;})();//# sourceMappingURL=/versions/pdpjs/1.36.0/pdp11.map
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue