Added some polyfills for old browsers
This commit is contained in:
parent
0b78b2885e
commit
07ee5497bc
11 changed files with 69 additions and 13 deletions
|
|
@ -15,16 +15,17 @@ function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(
|
|||
function B(a,b){b=C(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,f=0;f<d.length;f++){var e=d[f];if(1===e.nodeType){var g=e.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pdp11-binding":(g=A(e))&&g.binding&&a.da(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function C(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var f=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)f.test(a[b].className)&&c.push(a[b]);return c}
|
||||
v.prototype={constructor:v,parent:null,toString:function(){return this.name?this.name:this.id||this.type},da:function(a,b,c){switch(b){case "clear":return this.B[b]||(this.B[b]=c,c.onclick=function(a){return function(){a.B.print&&(a.B.print.value="")}}(this)),!0;case "print":return this.B[b]||(this.Cb=this.B[b]=c,c.value="",this.M=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.N=function(a){this.M(a,this.yb)}),!0;default:return!1}},log:function(){},M:function(){},status:function(a){this.M(this.yb+": "+a)},N:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},za:function(){return this.h.O=!0},ya:function(a,b){b&&(this.h.O=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.pb;a.pb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.pb=b);return a.h.ready}var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){v.call(this,"Panel",a,Ia)}y(Ia);
|
||||
l=Ia.prototype;l.da=function(a,b,c,d){return this.F&&this.F.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.Ma=function(a,b,c,d){this.F=a;this.C=b;this.a=c;this.K=d};l.za=function(a,b){b||Ja();return!0};l.ya=function(){return!0};l.Ua=function(){};
|
||||
function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
|
||||
this.N=function(a){this.M(a,this.yb)}),!0;default:return!1}},log:function(){},M:function(){},status:function(a){this.M(this.yb+": "+a)},N:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},za:function(){return this.h.O=!0},ya:function(a,b){b&&(this.h.O=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.pb;a.pb=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.pb=b);return a.h.ready}
|
||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});
|
||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return f.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),f=this;c.prototype=this.prototype;b.prototype=new c;return b});var Ha="undefined"!==typeof ArrayBuffer;function Ia(a){v.call(this,"Panel",a,Ia)}y(Ia);l=Ia.prototype;
|
||||
l.da=function(a,b,c,d){return this.F&&this.F.da(a,b,c,d)||this.a&&this.a.da(a,b,c,d)?!0:this.parent.da.call(this,a,b,c,d)};l.Ma=function(a,b,c,d){this.F=a;this.C=b;this.a=c;this.K=d};l.za=function(a,b){b||Ja();return!0};l.ya=function(){return!0};l.Ua=function(){};function Ja(){for(var a=!1,b=C(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=A(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<x.length;g++)if(x[g].id===e){e=x[g];break a}}e=null}e||(a=!0,e=new Ia(f));B(e,d);a&&E(e)}}u(Ja);
|
||||
function F(a,b,c){v.call(this,"Bus",a,F);this.a=b;this.K=c;this.F=a.busWidth||16;this.s=Math.pow(2,this.F);this.l=this.s-1|0;this.f=(this.F>>1)+2;10>this.f&&(this.f=10);15<this.f&&(this.f=15);this.g=1<<this.f;this.G=this.g>>2;this.i=this.g-1;this.m=this.s/this.g|0;this.H=this.m-1;this.qa=[];this.v=null;this.$a=this.L;a=new G;Ka(a,this.K);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Xa=Array(4);this.Xa[0]=La;this.Xa[1]=Ma;this.Xa[2]=Na;this.Xa[3]=Oa;Pa(this,this.s-8192,8192,Qa,this);
|
||||
Pa(this,57344,8192,Qa,this);E(this)}y(F);function La(a,b){var c=this.controller,d=c.qa[a];if(d){if(d[0])return d[0](b);if(d[2])return b&1?d[2](b&-2)>>8:d[2](b)&255}else if(b&1&&(d=c.qa[a&-2])&&d[2])return d[2](b&-2)>>8;c.M("warning: unconverted read access to byte @"+ba(b));return c.$a(b,-1,1)}
|
||||
function Ma(a,b,c){var d=this.controller,f=d.qa[a];if(f){if(f[1]){f[1](b,c);return}if(f[3]){a=f[2]?f[2](c):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);return}}else if(c&1&&(f=d.qa[a&-2])&&f[3]){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.M("warning: unconverted write access to byte @"+ba(c));d.$a(c,b,1)}
|
||||
function Na(a,b){var c=this.controller;if(a=c.qa[a]){if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.M("warning: unconverted read access to word @"+ba(b));return c.$a(b,-1,0)}function Oa(a,b,c){var d=this.controller;if(a=d.qa[a]){if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.M("warning: unconverted write access to word @"+ba(c));d.$a(c,b,0)}F.prototype.reset=function(){this.v&&this.v()};F.prototype.L=function(){return 0};
|
||||
F.prototype.za=function(a,b){b||this.reset();return!0};function Pa(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.f;0<g&&h<a.b.length;){var k=a.b[h],m=h*a.g,q=a.g-(e-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.Wa)return k.xb+=k.Wa-e,k.Wa=e,!0;if(e>=k.Wa+k.xb){q=k.size-(e-m);q>g&&(q=g);k.xb=e-k.Wa+q;e=m+a.g;g-=q;h++;continue}}return Ra(1,e,g)}e=new G(e,q,a.g,d,f);Ka(e,a.K,k);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Sa[d]+" at "+n(b,8,!0)),!0):Ra(2,b,c)}
|
||||
function Ta(a,b){return a.b[(b&a.l)>>>a.f].bb(b&a.i,b)}function Ua(a,b,c){var d=b&a.i,f=(b&a.l)>>>a.f;d!=a.i?a.b[f].Hc(d,c&65535,b):(a.b[f++].Va(d,c&255,b),a.b[f&a.H].Va(0,c>>8&255,b+1))}function Va(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.ua||f.ec){c[b++]=d;var e=b++;if(f=f.save()){for(var g=0,h=0,k=[];g<f.length;){for(var m=f[g],q=g+1;q<f.length&&f[q]===m;)q++;k[h++]=q-g;k[h++]=m;g=q}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Wa(a,b){var c=Xa,d;for(d in c)for(var f=c[d],e=a,g=+d,h=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,m=f[2]?f[2].bind(b):null,q=f[3]?f[3].bind(b):null,f=f[4],w=+d;w<=g;w+=2){var D=w&8191;void 0!==e.qa[D]?r("I/O address already registered: "+n(w,8,!0)):e.qa[D]=[h,k,m,q,!1,f||"unknown"]}}function Ya(a,b,c){a.v=b;a.$a=c}function Ra(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function Wa(a,b){var c=Xa,d;for(d in c)for(var f=c[d],e=f[0]?f[0].bind(b):null,g=f[1]?f[1].bind(b):null,h=f[2]?f[2].bind(b):null,k=f[3]?f[3].bind(b):null,m=a,q=+d,f=f[4],w=+d;w<=q;w+=2){var D=w&8191;void 0!==m.qa[D]?r("I/O address already registered: "+n(w,8,!0)):m.qa[D]=[e,g,h,k,!1,f||"unknown"]}}function Ya(a,b,c){a.v=b;a.$a=c}function Ra(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}
|
||||
function H(a){v.call(this,"Device",a,H);this.b={Fb:[],W:0,Y:128,b:127,dc:0};this.g={data:0,Jc:0,Qa:20,Bc:0};this.f={u:0,Ib:-1};this.i={eb:2496,R:0,A:128,fb:0,cb:0,X:0,Ub:0,U:[],Ka:[406,406,406,406],I:[12,12,12,12]};this.l={u:129,Za:0,J:0,xa:0,ra:0,Da:0,U:[],I:[40,40,40,40],Ka:[1024,1024,512,512],bc:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],I:[22,22,22,50],Ja:[19,19,19,32],zb:[815,411,815,630],U:[],D:2176,Ta:0,Ra:0,ca:[0,0,0,0,0,0,0,0],ba:0,V:[4544,4544,4544,4544,4544,4544,4544,4544],Sa:[0,
|
||||
0,0,0,0,0,0,0],Pa:0,yc:[0,0,0,0,0,0,0,0],Vb:0,Wb:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],zc:[1,2,3,4,5,6,7,8],Xb:[0,0,0,0,0,0,0,0],la:[0,0,0,0,0,0,0,0],wb:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],xc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],Ca:0,Hb:0}}y(H);
|
||||
var Za=[4127,448,4191,450,4383,452,2591,454,21983,32768,65534,13791,16384,65534,770,2719,454,2591,65534,257,0,2566,33028,34051,33282,1281,33537,0,2758,32771,770,1025,1793,0,3078,33794,34305,513,0,5574,43690,4480,4097,4162,4227,4292,4357,57665,1281,769,0,3138,34305,1281,0,24707,2691,2627,24769,34561,1793,0,3076,20739,24899,2691,34562,2753,1281,0,2624,33537,0,16385,24641,1537,1793,0,193,8279,21589,516,12549,1538,2629,513,0,38336,65281,32769,0,32258,2561,2689,32258,3008,514,3009,769,0,5574,510,2551,
|
||||
|
|
|
|||
Loading…
Reference in a new issue