Improved debugger messages for bus and memory accesses
This commit is contained in:
parent
8a78eb7d6b
commit
7923529aee
7 changed files with 457 additions and 391 deletions
|
|
@ -1,222 +1,223 @@
|
|||
(function(){var l;
|
||||
function aa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==f&&
|
||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function r(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function t(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||
function ca(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 da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ka={"&":"&","<":"<",">":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})}function ma(a,b){return(a+" ").slice(0,b)}
|
||||
function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,f=a.length,e=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<f;){var g=d+f>>1,h;h=c(b,a[g]);0<h?d=g+1:(f=g,e=!h)}return e?d:~d}var pa=Date.now||function(){return+new Date};function qa(){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 ra(a,b,c,d){var f=0,e=null,g=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)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function x(a){window&&window.alert(a)}function sa(a){var b=!1;window&&(b=window.confirm(a));return b}var ta=null;function va(){if(null==ta){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ta=a}return ta}function wa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function za(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Aa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ba(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Ca(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!1,Ga=!0;function Ha(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ia(a){Da.init.push(a)}
|
||||
function Ja(a){if(Ga)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Qa(a){!Ga&&a?(Ga=!0,Ea&&Ra("init"),Fa&&Ra("show")):Ga=a}function Ra(a){Da[a]&&Ja(Da[a])}Ha("onload",function(){Ea=!0;Ja(Da.init)});Ha("onpageshow",function(){Fa=!0;Ja(Da.show)});Ha(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ja(Da.exit)});
|
||||
function y(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.sc=b.comment;this.Sc=b;b=this.id.indexOf(".");0>b?this.fc=this.id:(this.vc=this.id.substr(0,b),this.fc=this.id.substr(b+1));this[a]=c;this.u={ready:!1,Jb:!1,gc:!1,ja:!1,error:!1};this.Yb=null;this.u.error=!1;this.M={};this.G=null;this.ka=d||0;A.push(this)}var Sa=void 0,Ta={};
|
||||
if(window){Sa||(Sa=window.location.search.substr(1));for(var Ua,Va=/\+/g,Wa=/([^&=]+)=?([^&]*)/g;Ua=Wa.exec(Sa);)Ta[decodeURIComponent(Ua[1].replace(Va," "))]=decodeURIComponent(Ua[2].replace(Va," "))}function Xa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function C(a,b){b||(b=y);a.prototype=Xa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ya=window.PCjs.Machines||(window.PCjs.Machines={}),A=window.PCjs.Components||(window.PCjs.Components=[])}else Ya={},A=[];function Za(a,b,c){Ya[a]&&b&&(Ya[a][b]=c)}function $a(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<A.length;b++){var d=A[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function ab(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<A.length;d++)if(c)c==A[d]&&(c=null);else if(!(a!=A[d].type||b&&A[d].id.indexOf(b)))return A[d]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
|
||||
function bb(a,b){b=E(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=D(e))&&g.binding&&a.xa(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function E(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}
|
||||
y.prototype={constructor:y,parent:null,toString:function(){return this.name?this.name:this.id||this.type},xa:function(a,b,c){switch(b){case "clear":return this.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.jb=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.ra=function(a){this.g(a,this.fc)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.fc+": "+a)},ra:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},Qa:function(){return this.u.ja=!0},Pa:function(a,b){b&&(this.u.ja=!1);return!0}};function cb(a,b,c,d){a.G&&(!0===c||F(a,c|0))&&a.G.message(b,d)}function F(a,b){if(a.G){a===a.G?b|=0:b=b||a.ka;var c=a.G.ka&b;return!!b&&c===b||!!(c&a.G.Mc)}return!1}
|
||||
function db(a,b){if(a.u.gc)return a.u.Jb=!1,a.u.gc=!1;if(a.u.error)return a.g(a.toString()+" error"),!1;a.u.Jb=b;return a.u.Jb}function eb(a,b){a.u.Jb&&(b?a.u.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.u.Jb}function G(a){if(!a.u.error&&(a.u.ready=!0,a.u.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function fb(a,b){b&&(a.u.ready?b():a.Yb=b);return a.u.ready}function gb(a){return a.u.error?(a.g(a.toString()+" error"),!0):!1}function hb(a,b){a.u.error=!0;a.ra(b)}
|
||||
function ba(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==f&&
|
||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ca(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||
function da(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 ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ja(){var a=ka();return-1!==a.indexOf("pcjs.org",a.length-8)}var la={"&":"&","<":"<",">":">",'"':""","'":"'"};function ma(a){return a.replace(/[&<>"']/g,function(a){return la[a]})}function na(a,b){return(a+" ").slice(0,b)}
|
||||
function oa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function pa(a,b,c){var d=0,f=a.length,e=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<f;){var g=d+f>>1,h;h=c(b,a[g]);0<h?d=g+1:(f=g,e=!h)}return e?d:~d}var qa=Date.now||function(){return+new Date};function ra(){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 ta(a,b,c,d){var f=0,e=null,g=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)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function t(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ca(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||
function Da(a,b){function c(){b(100===d)&&(f=setTimeout(c,d),d=100)}var d=0,f=null,e=!1;a.onmousedown=function(){e||f||(d=500,c())};a.ontouchstart=function(){f||(d=500,c())};a.onmouseup=a.onmouseout=function(){f&&(clearTimeout(f),f=null)};a.ontouchend=a.ontouchcancel=function(){f&&(clearTimeout(f),f=null);e=!0}}var Ea={init:[],show:[],exit:[]},Fa=!1,Ga=!1,Ha=!0;function Oa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Pa(a){Ea.init.push(a)}
|
||||
function Qa(a){if(Ha)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){t(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ra(a){!Ha&&a?(Ha=!0,Fa&&Sa("init"),Ga&&Sa("show")):Ha=a}function Sa(a){Ea[a]&&Qa(Ea[a])}Oa("onload",function(){Fa=!0;Qa(Ea.init)});Oa("onpageshow",function(){Ga=!0;Qa(Ea.show)});Oa(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Qa(Ea.exit)});
|
||||
function x(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.tc=b.comment;this.Tc=b;b=this.id.indexOf(".");0>b?this.fc=this.id:(this.wc=this.id.substr(0,b),this.fc=this.id.substr(b+1));this[a]=c;this.w={ready:!1,Jb:!1,gc:!1,ja:!1,error:!1};this.Yb=null;this.w.error=!1;this.M={};this.i=null;this.ka=d||0;y.push(this)}var Ta=void 0,Ua={};
|
||||
if(window){Ta||(Ta=window.location.search.substr(1));for(var Va,Wa=/\+/g,Xa=/([^&=]+)=?([^&]*)/g;Va=Xa.exec(Ta);)Ua[decodeURIComponent(Va[1].replace(Wa," "))]=decodeURIComponent(Va[2].replace(Wa," "))}function Ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function A(a,b){b||(b=x);a.prototype=Ya(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Za=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Za={},y=[];function $a(a,b,c){Za[a]&&b&&(Za[a][b]=c)}function ab(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function bb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){t(c.message+" ("+a+")")}return b}
|
||||
function cb(a,b){b=D(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=C(e))&&g.binding&&a.xa(g.type,g.binding,e,g.value),k=h.length}}}}
|
||||
function D(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}
|
||||
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},xa:function(a,b,c){switch(b){case "clear":return this.M[b]||(this.M[b]=c,c.onclick=function(a){return function(){a.M.print&&(a.M.print.value="")}}(this)),!0;case "print":return this.M[b]||(this.kb=this.M[b]=c,c.value="",this.g=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||
this.sa=function(a){this.g(a,this.fc)}),!0;default:return!1}},log:function(){},g:function(){},status:function(a){this.g(this.fc+": "+a)},sa:function(a,b,c){c=c||this.type;b||t((c?c+": ":"")+a)},Qa:function(){return this.w.ja=!0},Pa:function(a,b){b&&(this.w.ja=!1);return!0}};function E(a,b){if(a.i){a===a.i?b|=0:b=b||a.ka;var c=a.i.ka&b;return!!b&&c===b||!!(c&a.i.Nc)}return!1}
|
||||
function db(a,b){if(a.w.gc)return a.w.Jb=!1,a.w.gc=!1;if(a.w.error)return a.g(a.toString()+" error"),!1;a.w.Jb=b;return a.w.Jb}function eb(a,b){a.w.Jb&&(b?a.w.gc=!0:void 0===b&&a.g(a.toString()+" busy"));return a.w.Jb}function F(a){if(!a.w.error&&(a.w.ready=!0,a.w.ready)){var b=a.Yb;a.Yb=null;b&&b()}}function fb(a,b){b&&(a.w.ready?b():a.Yb=b);return a.w.ready}function sb(a){return a.w.error?(a.g(a.toString()+" error"),!0):!1}function tb(a,b){a.w.error=!0;a.sa(b)}
|
||||
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 ub="undefined"!==typeof ArrayBuffer,H={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function vb(a){y.call(this,"Panel",a,vb)}C(vb);l=vb.prototype;l.xa=function(a,b,c,d){return this.B&&this.B.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.G&&this.G.xa(a,b,c,d)?!0:this.parent.xa.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.B=a;this.I=b;this.b=c;this.G=d};
|
||||
l.Qa=function(a,b){b||wb();return!0};l.Pa=function(){return!0};l.Ha=function(){};function wb(){for(var a=!1,b=E(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=D(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<A.length;g++)if(A[g].id===e){e=A[g];break a}}e=null}e||(a=!0,e=new vb(f));bb(e,d);a&&G(e)}}Ia(wb);
|
||||
function xb(a,b,c){y.call(this,"Bus",a,xb,64);this.b=b;this.G=c;this.H=a.busWidth||16;this.C=Math.pow(2,this.H);this.j=this.C-1|0;this.Z=(this.H>>1)+2;10>this.Z&&(this.Z=10);15<this.Z&&(this.Z=15);this.Ea=1<<this.Z;this.K=this.Ea>>2;this.f=this.Ea-1;this.A=this.C/this.Ea|0;this.B=this.A-1;this.Ta=[];this.F=null;this.Kb=this.Ic;a=new I;yb(a,this.G);this.O=Array(this.A);for(b=0;b<this.A;b++)this.O[b]=a;this.Fb=Array(4);this.Fb[0]=zb;this.Fb[1]=Ab;this.Fb[2]=Bb;this.Fb[3]=Cb;Db(this,this.C-8192,8192,
|
||||
Eb,this);Db(this,57344,8192,Eb,this);G(this)}C(xb);function zb(a,b){var c=this.controller,d=c.Ta[a];if(d){F(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0);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.Ta[a&-2])&&(F(c)&&cb(c,d[5]+".readByte("+r(b)+")",0,!0),d[2]))return d[2](b&-2)>>8;c.g("warning: unconverted read access to byte @"+r(b));return c.Kb(b,-1,1)}
|
||||
function Ab(a,b,c){var d=this.controller,f=d.Ta[a];if(f){F(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0);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.Ta[a&-2])&&(F(d)&&cb(d,f[5]+".writeByte("+r(c)+","+r(b)+")",0,!0),f[3])){c&=-2;a=f[2]?f[2](c):0;f[3](a&255|b<<8,c);return}d.g("warning: unconverted write access to byte @"+r(c));d.Kb(c,b,1)}
|
||||
function Bb(a,b){var c=this.controller;if(a=c.Ta[a]){F(c)&&cb(c,a[5]+".readWord("+r(b)+")",0,!0);if(a[2])return a[2](b);if(a[0])return a[0](b)|a[0](b+1)<<8}c.g("warning: unconverted read access to word @"+r(b));return c.Kb(b,-1,0)}function Cb(a,b,c){var d=this.controller;if(a=d.Ta[a]){F(d)&&cb(d,a[5]+".writeWord("+r(c)+","+r(b)+")",0,!0);if(a[3]){a[3](b,c);return}if(a[1]){a[1](b&255,c);a[1](b>>8,c+1);return}}d.g("warning: unconverted write access to word @"+r(c));d.Kb(c,b,0)}l=xb.prototype;
|
||||
l.reset=function(){this.F&&this.F()};l.Ic=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0};
|
||||
function Db(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.Z;0<g&&h<a.O.length;){var k=a.O[h],m=h*a.Ea,n=a.Ea-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.w)return k.Vb+=k.w-e,k.w=e,!0;if(e>=k.w+k.Vb){n=k.size-(e-m);n>g&&(n=g);k.Vb=e-k.w+n;e=m+a.Ea;g-=n;h++;continue}}return Fb(1,e,g)}e=new I(e,n,a.Ea,d,f);yb(e,a.G,k);a.O[h++]=e;e=m+a.Ea;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Gb[d]+" at "+t(b,8,!0)),!0):Fb(2,b,c)}
|
||||
l.sb=function(a){return this.O[(a&this.j)>>>this.Z].wb(a&this.f,a)};l.Ka=function(a){var b=a&this.f,c=(a&this.j)>>>this.Z;return b!=this.f?this.O[c].Bc(b,a):this.O[c++].wb(b,a)|this.O[c&this.B].wb(0,a+1)<<8};function Hb(a,b){var c=b&a.f,d=(b&a.j)>>>a.Z;return c!=a.f?a.O[d].lc(c,b):a.O[d++].Ob(c,b)|a.O[d&a.B].Ob(0,b+1)<<8}l.Sb=function(a,b){this.O[(a&this.j)>>>this.Z].Cb(a&this.f,b&255,a)};
|
||||
l.ob=function(a,b){var c=a&this.f,d=(a&this.j)>>>this.Z;c!=this.f?this.O[d].Hc(c,b&65535,a):(this.O[d++].Cb(c,b&255,a),this.O[d&this.B].Cb(0,b>>8&255,a+1))};function Ib(a){for(var b=0,c=[],d=0;d<a.A;d++){var f=a.O[d];if(f.Xa||f.Pc){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],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Jb(a,b){var c=Kb,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,n=+d,f=f[4],q=+d;q<=n;q+=2){var p=q&8191;void 0!==m.Ta[p]?x("I/O address already registered: "+t(q,8,!0)):m.Ta[p]=[e,g,h,k,!1,f||"unknown"]}}function Lb(a,b,c){a.F=b;a.Kb=c}function Fb(a,b,c){x("Memory block error ("+a+": "+t(b)+","+t(c)+")");return!1}
|
||||
function J(a){y.call(this,"Device",a,J);this.f={kc:[],va:0,ya:128,G:127,Oc:0};this.B={data:0,vd:0,tb:20,od:0};this.j={N:0,pc:-1};this.A={Qb:2496,oa:0,R:128,Rb:0,Pb:0,wa:0,Cc:0,qa:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.C={N:129,Ib:0,ga:0,$a:0,Ua:0,fb:0,qa:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Kc:[157,157,29,29]};this.F={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],qa:[],T:2176,zb:0,xb:0,Ga:[0,0,0,0,0,0,0,0],Fa:0,sa:[4544,4544,4544,4544,4544,4544,4544,
|
||||
4544],yb:[0,0,0,0,0,0,0,0],nb:0,ld:[0,0,0,0,0,0,0,0],Dc:0,Ec:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],md:[1,2,3,4,5,6,7,8],Fc:[0,0,0,0,0,0,0,0],Sa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],eb:0,nc:0}}C(J);
|
||||
var ub="undefined"!==typeof ArrayBuffer,G={cpu:1,trap:16,bus:64,mem:128,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};function vb(a){x.call(this,"Panel",a,vb)}A(vb);l=vb.prototype;l.xa=function(a,b,c,d){return this.C&&this.C.xa(a,b,c,d)||this.b&&this.b.xa(a,b,c,d)||this.i&&this.i.xa(a,b,c,d)?!0:this.parent.xa.call(this,a,b,c,d)};l.Ya=function(a,b,c,d){this.C=a;this.I=b;this.b=c;this.i=d};
|
||||
l.Qa=function(a,b){b||wb();return!0};l.Pa=function(){return!0};l.Ia=function(){};function wb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],f=C(d),e;a:{e=f.id;if(void 0!==e){var g;for(g=0;g<y.length;g++)if(y[g].id===e){e=y[g];break a}}e=null}e||(a=!0,e=new vb(f));cb(e,d);a&&F(e)}}Pa(wb);
|
||||
function xb(a,b,c){x.call(this,"Bus",a,xb,64);this.b=b;this.i=c;this.H=a.busWidth||16;this.D=Math.pow(2,this.H);this.u=this.D-1|0;this.$=(this.H>>1)+2;10>this.$&&(this.$=10);15<this.$&&(this.$=15);this.Fa=1<<this.$;this.K=this.Fa>>2;this.f=this.Fa-1;this.B=this.D/this.Fa|0;this.C=this.B-1;this.Ta=[];this.G=null;this.Lb=this.Jc;a=new H;yb(a,this.i);this.O=Array(this.B);for(b=0;b<this.B;b++)this.O[b]=a;this.Fb=Array(4);this.Fb[0]=zb;this.Fb[1]=Ab;this.Fb[2]=Bb;this.Fb[3]=Cb;Db(this,this.D-8192,8192,
|
||||
Eb,this);Db(this,57344,8192,Eb,this);F(this)}A(xb);function zb(a,b){var c=-1,d=this.controller,f=d.Ta[a];f?f[0]?c=f[0](b):f[2]&&(c=b&1?f[2](b&-2)>>8:f[2](b)&255):b&1&&(f=d.Ta[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);if(0<=c)return this.i&&E(this.i,64)&&this.i.message(f[5]+".readByte("+I(this.i,b)+"): "+I(this.i,c),!0),c;c=d.Lb(b,-1,1);this.i&&E(this.i,64)&&this.i.message("warning: unconverted read access to byte @"+I(this.i,b)+": "+I(this.i,c));return c}
|
||||
function Ab(a,b,c){var d=!1,f=this.controller,e=f.Ta[a];if(e)if(e[1])e[1](b,c),d=!0;else{if(e[3]){a=e[2]?e[2](c):0;if(c&1)e[3](a&255|b<<8,c&-2);else e[3](a&-256|b,c);d=!0}}else c&1&&(e=f.Ta[a&-2])&&e[3]&&(c&=-2,a=e[2]?e[2](c):0,e[3](a&255|b<<8,c),d=!0);d?this.i&&E(this.i,64)&&this.i.message(e[5]+".writeByte("+I(this.i,c)+","+I(this.i,b)+")",!0):(f.Lb(c,b,1),this.i&&E(this.i,64)&&this.i.message("warning: unconverted write access to byte @"+I(this.i,c)+": "+I(this.i,b)))}
|
||||
function Bb(a,b){var c=-1,d=this.controller;(a=d.Ta[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&E(this.i,64)&&this.i.message(a[5]+".readWord("+I(this.i,b)+"): "+I(this.i,c),!0),c;c=d.Lb(b,-1,0);this.i&&E(this.i,64)&&this.i.message("warning: unconverted read access to word @"+I(this.i,b)+": "+I(this.i,c));return c}
|
||||
function Cb(a,b,c){var d=!1,f=this.controller;if(a=f.Ta[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&E(this.i,64)&&this.i.message(a[5]+".writeWord("+I(this.i,c)+","+I(this.i,b)+")",!0):(f.Lb(c,b,0),this.i&&E(this.i,64)&&this.i.message("warning: unconverted write access to word @"+I(this.i,c)+": "+I(this.i,b)))}l=xb.prototype;l.reset=function(){this.G&&this.G()};l.Jc=function(){return 0};l.Qa=function(a,b){b||this.reset();return!0};
|
||||
function Db(a,b,c,d,f){for(var e=b,g=c,h=e>>>a.$;0<g&&h<a.O.length;){var k=a.O[h],m=h*a.Fa,n=a.Fa-(e-m);n>g&&(n=g);if(k&&k.size){if(k.type==d&&k.controller==f){if(e+g<=k.A)return k.Wb+=k.A-e,k.A=e,!0;if(e>=k.A+k.Wb){n=k.size-(e-m);n>g&&(n=g);k.Wb=e-k.A+n;e=m+a.Fa;g-=n;h++;continue}}return Fb(1,e,g)}e=new H(e,n,a.Fa,d,f);yb(e,a.i,k);a.O[h++]=e;e=m+a.Fa;g-=n}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Gb[d]+" at "+p(b,8,!0)),!0):Fb(2,b,c)}
|
||||
l.sb=function(a){return this.O[(a&this.u)>>>this.$].wb(a&this.f,a)};l.Ka=function(a){var b=a&this.f,c=(a&this.u)>>>this.$;return b!=this.f?this.O[c].Cc(b,a):this.O[c++].wb(b,a)|this.O[c&this.C].wb(0,a+1)<<8};function Hb(a,b){var c=b&a.f,d=(b&a.u)>>>a.$;return c!=a.f?a.O[d].mc(c,b):a.O[d++].Pb(c,b)|a.O[d&a.C].Pb(0,b+1)<<8}l.Tb=function(a,b){this.O[(a&this.u)>>>this.$].Cb(a&this.f,b&255,a)};
|
||||
l.pb=function(a,b){var c=a&this.f,d=(a&this.u)>>>this.$;c!=this.f?this.O[d].Ic(c,b&65535,a):(this.O[d++].Cb(c,b&255,a),this.O[d&this.C].Cb(0,b>>8&255,a+1))};function Ib(a){for(var b=0,c=[],d=0;d<a.B;d++){var f=a.O[d];if(f.Xa||f.Qc){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],n=g+1;n<f.length&&f[n]===m;)n++;k[h++]=n-g;k[h++]=m;g=n}k.length<f.length&&(f=k)}c[e]=f}}return c}
|
||||
function Jb(a,b){var c=Kb,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,n=+d,f=f[4],r=+d;r<=n;r+=2){var q=r&8191;void 0!==m.Ta[q]?t("I/O address already registered: "+p(r,8,!0)):m.Ta[q]=[e,g,h,k,!1,f||"unknown"]}}function Lb(a,b,c){a.G=b;a.Lb=c}function Fb(a,b,c){t("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}
|
||||
function J(a){x.call(this,"Device",a,J);this.f={lc:[],va:0,ya:128,i:127,Pc:0};this.C={data:0,vd:0,tb:20,od:0};this.u={N:0,qc:-1};this.B={Rb:2496,oa:0,R:128,Sb:0,Qb:0,wa:0,Dc:0,ra:[],hb:[406,406,406,406],aa:[12,12,12,12]};this.D={N:129,Ib:0,ga:0,$a:0,Ua:0,fb:0,ra:[],aa:[40,40,40,40],hb:[1024,1024,512,512],Lc:[157,157,29,29]};this.G={b:[8210,8208,8210,8226],aa:[22,22,22,50],gb:[19,19,19,32],ec:[815,411,815,630],ra:[],T:2176,zb:0,xb:0,Ha:[0,0,0,0,0,0,0,0],Ga:0,ta:[4544,4544,4544,4544,4544,4544,4544,
|
||||
4544],yb:[0,0,0,0,0,0,0,0],ob:0,ld:[0,0,0,0,0,0,0,0],Ec:0,Fc:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],md:[1,2,3,4,5,6,7,8],Gc:[0,0,0,0,0,0,0,0],Sa:[0,0,0,0,0,0,0,0],dc:[0,0,0,0,0,0,0,0],jd:[0,0,0,0,0,0,0,0],kd:[0,0,0,0,0,0,0,0],gd:[0,0,0,0,0,0,0,0],hd:[0,0,0,0,0,0,0,0],eb:0,oc:0}}A(J);
|
||||
var Mb=[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,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=J.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;var f=this;this.j.pc=Nb(this.b,function(){f.j.Za|=128;f.j.Za&64&&(K(f.b,0,6,64),Ob(f.b,f.j.pc))});Jb(b,this);Lb(b,this.reset.bind(this),this.Jc.bind(this));G(this)};l.Zc=function(){var a=this.j.Za;this.j.Za&=-129;return a};
|
||||
l.qd=function(a){this.j.Za=a;a&64&&Ob(this.b,this.j.pc);this.j.Za=a&-129};l.$c=function(){var a=this.b;return a.K&62337|a.za<<5|a.Ba<<1};l.rd=function(a){var b=4,c=this.b;c.K=a&=62337;c.za=a>>5&3;c.Ba=a>>1&15;c.$b=a&257?a&1?6:4:0;Pb(c);a=c.K;a&1|256&&(b=this.b.mb&16?1:2);this.B.tb=this.B.tb&-8|b};l.bd=function(){return this.f.va};l.td=function(a){this.f.va=this.f.va&128|a&-129};l.cd=function(){return this.f.ya};
|
||||
l.ud=function(a){if(128==(this.f.ya&192)&&a&64){var b=this;K(this.b,8,4,52,function(){b.f.ya|=128;return!!(b.f.ya&64)})}this.f.ya=this.f.ya&128|a&-129};l.ad=function(){return Qb(this.b)};l.sd=function(a){Rb(this.b,a&-1809|Qb(this.b)&1808);this.b.D|=128};
|
||||
function Sb(a){var b=a.A,c,d,f,e=b.wa>>13&7;"undefined"===typeof b.qa[e]&&(b.qa[e]={cache:[],postProcess:a.dd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.R&=-129;switch(b.R>>1&7){case 0:b.Qb=2496;b.oa=0;b.R=128;b.wa=0;break;case 1:if((b.wa>>4&511)>=b.hb[e]){b.oa|=32832;b.R|=49152;break}if((b.wa&15)>=b.aa[e]){b.oa|=32800;b.R|=49152;break}c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;ac(a,b.qa[e],c,d,f);return;case 2:if((b.wa>>4&511)>=b.hb[e])b.oa|=
|
||||
32832,b.R|=49152;else if((b.wa&15)>=b.aa[e])b.oa|=32800,b.R|=49152;else{c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Pb;f=65536-b.Rb&65535;a.bc(b.qa[e],c,d,f);return}}b.Qb=e<<13|b.Qb&8176|b.wa%9&15;K(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}l.dd=function(a,b,c,d,f){var e=this.A;e.Pb=d&65535;e.R=e.R&-49|d>>12&48;e.Rb=65536-f&65535;switch(a){case 1:e.oa|=33024;e.R|=49152;break;case 2:e.oa|=33792,e.R|=49152}K(this.b,20,5,144,function(){e.R=e.R&65534|128;return!!(e.R&64)})};
|
||||
function bc(a){var b=a.C,c,d,f,e=b.N>>8&3;b.N&=-2;"undefined"===typeof b.qa[e]&&(b.qa[e]={cache:[],postProcess:a.ed,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.N>>1&7){case 2:b.$a&8&&(b.N&=63);b.$a=b.Kc[e]|b.fb&64;break;case 3:1==(b.ga&3)&&(b.fb=b.ga&4?b.fb+(b.ga&65408)&65408|b.ga<<2&64:b.fb-(b.ga&65408)&65408|b.ga<<2&64,b.ga=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ga>>6>=b.hb[e]){b.N|=37888;break}if((b.ga&63)>=b.aa[e]){b.N|=37888;break}c=(b.ga>>6)*
|
||||
b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;ac(a,b.qa[e],c,d,f);return;case 6:if(b.ga>>6>=b.hb[e])b.N|=37888;else if((b.ga&63)>=b.aa[e])b.N|=37888;else{c=(b.ga>>6)*b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.bc(b.qa[e],c,d,f);return}}K(a.b,20,5,112,function(){b.N|=129;return!!(b.N&64)})}
|
||||
l.ed=function(a,b,c,d,f){var e=this.C;e.Ib=d&65535;e.N=e.N&-49|d>>12&48;e.Ua=d>>16&63;e.ga=~~(c/e.aa[b.Na])<<6|c%e.aa[b.Na];e.fb=e.ga;e.$a=65536-f&65535;switch(a){case 1:e.N|=33792;break;case 2:e.N|=40960}K(this.b,20,5,112,function(){e.N|=129;return!!(e.N&64)})};function cc(a){a=a.F;a.T=2176;a.Fa=0;a.sa=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.nb=a.zb=a.xb=a.eb=a.nc=0}
|
||||
function dc(a,b){var c=a.F,d,f,e;c.T&=-16513;c.Fa&=-2049;c.sa[b]&=-1153;K(a.b,-1,0,172);"undefined"===typeof c.qa[b]&&(c.qa[b]={cache:[],postProcess:a.fd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.dc[b]=c.Sa[b];c.T|=32896;c.sa[b]|=32896;c.nb|=1<<b;break;case 9:cc(a);break;case 19:c.sa[b]|=64;break;case 49:if(c.Sa[b]>=c.ec[0]||c.Ga[b]>>8>=c.gb[0]||(c.Ga[b]&255)>=c.aa[0]){c.yb[b]|=1024;c.T|=49152;break}d=(c.Sa[b]*c.gb[0]+(c.Ga[b]>>8))*
|
||||
c.aa[0]+(c.Ga[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.qa[b],d,f,e);return;case 57:if(c.Sa[b]>=c.ec[0]||c.Ga[b]>>8>=c.gb[0]||(c.Ga[b]&255)>=c.aa[0])c.yb[b]|=1024,c.T|=49152;else{d=(c.Sa[b]*c.gb[0]+(c.Ga[b]>>8))*c.aa[0]+(c.Ga[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.qa[b],d,f,e);return}}K(a.b,3,5,172,function(){c.T=c.T&65534|128;c.sa[b]|=128;return!!(c.T&64)})}
|
||||
l.fd=function(a,b,c,d,f){var e=this.F;e.zb=65536-f&65535;e.xb=d&65535;e.T=e.T&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Ga[b.Na]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Na]=e.Sa[b.Na]=d;e.nb|=1<<b.Na;c>=b.Wc-1&&(e.sa[b.Na]|=1024);switch(a){case 1:e.Fa|=512;e.T|=49152;break;case 2:e.Fa|=2048,e.T|=49152}K(this.b,20,5,172,function(){e.sa[b.Na]|=128;e.T=e.T&65534|128;return!!(e.T&64)})};
|
||||
function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Wc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,q,p;m=h.response;if(h.status&&206!=h.status||!m)c.jc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(p=0;p<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],q=0;q<c.Va;q++)c.cache[n][q]=p<m.length?
|
||||
m[p]&255|m[p+1]<<8&65280:0,p+=2;else p+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function L(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Vc?fc(this.b,c):c;this.b.I.ob(e,a.cache[b][f]&65535);c+=2;--d}b++}a.jc(0,a,b,c,d)};
|
||||
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=gc(a.b,b.Vc?fc(a.b,d):d);if(0>g){b.jc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.jc(0,b,c,d,f)}l.reset=function(){this.B.tb=this.B.tb&-120|20;this.f.va=0;this.f.ya=128;this.j.Za=0;this.A.R=128;this.C.N=128;cc(this)};
|
||||
l.Jc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.mc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.mc=d;e.D|=2}break;case 4194294:if(70!==e.kb)return e.L(4,222);0>b?d=e.J:d=e.J=0;break;case 4194292:if(70!==e.kb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.kb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.kb)return e.L(4,228);d=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.kb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=L(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.P>>14&1?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[3]=b),d=e.Aa[3]):e.P>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[1]=b),d=e.Aa[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.P&2048?(0<=b&&(e.i[f]=b),d=e.i[f]):(0<=b&&(e.Ra[f]=
|
||||
b),d=e.Ra[f]),d;case 4194246:return a&1?(0<=b&&(e.i[7]=b),d=e.i[7]):e.P>>14&0?(0<=b&&(e.i[6]=b),d=e.i[6]):(0<=b&&(e.Aa[0]=b),d=e.Aa[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.P&2048?(0<=b&&(e.Ra[f]=b),d=e.Ra[f]):(0<=b&&(e.i[f]=b),d=e.i[f]),d;default:return e.J|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=L(this,e.na[3][f],a,b,c);0<=d&&(e.na[3][f]=d,e.na[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=
|
||||
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.B.od&65535:(d=L(this,this.B.data,a,b,c),0<=d&&(this.B.data=d));break;case 4194166:0<=b&&(b&127&&(g.Oc=0),g.ya&=-129,K(e,100,4,52,function(){g.ya|=128;return!!(g.ya&64)}));d=0;break;case 4194162:d=0;0>b&&(g.va&=-129,0<g.kc.length&&(d=g.kc.shift(),0<g.kc.length&&setTimeout(function(){g.va|=128;g.va&64&&K(e,40,4,48)},50)));break;case 4194160:0>b?d=g.va:(d=L(this,g.va,a,b,c),0<=d&&(g.va=g.va&128|d&-129));break;default:return e.J|=16,e.L(4,
|
||||
126)}break;case 4194048:f=this.A;switch(a&-2){case 4194048:d=L(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194050:d=L(this,f.oa,a,b,c);0<=d&&(f.oa=d);break;case 4194052:d=L(this,f.R,a,b,c);0<=b&&0<=d&&(f.R=d&-36993|f.R&36992,f.R&1&&Sb(this));break;case 4194054:d=L(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194056:d=L(this,f.Pb,a,b,c);0<=d&&(f.Pb=d);break;case 4194058:d=L(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;case 4194060:break;case 4194062:d=L(this,f.Cc,a,b,c);0<=d&&(f.Cc=d);break;default:return e.J|=
|
||||
16,e.L(4,128)}break;case 4193728:var h=this.F;f=h.Fa&7;switch(a&-2){case 4193728:d=L(this,h.T,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.T=d&17279|h.T&34944|2048,d&1&&h.T&128?dc(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=L(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=L(this,h.Ga[f],a,b,c);0<=d&&(h.Ga[f]=d&7967);break;case 4193736:d=L(this,h.Fa,a,b,c);0<=d&&(h.Fa=d&63|h.Fa&65472,d&128&&cc(this));break;case 4193738:d=
|
||||
h.sa[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=L(this,h.nb,a,b,c);0<=d&&(h.nb=d&255);break;case 4193744:d=h.ld[f];break;case 4193746:d=L(this,h.Dc,a,b,c);0<=d&&(h.Dc=d);break;case 4193748:d=L(this,h.Ec[f],a,b,c);0<=d&&(h.Ec[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.md[f];break;case 4193754:d=L(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d);break;case 4193756:d=L(this,h.Sa[f],a,b,c);0<=d&&(h.Sa[f]=d&511);break;case 4193758:h.dc[f]=h.Sa[f];d=h.dc[f];break;case 4193760:d=h.jd[f];
|
||||
break;case 4193762:d=h.kd[f];break;case 4193764:d=h.gd[f];break;case 4193766:d=h.hd[f];break;case 4193768:d=L(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.T=h.T&-769|(d&3)<<8);break;case 4193770:d=L(this,h.nc,a,b,c);0<=d&&(h.nc=d);break;default:return e.J|=16,e.L(4,132)}break;case 4192512:f=this.C;switch(a&-2){case 4192512:d=L(this,f.N,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.N=f.N&-1023|d&1022,f.N&128||bc(this));break;case 4192514:d=L(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=L(this,f.ga,
|
||||
a,b,c);0<=d&&(f.ga=d);break;case 4192518:d=L(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=L(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.N=f.N&-49|(f.Ua&3)<<4);break;default:return e.J|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.mb:(d=L(this,e.mb,a,b,c),0<=d&&(70!==e.kb&&(d&=-49),e.mb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.mb&16&&(f=1),this.B.tb=this.B.tb&-8|f)));break;default:return e.J|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=L(this,e.na[0][f],
|
||||
a,b,c);0<=d&&(e.na[0][f]=d,e.na[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=L(this,e.na[1][f],a,b,c);0<=d&&(e.na[1][f]=d,e.na[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.kb)return e.L(4,234);f=a>>2&31;d=e.Tb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=L(this,d,a,b,c),0<=d&&(e.Tb[f]=a&2?d<<16|e.Tb[f]&65535:e.Tb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Mb[a>>1&255];else return e.J|=16,e.L(4,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=J.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;var f=this;this.u.qc=Nb(this.b,function(){f.u.Za|=128;f.u.Za&64&&(K(f.b,0,6,64),Ob(f.b,f.u.qc))});Jb(b,this);Lb(b,this.reset.bind(this),this.Kc.bind(this));F(this)};l.Zc=function(){var a=this.u.Za;this.u.Za&=-129;return a};
|
||||
l.qd=function(a){this.u.Za=a;a&64&&Ob(this.b,this.u.qc);this.u.Za=a&-129};l.$c=function(){var a=this.b;return a.K&62337|a.za<<5|a.Aa<<1};l.rd=function(a){var b=4,c=this.b;c.K=a&=62337;c.za=a>>5&3;c.Aa=a>>1&15;c.$b=a&257?a&1?6:4:0;Pb(c);a=c.K;a&1|256&&(b=this.b.nb&16?1:2);this.C.tb=this.C.tb&-8|b};l.bd=function(){return this.f.va};l.td=function(a){this.f.va=this.f.va&128|a&-129};l.cd=function(){return this.f.ya};
|
||||
l.ud=function(a){if(128==(this.f.ya&192)&&a&64){var b=this;K(this.b,8,4,52,function(){b.f.ya|=128;return!!(b.f.ya&64)})}this.f.ya=this.f.ya&128|a&-129};l.ad=function(){return Qb(this.b)};l.sd=function(a){Rb(this.b,a&-1809|Qb(this.b)&1808);this.b.F|=128};
|
||||
function $b(a){var b=a.B,c,d,f,e=b.wa>>13&7;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.dd,drive:e,blocksize:256,mapped:0,maxblock:b.hb[e]*b.aa[e],url:"rk"+e+".dsk"});b.R&=-129;switch(b.R>>1&7){case 0:b.Rb=2496;b.oa=0;b.R=128;b.wa=0;break;case 1:if((b.wa>>4&511)>=b.hb[e]){b.oa|=32832;b.R|=49152;break}if((b.wa&15)>=b.aa[e]){b.oa|=32800;b.R|=49152;break}c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Qb;f=65536-b.Sb&65535;ac(a,b.ra[e],c,d,f);return;case 2:if((b.wa>>4&511)>=b.hb[e])b.oa|=
|
||||
32832,b.R|=49152;else if((b.wa&15)>=b.aa[e])b.oa|=32800,b.R|=49152;else{c=(b.wa>>4&511)*b.aa[e]+(b.wa&15);d=(b.R&48)<<12|b.Qb;f=65536-b.Sb&65535;a.bc(b.ra[e],c,d,f);return}}b.Rb=e<<13|b.Rb&8176|b.wa%9&15;K(a.b,20,5,144,function(){b.R=b.R&65534|128;return!!(b.R&64)})}l.dd=function(a,b,c,d,f){var e=this.B;e.Qb=d&65535;e.R=e.R&-49|d>>12&48;e.Sb=65536-f&65535;switch(a){case 1:e.oa|=33024;e.R|=49152;break;case 2:e.oa|=33792,e.R|=49152}K(this.b,20,5,144,function(){e.R=e.R&65534|128;return!!(e.R&64)})};
|
||||
function bc(a){var b=a.D,c,d,f,e=b.N>>8&3;b.N&=-2;"undefined"===typeof b.ra[e]&&(b.ra[e]={cache:[],postProcess:a.ed,drive:e,blocksize:128,mapped:1,maxblock:b.hb[e]*b.aa[e],url:"rl"+e+".dsk"});switch(b.N>>1&7){case 2:b.$a&8&&(b.N&=63);b.$a=b.Lc[e]|b.fb&64;break;case 3:1==(b.ga&3)&&(b.fb=b.ga&4?b.fb+(b.ga&65408)&65408|b.ga<<2&64:b.fb-(b.ga&65408)&65408|b.ga<<2&64,b.ga=b.fb);break;case 4:b.$a=b.fb;break;case 5:if(b.ga>>6>=b.hb[e]){b.N|=37888;break}if((b.ga&63)>=b.aa[e]){b.N|=37888;break}c=(b.ga>>6)*
|
||||
b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;ac(a,b.ra[e],c,d,f);return;case 6:if(b.ga>>6>=b.hb[e])b.N|=37888;else if((b.ga&63)>=b.aa[e])b.N|=37888;else{c=(b.ga>>6)*b.aa[e]+(b.ga&63);d=(b.Ua&63)<<16|b.Ib;f=65536-b.$a&65535;a.bc(b.ra[e],c,d,f);return}}K(a.b,20,5,112,function(){b.N|=129;return!!(b.N&64)})}
|
||||
l.ed=function(a,b,c,d,f){var e=this.D;e.Ib=d&65535;e.N=e.N&-49|d>>12&48;e.Ua=d>>16&63;e.ga=~~(c/e.aa[b.Na])<<6|c%e.aa[b.Na];e.fb=e.ga;e.$a=65536-f&65535;switch(a){case 1:e.N|=33792;break;case 2:e.N|=40960}K(this.b,20,5,112,function(){e.N|=129;return!!(e.N&64)})};function cc(a){a=a.G;a.T=2176;a.Ga=0;a.ta=[4544,4544,4544,4544,4544,4544,4544,4544];a.yb=[0,0,0,0,0,0,0,0];a.ob=a.zb=a.xb=a.eb=a.oc=0}
|
||||
function dc(a,b){var c=a.G,d,f,e;c.T&=-16513;c.Ga&=-2049;c.ta[b]&=-1153;K(a.b,-1,0,172);"undefined"===typeof c.ra[b]&&(c.ra[b]={cache:[],postProcess:a.fd,drive:b,blocksize:256,mapped:0,maxblock:c.ec[0]*c.gb[0]*c.aa[0],url:"rp"+b+".dsk"});switch(c.T&63){case 5:c.dc[b]=c.Sa[b];c.T|=32896;c.ta[b]|=32896;c.ob|=1<<b;break;case 9:cc(a);break;case 19:c.ta[b]|=64;break;case 49:if(c.Sa[b]>=c.ec[0]||c.Ha[b]>>8>=c.gb[0]||(c.Ha[b]&255)>=c.aa[0]){c.yb[b]|=1024;c.T|=49152;break}d=(c.Sa[b]*c.gb[0]+(c.Ha[b]>>8))*
|
||||
c.aa[0]+(c.Ha[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;ac(a,c.ra[b],d,f,e);return;case 57:if(c.Sa[b]>=c.ec[0]||c.Ha[b]>>8>=c.gb[0]||(c.Ha[b]&255)>=c.aa[0])c.yb[b]|=1024,c.T|=49152;else{d=(c.Sa[b]*c.gb[0]+(c.Ha[b]>>8))*c.aa[0]+(c.Ha[b]&255);f=(c.eb&63)<<16|c.xb;e=65536-c.zb&65535;a.bc(c.ra[b],d,f,e);return}}K(a.b,3,5,172,function(){c.T=c.T&65534|128;c.ta[b]|=128;return!!(c.T&64)})}
|
||||
l.fd=function(a,b,c,d,f){var e=this.G;e.zb=65536-f&65535;e.xb=d&65535;e.T=e.T&-769|d>>8&768;e.eb=d>>16&63;f=~~(c/e.aa[0]);d=~~(f/e.gb[0]);e.Ha[b.Na]=f%e.gb[0]<<8|c%e.aa[0];e.dc[b.Na]=e.Sa[b.Na]=d;e.ob|=1<<b.Na;c>=b.Wc-1&&(e.ta[b.Na]|=1024);switch(a){case 1:e.Ga|=512;e.T|=49152;break;case 2:e.Ga|=2048,e.T|=49152}K(this.b,20,5,172,function(){e.ta[b.Na]|=128;e.T=e.T&65534|128;return!!(e.T&64)})};
|
||||
function ec(a,b,c,d,f,e){var g=~~((e+c.Va-1)/c.Va),h=new XMLHttpRequest;2048>g&&d+2048<c.Wc&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.Va<<1)+"-"+(((d+g)*c.Va<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,n,r,q;m=h.response;if(h.status&&206!=h.status||!m)c.kc(1,c,d,f,e);else{m=new Uint8Array(m);n=d;for(q=0;q<m.length;){if("undefined"===typeof c.cache[n])for(c.cache[n]=[],r=0;r<c.Va;r++)c.cache[n][r]=q<m.length?
|
||||
m[q]&255|m[q+1]<<8&65280:0,q+=2;else q+=c.Va<<1;n++}g(c,d,f,e)}}};h.send(null)}function L(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:a.b.L(4,122):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.bc=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ec(this,this.bc,a,b,c,d);return}for(f=0;f<a.Va&&0<d;f++){var e=a.Vc?fc(this.b,c):c;this.b.I.pb(e,a.cache[b][f]&65535);c+=2;--d}b++}a.kc(0,a,b,c,d)};
|
||||
function ac(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.Va;e++)b.cache[c][e]=0;for(e=0;e<b.Va&&0<f;e++){g=gc(a.b,b.Vc?fc(a.b,d):d);if(0>g){b.kc(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.kc(0,b,c,d,f)}l.reset=function(){this.C.tb=this.C.tb&-120|20;this.f.va=0;this.f.ya=128;this.u.Za=0;this.B.R=128;this.D.N=128;cc(this)};
|
||||
l.Kc=function(a,b,c){var d,f,e=this.b;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.cb&65280:(a&1&&(b<<=8),e.cb=b|255,d=0);break;case 4194298:if(0>b)d=e.nc;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.nc=d;e.F|=2}break;case 4194294:if(70!==e.lb)return e.L(4,222);0>b?d=e.J:d=e.J=0;break;case 4194292:if(70!==e.lb)return e.L(4,224);d=1;break;case 4194290:if(70!==e.lb)return e.L(4,226);d=0;break;case 4194288:if(70!==e.lb)return e.L(4,228);d=61183;break;case 4194296:0<=
|
||||
b&&!(a&1)&&(b&=255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.lb)return e.L(4,232);f=a-4194272>>1;0>b?d=e.ic[f]:(d=L(this,e.ic[f],a,b,c),0<=d&&(e.ic[f]=d));break;case 4194254:return a&1?e.P>>14&1?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[3]=b),d=e.Ba[3]):e.P>>14&0?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[1]=b),d=e.Ba[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.P&2048?(0<=b&&(e.j[f]=b),d=e.j[f]):(0<=b&&(e.Ra[f]=
|
||||
b),d=e.Ra[f]),d;case 4194246:return a&1?(0<=b&&(e.j[7]=b),d=e.j[7]):e.P>>14&0?(0<=b&&(e.j[6]=b),d=e.j[6]):(0<=b&&(e.Ba[0]=b),d=e.Ba[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.P&2048?(0<=b&&(e.Ra[f]=b),d=e.Ra[f]):(0<=b&&(e.j[f]=b),d=e.j[f]),d;default:return e.J|=16,e.L(4,124)}break;case 4194176:f=a>>1&31;d=L(this,e.na[3][f],a,b,c);0<=d&&(e.na[3][f]=d,e.na[3][f&15]&=65295);break;case 4194112:var g=this.f;switch(a&-2){case 4194174:d=L(this,e.cc,a,b,c);0<=d&&(e.cc=d);break;case 4194172:d=
|
||||
e.bb;d&65280&&(d=(d<<8|d>>8)&65535);break;case 4194168:0>b?d=this.C.od&65535:(d=L(this,this.C.data,a,b,c),0<=d&&(this.C.data=d));break;case 4194166:0<=b&&(b&127&&(g.Pc=0),g.ya&=-129,K(e,100,4,52,function(){g.ya|=128;return!!(g.ya&64)}));d=0;break;case 4194162:d=0;0>b&&(g.va&=-129,0<g.lc.length&&(d=g.lc.shift(),0<g.lc.length&&setTimeout(function(){g.va|=128;g.va&64&&K(e,40,4,48)},50)));break;case 4194160:0>b?d=g.va:(d=L(this,g.va,a,b,c),0<=d&&(g.va=g.va&128|d&-129));break;default:return e.J|=16,e.L(4,
|
||||
126)}break;case 4194048:f=this.B;switch(a&-2){case 4194048:d=L(this,f.Rb,a,b,c);0<=d&&(f.Rb=d);break;case 4194050:d=L(this,f.oa,a,b,c);0<=d&&(f.oa=d);break;case 4194052:d=L(this,f.R,a,b,c);0<=b&&0<=d&&(f.R=d&-36993|f.R&36992,f.R&1&&$b(this));break;case 4194054:d=L(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;case 4194056:d=L(this,f.Qb,a,b,c);0<=d&&(f.Qb=d);break;case 4194058:d=L(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;case 4194060:break;case 4194062:d=L(this,f.Dc,a,b,c);0<=d&&(f.Dc=d);break;default:return e.J|=
|
||||
16,e.L(4,128)}break;case 4193728:var h=this.G;f=h.Ga&7;switch(a&-2){case 4193728:d=L(this,h.T,a,b,c);0<=b&&0<=d&&(h.eb=h.eb&60|d>>8&3,h.T=d&17279|h.T&34944|2048,d&1&&h.T&128?dc(this,f):192==(d&192)&&K(e,0,5,172));break;case 4193730:d=L(this,h.zb,a,b,c);0<=d&&(h.zb=d);break;case 4193732:d=L(this,h.xb,a,b,c);0<=d&&(h.xb=d&65534);break;case 4193734:d=L(this,h.Ha[f],a,b,c);0<=d&&(h.Ha[f]=d&7967);break;case 4193736:d=L(this,h.Ga,a,b,c);0<=d&&(h.Ga=d&63|h.Ga&65472,d&128&&cc(this));break;case 4193738:d=
|
||||
h.ta[f];break;case 4193740:d=h.yb[f];break;case 4193742:d=L(this,h.ob,a,b,c);0<=d&&(h.ob=d&255);break;case 4193744:d=h.ld[f];break;case 4193746:d=L(this,h.Ec,a,b,c);0<=d&&(h.Ec=d);break;case 4193748:d=L(this,h.Fc[f],a,b,c);0<=d&&(h.Fc[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.md[f];break;case 4193754:d=L(this,h.Gc[f],a,b,c);0<=d&&(h.Gc[f]=d);break;case 4193756:d=L(this,h.Sa[f],a,b,c);0<=d&&(h.Sa[f]=d&511);break;case 4193758:h.dc[f]=h.Sa[f];d=h.dc[f];break;case 4193760:d=h.jd[f];
|
||||
break;case 4193762:d=h.kd[f];break;case 4193764:d=h.gd[f];break;case 4193766:d=h.hd[f];break;case 4193768:d=L(this,h.eb,a,b,c);0<=d&&(h.eb=d&63,h.T=h.T&-769|(d&3)<<8);break;case 4193770:d=L(this,h.oc,a,b,c);0<=d&&(h.oc=d);break;default:return e.J|=16,e.L(4,132)}break;case 4192512:f=this.D;switch(a&-2){case 4192512:d=L(this,f.N,a,b,c);0<=b&&0<=d&&(f.Ua=f.Ua&60|d>>4&3,f.N=f.N&-1023|d&1022,f.N&128||bc(this));break;case 4192514:d=L(this,f.Ib,a,b,c);0<=d&&(f.Ib=d&65534);break;case 4192516:d=L(this,f.ga,
|
||||
a,b,c);0<=d&&(f.ga=d);break;case 4192518:d=L(this,f.$a,a,b,c);0<=d&&(f.$a=d);break;case 4192520:d=L(this,f.Ua,a,b,c);0<=d&&(f.Ua=d&63,f.N=f.N&-49|(f.Ua&3)<<4);break;default:return e.J|=16,e.L(4,134)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.nb:(d=L(this,e.nb,a,b,c),0<=d&&(70!==e.lb&&(d&=-49),e.nb=d,e.ac[0]=d&4?15:7,e.ac[1]=d&2?15:7,e.ac[3]=d&1?15:7,e.$b&&(f=2,e.nb&16&&(f=1),this.C.tb=this.C.tb&-8|f)));break;default:return e.J|=16,e.L(4,136)}break;case 4191424:f=a>>1&31;d=L(this,e.na[0][f],
|
||||
a,b,c);0<=d&&(e.na[0][f]=d,e.na[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=L(this,e.na[1][f],a,b,c);0<=d&&(e.na[1][f]=d,e.na[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.lb)return e.L(4,234);f=a>>2&31;d=e.Ub[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=L(this,d,a,b,c),0<=d&&(e.Ub[f]=a&2?d<<16|e.Ub[f]&65535:e.Ub[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Mb[a>>1&255];else return e.J|=16,e.L(4,
|
||||
138);break;default:return e.J|=16,e.L(4,142)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");return d};var hc={},Kb=(hc[65382]=[null,null,J.prototype.Zc,J.prototype.qd,"LKS"],hc[65392]=[null,null,J.prototype.bd,J.prototype.td,"RCSR"],hc[65396]=[null,null,J.prototype.cd,J.prototype.ud,"XCSR"],hc[65402]=[null,null,J.prototype.$c,J.prototype.rd,"MMR0"],hc[65534]=[null,null,J.prototype.ad,J.prototype.sd,"PSW"],hc);
|
||||
Ia(function(){for(var a=E(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new J(d);bb(d,c)}});var ic;if(ub){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
||||
function I(a,b,c,d,f){this.id=lc+=2;this.b=null;this.w=a;this.Vb=b;this.size=c||0;this.type=d||mc;this.j=d==nc;this.controller=null;yb(this);this.Xa=this.Pc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(ub)this.C=new ArrayBuffer(c),this.F=new DataView(this.C,0,c),this.f=new Uint8Array(this.C,0,c),this.K=new Uint16Array(this.C,0,c>>1),this.b=new Int32Array(this.C,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||
Pa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new J(d);cb(d,c)}});var ic;if(ub){var jc=new ArrayBuffer(2);(new DataView(jc)).setUint16(0,256,!0);ic=256===(new Uint16Array(jc))[0]}else ic=!1;var kc=ic;
|
||||
function H(a,b,c,d,f){this.id=lc+=2;this.b=null;this.A=a;this.Wb=b;this.size=c||0;this.type=d||mc;this.u=d==nc;this.controller=null;yb(this);this.Xa=this.Qc=!1;if(c)if(f)this.controller=f,this.b=null,oc(this,f.Fb);else if(ub)this.D=new ArrayBuffer(c),this.G=new DataView(this.D,0,c),this.f=new Uint8Array(this.D,0,c),this.K=new Uint16Array(this.D,0,c>>1),this.b=new Int32Array(this.D,0,c>>2),oc(this,kc?pc:qc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;oc(this,rc)}else oc(this)}
|
||||
var mc=0,nc=2,Eb=4,Gb=["NONE","RAM","ROM","VID","H/W"],lc=0;
|
||||
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(ub)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.F.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ub)for(b=0;b<a.length;b++)this.F.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},ib:function(a,b){b?this.B++||sc(this,tc,!1):this.M++||uc(this,tc,!1)},S:function(){this.G&&F(this.G,129)&&this.G.message("attempt to read invalid block %"+
|
||||
t(this.w),!0);return 255},A:function(a,b){this.G&&F(this.G,129)&&this.G.message("attempt to write "+t(b,4,!0)+" to invalid block %"+t(this.w),!0)},W:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},H:function(a,b,c){this.Cb(a++,b&255,c++);this.Cb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Ba:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
|
||||
!0},La:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ca:function(a,b){if(this.G&&null!=this.w){var c=this.G;vc(c,this.w+a,1,c.W)&&c.pa(!0)}return this.Ob(a,b)},ia:function(a,b){if(this.G&&null!=this.w){var c=this.G;vc(c,this.w+a,2,c.W)&&c.pa(!0)}return this.lc(a,b)},ua:function(a,b,c){if(this.G&&null!=this.w){var d=this.G;vc(d,this.w+a,1,d.C)&&d.pa(!0)}this.j?this.A(a,b,c):this.Db(a,
|
||||
b,c)},Da:function(a,b,c){if(this.G&&null!=this.w){var d=this.G;vc(d,this.w+a,2,d.C)&&d.pa(!0)}this.j?this.A(a,b,c):this.qc(a,b,c)},$:function(a){return this.f[a]},da:function(a){return this.f[a]},fa:function(a){return this.F.getUint16(a,!0)},la:function(a){return a&1?this.f[a]|this.f[a+1]<<8:this.K[a>>1]},ta:function(a,b){this.f[a]=b;this.Xa=!0},za:function(a,b){this.f[a]=b;this.Xa=!0},Ca:function(a,b){this.F.setUint16(a,b,!0);this.Xa=!0},Ia:function(a,b){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.K[a>>
|
||||
1]=b;this.Xa=!0}};function yb(a,b,c){a.G=b;a.M=a.B=0;c&&((a.M=c.M)&&uc(a,tc,!1),(a.B=c.B)&&sc(a,tc,!1))}function wc(a,b){b?--a.B||(a.Cb=a.j?a.A:a.Db,a.Hc=a.j?a.H:a.qc):--a.M||(a.wb=a.Ob,a.Bc=a.lc)}function sc(a,b,c){c&&a.B||(a.Cb=!a.j&&b[1]||a.A,a.Hc=!a.j&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.A,a.qc=b[3]||a.H}function uc(a,b,c){c&&a.M||(a.wb=b[0]||a.S,a.Bc=b[2]||a.W);if(c||void 0===c)a.Ob=b[0]||a.S,a.lc=b[2]||a.W}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}
|
||||
var xc=[],rc=[I.prototype.ea,I.prototype.Ba,I.prototype.ma,I.prototype.La],tc=[I.prototype.ca,I.prototype.ua,I.prototype.ia,I.prototype.Da];if(ub)var qc=[I.prototype.$,I.prototype.ta,I.prototype.fa,I.prototype.Ca],pc=[I.prototype.da,I.prototype.za,I.prototype.la,I.prototype.Ia];
|
||||
function yc(a,b){y.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.Da=a.cycles||b;this.ab=c;this.qb=Math.round(this.Da/1E4)/100;this.lb=this.qb*this.ab;this.u.ha=!1;this.u.oc=!1;this.u.Gb=a.autoStart;this.u.wc=!1;this.u.rb=!1;this.Lb=this.ia=0;this.Mb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.S=[];this.Zb=this.nd.bind(this);G(this)}C(yc);var zc=["power","reset"];l=yc.prototype;
|
||||
l.Ya=function(a,b,c,d){this.B=a;this.I=b;this.G=d;for(b=0;b<zc.length;b++)(c=this.M[zc[b]])&&this.B.xa(null,zc[b],c);this.ta=null;a=Ac(a,"autoStart");null!=a&&(this.u.Gb="true"==a?!0:"false"==a?!1:!!a);G(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.Qa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.G?(a=this.G,a.g("Type ? for help with PDP11 Debugger commands"),a.Ha(),a.La&&(b=a.La,a.La=null,Dc(a,b))):this.g("No debugger detected")}M(this);return!0};l.Pa=function(a){return a?this.save():!0};l.Gb=function(){return this.u.Gb||!this.G&&void 0===this.M.run?(this.Ab(!0),!0):!1};l.yc=function(){return 0};
|
||||
function Cc(a){void 0===a.Mb&&(a.Mb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.u.rb=0<=a.Mb&&0<a.ub;a.u.rb&&(a.Lb=0,a.ia=a.Mb-a.fa)}function Ec(a,b){if(a.u.rb){var c=!1;a.Lb=a.Lb+a.yc()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ub,c=!0);0<=a.vb&&a.vb<=Fc(a)&&(a.ub=a.vb=-1,Cc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+t(a.Lb))}}
|
||||
function Gc(a,b,c,d){if(a.M[b]){void 0===c&&(hb(a,"Value for "+b+" is invalid"),a.pa());var f=a.G&&a.G.ea||8;c=!a.u.ha||a.u.wc?8==f?r(c,d):t(c,d):"--------".substr(0,d||4);a.M[b].textContent!=c&&(a.M[b].textContent=c)}}
|
||||
l.xa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.u.ja)a=!0;else{var b=null,c,h=$a(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.u.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.u.ja);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.u.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.u.ha?d.pa():d.Ab())};
|
||||
a=!0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Zc(d,d.ab<<1,!0)},c.textContent=this.lb.toFixed(2)+"Mhz",a=!0}return a};function $c(a,b,c){a.fa+=b;c&&(a.ea=a.b=0)}function ad(a,b){var c=1;b&&1<a.ab&&a.ca&&(c=a.ca/a.qb);a.Wb=Math.round(1E3/30);a.Ia=Math.floor(a.Da/30*c);b||(a.la=a.Ia);a.pb=0}function Fc(a){return a.fa+a.$+a.ea-a.b}function Bc(a){a.ca=0;a.Xb=0;a.fa=a.$=a.ea=a.b=0;Cc(a);Zc(a,1)}
|
||||
function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.ca/a.lb?b=1:d=!0;a.ab=b;b=a.qb*a.ab;if(a.lb!=b){a.lb=b;b=a.lb.toFixed(2)+"Mhz";var f=a.M.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.B&&a.B.Ub()}$c(a,a.$);a.$=0;a.W=pa();a.da=0;ad(a);return d}function Nb(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function Ob(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.Da*a.ab/1E3*(1E3/60),a.S[b][0]=c)}
|
||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(ub)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.G.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ub)for(b=0;b<a.length;b++)this.G.setInt32(b<<2,a[b],!0);else this.b=a;return this.Xa=!0}return!1},jb:function(a,b){b?this.C++||sc(this,tc,!1):this.M++||uc(this,tc,!1)},S:function(){this.i&&E(this.i,128)&&this.i.message("attempt to read invalid block %"+
|
||||
p(this.A),!0);return 255},B:function(a,b){this.i&&E(this.i,128)&&this.i.message("attempt to write "+p(b,4,!0)+" to invalid block %"+p(this.A),!0)},U:function(a,b){return this.wb(a++,b++)|this.wb(a,b)<<8},H:function(a,b,c){this.Cb(a++,b&255,c++);this.Cb(a,b>>8,c)},ea:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ma:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Aa:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Xa=
|
||||
!0},La:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Xa=!0},ca:function(a,b){if(this.i&&null!=this.A){var c=this.i;vc(c,this.A+a,1,c.Y)&&c.pa(!0)}return this.Pb(a,b)},ia:function(a,b){if(this.i&&null!=this.A){var c=this.i;vc(c,this.A+a,2,c.Y)&&c.pa(!0)}return this.mc(a,b)},ua:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;vc(d,this.A+a,1,d.D)&&d.pa(!0)}this.u?this.B(a,b,c):this.Db(a,
|
||||
b,c)},Da:function(a,b,c){if(this.i&&null!=this.A){var d=this.i;vc(d,this.A+a,2,d.D)&&d.pa(!0)}this.u?this.B(a,b,c):this.rc(a,b,c)},Y:function(a){return this.f[a]},da:function(a,b){a=this.f[a];this.i&&E(this.i,128)&&this.i.message("Memory.readByteLE("+I(this.i,b)+"): "+I(this.i,a),!0);return a},fa:function(a){return this.G.getUint16(a,!0)},la:function(a,b){a=a&1?this.f[a]|this.f[a+1]<<8:this.K[a>>1];this.i&&E(this.i,128)&&this.i.message("Memory.readWordLE("+I(this.i,b)+"): "+I(this.i,a),!0);return a},
|
||||
qa:function(a,b){this.f[a]=b;this.Xa=!0},za:function(a,b,c){this.f[a]=b;this.Xa=!0;this.i&&E(this.i,128)&&this.i.message("Memory.writeByteLE("+I(this.i,c)+","+I(this.i,b)+")",!0)},Ca:function(a,b){this.G.setUint16(a,b,!0);this.Xa=!0},Ea:function(a,b,c){a&1?(this.f[a]=b,this.f[a+1]=b>>8):this.K[a>>1]=b;this.Xa=!0;this.i&&E(this.i,128)&&this.i.message("Memory.writeWordLE("+I(this.i,c)+","+I(this.i,b)+")",!0)}};function yb(a,b,c){a.i=b;a.M=a.C=0;c&&((a.M=c.M)&&uc(a,tc,!1),(a.C=c.C)&&sc(a,tc,!1))}
|
||||
function wc(a,b){b?--a.C||(a.Cb=a.u?a.B:a.Db,a.Ic=a.u?a.H:a.rc):--a.M||(a.wb=a.Pb,a.Cc=a.mc)}function sc(a,b,c){c&&a.C||(a.Cb=!a.u&&b[1]||a.B,a.Ic=!a.u&&b[3]||a.H);if(c||void 0===c)a.Db=b[1]||a.B,a.rc=b[3]||a.H}function uc(a,b,c){c&&a.M||(a.wb=b[0]||a.S,a.Cc=b[2]||a.U);if(c||void 0===c)a.Pb=b[0]||a.S,a.mc=b[2]||a.U}function oc(a,b){b||(b=xc);uc(a,b,void 0);sc(a,b,void 0)}var xc=[],rc=[H.prototype.ea,H.prototype.Aa,H.prototype.ma,H.prototype.La],tc=[H.prototype.ca,H.prototype.ua,H.prototype.ia,H.prototype.Da];
|
||||
if(ub)var qc=[H.prototype.Y,H.prototype.qa,H.prototype.fa,H.prototype.Ca],pc=[H.prototype.da,H.prototype.za,H.prototype.la,H.prototype.Ea];function yc(a,b){x.call(this,"CPU",a,yc,1);var c=a.multiplier||1;this.Da=a.cycles||b;this.ab=c;this.ib=Math.round(this.Da/1E4)/100;this.mb=this.ib*this.ab;this.w.ha=!1;this.w.pc=!1;this.w.Gb=a.autoStart;this.w.xc=!1;this.w.rb=!1;this.Mb=this.ia=0;this.Nb=a.csStart;this.ub=a.csInterval;this.vb=a.csStop;this.S=[];this.Zb=this.nd.bind(this);F(this)}A(yc);
|
||||
var zc=["power","reset"];l=yc.prototype;l.Ya=function(a,b,c,d){this.C=a;this.I=b;this.i=d;for(b=0;b<zc.length;b++)(c=this.M[zc[b]])&&this.C.xa(null,zc[b],c);this.qa=null;a=Ac(a,"autoStart");null!=a&&(this.w.Gb="true"==a?!0:"false"==a?!1:!!a);F(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
|
||||
l.Qa=function(a,b){if(!b){if(a&&this.restore){Bc(this);if(!this.restore(a))return!1;Cc(this)}else this.reset();this.i?(a=this.i,a.g("Type ? for help with PDP11 Debugger commands"),a.Ia(),a.ib&&(b=a.ib,a.ib=null,Dc(a,b))):this.g("No debugger detected")}M(this);return!0};l.Pa=function(a){return a?this.save():!0};l.Gb=function(){return this.w.Gb||!this.i&&void 0===this.M.run?(this.Ab(!0),!0):!1};l.zc=function(){return 0};
|
||||
function Cc(a){void 0===a.Nb&&(a.Nb=0);void 0===a.ub&&(a.ub=-1);void 0===a.vb&&(a.vb=-1);a.w.rb=0<=a.Nb&&0<a.ub;a.w.rb&&(a.Mb=0,a.ia=a.Nb-a.fa)}function Ec(a,b){if(a.w.rb){var c=!1;a.Mb=a.Mb+a.zc()|0;a.ia-=b;0>=a.ia&&(a.ia+=a.ub,c=!0);0<=a.vb&&a.vb<=Fc(a)&&(a.ub=a.vb=-1,Cc(a),a.pa(),c=!0);c&&a.g(Fc(a)+" cycles: checksum="+p(a.Mb))}}
|
||||
function Yc(a,b,c,d){if(a.M[b]){void 0===c&&(tb(a,"Value for "+b+" is invalid"),a.pa());var f=a.i&&a.i.fa||8;c=!a.w.ha||a.w.xc?8==f?ca(c,d):p(c,d):"--------".substr(0,d||4);a.M[b].textContent!=c&&(a.M[b].textContent=c)}}
|
||||
l.xa=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.M[b]=c;a=!0;break;case "run":this.M[b]=c;c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.w.ja)a=!0;else{var b=null,c,h=ab(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.w.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.w.ja);c++);c==h.length&&(b=a);t("The "+b.type+" component ("+b.id+") is not "+(b.w.ready?"powered yet":"ready yet"+(b.Yb?" (waiting for notification)":""))+".");a=!1}a&&(d.w.ha?d.pa():d.Ab())};
|
||||
a=!0;break;case "speed":this.M[b]=c;a=!0;break;case "setSpeed":this.M[b]=c,c.onclick=function(){Zc(d,d.ab<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",a=!0}return a};function $c(a,b,c){a.fa+=b;c&&(a.ea=a.b=0)}function ad(a,b){var c=1;b&&1<a.ab&&a.ca&&(c=a.ca/a.ib);a.Kb=Math.round(1E3/30);a.Ea=Math.floor(a.Da/30*c);b||(a.la=a.Ea);a.qb=0}function Fc(a){return a.fa+a.Y+a.ea-a.b}function Bc(a){a.ca=0;a.Xb=0;a.fa=a.Y=a.ea=a.b=0;Cc(a);Zc(a,1)}
|
||||
function Zc(a,b,c){var d=!1;if(void 0!==b){.8>a.ca/a.mb?b=1:d=!0;a.ab=b;b=a.ib*a.ab;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var f=a.M.setSpeed;f&&(f.textContent=b);a.g("target speed: "+b)}c&&a.C&&a.C.Vb()}$c(a,a.Y);a.Y=0;a.U=qa();a.da=0;ad(a);return d}function Nb(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function Ob(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.Da*a.ab/1E3*(1E3/60),a.S[b][0]=c)}
|
||||
function bd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function cd(a,b){for(var c=a.S.length-1;0<=c;c--){var d=a.S[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function dd(a){a.ea-=a.b;a.b=0}
|
||||
l.nd=function(){if(this.u.ha){this.pb>=this.Da&&ad(this,!0);this.ua=0;this.Ca=pa();if(this.da){var a=this.Ca-this.da;a>this.Wb&&(this.W+=a,this.W>this.Ca&&(this.W=this.Ca))}try{do{var b=bd(this,this.u.rb?1:this.Ia);try{this.Bb(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.ea-this.b;cd(this,c);this.ua+=c;this.$+=c;$c(this,0,!0);Ec(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ia;15<=++this.Xb&&(this.B&&this.B.Ha(),this.Xb=0);break}}while(this.u.ha)}catch(f){this.pa();M(this);this.B&&this.B.stop(pa(),
|
||||
Fc(this));hb(this,f.stack||f.message);return}if(this.u.ha){a=setTimeout;b=this.Zb;this.da=pa();c=this.Wb;this.ua&&(c=Math.round(c*this.ua/this.Ia));var c=c-(this.da-this.Ca),d=this.da-this.W;d&&(this.ca=Math.round(this.$/(10*d))/100,864E5<=d&&(this.fa=0,Zc(this)));if(0>c||this.ca<this.lb)-1E3>c&&(this.W-=c),c=0;this.pb+=this.ua;this.da+=c;a(b,c)}}};
|
||||
l.Ab=function(a){if(gb(this))return!1;if(this.u.ha)return this.g(this.toString()+" busy"),!1;Zc(this);this.u.ha=!0;this.u.oc=!0;this.ta&&this.ta.start();var b=this.M.run;b&&(b.textContent="Halt");this.B&&(a&&this.B.Ub(!0),this.B.start(this.W,Fc(this)));M(this,!0);setTimeout(this.Zb,0);return!0};l.Bb=function(){return 0};
|
||||
l.pa=function(a){if(this.u.ha){dd(this);$c(this,this.$);this.$=0;this.u.ha=!1;this.ta&&this.ta.stop();var b=this.M.run;b&&(b.textContent="Run");this.B&&this.B.stop(pa(),Fc(this));M(this)}this.u.complete=a};function M(a,b){a.B&&a.B.Ha(b)}
|
||||
function ed(a){this.Xc=+a.model||1170;this.Tc=a.resetAddr||0;yc.call(this,a,6666667);this.Hb=0;this.decode=fd.bind(this);this.U=65536;this.V=32768;this.Y=65535;this.X=32768;this.P=15;this.i=[0,0,0,0,0,0,0,this.Tc];this.Ra=[0,0,0,0,0,0];this.Aa=[0,0,0,0];this.Ba=this.H=0;this.na=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Tb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.C=this.f=this.A=this.j=this.La=this.D=0;this.kb=70;this.ma=-1;gd(this);this.u.complete=this.u.Nc=!1}C(ed,yc);l=ed.prototype;l.reset=function(){this.u.ha&&this.pa();gd(this);Bc(this);this.u.error=!1;this.parent.reset.call(this)};
|
||||
function gd(a){a.cb=255;a.J=0;a.mc=0;a.K=0;a.bb=0;a.cc=0;a.mb=0;a.$b=0;a.za=0;a.ac=[7,7,7,7];a.F=[];a.D|=2;Pb(a)}function Pb(a){a.$b?(a.Eb=65536,a.ba=a.Rc):(a.Eb=0,a.ba=a.Qc)}l.yc=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.fa,this.ab]);a.set(2,Ib(this.I));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.fa=b[1];Zc(this,b[3]);a:{b=this.I;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.O[d];if(!e||!e.restore(f)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.nd=function(){if(this.w.ha){this.qb>=this.Da&&ad(this,!0);this.ua=0;this.Ca=qa();if(this.da){var a=this.Ca-this.da;a>this.Kb&&(this.U+=a,this.U>this.Ca&&(this.U=this.Ca))}try{do{var b=bd(this,this.w.rb?1:this.Ea);try{this.Bb(b)}catch(f){if("number"!=typeof f)throw f;}var c=this.ea-this.b;cd(this,c);this.ua+=c;this.Y+=c;$c(this,0,!0);Ec(this,c);this.la-=c;if(0>=this.la){this.la+=this.Ea;15<=++this.Xb&&(this.C&&this.C.Ia(),this.Xb=0);break}}while(this.w.ha)}catch(f){this.pa();M(this);this.C&&this.C.stop(qa(),
|
||||
Fc(this));tb(this,f.stack||f.message);return}if(this.w.ha){a=setTimeout;b=this.Zb;this.da=qa();c=this.Kb;this.ua&&(c=Math.round(c*this.ua/this.Ea));var c=c-(this.da-this.Ca),d=this.da-this.U;d&&(this.ca=Math.round(this.Y/(10*d))/100,864E5<=d&&(this.fa=0,Zc(this)));if(0>c||this.ca<this.mb)-1E3>c&&(this.U-=c),c=0;this.qb+=this.ua;this.da+=c;a(b,c)}}};
|
||||
l.Ab=function(a){if(sb(this))return!1;if(this.w.ha)return this.g(this.toString()+" busy"),!1;Zc(this);this.w.ha=!0;this.w.pc=!0;this.qa&&this.qa.start();var b=this.M.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.Vb(!0),this.C.start(this.U,Fc(this)));M(this,!0);setTimeout(this.Zb,0);return!0};l.Bb=function(){return 0};
|
||||
l.pa=function(a){if(this.w.ha){dd(this);$c(this,this.Y);this.Y=0;this.w.ha=!1;this.qa&&this.qa.stop();var b=this.M.run;b&&(b.textContent="Run");this.C&&this.C.stop(qa(),Fc(this));M(this)}this.w.complete=a};function M(a,b){a.C&&a.C.Ia(b)}
|
||||
function ed(a){this.Xc=+a.model||1170;this.jc=a.resetAddr||0;yc.call(this,a,6666667);this.Hb=0;this.decode=fd.bind(this);this.V=65536;this.W=32768;this.Z=65535;this.X=32768;this.P=15;this.j=[0,0,0,0,0,0,0,this.jc];this.Ra=[0,0,0,0,0,0];this.Ba=[0,0,0,0];this.Aa=this.H=0;this.na=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.Ub=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.ic=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.D=this.f=this.B=this.u=this.La=this.F=0;this.lb=70;this.ma=-1;gd(this);this.w.complete=this.w.Oc=!1}A(ed,yc);l=ed.prototype;l.reset=function(){this.w.ha&&this.pa();gd(this);Bc(this);this.w.error=!1;this.parent.reset.call(this)};
|
||||
function gd(a){a.cb=255;a.J=0;a.nc=0;a.K=0;a.bb=0;a.cc=0;a.nb=0;a.$b=0;a.za=0;a.ac=[7,7,7,7];a.G=[];a.F|=2;Pb(a)}function Pb(a){a.$b?(a.Eb=65536,a.ba=a.Sc):(a.Eb=0,a.ba=a.Rc)}l.zc=function(){return 0};l.save=function(){var a=new N(this);a.set(0,[]);a.set(1,[this.fa,this.ab]);a.set(2,Ib(this.I));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.fa=b[1];Zc(this,b[3]);a:{b=this.I;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.K){for(var e=0,g=Array(b.K),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.O[d];if(!e||!e.restore(f)){t("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.xa=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.M[b]=c;this.Hb++;a=!0;break;default:a=this.parent.xa.call(this,a,b,c)}return a};
|
||||
l.Ha=function(a){if(this.Hb&&(a||!this.u.ha||this.u.wc)){for(a=0;a<this.i.length;a++)Gc(this,"R"+a,this.i[a]);a=Qb(this);Gc(this,"PS",a);Gc(this,"NF",a&8?1:0,1);Gc(this,"ZF",a&4?1:0,1);Gc(this,"VF",a&2?1:0,1);Gc(this,"CF",a&1?1:0,1)}if(a=this.M.speed)a.textContent=this.u.ha&&this.ca?this.ca.toFixed(2)+"Mhz":"Stopped"};function hd(a){return a.U&65536?1:0}function id(a){return a.V&32768?2:0}function jd(a){return a.Y&65535?0:4}l.Oa=function(){return this.X&32768?8:0};
|
||||
function kd(a){var b=ld(a,a.i[7]);a.i[7]=a.i[7]+2&65535;return b}function md(a,b){a.i[7]=b&65535}function K(a,b,c,d,f){for(var e=a.F.length;0<e--;)if(a.F[e].pd===d){0<e&&(a.F[e-1].Wa+=a.F[e].Wa);a.F.splice(e,1);break}if(0<=b){for(e=a.F.length;0<e--;){if(a.F[e].Wa>b){a.F[e].Wa-=b;break}b-=a.F[e].Wa}a.F.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.D|=2}function Qb(a){return a.P=a.P&63728|a.Oa()|jd(a)|id(a)|hd(a)}
|
||||
function Rb(a,b){a.X=b<<12;a.Y=~b&4;a.V=b<<14;a.U=b<<16;if((b^a.P)&2048)for(var c=a.Ra.length;0<=--c;){var d=a.i[c];a.i[c]=a.Ra[c];a.Ra[c]=d}a.H=b>>14&3;c=a.P>>14&3;a.H!=c&&(a.Aa[c]=a.i[6],a.i[6]=a.Aa[a.H]);a.D|=2;a.P=b}function O(a,b){a.D&128||(a.X=a.Y=b,a.V=0)}function nd(a,b,c){a.D&128||(a.X=a.Y=a.U=b,a.V=c||0)}function od(a,b,c,d){a.D&128||(a.X=a.Y=a.U=b,a.V=(c^b)&(d^b))}function pd(a,b){a.D&128||(a.X=a.Y=a.U=b,a.V=a.X^a.U>>1)}function qd(a,b,c,d){a.D&128||(a.X=a.Y=a.U=b,a.V=(c^d)&(d^b))}
|
||||
l.L=function(a){var b=!1;0>this.ma?this.ma=Qb(this):this.H||(a=4,b=!0);this.K&57344||(this.bb=63222,this.cc=a);this.H=0;var c=ld(this,a|65536),d=ld(this,a+2&65535|65536);Rb(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.i[6]=4);rd(this,this.ma);rd(this,this.i[7]);md(this,c);this.D&=-113;this.ma=-1;throw a;};function sd(a){var b=td(a),c=td(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);md(a,b);Rb(a,c);a.D&=-17}
|
||||
function fc(a,b){var c=b>>13&31;31>c?a.mb&32&&(b=a.Tb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function ud(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.H];f=a.na[a.H][d];e=(a.na[a.H][d+16]<<6)+(b&8191)&4194303;a.mb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.J|=32,a.L(4,12)),e&1&&!(c&1)&&(a.J|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
|
||||
8128)&&(g|=16384));a.na[a.H][d]=f;if(4194170!==e||a.H)a.za=a.H,a.Ba=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.K&57344||(a.K=a.K|g|a.za<<5|a.Ba<<1),a.L(168,16)),a.K&61440||!(4191360>e||4194239<e)||(a.K|=4096,a.K&512&&(a.D|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.J|=64,a.L(4,10));return e}function gc(a,b){return 4194304<=b?a.i[b-4194304]:0<=b?a.I.Ka(b):b}function ld(a,b){return gc(a,ud(a,b,2))}function td(a){var b=ld(a,a.i[6]|65536);a.i[6]=a.i[6]+2&65535;return b}
|
||||
function rd(a,b){var c=a.i[6]-2&65535;a.i[6]=c;a.K&57344||(a.bb=a.bb<<8|246);!a.H&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.J|=4,a.i[6]=4,a.L(4,18)):(a.J|=8,a.D|=4));c=ud(a,c|65536,4);a.I.ob(c,b&65535)}
|
||||
function vd(a,b,c){var d,f,e=c&8?0:a.Eb,g=b>>3&7;b&=7;c&4?(a.j=g,a.f=b):(a.A=g,a.C=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.H&&c&4&&(a.i[6]<=a.cb||65534<=a.i[6])&&(a.i[6]<=a.cb-32||65534<=a.i[6]?(a.J|=4,a.i[6]=4,a.L(4,22)):(a.J|=8,a.D|=64)),a.b-=3,7===b?a.i[b]:a.i[b]|e;case 2:f=2;d=a.i[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.i[b];7!==b&&(d|=e);d=ld(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.i[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
|
||||
d=a.i[b]-2&65535;7!==b&&(d|=e);d=ld(a,d)|e;a.b-=8;break;case 6:return d=kd(a),d=d+a.i[b]&65535|e,a.b-=6,d;case 7:return d=kd(a),d=d+a.i[b]&65535,d=ld(a,d|65536)|e,a.b-=10,d}a.i[b]=a.i[b]+f&65535;!e||a.K&57344||(a.bb=a.bb<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.i[6]<=a.cb||65534<=a.i[6])&&(a.i[6]<=a.cb-32?(a.J|=4,a.i[6]=4,a.L(4,24)):(a.J|=8,a.D|=64));return d}l.Qc=function(a,b){return vd(this,a,b)};l.Rc=function(a,b){return ud(this,vd(this,a,b),b)};
|
||||
function wd(a,b,c){b&56?(b=vd(a,b,2),c&65536||61440!==(a.P&61440)&&(b&=65535),a.H=a.P>>12&3,c=ld(a,b|c&65536),a.H=a.P>>14&3):(a.A=0,c=a.C=b&7,c=6!=c||(a.P>>2&12288)===(a.P&12288)?a.i[c]:a.Aa[a.P>>12&3]);return c}function xd(a,b,c,d){a.K&57344||(a.bb=22);b&56?(b=vd(a,b,4),c&65536||(b&=65535),a.H=a.P>>12&3,b=ud(a,b|c&65536,4),a.H=a.P>>14&3,a.I.ob(b,d&65535)):(a.j=0,c=a.f=b&7,6!=c||(a.P>>2&12288)===(a.P&12288)?a.i[c]=d:a.Aa[a.P>>12&3]=d)}
|
||||
function P(a,b){b&56?a=gc(a,a.ba(b,2)):(a.A=0,a=a.i[a.C=b&7]);return a}function yd(a,b){b&56?(b=a.ba(b,3),a=a.I.sb(b)):(a.A=0,a=a.i[a.C=b&7]&255);return a}function Q(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,gc(a,b)),a.I.ob(b,c&65535)):(a.j=0,b=a.f=b&7,a.i[b]=d.call(a,c,a.i[b]))}function S(a,b,c,d){b&56?(b=a.La=a.ba(b,7),c=d.call(a,c,a.I.sb(b)),b&1&&a.b--,a.I.Sb(b,c&255)):(a.j=0,b=a.f=b&7,a.i[b]=a.i[b]&65280|d.call(a,c,a.i[b]))}
|
||||
function zd(a,b,c){b&56?(b=a.ba(b,4),a.I.ob(b,c&65535)):(a.j=0,a.i[a.f=b&7]=c&65535);return c}function Ad(a,b,c,d){b&56?(d=a.ba(b,5),d&1&&a.b--,a.I.Sb(d,c&255)):(a.j=0,b=a.f=b&7,a.i[b]=c?d&1?c<<24>>24&65535:a.i[b]&-256|c&255:a.i[b]&-256);return c}function T(a,b,c){c&&(md(a,a.i[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||
l.Bb=function(a){this.u.complete=!0;var b=this.u.Nc=this.G&&Bd(this.G),c=a?this.u.oc?0:1:-1;this.u.oc=!1;this.ea=this.b=a;do{if(b){if(Cd(this.G,this.i[7],c)){this.pa();break}c=1}if(this.D&&(this.D&112&&(this.D&32?this.L(168,28):this.D&64?this.L(4,30):this.D&16&&this.L(12,32),this.D&=-113),this.D&7))if(this.D&2){this.D&=-3;a=null;for(var d=this.mc&224,f=this.F.length;0<=--f;){if(0<this.F[f].Wa){this.F[f].Wa--;this.D|=2;break}if(this.F[f].tc){if(!this.F[f].tc()){this.F.splice(f,1);continue}this.F[f].tc=
|
||||
null}this.F[f].Yc>d&&(d=this.F[f].Yc,a=this.F[f],this.F.splice(f,1))}d>(this.P&224)&&(this.D&4&&(this.i[7]=this.i[7]+2&65535,this.D&=-5),a?this.L(a.pd,26):this.L(160,26))}else this.D&1&&this.D++;this.K&57344||(this.bb=0,this.cc=this.i[7]);this.D=this.D&7|this.P&16;this.decode(kd(this))}while(0<this.b);return this.u.complete?this.ea-this.b:void 0===this.u.complete?0:-1};Ia(function(){for(var a=E(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new ed(d);bb(d,c)}});
|
||||
function Dd(a,b){var c=b+a;od(this,c,a,b);return c&65535}function Ed(a,b){var c=b+a;od(this,c<<8,a<<8,b<<8);return c&255}function Fd(a,b){a=b<<1;pd(this,a);return a&65535}function Gd(a,b){a=b<<1;pd(this,a<<8);return a&255}function Hd(a,b){a=b&32768|b>>1|b<<16;pd(this,a);return a&65535}function Id(a,b){a=b&2048|b>>1|b<<8;pd(this,a<<8);return a&255}function Jd(a,b){a=b&~a;O(this,a);return a}function Kd(a,b){a=b&~a;O(this,a<<8);return a}function Ld(a,b){a|=b;O(this,a);return a}
|
||||
function Md(a,b){a|=b;O(this,a<<8);return a}function Nd(a,b){a=~b|65536;nd(this,a);return a&65535}function Od(a,b){a=~b|256;nd(this,a<<8);return a&255}function Pd(a,b){a=b-a;this.D&128||(this.X=this.Y=a,this.V=b&(b^a));return a&65535}function Qd(a,b){a=b-a;var c=a<<8;b<<=8;this.D&128||(this.X=this.Y=c,this.V=b&(b^c));return a&255}function Rd(a,b){a=b+a;this.D&128||(this.X=this.Y=a,this.V=a&(b^a));return a&65535}
|
||||
function Sd(a,b){a=b+a;var c=a<<8;this.D&128||(this.X=this.Y=c,this.V=c&(b<<8^c));return a&255}function Td(a,b){a=-b;nd(this,a,a&b&32768);return a&65535}function Ud(a,b){a=-b;nd(this,a<<8,(a&b&128)<<8);return a&255}function Vd(a,b){a=b<<1|this.U>>16&1;pd(this,a);return a&65535}function Wd(a,b){a=b<<1|this.U>>16&1;pd(this,a<<8);return a&255}function Xd(a,b){a=(this.U&65536|b)>>1|b<<16;pd(this,a);return a&65535}function Yd(a,b){a=((this.U&65536)>>8|b)>>1|b<<8;pd(this,a<<8);return a&255}
|
||||
function Zd(a,b){var c=b-a;qd(this,c,a,b);return c&65535}function $d(a,b){var c=b-a;qd(this,c<<8,a<<8,b<<8);return c&255}function ae(a,b){this.D&128||(this.X=this.Y=b&65280,this.V=this.U=0);return(b<<8|b>>8)&65535}function be(a,b){a^=b;O(this,a);return a&65535}
|
||||
function ce(a){var b=P(this,a);a=a>>6&7;var c=this.i[a];c&32768&&(c|=4294901760);this.U=this.V=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.U=c<<17-b,c>>=b;else if(b)if(16<b)this.V=c,c=0;else{this.U=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.V=32768)}this.i[a]=c&65535;this.X=this.Y=c;this.b-=(this.A?6:7)+b}
|
||||
function de(a){var b=P(this,a);a=a>>6&7;var c=this.i[a]<<16|this.i[a|1];this.U=this.V=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.U=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.U=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.V=32768)):d=c;this.i[a]=d>>16&65535;this.i[a|1]=d&65535;this.X=d>>16;this.Y=d>>16|d;this.b-=(this.A?6:7)+b}function U(a){a&1&&(this.U=0);a&2&&(this.V=0);a&4&&(this.Y=1);a&8&&(this.X=0);this.b-=5}
|
||||
function ee(a){var b=P(this,a);if(b){a=a>>6&7;var c=this.i[a]<<16|this.i[a|1];this.U=this.V=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.i[a]=d&65535,this.i[a|1]=c-d*b&65535,this.Y=d>>16|d,this.X=d>>16):(this.V=32768,this.Y=d>>15|d,this.X=c>>16,-1===b&&65534===this.i[a]&&(this.i[a]=this.i[a|1]=1));this.b-=53}else this.Y=this.X=0,this.V=32768,this.U=65536,this.b-=7}var fe=[0,7,7,10,7,11,9,13];function ge(a){var b=this.b;md(this,vd(this,a,8));this.b=b-fe[this.A]}
|
||||
var he=[0,14,14,17,14,18,16,20];function ie(a){var b=this.b,c=vd(this,a,8);a=a>>6&7;rd(this,this.i[a]);this.i[a]=this.i[7];md(this,c);this.b=b-he[this.A]}var je=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Ee=[7,13,13,17,14,18,17,21];function Fe(a){var b=P(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.i[a];c&32768&&(c|=-65536);b=~~(b*c);this.i[a]=b>>16&65535;this.i[a|1]=b&65535;this.D&128||(this.X=b>>16,this.Y=this.X|b,this.V=0,this.U=-32768>b||32767<b?65536:0);this.b-=23}
|
||||
function Ge(){this.b-=5}function V(a){a&1&&(this.U=65536);a&2&&(this.V=32768);a&4&&(this.Y=0);a&8&&(this.X=32768);this.b-=5}function He(a){var b=(a&448)>>6;if(this.i[b]=this.i[b]-1&65535)md(this,this.i[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Ie(a){Q(this,a,0,ae);this.b-=this.j?9:3+(7==this.f?2:0)}function Je(a){Q(this,a,P(this,(a&448)>>6),be);this.b-=this.j?9:3+(7==this.f?2:0)}function X(){this.L(8,6)}function fd(a){Ke[a>>12].call(this,a)}
|
||||
var Ke=[function(a){Le[a>>8&15].call(this,a)},function(a){var b=P(this,a>>6),c=this.b;O(this,zd(this,a,b));this.b=c-je[(this.A?8:0)+this.j]+(7!=this.f||this.j?0:2)},function(a){var b=P(this,a>>6),c=this.A,d=this.C;a=P(this,a);qd(this,b-a,a,b);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){var b=P(this,a>>6),c=this.A,d=this.C;a=P(this,a);O(this,b&a);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){Q(this,a,P(this,a>>6),Jd);this.b-=this.j?9+(this.C&&
|
||||
6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Ld);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,a>>6),Dd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Me[a>>8&15].call(this,a)},function(a){Ne[a>>8&15].call(this,a)},function(a){var b=yd(this,a>>6);O(this,Ad(this,a,b,1)<<8);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){var b=yd(this,a>>6)<<
|
||||
8,c=this.A,d=this.C;a=yd(this,a)<<8;qd(this,b-a,a,b);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){var b=yd(this,a>>6),c=this.A,d=this.C;a=yd(this,a);O(this,(b&a)<<8);this.b-=this.A?4+(d&&6<=this.C?1:0):(c?4:3)+(7==this.C?2:0)},function(a){S(this,a,yd(this,a>>6),Kd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){S(this,a,yd(this,a>>6),Md);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},function(a){Q(this,a,P(this,
|
||||
a>>6),Zd);this.b-=this.j?9+(this.C&&6<=this.f?1:0):(this.A?5:3)+(7==this.f?2:0)},X],Le=[function(a){Oe[a>>4&15].call(this,a)},function(a){T(this,a,!0)},function(a){T(this,a,!jd(this))},function(a){T(this,a,jd(this))},function(a){T(this,a,!this.Oa()==!id(this))},function(a){T(this,a,!this.Oa()!=!id(this))},function(a){T(this,a,!jd(this)&&!this.Oa()==!id(this))},function(a){T(this,a,jd(this)||!this.Oa()!=!id(this))},ie,ie,function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>6&3].call(this,a)},function(a){Re[a>>
|
||||
6&3].call(this,a)},function(a){Se[a>>6&3].call(this,a)},X,X],Pe=[function(a){nd(this,zd(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Nd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Rd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,1,Pd);this.b-=this.j?9:3+(7==this.f?2:0)}],Qe=[function(a){Q(this,a,0,Td);this.b-=this.j?11:6},function(a){Q(this,a,hd(this)?1:0,Dd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,hd(this)?1:0,Zd);this.b-=this.j?
|
||||
9:3+(7==this.f?2:0)},function(a){a=P(this,a);nd(this,a);this.b-=this.A?4:3+(7==this.C?2:0)}],Re=[function(a){Q(this,a,0,Xd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Vd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Hd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){Q(this,a,0,Fd);this.b-=this.j?9:3+(7==this.f?2:0)}],Se=[function(a){a=this.i[7]+((a&63)<<1)&65535;var b=ld(this,a|65536);md(this,this.i[5]);this.i[6]=a+2&65535;this.i[5]=b;this.b-=8},function(a){a=wd(this,
|
||||
a,0);rd(this,a);O(this,a);this.b-=11},function(a){var b=td(this),c=this.b;xd(this,a,0,b);O(this,b);this.b=c-Ee[this.j]},function(a){O(this,zd(this,a,this.Oa?65535:0));this.b-=this.j?9:3+(7==this.f?2:0)}],Oe=[function(a){Te[a&15].call(this,a)},X,X,X,ge,ge,ge,ge,function(a){if(a&8)this.L(8,6);else{var b=td(this);a&=7;md(this,this.i[a]);this.i[a]=b;this.b-=9}},function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.D|=1),this.b-=5):this.L(8,6)},function(a){Ue[a&15].call(this,a)},function(a){Ve[a&
|
||||
15].call(this,a)},Ie,Ie,Ie,Ie],Te=[function(){this.P&49152?(this.J|=128,this.L(4,3)):dd(this);this.b-=7},function(){this.D|=4;this.i[7]=this.i[7]+-2&65535;this.b-=3},function(){sd(this);this.D|=this.P&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.P&49152||(gd(this),this.I.reset());this.b-=667},function(){sd(this);this.b-=13},X,X,X,X,X,X,X,X,X],Ue=[Ge,function(){this.U=0;this.b-=5},function(){this.V=0;this.b-=5},U,function(){this.Y=1;this.b-=
|
||||
5},U,U,U,function(){this.X=0;this.b-=5},U,U,U,U,U,U,U],Ve=[Ge,function(){this.U=65536;this.b-=5},function(){this.V=32768;this.b-=5},V,function(){this.Y=0;this.b-=5},V,V,V,function(){this.X=32768;this.b-=5},V,V,V,V,V,V,V],Me=[Fe,Fe,ee,ee,ce,ce,de,de,Je,Je,X,X,X,X,He,He],Ne=[function(a){T(this,a,!this.Oa())},function(a){T(this,a,this.Oa())},function(a){T(this,a,!hd(this)&&!jd(this))},function(a){T(this,a,hd(this)||jd(this))},function(a){T(this,a,!id(this))},function(a){T(this,a,id(this))},function(a){T(this,
|
||||
a,!hd(this))},function(a){T(this,a,hd(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},function(a){Ze[a>>6&3].call(this,a)},X,X],We=[function(a){nd(this,Ad(this,a,0));this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Od);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Sd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Qd);this.b-=
|
||||
this.j?9:3+(7==this.f?2:0)}],Xe=[function(a){S(this,a,0,Ud);this.b-=this.j?11:6},function(a){S(this,a,hd(this)?1:0,Ed);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,hd(this)?1:0,$d);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){a=yd(this,a);nd(this,a<<8);this.b-=this.A?4:3+(7==this.C?2:0)}],Ye=[function(a){S(this,a,0,Yd);this.b-=this.j?9+(this.La&1):3+(7==this.f?2:0)},function(a){S(this,a,0,Wd);this.b-=this.j?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Id);this.b-=this.j?9+(this.La&1):
|
||||
3+(7==this.f?2:0)},function(a){S(this,a,0,Gd);this.b-=this.j?9:3+(7==this.f?2:0)}],Ze=[X,function(a){a=wd(this,a,65536);rd(this,a);O(this,a);this.b-=11},function(a){var b=td(this),c=this.b;xd(this,a,65536,b);O(this,b);this.b=c-Ee[this.j]},X];
|
||||
function $e(a){y.call(this,"ROM",a,$e);this.f=null;this.C=a.addr;this.j=a.size;this.F=a.writable;this.B=a.alias;this.A=a.file;this.H=ca(this.A);if(this.A){a=this.A;var b=da(this.H);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.A+"&format=bytes&decimal=true");var c=this;ra(a,null,!0,function(a,b,e){af(c,a,b,e)})}}C($e);$e.prototype.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;bf(this)};
|
||||
$e.prototype.Qa=function(){if(this.Ma){if(this.G){var a=this.G,b=this.id,c=this.C,d=this.j,f=this.Ma,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],q=oa(n,k,a.uc);0>q&&n.splice(-(q+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({wd:b,w:c,Uc:d,Ma:f,rc:e})}delete this.Ma}return!0};$e.prototype.Pa=function(){return!0};
|
||||
function af(a,b,c,d){if(d)a.ra("Unable to load system ROM (error "+d+": "+b+")");else{Za(a.vc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ma=h.symbols;if(!a.f.length){x("Empty ROM: "+
|
||||
b);return}if(1==a.f.length){x(a.f[0]);return}}catch(k){a.ra("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f<b.length;f++)a.f[f]=aa(b[f],16);bf(a)}}
|
||||
function bf(a){if(!fb(a))if(!a.A)G(a);else if(a.f&&a.I){a.j||(a.j=a.f.length);if(a.f.length!=a.j)hb(a,"ROM size ("+t(a.f.length,8,!0)+") does not match specified size ("+t(a.j,8,!0)+")");else{var b;b=a.C;if(Db(a.I,b,a.j,a.F?1:nc)){var c;for(c=0;c<a.f.length;c++){var d=a.I,f=b+c;d.O[(f&d.j)>>>d.Z].Db(f&d.f,a.f[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.B?b.push(a.B):null!=a.B&&a.B.length&&(b=a.B);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.I,g=e.j,h=[],k=e.C>>>f.Z;0<g&&k<f.O.length;)h.push(f.O[k++]),
|
||||
g-=f.Ea;f=e.I;e=e.j;g=0;for(d>>>=f.Z;0<e&&d<f.O.length;){k=h[g++];if(!k)break;f.O[d++]=k;e-=f.Ea}}delete a.f}}G(a)}}Ia(function(){for(var a=E(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new $e(d);bb(d,c)}});function cf(a){y.call(this,"RAM",a,cf);this.B=a.addr;this.j=a.size;this.f=!1}C(cf);l=cf.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.G=d;G(this)};l.Qa=function(a,b){b||this.reset();return!0};l.Pa=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.f&&this.j&&Db(this.I,this.B,this.j,1)&&(this.f=!0);this.f||x("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Ia(function(){for(var a=E(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new cf(d);bb(d,c)}});function df(a){y.call(this,"Keyboard",a,df,65536);G(this)}C(df);df.prototype.xa=function(){return!1};df.prototype.Ya=function(a,b,c,d){this.B=a;this.b=c;this.G=d;this.ta=null};
|
||||
Ia(function(){for(var a=E(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new df(d);bb(d,c)}});function ef(a){y.call(this,"Debugger",a,ef);this.ea=a.base||16;this.Da=!1;this.$=this.Ca=this.H=0;this.da=!1;this.A=-1;this.j=[];this.ia={}}C(ef);var ff={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};ef.prototype.zc=function(){return-1};ef.prototype.Ac=function(){};
|
||||
function gf(a,b,c,d){if(c)if(b){0>a.A&&a.j.length&&(a.A=0);if(0>a.A||b!=a.j[a.A])a.j.splice(0,0,b),a.A=0;a.A--}else a.da?b="end":b=a.j[a.A+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(na(b.substring(c,e))),c=e+1}}return a}
|
||||
function hf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
|
||||
l.Ia=function(a){if(this.Hb&&(a||!this.w.ha||this.w.xc)){for(a=0;a<this.j.length;a++)Yc(this,"R"+a,this.j[a]);a=Qb(this);Yc(this,"PS",a);Yc(this,"NF",a&8?1:0,1);Yc(this,"ZF",a&4?1:0,1);Yc(this,"VF",a&2?1:0,1);Yc(this,"CF",a&1?1:0,1)}if(a=this.M.speed)a.textContent=this.w.ha&&this.ca?this.ca.toFixed(2)+"Mhz":"Stopped"};function O(a){return a.V&65536?1:0}function hd(a){return a.W&32768?2:0}function id(a){return a.Z&65535?0:4}l.Oa=function(){return this.X&32768?8:0};
|
||||
function jd(a){var b=kd(a,a.j[7]);a.j[7]=a.j[7]+2&65535;return b}function ld(a,b){a.j[7]=b&65535}function K(a,b,c,d,f){for(var e=a.G.length;0<e--;)if(a.G[e].pd===d){0<e&&(a.G[e-1].Wa+=a.G[e].Wa);a.G.splice(e,1);break}if(0<=b){for(e=a.G.length;0<e--;){if(a.G[e].Wa>b){a.G[e].Wa-=b;break}b-=a.G[e].Wa}a.G.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.F|=2}function Qb(a){return a.P=a.P&63728|a.Oa()|id(a)|hd(a)|O(a)}
|
||||
function Rb(a,b){a.X=b<<12;a.Z=~b&4;a.W=b<<14;a.V=b<<16;if((b^a.P)&2048)for(var c=a.Ra.length;0<=--c;){var d=a.j[c];a.j[c]=a.Ra[c];a.Ra[c]=d}a.H=b>>14&3;c=a.P>>14&3;a.H!=c&&(a.Ba[c]=a.j[6],a.j[6]=a.Ba[a.H]);a.F|=2;a.P=b}function P(a,b){a.F&128||(a.X=a.Z=b,a.W=0)}function md(a,b,c){a.F&128||(a.X=a.Z=a.V=b,a.W=c||0)}function nd(a,b,c,d){a.F&128||(a.X=a.Z=a.V=b,a.W=(c^b)&(d^b))}function od(a,b){a.F&128||(a.X=a.Z=a.V=b,a.W=a.X^a.V>>1)}function pd(a,b,c,d){a.F&128||(a.X=a.Z=a.V=b,a.W=(c^d)&(d^b))}
|
||||
l.L=function(a){var b=!1;0>this.ma?this.ma=Qb(this):this.H||(a=4,b=!0);this.K&57344||(this.bb=63222,this.cc=a);this.H=0;var c=kd(this,a|65536),d=kd(this,a+2&65535|65536);Rb(this,d&-12289|this.ma>>2&12288);b&&(this.J|=4,this.j[6]=4);qd(this,this.ma);qd(this,this.j[7]);ld(this,c);this.F&=-113;this.ma=-1;throw a;};function rd(a){var b=sd(a),c=sd(a)&-1793;a.P&49152&&(c=c&-225|a.P&63712);ld(a,b);Rb(a,c);a.F&=-17}
|
||||
function fc(a,b){var c=b>>13&31;31>c?a.nb&32&&(b=a.Ub[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function td(a,b,c){var d,f,e,g=0;if(c&a.$b){d=b>>13&a.ac[a.H];f=a.na[a.H][d];e=(a.na[a.H][d+16]<<6)+(b&8191)&4194303;a.nb&16?3932160<=e&&4186112>e&&(e=fc(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.J|=32,a.L(4,12)),e&1&&!(c&1)&&(a.J|=64,a.L(4,14)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&
|
||||
8128)&&(g|=16384));a.na[a.H][d]=f;if(4194170!==e||a.H)a.za=a.H,a.Aa=d;g&&(g&57344&&(0<=a.ma&&(g|=128),a.K&57344||(a.K=a.K|g|a.za<<5|a.Aa<<1),a.L(168,16)),a.K&61440||!(4191360>e||4194239<e)||(a.K|=4096,a.K&512&&(a.F|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.J|=64,a.L(4,10));return e}function gc(a,b){return a.I.Ka(b)}function kd(a,b){return gc(a,td(a,b,2))}function sd(a){var b=kd(a,a.j[6]|65536);a.j[6]=a.j[6]+2&65535;return b}
|
||||
function qd(a,b){var c=a.j[6]-2&65535;a.j[6]=c;a.K&57344||(a.bb=a.bb<<8|246);!a.H&&c<=a.cb&&4<c&&(c<=a.cb-32?(a.J|=4,a.j[6]=4,a.L(4,18)):(a.J|=8,a.F|=4));c=td(a,c|65536,4);a.I.pb(c,b&65535)}
|
||||
function ud(a,b,c){var d,f,e=c&8?0:a.Eb,g=b>>3&7;b&=7;c&4?(a.u=g,a.f=b):(a.B=g,a.D=b);switch(g){case 0:return a.L(4,20),0;case 1:return 6===b&&!a.H&&c&4&&(a.j[6]<=a.cb||65534<=a.j[6])&&(a.j[6]<=a.cb-32||65534<=a.j[6]?(a.J|=4,a.j[6]=4,a.L(4,22)):(a.J|=8,a.F|=64)),a.b-=3,7===b?a.j[b]:a.j[b]|e;case 2:f=2;d=a.j[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.b-=3;break;case 3:f=2;d=a.j[b];7!==b&&(d|=e);d=kd(a,d);d|=e;a.b-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.j[b]+f&65535;7!==b&&(d|=e);a.b-=4;break;case 5:f=-2;
|
||||
d=a.j[b]-2&65535;7!==b&&(d|=e);d=kd(a,d)|e;a.b-=8;break;case 6:return d=jd(a),d=d+a.j[b]&65535|e,a.b-=6,d;case 7:return d=jd(a),d=d+a.j[b]&65535,d=kd(a,d|65536)|e,a.b-=10,d}a.j[b]=a.j[b]+f&65535;!e||a.K&57344||(a.bb=a.bb<<8|f<<3&248|b);6==b&&!a.H&&c&4&&0>=f&&(a.j[6]<=a.cb||65534<=a.j[6])&&(a.j[6]<=a.cb-32?(a.J|=4,a.j[6]=4,a.L(4,24)):(a.J|=8,a.F|=64));return d}l.Rc=function(a,b){return ud(this,a,b)};l.Sc=function(a,b){return td(this,ud(this,a,b),b)};
|
||||
function vd(a,b,c){b&56?(b=ud(a,b,2),c&65536||61440!==(a.P&61440)&&(b&=65535),a.H=a.P>>12&3,c=kd(a,b|c&65536),a.H=a.P>>14&3):(a.B=0,c=a.D=b&7,c=6!=c||(a.P>>2&12288)===(a.P&12288)?a.j[c]:a.Ba[a.P>>12&3]);return c}function wd(a,b,c,d){a.K&57344||(a.bb=22);b&56?(b=ud(a,b,4),c&65536||(b&=65535),a.H=a.P>>12&3,b=td(a,b|c&65536,4),a.H=a.P>>14&3,a.I.pb(b,d&65535)):(a.u=0,c=a.f=b&7,6!=c||(a.P>>2&12288)===(a.P&12288)?a.j[c]=d:a.Ba[a.P>>12&3]=d)}
|
||||
function Q(a,b){b&56?a=gc(a,a.ba(b,2)):(a.B=0,a=a.j[a.D=b&7]);return a}function xd(a,b){b&56?(b=a.ba(b,3),a=a.I.sb(b)):(a.B=0,a=a.j[a.D=b&7]&255);return a}function S(a,b,c,d){b&56?(b=a.ba(b,6),c=d.call(a,c,gc(a,b)),a.I.pb(b,c&65535)):(a.u=0,b=a.f=b&7,a.j[b]=d.call(a,c,a.j[b]))}function T(a,b,c,d){b&56?(b=a.La=a.ba(b,7),c=d.call(a,c,a.I.sb(b)),b&1&&a.b--,a.I.Tb(b,c&255)):(a.u=0,b=a.f=b&7,a.j[b]=a.j[b]&65280|d.call(a,c,a.j[b]))}
|
||||
function yd(a,b,c){b&56?(b=a.ba(b,4),a.I.pb(b,c&65535)):(a.u=0,a.j[a.f=b&7]=c&65535);return c}function zd(a,b,c,d){b&56?(d=a.ba(b,5),d&1&&a.b--,a.I.Tb(d,c&255)):(a.u=0,b=a.f=b&7,a.j[b]=c?d&1?c<<24>>24&65535:a.j[b]&-256|c&255:a.j[b]&-256);return c}function U(a,b,c){c&&(ld(a,a.j[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||
l.Bb=function(a){this.w.complete=!0;var b=this.w.Oc=this.i&&Ad(this.i),c=a?this.w.pc?0:1:-1;this.w.pc=!1;this.ea=this.b=a;do{if(b){if(Bd(this.i,this.j[7],c)){this.pa();break}c=1}if(this.F&&(this.F&112&&(this.F&32?this.L(168,28):this.F&64?this.L(4,30):this.F&16&&this.L(12,32),this.F&=-113),this.F&7))if(this.F&2){this.F&=-3;a=null;for(var d=this.nc&224,f=this.G.length;0<=--f;){if(0<this.G[f].Wa){this.G[f].Wa--;this.F|=2;break}if(this.G[f].uc){if(!this.G[f].uc()){this.G.splice(f,1);continue}this.G[f].uc=
|
||||
null}this.G[f].Yc>d&&(d=this.G[f].Yc,a=this.G[f],this.G.splice(f,1))}d>(this.P&224)&&(this.F&4&&(this.j[7]=this.j[7]+2&65535,this.F&=-5),a?this.L(a.pd,26):this.L(160,26))}else this.F&1&&this.F++;this.K&57344||(this.bb=0,this.cc=this.j[7]);this.F=this.F&7|this.P&16;this.decode(jd(this))}while(0<this.b);return this.w.complete?this.ea-this.b:void 0===this.w.complete?0:-1};Pa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ed(d);cb(d,c)}});
|
||||
function Cd(a,b){var c=b+a;nd(this,c,a,b);return c&65535}function Dd(a,b){var c=b+a;nd(this,c<<8,a<<8,b<<8);return c&255}function Ed(a,b){a=b<<1;od(this,a);return a&65535}function Fd(a,b){a=b<<1;od(this,a<<8);return a&255}function Gd(a,b){a=b&32768|b>>1|b<<16;od(this,a);return a&65535}function Hd(a,b){a=b&2048|b>>1|b<<8;od(this,a<<8);return a&255}function Id(a,b){a=b&~a;P(this,a);return a}function Jd(a,b){a=b&~a;P(this,a<<8);return a}function Kd(a,b){a|=b;P(this,a);return a}
|
||||
function Ld(a,b){a|=b;P(this,a<<8);return a}function Md(a,b){a=~b|65536;md(this,a);return a&65535}function Nd(a,b){a=~b|256;md(this,a<<8);return a&255}function Od(a,b){a=b-a;this.F&128||(this.X=this.Z=a,this.W=b&(b^a));return a&65535}function Pd(a,b){a=b-a;var c=a<<8;b<<=8;this.F&128||(this.X=this.Z=c,this.W=b&(b^c));return a&255}function Qd(a,b){a=b+a;this.F&128||(this.X=this.Z=a,this.W=a&(b^a));return a&65535}
|
||||
function Rd(a,b){a=b+a;var c=a<<8;this.F&128||(this.X=this.Z=c,this.W=c&(b<<8^c));return a&255}function Sd(a,b){a=-b;md(this,a,a&b&32768);return a&65535}function Td(a,b){a=-b;md(this,a<<8,(a&b&128)<<8);return a&255}function Ud(a,b){a=b<<1|this.V>>16&1;od(this,a);return a&65535}function Vd(a,b){a=b<<1|this.V>>16&1;od(this,a<<8);return a&255}function Wd(a,b){a=(this.V&65536|b)>>1|b<<16;od(this,a);return a&65535}function Xd(a,b){a=((this.V&65536)>>8|b)>>1|b<<8;od(this,a<<8);return a&255}
|
||||
function Yd(a,b){var c=b-a;pd(this,c,a,b);return c&65535}function Zd(a,b){var c=b-a;pd(this,c<<8,a<<8,b<<8);return c&255}function $d(a,b){this.F&128||(this.X=this.Z=b&65280,this.W=this.V=0);return(b<<8|b>>8)&65535}function ae(a,b){a^=b;P(this,a);return a&65535}
|
||||
function be(a){var b=Q(this,a);a=a>>6&7;var c=this.j[a];c&32768&&(c|=4294901760);this.V=this.W=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.V=c<<17-b,c>>=b;else if(b)if(16<b)this.W=c,c=0;else{this.V=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.W=32768)}this.j[a]=c&65535;this.X=this.Z=c;this.b-=(this.B?6:7)+b}
|
||||
function ce(a){var b=Q(this,a);a=a>>6&7;var c=this.j[a]<<16|this.j[a|1];this.V=this.W=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.V=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.V=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.W=32768)):d=c;this.j[a]=d>>16&65535;this.j[a|1]=d&65535;this.X=d>>16;this.Z=d>>16|d;this.b-=(this.B?6:7)+b}function V(a){a&1&&(this.V=0);a&2&&(this.W=0);a&4&&(this.Z=1);a&8&&(this.X=0);this.b-=5}
|
||||
function de(a){var b=Q(this,a);if(b){a=a>>6&7;var c=this.j[a]<<16|this.j[a|1];this.V=this.W=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.j[a]=d&65535,this.j[a|1]=c-d*b&65535,this.Z=d>>16|d,this.X=d>>16):(this.W=32768,this.Z=d>>15|d,this.X=c>>16,-1===b&&65534===this.j[a]&&(this.j[a]=this.j[a|1]=1));this.b-=53}else this.Z=this.X=0,this.W=32768,this.V=65536,this.b-=7}var ee=[0,7,7,10,7,11,9,13];function fe(a){var b=this.b;ld(this,ud(this,a,8));this.b=b-ee[this.B]}
|
||||
var ge=[0,14,14,17,14,18,16,20];function he(a){var b=this.b,c=ud(this,a,8);a=a>>6&7;qd(this,this.j[a]);this.j[a]=this.j[7];ld(this,c);this.b=b-ge[this.B]}var ie=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],De=[7,13,13,17,14,18,17,21];function Ee(a){var b=Q(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.j[a];c&32768&&(c|=-65536);b=~~(b*c);this.j[a]=b>>16&65535;this.j[a|1]=b&65535;this.F&128||(this.X=b>>16,this.Z=this.X|b,this.W=0,this.V=-32768>b||32767<b?65536:0);this.b-=23}
|
||||
function Fe(){this.b-=5}function X(a){a&1&&(this.V=65536);a&2&&(this.W=32768);a&4&&(this.Z=0);a&8&&(this.X=32768);this.b-=5}function Ge(a){var b=(a&448)>>6;if(this.j[b]=this.j[b]-1&65535)ld(this,this.j[7]-((a&63)<<1)),this.b+=1;this.b-=6}function He(a){S(this,a,0,$d);this.b-=this.u?9:3+(7==this.f?2:0)}function Ie(a){S(this,a,Q(this,(a&448)>>6),ae);this.b-=this.u?9:3+(7==this.f?2:0)}function Y(){this.L(8,6)}function fd(a){Je[a>>12].call(this,a)}
|
||||
var Je=[function(a){Ke[a>>8&15].call(this,a)},function(a){var b=Q(this,a>>6),c=this.b;P(this,yd(this,a,b));this.b=c-ie[(this.B?8:0)+this.u]+(7!=this.f||this.u?0:2)},function(a){var b=Q(this,a>>6),c=this.B,d=this.D;a=Q(this,a);pd(this,b-a,a,b);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){var b=Q(this,a>>6),c=this.B,d=this.D;a=Q(this,a);P(this,b&a);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){S(this,a,Q(this,a>>6),Id);this.b-=this.u?9+(this.D&&
|
||||
6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,a>>6),Kd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,a>>6),Cd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){Le[a>>8&15].call(this,a)},function(a){Me[a>>8&15].call(this,a)},function(a){var b=xd(this,a>>6);P(this,zd(this,a,b,1)<<8);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){var b=xd(this,a>>6)<<
|
||||
8,c=this.B,d=this.D;a=xd(this,a)<<8;pd(this,b-a,a,b);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){var b=xd(this,a>>6),c=this.B,d=this.D;a=xd(this,a);P(this,(b&a)<<8);this.b-=this.B?4+(d&&6<=this.D?1:0):(c?4:3)+(7==this.D?2:0)},function(a){T(this,a,xd(this,a>>6),Jd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){T(this,a,xd(this,a>>6),Ld);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},function(a){S(this,a,Q(this,
|
||||
a>>6),Yd);this.b-=this.u?9+(this.D&&6<=this.f?1:0):(this.B?5:3)+(7==this.f?2:0)},Y],Ke=[function(a){Ne[a>>4&15].call(this,a)},function(a){U(this,a,!0)},function(a){U(this,a,!id(this))},function(a){U(this,a,id(this))},function(a){U(this,a,!this.Oa()==!hd(this))},function(a){U(this,a,!this.Oa()!=!hd(this))},function(a){U(this,a,!id(this)&&!this.Oa()==!hd(this))},function(a){U(this,a,id(this)||!this.Oa()!=!hd(this))},he,he,function(a){Oe[a>>6&3].call(this,a)},function(a){Pe[a>>6&3].call(this,a)},function(a){Qe[a>>
|
||||
6&3].call(this,a)},function(a){Re[a>>6&3].call(this,a)},Y,Y],Oe=[function(a){md(this,yd(this,a,0));this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Md);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Qd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,1,Od);this.b-=this.u?9:3+(7==this.f?2:0)}],Pe=[function(a){S(this,a,0,Sd);this.b-=this.u?11:6},function(a){S(this,a,O(this)?1:0,Cd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,O(this)?1:0,Yd);this.b-=this.u?
|
||||
9:3+(7==this.f?2:0)},function(a){a=Q(this,a);md(this,a);this.b-=this.B?4:3+(7==this.D?2:0)}],Qe=[function(a){S(this,a,0,Wd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ud);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Gd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){S(this,a,0,Ed);this.b-=this.u?9:3+(7==this.f?2:0)}],Re=[function(a){a=this.j[7]+((a&63)<<1)&65535;var b=kd(this,a|65536);ld(this,this.j[5]);this.j[6]=a+2&65535;this.j[5]=b;this.b-=8},function(a){a=vd(this,
|
||||
a,0);qd(this,a);P(this,a);this.b-=11},function(a){var b=sd(this),c=this.b;wd(this,a,0,b);P(this,b);this.b=c-De[this.u]},function(a){P(this,yd(this,a,this.Oa?65535:0));this.b-=this.u?9:3+(7==this.f?2:0)}],Ne=[function(a){Se[a&15].call(this,a)},Y,Y,Y,fe,fe,fe,fe,function(a){if(a&8)this.L(8,6);else{var b=sd(this);a&=7;ld(this,this.j[a]);this.j[a]=b;this.b-=9}},function(a){a&8?(this.P&49152||(this.P=this.P&-2017|(a&7)<<5,this.F|=1),this.b-=5):this.L(8,6)},function(a){Te[a&15].call(this,a)},function(a){Ue[a&
|
||||
15].call(this,a)},He,He,He,He],Se=[function(){this.P&49152?(this.J|=128,this.L(4,3)):dd(this);this.b-=7},function(){this.F|=4;this.j[7]=this.j[7]+-2&65535;this.b-=3},function(){rd(this);this.F|=this.P&16;this.b-=13},function(){this.L(12,1);this.b-=5},function(){this.L(16,4);this.b-=25},function(){this.P&49152||(gd(this),this.I.reset());this.b-=667},function(){rd(this);this.b-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],Te=[Fe,function(){this.V=0;this.b-=5},function(){this.W=0;this.b-=5},V,function(){this.Z=1;this.b-=
|
||||
5},V,V,V,function(){this.X=0;this.b-=5},V,V,V,V,V,V,V],Ue=[Fe,function(){this.V=65536;this.b-=5},function(){this.W=32768;this.b-=5},X,function(){this.Z=0;this.b-=5},X,X,X,function(){this.X=32768;this.b-=5},X,X,X,X,X,X,X],Le=[Ee,Ee,de,de,be,be,ce,ce,Ie,Ie,Y,Y,Y,Y,Ge,Ge],Me=[function(a){U(this,a,!this.Oa())},function(a){U(this,a,this.Oa())},function(a){U(this,a,!O(this)&&!id(this))},function(a){U(this,a,O(this)||id(this))},function(a){U(this,a,!hd(this))},function(a){U(this,a,hd(this))},function(a){U(this,
|
||||
a,!O(this))},function(a){U(this,a,O(this))},function(){this.L(24,2);this.b-=25},function(){this.L(28,5);this.b-=5},function(a){Ve[a>>6&3].call(this,a)},function(a){We[a>>6&3].call(this,a)},function(a){Xe[a>>6&3].call(this,a)},function(a){Ye[a>>6&3].call(this,a)},Y,Y],Ve=[function(a){md(this,zd(this,a,0));this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Nd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Rd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,1,Pd);this.b-=
|
||||
this.u?9:3+(7==this.f?2:0)}],We=[function(a){T(this,a,0,Td);this.b-=this.u?11:6},function(a){T(this,a,O(this)?1:0,Dd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,O(this)?1:0,Zd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){a=xd(this,a);md(this,a<<8);this.b-=this.B?4:3+(7==this.D?2:0)}],Xe=[function(a){T(this,a,0,Xd);this.b-=this.u?9+(this.La&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Vd);this.b-=this.u?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Hd);this.b-=this.u?9+(this.La&1):
|
||||
3+(7==this.f?2:0)},function(a){T(this,a,0,Fd);this.b-=this.u?9:3+(7==this.f?2:0)}],Ye=[Y,function(a){a=vd(this,a,65536);qd(this,a);P(this,a);this.b-=11},function(a){var b=sd(this),c=this.b;wd(this,a,65536,b);P(this,b);this.b=c-De[this.u]},Y];
|
||||
function Ze(a){x.call(this,"ROM",a,Ze);this.f=null;this.D=a.addr;this.u=a.size;this.G=a.writable;this.C=a.alias;this.B=a.file;this.H=da(this.B);if(this.B){a=this.B;var b=ea(this.H);"json"!=b&&"hex"!=b&&(a=ka()+"/api/v1/dump?file="+this.B+"&format=bytes&decimal=true");var c=this;ta(a,null,!0,function(a,b,e){$e(c,a,b,e)})}}A(Ze);Ze.prototype.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;af(this)};
|
||||
Ze.prototype.Qa=function(){if(this.Ma){if(this.i){var a=this.i,b=this.id,c=this.D,d=this.u,f=this.Ma,e=[],g;for(g in f){var h=f[g];"number"==typeof h&&(f[g]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=e,k=[k>>>0,g],r=pa(n,k,a.vc);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({wd:b,A:c,Uc:d,Ma:f,sc:e})}delete this.Ma}return!0};Ze.prototype.Pa=function(){return!0};
|
||||
function $e(a,b,c,d){if(d)a.sa("Unable to load system ROM (error "+d+": "+b+")");else{$a(a.wc,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.f=e;else if(e=h.words)for(a.f=Array(2*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255;else if(e=h.data)for(a.f=Array(4*e.length),g=f=0;f<e.length;f++)a.f[g++]=e[f]&255,a.f[g++]=e[f]>>8&255,a.f[g++]=e[f]>>16&255,a.f[g++]=e[f]>>24&255;else a.f=h;a.Ma=h.symbols;if(!a.f.length){t("Empty ROM: "+
|
||||
b);return}if(1==a.f.length){t(a.f[0]);return}}catch(k){a.sa("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.f=Array(b.length),f=0;f<b.length;f++)a.f[f]=ba(b[f],16);af(a)}}
|
||||
function af(a){if(!fb(a))if(!a.B)F(a);else if(a.f&&a.I){a.u||(a.u=a.f.length);if(a.f.length!=a.u)tb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.u,8,!0)+")");else{var b;b=a.D;if(Db(a.I,b,a.u,a.G?1:nc)){var c;for(c=0;c<a.f.length;c++){var d=a.I,f=b+c;d.O[(f&d.u)>>>d.$].Db(f&d.f,a.f[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.I,g=e.u,h=[],k=e.D>>>f.$;0<g&&k<f.O.length;)h.push(f.O[k++]),
|
||||
g-=f.Fa;f=e.I;e=e.u;g=0;for(d>>>=f.$;0<e&&d<f.O.length;){k=h[g++];if(!k)break;f.O[d++]=k;e-=f.Fa}}delete a.f}}F(a)}}Pa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ze(d);cb(d,c)}});function bf(a){x.call(this,"RAM",a,bf);this.C=a.addr;this.u=a.size;this.f=!1}A(bf);l=bf.prototype;l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.i=d;F(this)};l.Qa=function(a,b){b||this.reset();return!0};l.Pa=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.f&&this.u&&Db(this.I,this.C,this.u,1)&&(this.f=!0);this.f||t("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};Pa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new bf(d);cb(d,c)}});function cf(a){x.call(this,"Keyboard",a,cf,65536);F(this)}A(cf);cf.prototype.xa=function(){return!1};cf.prototype.Ya=function(a,b,c,d){this.C=a;this.b=c;this.i=d;this.qa=null};
|
||||
Pa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new cf(d);cb(d,c)}});function df(a){x.call(this,"Debugger",a,df);this.fa=a.base||16;this.Ea=!1;this.ca=this.Da=this.H=0;this.ea=!1;this.B=-1;this.u=[];this.la={}}A(df);var ef={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};df.prototype.Ac=function(){return-1};df.prototype.Bc=function(){};
|
||||
function ff(a,b,c,d){if(c)if(b){0>a.B&&a.u.length&&(a.B=0);if(0>a.B||b!=a.u[a.B])a.u.splice(0,0,b),a.B=0;a.B--}else a.ea?b="end":b=a.u[a.B+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var f=null;d=d||";";for(var e=0;e<=b.length;e++){var g=b.charAt(e);if('"'==g||"'"==g)f?g==f&&(f=null):f=g;else if(g==d&&!f||!g)a.push(oa(b.substring(c,e))),c=e+1}}return a}
|
||||
function gf(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var f=a.pop(),e=a.pop();switch(d){case "*":d=e*f;break;case "/":if(!f)return!1;d=e/f;break;case "%":if(!f)return!1;d=e%f;break;case "+":d=e+f;break;case "-":d=e-f;break;case "<<":d=e<<f;break;case ">>":d=e>>f;break;case ">>>":d=e>>>f;break;case "<":d=e<f?1:0;break;case "<=":d=e<=f?1:0;break;case ">":d=e>f?1:0;break;case ">=":d=e>=f?1:0;break;case "==":d=e==f?1:0;break;case "!=":d=e!=f?1:0;break;case "&":d=e&f;break;
|
||||
case "^":d=e^f;break;case "|":d=e|f;break;case "&&":d=e&&f?1:0;break;case "||":d=e||f?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function jf(a,b,c){var d;if(b){b=kf(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],q=n.length,n=na(n);if(!n){e=!0;break}n=lf(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],p=n.length;k.length&&ff[n]<ff[k[k.length-1]]&&hf(h,k,1);k.push(n);b=b.substr(q+p)}hf(h,k)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&mf(a,null,
|
||||
d))}return d}function kf(a,b){for(var c,d=a.Da?"(":"{",f=a.Da?")":"}",e=new RegExp(a.Da?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=jf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?Y(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.$-a.Ca}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function lf(a,b,c,d){var f;null!=b?(f=a.zc(b),0<=f?f=a.Ac(f):(f=a.ia[b],null==f&&(f=aa(b,a.ea))),null!=f||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return f}
|
||||
function mf(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=t(c,0,!0)+" "+c+". "+r(c,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+d);return f}function nf(a,b){if(b)return mf(a,b,a.ia[b]);var c=0;for(b in a.ia)mf(a,b,a.ia[b]),c++;return 0<c}
|
||||
function Y(a,b,c,d){switch(a.ea){case 8:a=r(b,3*c);break;case 10:a=b.toString();break;default:a=t(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
||||
function of(a){ef.call(this,a);this.Da=!0;this.S=Z();this.qb=Z();this.ca=Z();this.F=[];this.f=this.W=this.C=[];pf(this);this.ua=0;qf(this);this.Ia={};rf(this,a.messages);this.La=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Dc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Dc(b,a)})}C(of,ef);
|
||||
var sf={"?":"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",v:"print version","var":"assign variable"},tf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||
uf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||
function hf(a,b,c){var d;if(b){b=jf(a,b);for(var f=0,e=!1,g=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);f<m.length;){var n=m[f++],r=n.length,n=oa(n);if(!n){e=!0;break}n=kf(a,n,null,!1===c);if(void 0===n){e=!0;c=!1;break}h.push(n);if(f==m.length)break;var n=m[f++],q=n.length;k.length&&ef[n]<ef[k[k.length-1]]&&gf(h,k,1);k.push(n);b=b.substr(r+q)}gf(h,k)&&1==h.length||(e=!0);e?c&&a.g("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&lf(a,null,
|
||||
d))}return d}function jf(a,b){for(var c,d=a.Ea?"(":"{",f=a.Ea?")":"}",e=new RegExp(a.Ea?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(e))&&!(0<=c[1].indexOf(d));){var g=hf(a,c[1]);b=b.replace(d+c[1]+f,null!=g?I(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(;c=b.match(/\$([a-z]+)/i);){d=null;switch(c[1].toLowerCase()){case "ops":d=a.ca-a.Da}if(null==d)break;b=b.replace(c[0],d.toString())}return b}
|
||||
function kf(a,b,c,d){var f;null!=b?(f=a.Ac(b),0<=f?f=a.Bc(f):(f=a.la[b],null==f&&(f=ba(b,a.fa))),null!=f||d||a.g("invalid "+(c?c:"value")+": "+b)):d||a.g("missing "+(c||"value"));return f}
|
||||
function lf(a,b,c){var d,f=!1;if(void 0!==c){f=!0;d=c;var e=0,g="";if(!e||4<e)e=4;for(var h=0;h<e;h++){g&&(g=","+g);var k=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==k||isNaN(k))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(k&1?"1":"0")+n,k>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ca(c,0,!0)+" "+("0b"+g)}a.g((null!=b?b+": ":"")+d);return f}function mf(a,b){if(b)return lf(a,b,a.la[b]);var c=0;for(b in a.la)lf(a,b,a.la[b]),c++;return 0<c}
|
||||
function I(a,b,c,d){switch(a.fa){case 8:a=ca(b,3*c);break;case 10:a=b.toString();break;default:a=p(b,2*c)}d&&"0"==a.charAt(0)&&(a=a.replace(/^0+([0-9A-F]+)$/i,"$1"));return a}
|
||||
function nf(a){df.call(this,a);this.Ea=!0;this.U=Z();this.qb=Z();this.da=Z();this.G=[];this.f=this.Y=this.D=[];of(this);this.za=0;pf(this);this.La={};qf(this,a.messages);this.ib=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return Dc(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return Dc(b,a)})}A(nf,df);
|
||||
var rf={"?":"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",v:"print version","var":"assign variable"},sf="NONE ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||
tf={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106],35072:[107]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,63],35904:[72,
|
||||
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=of.prototype;
|
||||
l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.B=a;(a=Ac(a,"messages"))&&rf(this,a);this.Hb=uf;vf(this,function(a){a:{var b=d.I.O,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(wf(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.I.Z;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Gb[c],n&&d.g(t(n.id,8)+" %"+t(f<<d.I.Z,8)+" %%"+t(n.w,8)+" "+t(n.Vb,
|
||||
4,!0)+" "+t(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.I.Ea;f++}}});G(this)};
|
||||
l.xa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ta=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.j.length-1&&(b=d.j[++d.A])):40==a.keyCode&&(0<d.A?b=d.j[--d.A]:(b="",d.A=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Ca(c,function(){if(d.ta){var a=d.ta.value;
|
||||
d.ta.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Ca(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Bb(a?1:0),db(d,!1));return b}),!0}return!1};l.Ub=function(){this.ta&&this.ta.focus()};l.ba=function(a){a=a&&a.w;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=this.I,c=c.O[(d&c.j)>>>c.Z].Ob(d&c.f,d),b&&xf(a,b));return c};l.Ka=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=Hb(this.I,d),b&&xf(a,b));return c};
|
||||
l.Sb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){var f=this.I;f.O[(d&f.j)>>>f.Z].Db(d&f.f,b&255,d);c&&xf(a,c);M(this.b,!0)}};l.ob=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){var f=this.I,e=d&f.f,g=(d&f.j)>>>f.Z;e!=f.f?f.O[g].qc(e,b&65535,d):(f.O[g++].Db(e,b&255,d),f.O[g&f.B].Db(0,b>>8&255,d+1));c&&xf(a,c);M(this.b,!0)}};function Z(a){return{w:a,Ja:!1}}function yf(a){return[a.w,a.Ja]}function zf(a){return{w:a[0],Ja:a[1]}}
|
||||
function wf(a,b,c){var d;c=(c?a.S:a.qb).w;if(void 0!==b){d=b=kf(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.F.length;c++){var e=a.F[c].Ma[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=jf(a,b,void 0)}null!=c&&(d=Z(c));return d}function Af(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Lc=gf(a,b.Gc=c[2]))}function xf(a,b){null!=a.w&&(a.w+=b||1)}
|
||||
function rf(a,b){a.G=a;a.ka=a.Mc=536870912;a.za=null;a.Ba=[];b=gf(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in H){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=H[c],a.g(c+" messages enabled"))}}function vf(a,b){for(var c in H)if(64==H[c]){a.Ia[c]=b;break}}
|
||||
l.zc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Bf(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Ac=function(a){var b;0<=a&&(8>a?b=this.b.i[a]:16>a?b=this.b.Ra[a-8]:20>a?b=this.b.Aa[a-16]:20==a&&(b=Qb(this.b)));return b};
|
||||
l.message=function(a,b){b&&(a+=" at "+Y(this,Z(this.b.i[7]).w));this.ka&1073741824?this.Ba.push(a):this.za&&a==this.za||(this.za=a,this.ka&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,dd(a),a.la=0,M(a)))};
|
||||
function qf(a){var b;if(Bd(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b<a.K.length;b++)a.K[b]=Z();a.ma=0;a.g("instruction history buffer allocated")}if(!a.la||!a.la.length)for(a.la=Array(256),b=0;b<a.la.length;b++)a.la[b]=[b,0]}else a.K&&a.K.length&&a.g("instruction history buffer freed"),a.ma=0,a.K=[],a.la=[]}l.Ab=function(a){if(!Cf(this))return!1;this.b.Ab(a);return!0};
|
||||
l.Bb=function(a,b,c){if(!Cf(this))return!1;this.H=0;a||Bd(this)&&Cd(this,this.b.i[7],0);try{a=bd(this.b,a);var d=this.b.Bb(a);0<d&&(cd(this.b,a),this.H+=d,$c(this.b,d,!0),Ec(this.b,d),this.$++)}catch(f){"number"!=typeof f&&(this.H=0,hb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Ha(b||!1);return 0<this.H};l.pa=function(a){this.b&&this.b.pa(a)};l.Ha=function(a){void 0===a&&(a=!0);this.S=Z(this.b.i[7]);a&&1!=this.fa?Df(this):Ef(this)};
|
||||
function Cf(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.u.ja?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.u.ha?!gb(a.b):!1}l.Qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Pa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){qf(this);this.$=this.Ca=0;this.za=null;this.H=0;this.S=Z(this.b.i[7]);this.u.ha=!1;Ff(this);a||this.Ha()};
|
||||
l.save=function(){var a=new N(this);a.set(0,yf(this.S));a.set(1,yf(this.ca));a.set(2,[this.j,this.da,this.ka]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.S=zf(a[b++]),this.ca=zf(a[b++]),this.j=a[b][0],"string"==typeof this.j&&(this.j=[this.j]),this.da=a[b][1],this.ka|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.fa||this.g("running");this.u.ha=!0;this.Wb=a;this.Xb=b};
|
||||
l.stop=function(a,b){if(this.u.ha){this.u.ha=!1;this.H=b-this.Xb;if(!this.fa){b="stopped";if(this.H){a-=this.Wb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Bd(this)&&(b+=this.$+" opcodes, ",this.Ca-=this.$,this.$=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ha(!0);this.Ub();Ff(this,this.b.i[7])}};function Bd(a){return 1<a.f.length||!!a.ua}
|
||||
function Cd(a,b,c){var d=a.b;if(0<c&&(a.ua&&!--a.ua||vc(a,b,1,a.f)))return!0;0<=c&&a.la.length&&(a.$++,null!=Hb(a.I,b)&&(b=a.K[a.ma],b.w=d.i[7],b.Ja=!1,++a.ma==a.K.length&&(a.ma=0)));return!1}function pf(a){var b,c;a.f=["bp"];if(a.W)for(b=1;b<a.W.length;b++){c=a.W[b];var d=a.I;c=a.ba(c);wc(d.O[c>>>d.Z],!1)}a.W=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.I,c=a.ba(c),wc(d.O[c>>>d.Z],!0);a.C=["bw"];a.pb=0}
|
||||
l.ib=function(a,b,c){var d=!0;c||Gf(this,a,b,!1,!0);if(a!=this.f){var f=this.ba(b);if(-1===f)this.g("invalid address: "+Y(this,b.w)),d=!1;else{var e=this.I;e.O[f>>>e.Z].ib(f&e.f,a==this.C)}}d&&(a.push(b),c?b.Ja=!0:(Hf(this,a,a.length-1,"set"),qf(this)));return d};function Gf(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ja)){e=!0;h.Ja||f||Hf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.I,wc(d.O[c>>>d.Z],b==a.C));h.Ja||qf(a);break}}return e}
|
||||
function If(a,b){for(var c=1;c<b.length;c++)Hf(a,b,c);return b.length-1}function Hf(a,b,c,d){c=b[c];a.g(b[0]+" "+Y(a,c.w)+(d?" "+d:c.Gc?' "'+c.Gc+'"':""))}function Ff(a,b){if(void 0!==b)vc(a,b,1,a.f,!0),a.fa=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ja){if(!Gf(a,a.f,c,!0))break;b=0}}}
|
||||
function vc(a,b,c,d,f){var e=!1;if(!a.pb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ja)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ja&&(Gf(a,d,h,!0),f=!0);if(n=h.Lc){for(var e=!1,q=0;q<n.length;q++)if(!Jf(a,n[q],!0)){if(n[q].indexOf("if")){e=!0;break}for(var p=q+1;p<n.length&&n[p].indexOf("else");p++)q++;if(p==n.length){e=!0;break}}a.b.u.ha||(e=!0)}if(e){f||Hf(a,d,g,"hit");break}}}a.pb--;return e}
|
||||
function Kf(a,b,c,d){var f=Z(b.w),e=a.Ka(b,2),g,h;for(h in a.Hb)if(g=a.Hb[h][e&h])break;g||(g=[0]);for(var k=h="",m=tf[g[0]],n=g.length-1,q=1;q<=n;q++){var p=g[q];if(void 0!==p){var v;v=a;var w=p,p=b,z="",u=w&61440;if(4096==u)p=p.w+((e&255)<<24>>23)&65535,z=Y(v,p);else if(8192==u)p=p.w-((e&63)<<1)&65535,z=Y(v,p);else if(12288==u)z=Y(v,e&7,1);else if(24576==u)z=Y(v,e&63,1);else if(u=e&w,w&4032&&(u>>=6,w>>=6),w&63)switch(w=u&7,u&56){case 0:z=Bf(w);break;case 8:z="@"+Bf(w);break;case 16:7>w?z="("+Bf(w)+
|
||||
")+":(u=v.Ka(p,2),z="#"+Y(v,u,0,!0));break;case 24:7>w?z="@("+Bf(w)+")+":(u=v.Ka(p,2),z="@#"+Y(v,u,0,!0));break;case 32:z="-("+Bf(w)+")";break;case 40:z="@-("+Bf(w)+")";break;case 48:u=v.Ka(p,2);z=Y(v,u,0,!0)+"("+Bf(w)+")";7==w&&(z=[z,Y(v,u+p.w&65535)]);break;case 56:u=v.Ka(p,2),z="@"+Y(v,u)+"("+Bf(w)+")",7==w&&(z=[z,Y(v,u+p.w&65535)])}v=z;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(k=v[1],v=v[0]);0<h.length&&(h+=",");h+=v||"???"}}e="";g=Y(a,f.w)+":";if(-1!==f.w&&-1!==b.w){do if(e+=" "+
|
||||
Y(a,a.Ka(f,2)),null==f.w)break;while(f.w!=b.w)}g+=ma(e,24);g+=ma(m,5);h&&(g+=" "+h);if(c||k)g=ma(g,60)+";"+(c||""),g=a.b.u.rb?g+("cycles="+Fc(a.b).toString()+" cs="+t(a.b.Lb)):g+(null!=d?"="+d.toString():""),k&&(g+=" @"+k);return g}function Lf(a,b){switch(b){case "N":a=a.b.Oa();break;case "Z":a=jd(a.b);break;case "V":a=id(a.b);break;case "C":a=hd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function Mf(a,b){var c="",d=a.b;8>b?(c=Bf(b),c+="="+Y(a,d.i[b])):13>b?c="A"+(b-8)+"="+Y(a,d.Ra[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+Y(a,d.Aa[b-16]):20==b&&(c="PS="+Y(a,Qb(d)));c&&(c+=" ");return c}function Nf(a){var b,c="";for(b=0;6>b;b++)c+=Mf(a,b);c=c+"\n"+(Mf(a,6)+Mf(a,7)+Mf(a,20));return c+=Lf(a,"T")+Lf(a,"N")+Lf(a,"Z")+Lf(a,"V")+Lf(a,"C")}l.uc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Of(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.F.length;b++){var e=a.F[b],g=e.w>>>0,h=e.Uc;if(f>=g&&f<g+h){f=oa(e.rc,[f-g],a.uc);0<=f?Pf(a,b,f,d):c&&(f=~f,Pf(a,b,f-1,d),Pf(a,b,f,d));break}}return d}function Pf(a,b,c,d){var f={},e=a.F[b].rc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.F[b].Ma[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
function Qf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return nf(a)||a.g("no variables"),!0;if(!c[2])return nf(a,c[1]);if(!c[3])return delete a.ia[c[1]],!0;b=jf(a,c[3]);return void 0!==b?(a.ia[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||
function Rf(a,b,c){var d=null;if(b=wf(a,b,!0)){a.ba(b);var f=Of(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.w-f[1])&&(g=" + "+t(e,4,!0)),e=f[0]+" ("+Y(a,f[1])+")"+g,c&&a.g(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.w)&&(g=" - "+t(e,4,!0)),e=f[4]+" ("+Y(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
|
||||
function Df(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}e=jf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.i[6]=e&65535;break;case "PC":case "R7":md(d,e);a.S=Z(d.i[7]);break;case "N":d.X=e?32768:0;break;
|
||||
case "Z":d.Y=e?0:1;break;case "V":d.V=e?32768:0;break;case "C":d.U=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.i[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Nf(a));c&&(a.S=Z(d.i[7]),Ef(a,Y(a,a.S.w)))}}function Sf(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(c[2]):jf(a,b,!0)}
|
||||
function Tf(a,b,c){var d="t"!=b;c=lf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ba(c,function(){return db(a,!0)&&a.Bb(f,d,!1)},function(){M(a.b);db(a,!1)})}
|
||||
function Ef(a,b,c,d){if(b=wf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=wf(a,c,!0);if(!d||d.w<b.w)return;f=d.w-b.w;if(256<f){a.g("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.fa?a.H:null;var g=null!=e?"cycles":null,h=Of(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],e=null);e=Kf(a,b,g,e);a.g(e);a.S=b;f-=b.w-k;c++}}}
|
||||
function Jf(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+Y(a,a.ca.w)),a.S=a.ca,a.da=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(fb(a)&&0<b.length){a.da&&(b="a "+Y(a,a.ca.w)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=wf(a,e[1],!0);
|
||||
if(n)if(a.ca=n,void 0===e[2])a.g("begin assemble at "+Y(a,n.w)),a.da=!0,M(a.b);else{var q;a.g("not supported yet");q=[];if(q.length){for(var p=0;p<q.length;p++)a.Sb(n,q[p],1);a.g(Kf(a,a.ca))}}break;case "b":a:{var v=e[0],w=e[1],z=b;if("?"==w)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
|
||||
else{var u=v.charAt(1);if("l"==u){var Hc;Hc=0+If(a,a.f);Hc+=If(a,a.W);(Hc+=If(a,a.C))||a.g("no breakpoints")}else if("n"==u)a.ua=lf(a,w),a.g("break after "+a.ua+" instruction(s)");else if(void 0===w)a.g("missing breakpoint address");else{var R=Z();if("*"!=w&&(R=wf(a,w,!0),!R))break a;"c"==u?null==R.w?(pf(a),a.g("all breakpoints cleared")):Gf(a,a.f,R)||Gf(a,a.W,R)||Gf(a,a.C,R)||a.g("breakpoint missing: "+Y(a,R.w)):null!=R.w&&(Af(a,R,z),"p"==u?a.ib(a.f,R):"r"==u?a.ib(a.W,R):"w"==u?a.ib(a.C,R):a.g("unknown breakpoint command: "+
|
||||
u))}}}break;case "c":a.jb&&(a.jb.value="");break;case "d":a:{var Ka,La=e[0],ga=e[1],xa=e[2],lg=e[3];if("?"==ga){var Ma="";for(Ka in H)a.Ia[Ka]&&(Ma&&(Ma+=","),Ma+=Ka);Ma+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ma.length&&a.g("dump extension commands:\n\t"+Ma)}else if("state"==ga){var ke=Uf(a.B,
|
||||
!0);"console"==xa?console.log(ke):(a.jb&&(a.jb.value=""),a.g(ke))}else if("symbols"==ga)for(var Ic=0;Ic<a.F.length;Ic++){var Jc=a.F[Ic],Na;for(Na in Jc.Ma)if("."!=Na.charAt(0)){var le=Jc.Ma[Na].o;if(void 0!==le){var me=Jc.Ma[Na].l;me&&(Na=me);a.g(Y(a,le)+" "+Na)}}}else{if("d"==La){for(Ka in H)if(e[1]==Ka){var ne=a.Ia[Ka];ne?(e.shift(),e.shift(),ne(e)):a.g("no dump registered for "+ga);break a}ga||(La=a.Zb||"db")}else a.Zb=La;if("dh"==La){var oe=ga,pe=xa,qe="",re=0,ba=a.ma,ha=a.K;if(ha.length){var W=
|
||||
+oe||a.Eb,ib=+pe||10;isNaN(W)?W=ib:qe="more ";W>ha.length&&(a.g("note: only "+ha.length+" available"),W=ha.length);ba-=W;0>ba&&(null==ha[ha.length-1].w?(W=ba+W,ba=0):ba+=ha.length);var Kc=[];"call"==pe&&(ib=1E5,Kc=["CALL"]);for(void 0!==oe&&a.g(W+" instructions earlier:");0<ib&&ba!=a.ma;){var se=ha[ba++];if(null==se.w)break;var jb=Z(se.w),mg=W--,te=Kf(a,jb,"history",mg);(!Kc.length||0<=te.indexOf(Kc[0]))&&a.g(te);jb.hc&&(ba+=jb.hc,ib-=jb.hc,W-=jb.hc);ba>=ha.length&&(ba=0);a.Eb=W;re++;ib--}}re||(a.g("no "+
|
||||
qe+"history available"),a.Eb=void 0)}else{var Tb=wf(a,ga);if(Tb){var Ub=0;xa&&("l"==xa.charAt(0)&&(xa=xa.substr(1)||lg),Ub=lf(a,xa)>>>0,65536<Ub&&(Ub=65536));for(var kb="",Oa="dd"==La?4:"dw"==La?2:1,Vb=Oa*Ub||128,ng=Vb+15>>4||1;ng--&&0<Vb;){var lb=0,Lc=0,mb,Mc="",ue="",ga=Y(a,Tb.w);for(mb=4==Oa?16:a.ea;0<mb&&0<Vb;mb--){var Wb=a.sb(Tb,1),lb=lb|Wb<<(Lc++<<3);Lc==Oa&&(Mc+=8==a.ea?r(lb,3*Oa):t(lb,2*Oa),Mc+=1==Oa?9==mb?"-":" ":" ",lb=Lc=0);ue+=32<=Wb&&128>Wb?String.fromCharCode(Wb):".";Vb--}kb&&(kb+=
|
||||
"\n");kb+=ga+" "+Mc+(0==mb?" "+ue:"")}kb&&a.g(kb);a.qb=Tb}}}}break;case "e":if("else"==e[0])break;var Pa,Nc,Oc,Pc,Qc=e[0],Rc=e[1];"eb"==Qc?(Pa=1,Nc=255,Oc=a.sb,Pc=a.Sb):"e"==Qc||"ew"==Qc?(Pa=2,Nc=65535,Oc=a.Ka,Pc=a.ob):Rc=null;if(null==Rc)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Xb=wf(a,Rc);if(Xb)for(var Yb=2;Yb<e.length;Yb++){var nb=jf(a,e[Yb]);if(void 0===nb){a.g("unrecognized value: "+e[Yb]);break}nb&~Nc&&
|
||||
a.g("warning: "+t(nb)+" exceeds "+Pa+"-byte value");var og=Oc.call(a,Xb);a.g("changing "+Y(a,Xb.w)+" from "+Y(a,og,Pa)+" to "+Y(a,nb,Pa));Pc.call(a,Xb,nb,Pa)}}break;case "g":a:{var ve=e[1],pg=b;if(void 0!==ve){var Sc=wf(a,ve,!0);if(!Sc)break a;Af(a,Sc,pg);a.ib(a.f,Sc,!0)}a.Ab(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.u.ha?(c||a.g("halting"),a.pa()):eb(a,!0)||c||a.g("already halted");break;case "i":if("if"==e[0]){var Tc;var ob=b.substr(2),ob=na(ob);jf(a,ob)?(c||a.g("true: "+
|
||||
ob),Tc=!0):(c||a.g("false: "+ob),Tc=!1);Tc||(d=!1)}break;case "k":var qg=e[0];if("?"==e[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Uc=0,we=Z(),pb=Z(a.b.i[6]);for(a.g("stack trace for "+Y(a,pb.w));10>Uc;){for(var ya=null,rg=256;65536>pb.w>>>0;){we.w=a.Ka(pb,2);if(null==pb.w||!rg--)break;for(var sg=a,Zb=we,xe=null,qb=Zb.w,ye=qb,Vc=1;6>=Vc&&qb;Vc++){if(2<Vc){Zb.w=qb;var $b=Kf(sg,Zb);if(0<=$b.indexOf("JSR")){var ze=$b.indexOf(" ");if(qb+
|
||||
($b.indexOf(" ",ze+1)-ze-1)/2==ye){xe=$b;break}}}qb--}Zb.w=ye;if(ya=xe)break}if(!ya||null==ya)break;var Ae=null;if("ks"==qg){var Be=ya.match(/[0-9A-F]+$/);Be&&(Ae=Rf(a,Be[0]))}ya=ma(ya,50)+" ;"+(Ae||"stack="+Y(a,pb.w));a.g(ya);Uc++}Uc||a.g("no return addresses found")}break;case "l":"ln"==e[0]&&Rf(a,e[1],!0);break;case "m":a:{var ia,ja=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var ua=0;if("all"==B)ua=1878917119,B=null;else if("on"==B)ja=!0,B=null;else if("off"==B)ja=!1,B=null;else{"keys"==B&&
|
||||
(B="key");"kbd"==B&&(B="keyboard");for(ia in H)if(B==ia){ua=H[ia];ja=!!(a.ka&ua);break}if(!ua){a.g("unknown message category: "+B);break a}}if(ua)if("on"==e[2])a.ka|=ua,ja=!0;else if("off"==e[2]&&(a.ka&=~ua,ja=!1,1073741824==ua)){for(var Wc=0;Wc<a.Ba.length;Wc++)a.g(a.Ba[Wc]);a.Ba=[]}}var tg=0,rb="";for(ia in H)if(!B||B==ia){var ug=!!(a.ka&H[ia]);if(null===ja||ja==ug)rb&&(rb+=","),++tg%10||(rb+="\n\t"),"key"==ia&&(ia="keys"),rb+=ia}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.g((null!==ja?ja?"messages on: ":"messages off: ":"message categories:\n\t")+(rb||"none"));qf(a)}break;case "p":if("print"==e[0]){Sf(a,b.substr(5));break}var vg="pr"==e[0]?1:0;if(a.fa)a.g("step in progress");else{var Ce=Z(a.b.i[7]);a.sb(Ce);a.fa?(a.ib(a.f,Ce,!0),a.Ab()||(a.B&&a.B.Ub(),a.fa=0)):Tf(a,vg?"tr":"t")}break;case "r":if("reset"==b){a.B&&a.B.reset();break}Df(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var sb=+e[2];if(8==sb||10==sb||16==sb)a.ea=sb;else{a.g("invalid base: "+sb);
|
||||
break}}a.g("default base: "+a.ea);break;case "cs":var tb;void 0!==e[3]&&(tb=+e[3]);switch(e[2]){case "int":a.b.ub=tb;break;case "start":a.b.Mb=tb;break;case "stop":a.b.vb=tb;break;default:a.g("unknown cs option");break a}void 0!==tb&&Cc(a.b);a.g("checksums "+(a.b.u.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Zc(a.b,+e[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.lb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.g("debugger options:");
|
||||
a.g("\tbase #\t\tset default base to #");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.g("unknown option: "+e[1])}break;case "t":Tf(a,e[0],e[1]);break;case "u":Ef(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Qf(a,b.substr(3))||(d=!1);break}a.g("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ub?",TYPEDARRAYS":",LONGARRAYS")+
|
||||
")");a.g(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Sf(a,b.substr(1));break}var Xc="commands:",Yc;for(Yc in sf)Xc+="\n"+ma(Yc,9)+sf[Yc];Bd(a)||(Xc+="\nnote: history disabled if no exec breakpoints");a.g(Xc);break;default:a.g("unknown command: "+b),d=!1}}}catch(De){a.g("debugger error: "+(De.stack||De.message)),d=!1}return d}function Dc(a,b,c){b=gf(a,b,c);for(var d in b)if(!Jf(a,b[+d]))return!1;return!0}
|
||||
Ia(function(){for(var a=E(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new of(d);bb(d,c)}});
|
||||
function Vf(a,b,c){y.call(this,"Computer",a,Vf,67108864);this.u.ja=!1;Wf(this,b);this.W=Ac(this,"autoPower",a);this.B=0;this.fa=a.busWidth||a.buswidth;this.f=Xf;this.K=null;this.F=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.j=Yf(this);if(this.b=ab("CPU",this.id)){this.G=ab("Debugger",this.id);this.I=new xb({id:this.vc+".bus",busWidth:this.fa},this.b,this.G);var d,f=$a(this.id);if((this.A=ab("Panel",this.id))&&this.A.jb)for(b=0;b<f.length;b++)d=f[b],d.ra=this.A.ra,d.g=
|
||||
this.A.g,d.jb=this.A.jb;this.g("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.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.I,this.b,this.G);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.$=a,e||(this.F=!0,this.f=Xf),this.f&&
|
||||
(this.S=new N(this,"1.30.0"),Zf(this.S)?b=null:delete this.S);!b&&this.f&&(b=$f(this))&&(this.F=!0);if(b){var g=this;ra(b,null,!0,function(a,b,c){c?(g.H=null,g.F=!1,g.ra("Unable to load machine state from server (error "+c+(b?": "+na(b):"")+")")):(g.K=b,g.da=!0);G(g)})}else G(this);this.M.power||(this.W=!0);!c&&this.W&&ag(this,this.Nb)}else x("Unable to find CPU component")}C(Vf);var Xf=0;
|
||||
function Wf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ta[b]||Ta[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ag(a,b,c){for(var d=$a(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){ag(a,b,c)});return}}b.call(a,c)}
|
||||
function bg(a,b){var c=new N(a,"1.30.0","validate");if(Zf(c)&&cg(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.ra("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Vf.prototype;
|
||||
l.Nb=function(a){void 0===a&&(a=this.f||(this.K?1:Xf));if(!this.B){this.B++;var b=!1,c=!1;this.ca=!1;var d=this.S||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>Xf){if(Zf(d,this.K)){this.C=new N(this,"1.30.0","failsafe");Zf(this.C)&&(dg(this,d),a=2,eg(this.C));this.C.set("timestamp",qa());fg(this.C);var f=this.f&&!this.F;if(1==a||sa("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=cg(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Zf(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.ra("Error: "+g),"unable to verify user"==g&&(za("user",""),this.j=null)):this.g(e+": "+g),eg(d),Zf(d)?(c=cg(d),f=!0):c=!1))}f&&bg(this,c?d:null)}else 2==a&&d.clear()}else bg(this);delete this.K;delete this.S}f=$a(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=gg(this,g,d,b,c));b=[d,a,c];-1!=a?ag(this,this.xc,b):this.xc(b)}};
|
||||
function gg(a,b,c,d,f){if(!b.u.ja){b.u.ja=!0;if(b.Qa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Qa(e,d)&&e&&(x("Unable to restore state for "+b.type),a.$&&!a.da?(c.clear(),a.f=Xf,window&&window.location.reload()):a.ca=!0,b.Qa(null),f=!1)}if(!d&&b.sc)for(a=b.sc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.xc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.u.ja=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(gg(this,this.b,b,c,a),this.b.Gb());this.ca&&(dg(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.B=0};
|
||||
function dg(a,b){if(sa("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.j||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ra("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Uf(a,b,c){var d,f="none";if(a.B)return null;a.B--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=qa();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(c&&a.b.pa(),d=a.b.Pa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.u.ja=!1,!1===d&&(f=null)));for(var h=$a(a.id),k=0;k<h.length;k++){var m=h[k];m.u.ja&&(m.Pa&&(d=m.Pa(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.u.ja=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.j&&hg(a,a.j,e.toString()),fg(g)&&fg(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.u.ja=!1,b=a.M.power)&&(b.textContent="Power");a.B=0;return f}l.reset=function(){this.I&&this.I.reset&&(cb(this,"Resetting "+this.I.type),this.I.reset());for(var a=$a(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.I&&c.reset&&(cb(this,"Resetting "+c.type),c.reset())}};
|
||||
l.start=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};l.stop=function(a,b){for(var c=$a(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.xa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.B||(d.u.ja?Uf(d,!1,!0):ag(d,d.Nb))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.u.ja&&!d.B)if(d.f&&!d.H){var a=sa("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Uf(d,a,!0);!a&&d.$?window&&window.location.reload():d.Nb(Xf)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.M[b]=
|
||||
c,c.onclick=function(){var a=Yf(d,!0);if(a){var b=!!(d.f&&!d.H||d.$),c=Uf(d,b);b?hg(d,a,c):d.ra("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Yf(a,b){var c=a.j;c||((c=wa("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=ig(a,c))||a.ra("The user ID is invalid.")):b&&a.ra("Browser local storage is not available"));return c}
|
||||
function ig(a,b){a.j=null;b=ra(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(za("user",b.data),a.j=b.data)}catch(d){x(d.message+" ("+c+")")}return a.j}function $f(a){var b=null;a.j&&(b=fa()+"/api/v1/user?req=load&user="+a.j+"&state="+jg(a,"1.30.0"));return b}
|
||||
function hg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jg(a,"1.30.0");d.data=c;b=ra(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ra("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.ra(c),za("user",""),a.j=null)}}l.Ub=function(){};
|
||||
l.Ha=function(a){this.b&&this.b.Ha(a);this.A&&this.A.Ha(a)};Ia(function(){for(var a=E(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=D(c),c=E(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=D(e),g=new Vf(g,d,!0);bb(g,e);g.W&&ag(g,g.Nb)}});Da.show.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=ab("Computer",c.id))&&c.ia&&!c.u.ja&&c.Nb(-1)}});
|
||||
Da.exit.push(function(){for(var a=E(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=ab("Computer",c.id))&&c.u.ja&&Uf(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=jg(a,b,c);this.G=a.G;eg(this,a.Sc)}function jg(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){eg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||
1);c=0}}};function eg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function fg(a){var b=!0;if(va()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function cg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){x(c.message||c),b=!1}return b}function Zf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:va()&&(b=wa(a.key))?(a[a.id]=b,a.b=!0):!1}var kg=0;
|
||||
function wg(a,b,c,d,f,e){f("Loading "+a+"...");ra(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):xg(h,a,b,c,d,f,e)})}
|
||||
function xg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Za(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?yg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function yg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");ra(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);yg(a,b,c)}})}else c(a,null)}
|
||||
function zg(a,b,c,d){function f(a){if(void 0===h){var b=g&&E(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function e(a){f("Error: "+a);k&&(--kg||Qa(!0));k=!1}var g,h,k=!0;kg++;Ya[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=m:q.appendChild(document.createTextNode(m));n.appendChild(q)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?wg(c,null,null,!1,f,function(d,k){k?(Za(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--kg||Qa(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--kg||Qa(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?wg(b,a,d,!0,f,m):xg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(p){e(p.message)}return k}window.embedPDP11=function(a,b,c,d){Qa(!1);return zg(a,b,c,d)};window.enableEvents=Qa;window.sendEvent=Ra;})();
|
||||
63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}};l=nf.prototype;
|
||||
l.Ya=function(a,b,c,d){this.I=b;this.b=c;this.C=a;(a=Ac(a,"messages"))&&qf(this,a);this.Kb=tf;uf(this,function(a){a:{var b=d.I.O,c=a[0],f=a=0,k=b.length;if(c){a=d.ba(vf(d,c));if(-1===a){d.g("invalid address: "+c);break a}f=a>>>d.I.$;k=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[f];n.type==c?m++||d.g("..."):(c=n.type,m=Gb[c],n&&d.g(p(n.id,8)+" %"+p(f<<d.I.$,8)+" %%"+p(n.A,8)+" "+p(n.Wb,
|
||||
4,!0)+" "+p(n.size,4,!0)+" "+m),c!=mc&&(c=-1),m=0);a+=d.I.Fa;f++}}});F(this)};
|
||||
l.xa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ua=this.M[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",Dc(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.B<d.u.length-1&&(b=d.u[++d.B])):40==a.keyCode&&(0<d.B?b=d.u[--d.B]:(b="",d.B=-1)),null!=b){var f=b.length;c.value=b;c.setSelectionRange(f,f)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.M[b]=c,Da(c,function(){if(d.ua){var a=d.ua.value;
|
||||
d.ua.value="";Dc(d,a,!0);return!0}return!1}),!0;case "step":return this.M[b]=c,Da(c,function(a){var b=!1;eb(d,!0)||(db(d,!0),b=d.Bb(a?1:0),db(d,!1));return b}),!0}return!1};l.Vb=function(){this.ua&&this.ua.focus()};l.ba=function(a){a=a&&a.A;null==a&&(a=-1);return a};l.sb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(this.K++,c=this.I,c=c.O[(d&c.u)>>>c.$].Pb(d&c.f,d),this.K--,b&&wf(a,b));return c};
|
||||
l.Ka=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(this.K++,c=Hb(this.I,d),this.K--,b&&wf(a,b));return c};l.Tb=function(a,b,c){var d=this.ba(a,!0,1);if(-1!==d){this.K++;var f=this.I;f.O[(d&f.u)>>>f.$].Db(d&f.f,b&255,d);this.K--;c&&wf(a,c);M(this.b,!0)}};l.pb=function(a,b,c){var d=this.ba(a,!0,2);if(-1!==d){this.K++;var f=this.I,e=d&f.f,g=(d&f.u)>>>f.$;e!=f.f?f.O[g].rc(e,b&65535,d):(f.O[g++].Db(e,b&255,d),f.O[g&f.C].Db(0,b>>8&255,d+1));this.K--;c&&wf(a,c);M(this.b,!0)}};
|
||||
function Z(a){return{A:a,Ja:!1}}function xf(a){return[a.A,a.Ja]}function yf(a){return{A:a[0],Ja:a[1]}}function vf(a,b,c){var d;c=(c?a.U:a.qb).A;if(void 0!==b){d=b=jf(a,b);var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.G.length;c++){var e=a.G[c].Ma[d];if(void 0!==e){d=e.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;c=hf(a,b,void 0)}null!=c&&(d=Z(c));return d}function zf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Mc=ff(a,b.Hc=c[2]))}function wf(a,b){null!=a.A&&(a.A+=b||1)}
|
||||
function qf(a,b){a.i=a;a.ka=a.Nc=536870912;a.Aa=null;a.Ca=[];a.K=0;b=ff(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in G){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var f=b.length;d<f;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.ka|=G[c],a.g(c+" messages enabled"))}}function uf(a,b){for(var c in G)if(64==G[c]){a.La[c]=b;break}}
|
||||
l.Ac=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Af(a){return 6>a?"R"+a:6==a?"SP":"PC"}l.Bc=function(a){var b;0<=a&&(8>a?b=this.b.j[a]:16>a?b=this.b.Ra[a-8]:20>a?b=this.b.Ba[a-16]:20==a&&(b=Qb(this.b)));return b};
|
||||
l.message=function(a,b){this.K||(b&&(a+=" at "+I(this,Z(this.b.j[7]).A)),this.ka&1073741824?this.Ca.push(a):this.Aa&&a==this.Aa||(this.Aa=a,this.ka&-2147483648&&(this.pa(),a+=" (cpu halted)"),this.g(a),this.b&&(a=this.b,dd(a),a.la=0,M(a))))};
|
||||
function pf(a){var b;if(Ad(a)){if(!a.S||!a.S.length){a.S=Array(1E3);for(b=0;b<a.S.length;b++)a.S[b]=Z();a.qa=0;a.g("instruction history buffer allocated")}if(!a.ma||!a.ma.length)for(a.ma=Array(256),b=0;b<a.ma.length;b++)a.ma[b]=[b,0]}else a.S&&a.S.length&&a.g("instruction history buffer freed"),a.qa=0,a.S=[],a.ma=[]}l.Ab=function(a){if(!Bf(this))return!1;this.b.Ab(a);return!0};
|
||||
l.Bb=function(a,b,c){if(!Bf(this))return!1;this.H=0;a||Ad(this)&&Bd(this,this.b.j[7],0);try{a=bd(this.b,a);var d=this.b.Bb(a);0<d&&(cd(this.b,a),this.H+=d,$c(this.b,d,!0),Ec(this.b,d),this.ca++)}catch(f){"number"!=typeof f&&(this.H=0,tb(this.b,f.stack||f.message))}!1!==c&&M(this.b);this.Ia(b||!1);return 0<this.H};l.pa=function(a){this.b&&this.b.pa(a)};l.Ia=function(a){void 0===a&&(a=!0);this.U=Z(this.b.j[7]);a&&1!=this.ia?Cf(this):Df(this)};
|
||||
function Bf(a){var b;if(b=a.b&&fb(a.b))b=a.b,b.w.ja?b=!0:(b.g(b.toString()+" not powered"),b=!1);return b&&!a.b.w.ha?!sb(a.b):!1}l.Qa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Pa=function(a,b){b&&this.g(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){pf(this);this.ca=this.Da=0;this.Aa=null;this.H=0;this.U=Z(this.b.j[7]);this.w.ha=!1;Ef(this);a||this.Ia()};
|
||||
l.save=function(){var a=new N(this);a.set(0,xf(this.U));a.set(1,xf(this.da));a.set(2,[this.u,this.ea,this.ka]);a.set(3,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.U=yf(a[b++]),this.da=yf(a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.ea=a[b][1],this.ka|=a[b][2]);a[3]&&(this.G=a[3]);return!0};l.start=function(a,b){this.ia||this.g("running");this.w.ha=!0;this.Xb=a;this.Zb=b};
|
||||
l.stop=function(a,b){if(this.w.ha){this.w.ha=!1;this.H=b-this.Zb;if(!this.ia){b="stopped";if(this.H){a-=this.Xb;var c=0<a?Math.round(1E3*this.H/a):0;b+=" (";Ad(this)&&(b+=this.ca+" opcodes, ",this.Da-=this.ca,this.ca=0);b+=this.H+" cycles, "+a+" ms, "+c+" hz)"}else E(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.g(b)}this.Ia(!0);this.Vb();Ef(this,this.b.j[7])}};function Ad(a){return 1<a.f.length||!!a.za}
|
||||
function Bd(a,b,c){var d=a.b;if(0<c&&(a.za&&!--a.za||vc(a,b,1,a.f)))return!0;0<=c&&a.ma.length&&(a.ca++,a.K++,b=Hb(a.I,b),a.K--,null!=b&&(b=a.S[a.qa],b.A=d.j[7],b.Ja=!1,++a.qa==a.S.length&&(a.qa=0)));return!1}function of(a){var b,c;a.f=["bp"];if(a.Y)for(b=1;b<a.Y.length;b++){c=a.Y[b];var d=a.I;c=a.ba(c);wc(d.O[c>>>d.$],!1)}a.Y=["br"];if(a.D)for(b=1;b<a.D.length;b++)c=a.D[b],d=a.I,c=a.ba(c),wc(d.O[c>>>d.$],!0);a.D=["bw"];a.Eb=0}
|
||||
l.jb=function(a,b,c){var d=!0;c||Ff(this,a,b,!1,!0);if(a!=this.f){var f=this.ba(b);if(-1===f)this.g("invalid address: "+I(this,b.A)),d=!1;else{var e=this.I;e.O[f>>>e.$].jb(f&e.f,a==this.D)}}d&&(a.push(b),c?b.Ja=!0:(Gf(this,a,a.length-1,"set"),pf(this)));return d};function Ff(a,b,c,d,f){var e=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Ja)){e=!0;h.Ja||f||Gf(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.I,wc(d.O[c>>>d.$],b==a.D));h.Ja||pf(a);break}}return e}
|
||||
function Hf(a,b){for(var c=1;c<b.length;c++)Gf(a,b,c);return b.length-1}function Gf(a,b,c,d){c=b[c];a.g(b[0]+" "+I(a,c.A)+(d?" "+d:c.Hc?' "'+c.Hc+'"':""))}function Ef(a,b){if(void 0!==b)vc(a,b,1,a.f,!0),a.ia=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Ja){if(!Ff(a,a.f,c,!0))break;b=0}}}
|
||||
function vc(a,b,c,d,f){var e=!1;if(!a.Eb++)for(var g=1;!e&&g<d.length;g++){var h=d[g];if(!f||h.Ja)for(var k=a.ba(h),m=0;m<c;m++)if(b+m==k){var n,e=!0;h.Ja&&(Ff(a,d,h,!0),f=!0);if(n=h.Mc){for(var e=!1,r=0;r<n.length;r++)if(!If(a,n[r],!0)){if(n[r].indexOf("if")){e=!0;break}for(var q=r+1;q<n.length&&n[q].indexOf("else");q++)r++;if(q==n.length){e=!0;break}}a.b.w.ha||(e=!0)}if(e){f||Gf(a,d,g,"hit");break}}}a.Eb--;return e}
|
||||
function Jf(a,b,c,d){var f=Z(b.A),e=a.Ka(b,2),g,h;for(h in a.Kb)if(g=a.Kb[h][e&h])break;g||(g=[0]);for(var k=h="",m=sf[g[0]],n=g.length-1,r=1;r<=n;r++){var q=g[r];if(void 0!==q){var v;v=a;var w=q,q=b,z="",u=w&61440;if(4096==u)q=q.A+((e&255)<<24>>23)&65535,z=I(v,q);else if(8192==u)q=q.A-((e&63)<<1)&65535,z=I(v,q);else if(12288==u)z=I(v,e&7,1);else if(24576==u)z=I(v,e&63,1);else if(u=e&w,w&4032&&(u>>=6,w>>=6),w&63)switch(w=u&7,u&56){case 0:z=Af(w);break;case 8:z="@"+Af(w);break;case 16:7>w?z="("+Af(w)+
|
||||
")+":(u=v.Ka(q,2),z="#"+I(v,u,0,!0));break;case 24:7>w?z="@("+Af(w)+")+":(u=v.Ka(q,2),z="@#"+I(v,u,0,!0));break;case 32:z="-("+Af(w)+")";break;case 40:z="@-("+Af(w)+")";break;case 48:u=v.Ka(q,2);z=I(v,u,0,!0)+"("+Af(w)+")";7==w&&(z=[z,I(v,u+q.A&65535)]);break;case 56:u=v.Ka(q,2),z="@"+I(v,u)+"("+Af(w)+")",7==w&&(z=[z,I(v,u+q.A&65535)])}v=z;if(!v||!v.length){h="INVALID";break}"string"!=typeof v&&(k=v[1],v=v[0]);0<h.length&&(h+=",");h+=v||"???"}}e="";g=I(a,f.A)+":";if(-1!==f.A&&-1!==b.A){do if(e+=" "+
|
||||
I(a,a.Ka(f,2)),null==f.A)break;while(f.A!=b.A)}g+=na(e,24);g+=na(m,5);h&&(g+=" "+h);if(c||k)g=na(g,60)+";"+(c||""),g=a.b.w.rb?g+("cycles="+Fc(a.b).toString()+" cs="+p(a.b.Mb)):g+(null!=d?"="+d.toString():""),k&&(g+=" @"+k);return g}function Kf(a,b){switch(b){case "N":a=a.b.Oa();break;case "Z":a=id(a.b);break;case "V":a=hd(a.b);break;case "C":a=O(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||
function Lf(a,b){var c="",d=a.b;8>b?(c=Af(b),c+="="+I(a,d.j[b])):13>b?c="A"+(b-8)+"="+I(a,d.Ra[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+I(a,d.Ba[b-16]):20==b&&(c="PS="+I(a,Qb(d)));c&&(c+=" ");return c}function Mf(a){var b,c="";for(b=0;6>b;b++)c+=Lf(a,b);c=c+"\n"+(Lf(a,6)+Lf(a,7)+Lf(a,20));return c+=Kf(a,"T")+Kf(a,"N")+Kf(a,"Z")+Kf(a,"V")+Kf(a,"C")}l.vc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function Nf(a,b,c){var d=[],f=a.ba(b)>>>0;for(b=0;b<a.G.length;b++){var e=a.G[b],g=e.A>>>0,h=e.Uc;if(f>=g&&f<g+h){f=pa(e.sc,[f-g],a.vc);0<=f?Of(a,b,f,d):c&&(f=~f,Of(a,b,f-1,d),Of(a,b,f,d));break}}return d}function Of(a,b,c,d){var f={},e=a.G[b].sc,g=0,h=null;0<=c&&c<e.length&&(g=e[c][0],h=e[c][1]);h&&(f=a.G[b].Ma[h],h="."==h.charAt(0)?null:f.l||h);d.push(h);d.push(g);d.push(f.a);d.push(f.c)}
|
||||
function Pf(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return mf(a)||a.g("no variables"),!0;if(!c[2])return mf(a,c[1]);if(!c[3])return delete a.la[c[1]],!0;b=hf(a,c[3]);return void 0!==b?(a.la[c[1]]=b,!0):!1}a.g("invalid assignment:"+b);return!1}
|
||||
function Qf(a,b,c){var d=null;if(b=vf(a,b,!0)){a.ba(b);var f=Nf(a,b,!0);if(f.length){var e,g;f[0]&&(g="",(e=b.A-f[1])&&(g=" + "+p(e,4,!0)),e=f[0]+" ("+I(a,f[1])+")"+g,c&&a.g(e),d=e);4<f.length&&f[4]&&(g="",(e=f[5]-b.A)&&(g=" - "+p(e,4,!0)),e=f[4]+" ("+I(a,f[5])+")"+g,c&&a.g(e),d||(d=e))}else c&&a.g("no symbols")}return d}
|
||||
function Cf(a,b){var c;if(b&&"?"==b[1])a.g("register commands:"),a.g("\tr\tdump registers"),a.g("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var f=b[1],e=f.indexOf("=");if(0<e)b=f.substr(e+1),f=f.substr(0,e);else if(2<b.length)b=b[2];else{a.g("missing value for "+b[1]);return}e=hf(a,b);if(void 0===e)return;b=f.toUpperCase();switch(b){case "SP":case "R6":d.j[6]=e&65535;break;case "PC":case "R7":ld(d,e);a.U=Z(d.j[7]);break;case "N":d.X=e?32768:0;break;
|
||||
case "Z":d.Z=e?0:1;break;case "V":d.W=e?32768:0;break;case "C":d.V=e?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.j[b]=e&65535;break}a.g("unknown register: "+f);return}M(d);a.g("updated registers:")}a.g(Mf(a));c&&(a.U=Z(d.j[7]),Df(a,I(a,a.U.A)))}}function Rf(a,b){b=oa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(c[2]):hf(a,b,!0)}
|
||||
function Sf(a,b,c){var d="t"!=b;c=kf(a,c,null,!0)||1;var f=1==c?0:1;"tc"==b&&(f=c,c=1);Ca(c,function(){return db(a,!0)&&a.Bb(f,d,!1)},function(){M(a.b);db(a,!1)})}
|
||||
function Df(a,b,c,d){if(b=vf(a,b,!0)){void 0===d&&(d=1);var f=256;if(void 0!==c){d=vf(a,c,!0);if(!d||d.A<b.A)return;f=d.A-b.A;if(256<f){a.g("range too large");return}d=-1}c=0;for(var e;0<f&&d--;){e=eb(a,!1)||a.ia?a.H:null;var g=null!=e?"cycles":null,h=Nf(a,b),k=b.A;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(g=h[3],e=null);e=Jf(a,b,g,e);a.g(e);a.U=b;f-=b.A-k;c++}}}
|
||||
function If(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ea&&(a.g("ended assemble at "+I(a,a.da.A)),a.U=a.da,a.ea=!1),b="");var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Aa=null;if(fb(a)&&0<b.length){a.ea&&(b="a "+I(a,a.da.A)+" "+b);var e=b.replace(/ +/g," ").split(" ");if(e&&e.length)for(var g=e[0],h=g.charAt(0),k=1;k<g.length;k++){var m=g.charAt(k);if("?"==h||"r"==h||"a">m||"z"<m){e[0]=g.substr(k);e.unshift(g.substr(0,k));break}}switch(e[0].charAt(0)){case "a":var n=vf(a,e[1],!0);
|
||||
if(n)if(a.da=n,void 0===e[2])a.g("begin assemble at "+I(a,n.A)),a.ea=!0,M(a.b);else{var r;a.g("not supported yet");r=[];if(r.length){for(var q=0;q<r.length;q++)a.Tb(n,r[q],1);a.g(Jf(a,a.da))}}break;case "b":a:{var v=e[0],w=e[1],z=b;if("?"==w)a.g("breakpoint commands:"),a.g("\tbp [a]\tset exec breakpoint at addr [a]"),a.g("\tbr [a]\tset read breakpoint at addr [a]"),a.g("\tbw [a]\tset write breakpoint at addr [a]"),a.g("\tbc [a]\tclear breakpoint at addr [a]"),a.g("\tbl\tlist all breakpoints"),a.g("\tbn [n]\tbreak after [n] instruction(s)");
|
||||
else{var u=v.charAt(1);if("l"==u){var Gc;Gc=0+Hf(a,a.f);Gc+=Hf(a,a.Y);(Gc+=Hf(a,a.D))||a.g("no breakpoints")}else if("n"==u)a.za=kf(a,w),a.g("break after "+a.za+" instruction(s)");else if(void 0===w)a.g("missing breakpoint address");else{var R=Z();if("*"!=w&&(R=vf(a,w,!0),!R))break a;"c"==u?null==R.A?(of(a),a.g("all breakpoints cleared")):Ff(a,a.f,R)||Ff(a,a.Y,R)||Ff(a,a.D,R)||a.g("breakpoint missing: "+I(a,R.A)):null!=R.A&&(zf(a,R,z),"p"==u?a.jb(a.f,R):"r"==u?a.jb(a.Y,R):"w"==u?a.jb(a.D,R):a.g("unknown breakpoint command: "+
|
||||
u))}}}break;case "c":a.kb&&(a.kb.value="");break;case "d":a:{var Ia,Ja=e[0],fa=e[1],va=e[2],kg=e[3];if("?"==fa){var Ka="";for(Ia in G)a.La[Ia]&&(Ka&&(Ka+=","),Ka+=Ia);Ka+=",state,symbols";a.g("dump memory commands:");a.g("\tdb [a] [#] dump # bytes at address a");a.g("\tdw [a] [#] dump # words at address a");a.g("\tdd [a] [#] dump # dwords at address a");a.g("\tdh [#] [#] dump # instructions from history");Ka.length&&a.g("dump extension commands:\n\t"+Ka)}else if("state"==fa){var je=Tf(a.C,
|
||||
!0);"console"==va?console.log(je):(a.kb&&(a.kb.value=""),a.g(je))}else if("symbols"==fa)for(var Hc=0;Hc<a.G.length;Hc++){var Ic=a.G[Hc],La;for(La in Ic.Ma)if("."!=La.charAt(0)){var ke=Ic.Ma[La].o;if(void 0!==ke){var le=Ic.Ma[La].l;le&&(La=le);a.g(I(a,ke)+" "+La)}}}else{if("d"==Ja){for(Ia in G)if(e[1]==Ia){var me=a.La[Ia];me?(e.shift(),e.shift(),me(e)):a.g("no dump registered for "+fa);break a}fa||(Ja=a.jc||"db")}else a.jc=Ja;if("dh"==Ja){var ne=fa,oe=va,pe="",qe=0,aa=a.qa,ga=a.S;if(ga.length){var W=
|
||||
+ne||a.Hb,gb=+oe||10;isNaN(W)?W=gb:pe="more ";W>ga.length&&(a.g("note: only "+ga.length+" available"),W=ga.length);aa-=W;0>aa&&(null==ga[ga.length-1].A?(W=aa+W,aa=0):aa+=ga.length);var Jc=[];"call"==oe&&(gb=1E5,Jc=["CALL"]);for(void 0!==ne&&a.g(W+" instructions earlier:");0<gb&&aa!=a.qa;){var re=ga[aa++];if(null==re.A)break;var hb=Z(re.A),lg=W--,se=Jf(a,hb,"history",lg);(!Jc.length||0<=se.indexOf(Jc[0]))&&a.g(se);hb.hc&&(aa+=hb.hc,gb-=hb.hc,W-=hb.hc);aa>=ga.length&&(aa=0);a.Hb=W;qe++;gb--}}qe||(a.g("no "+
|
||||
pe+"history available"),a.Hb=void 0)}else{var Sb=vf(a,fa);if(Sb){var Tb=0;va&&("l"==va.charAt(0)&&(va=va.substr(1)||kg),Tb=kf(a,va)>>>0,65536<Tb&&(Tb=65536));for(var ib="",Ma="dd"==Ja?4:"dw"==Ja?2:1,Ub=Ma*Tb||128,mg=Ub+15>>4||1;mg--&&0<Ub;){var jb=0,Kc=0,kb,Lc="",te="",fa=I(a,Sb.A);for(kb=4==Ma?16:a.fa;0<kb&&0<Ub;kb--){var Vb=a.sb(Sb,1),jb=jb|Vb<<(Kc++<<3);Kc==Ma&&(Lc+=8==a.fa?ca(jb,3*Ma):p(jb,2*Ma),Lc+=1==Ma?9==kb?"-":" ":" ",jb=Kc=0);te+=32<=Vb&&128>Vb?String.fromCharCode(Vb):".";Ub--}ib&&(ib+=
|
||||
"\n");ib+=fa+" "+Lc+(0==kb?" "+te:"")}ib&&a.g(ib);a.qb=Sb}}}}break;case "e":if("else"==e[0])break;var Na,Mc,Nc,Oc,Pc=e[0],Qc=e[1];"eb"==Pc?(Na=1,Mc=255,Nc=a.sb,Oc=a.Tb):"e"==Pc||"ew"==Pc?(Na=2,Mc=65535,Nc=a.Ka,Oc=a.pb):Qc=null;if(null==Qc)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"),a.g("\tew [a] [...] edit words at address a");else{var Wb=vf(a,Qc);if(Wb)for(var Xb=2;Xb<e.length;Xb++){var lb=hf(a,e[Xb]);if(void 0===lb){a.g("unrecognized value: "+e[Xb]);break}lb&~Mc&&
|
||||
a.g("warning: "+p(lb)+" exceeds "+Na+"-byte value");var ng=Nc.call(a,Wb);a.g("changing "+I(a,Wb.A)+" from "+I(a,ng,Na)+" to "+I(a,lb,Na));Oc.call(a,Wb,lb,Na)}}break;case "g":a:{var ue=e[1],og=b;if(void 0!==ue){var Rc=vf(a,ue,!0);if(!Rc)break a;zf(a,Rc,og);a.jb(a.f,Rc,!0)}a.Ab(!0)||c||a.g("cpu busy or unavailable, run command ignored")}break;case "h":a.w.ha?(c||a.g("halting"),a.pa()):eb(a,!0)||c||a.g("already halted");break;case "i":if("if"==e[0]){var Sc;var mb=b.substr(2),mb=oa(mb);hf(a,mb)?(c||a.g("true: "+
|
||||
mb),Sc=!0):(c||a.g("false: "+mb),Sc=!1);Sc||(d=!1)}break;case "k":var pg=e[0];if("?"==e[1])a.g("stack trace commands:"),a.g("\tk\tshow frame addresses"),a.g("\tks\tshow symbol information");else{var Tc=0,ve=Z(),nb=Z(a.b.j[6]);for(a.g("stack trace for "+I(a,nb.A));10>Tc;){for(var wa=null,qg=256;65536>nb.A>>>0;){ve.A=a.Ka(nb,2);if(null==nb.A||!qg--)break;for(var rg=a,Yb=ve,we=null,ob=Yb.A,xe=ob,Uc=1;6>=Uc&&ob;Uc++){if(2<Uc){Yb.A=ob;var Zb=Jf(rg,Yb);if(0<=Zb.indexOf("JSR")){var ye=Zb.indexOf(" ");if(ob+
|
||||
(Zb.indexOf(" ",ye+1)-ye-1)/2==xe){we=Zb;break}}}ob--}Yb.A=xe;if(wa=we)break}if(!wa||null==wa)break;var ze=null;if("ks"==pg){var Ae=wa.match(/[0-9A-F]+$/);Ae&&(ze=Qf(a,Ae[0]))}wa=na(wa,50)+" ;"+(ze||"stack="+I(a,nb.A));a.g(wa);Tc++}Tc||a.g("no return addresses found")}break;case "l":"ln"==e[0]&&Qf(a,e[1],!0);break;case "m":a:{var ha,ia=null,B=e[1];"?"==B&&(B=void 0);if(void 0!==B){var sa=0;if("all"==B)sa=1878917119,B=null;else if("on"==B)ia=!0,B=null;else if("off"==B)ia=!1,B=null;else{"keys"==B&&
|
||||
(B="key");"kbd"==B&&(B="keyboard");for(ha in G)if(B==ha){sa=G[ha];ia=!!(a.ka&sa);break}if(!sa){a.g("unknown message category: "+B);break a}}if(sa)if("on"==e[2])a.ka|=sa,ia=!0;else if("off"==e[2]&&(a.ka&=~sa,ia=!1,1073741824==sa)){for(var Vc=0;Vc<a.Ca.length;Vc++)a.g(a.Ca[Vc]);a.Ca=[]}}var sg=0,pb="";for(ha in G)if(!B||B==ha){var tg=!!(a.ka&G[ha]);if(null===ia||ia==tg)pb&&(pb+=","),++sg%10||(pb+="\n\t"),"key"==ha&&(ha="keys"),pb+=ha}void 0===B&&a.g("message commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.g((null!==ia?ia?"messages on: ":"messages off: ":"message categories:\n\t")+(pb||"none"));pf(a)}break;case "p":if("print"==e[0]){Rf(a,b.substr(5));break}var ug="pr"==e[0]?1:0;if(a.ia)a.g("step in progress");else{var Be=Z(a.b.j[7]);a.sb(Be);a.ia?(a.jb(a.f,Be,!0),a.Ab()||(a.C&&a.C.Vb(),a.ia=0)):Sf(a,ug?"tr":"t")}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Cf(a,e);break;case "s":a:switch(e[1]){case "base":if(e[2]){var qb=+e[2];if(8==qb||10==qb||16==qb)a.fa=qb;else{a.g("invalid base: "+qb);
|
||||
break}}a.g("default base: "+a.fa);break;case "cs":var rb;void 0!==e[3]&&(rb=+e[3]);switch(e[2]){case "int":a.b.ub=rb;break;case "start":a.b.Nb=rb;break;case "stop":a.b.vb=rb;break;default:a.g("unknown cs option");break a}void 0!==rb&&Cc(a.b);a.g("checksums "+(a.b.w.rb?"enabled":"disabled"));break;case "sp":void 0!==e[2]&&(Zc(a.b,+e[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.mb.toFixed(2)+"Mhz")+" ("+a.b.ab+"x)");break;case "?":a.g("debugger options:");
|
||||
a.g("\tbase #\t\tset default base to #");a.g("\tcs int #\tset checksum cycle interval to #");a.g("\tcs start #\tset checksum cycle start count to #");a.g("\tcs stop #\tset checksum cycle stop count to #");a.g("\tsp #\t\tset speed multiplier to #");break;default:e[1]&&a.g("unknown option: "+e[1])}break;case "t":Sf(a,e[0],e[1]);break;case "u":Df(a,e[1],e[2],8);break;case "v":if("var"==e[0]){Pf(a,b.substr(3))||(d=!1);break}a.g("PDP11js version 1.30.0 ("+a.b.Xc+",RELEASE"+(ub?",TYPEDARRAYS":",LONGARRAYS")+
|
||||
")");a.g(window?window.navigator.userAgent:"");break;case "?":if(e[1]){Rf(a,b.substr(1));break}var Wc="commands:",Xc;for(Xc in rf)Wc+="\n"+na(Xc,9)+rf[Xc];Ad(a)||(Wc+="\nnote: history disabled if no exec breakpoints");a.g(Wc);break;default:a.g("unknown command: "+b),d=!1}}}catch(Ce){a.g("debugger error: "+(Ce.stack||Ce.message)),d=!1}return d}function Dc(a,b,c){b=ff(a,b,c);for(var d in b)if(!If(a,b[+d]))return!1;return!0}
|
||||
Pa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new nf(d);cb(d,c)}});
|
||||
function Uf(a,b,c){x.call(this,"Computer",a,Uf,67108864);this.w.ja=!1;Vf(this,b);this.U=Ac(this,"autoPower",a);this.C=0;this.fa=a.busWidth||a.buswidth;this.f=Wf;this.K=null;this.G=this.da=!1;this.url=Ac(this,"url")||"";(Math.random()+.1).toString(36);this.u=Xf(this);if(this.b=bb("CPU",this.id)){this.i=bb("Debugger",this.id);this.I=new xb({id:this.wc+".bus",busWidth:this.fa},this.b,this.i);var d,f=ab(this.id);if((this.B=bb("Panel",this.id))&&this.B.kb)for(b=0;b<f.length;b++)d=f[b],d.sa=this.B.sa,d.g=
|
||||
this.B.g,d.kb=this.B.kb;this.g("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.g("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.Ya&&d.Ya(this,this.I,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.H=d:this.f=parseInt(d,10));var e;if(a=Ac(this,"state")||(e=!0,a.state))b=this.Y=a,e||(this.G=!0,this.f=Wf),this.f&&
|
||||
(this.S=new N(this,"1.30.0"),Yf(this.S)?b=null:delete this.S);!b&&this.f&&(b=Zf(this))&&(this.G=!0);if(b){var g=this;ta(b,null,!0,function(a,b,c){c?(g.H=null,g.G=!1,g.sa("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.K=b,g.da=!0);F(g)})}else F(this);this.M.power||(this.U=!0);!c&&this.U&&$f(this,this.Ob)}else t("Unable to find CPU component")}A(Uf);var Wf=0;
|
||||
function Vf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){t(d.message+" ("+c+")")}}a.ea=b}function Ac(a,b,c){var d=b.toLowerCase(),d=Ua[b]||Ua[d];void 0===d&&a.ea&&(d=a.ea[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function $f(a,b,c){for(var d=ab(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!fb(e)){fb(e,function(){$f(a,b,c)});return}}b.call(a,c)}
|
||||
function ag(a,b){var c=new N(a,"1.30.0","validate");if(Yf(c)&&bg(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.sa("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Uf.prototype;
|
||||
l.Ob=function(a){void 0===a&&(a=this.f||(this.K?1:Wf));if(!this.C){this.C++;var b=!1,c=!1;this.ca=!1;var d=this.S||new N(this,"1.30.0");if(-1==a)b=!0;else if(a>Wf){if(Yf(d,this.K)){this.D=new N(this,"1.30.0","failsafe");Yf(this.D)&&(cg(this,d),a=2,dg(this.D));this.D.set("timestamp",ra());eg(this.D);var f=this.f&&!this.G;if(1==a||ua("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=bg(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?Yf(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.sa("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.u=null)):this.g(e+": "+g),dg(d),Yf(d)?(c=bg(d),f=!0):c=!1))}f&&ag(this,c?d:null)}else 2==a&&d.clear()}else ag(this);delete this.K;delete this.S}f=ab(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.b&&(c=fg(this,g,d,b,c));b=[d,a,c];-1!=a?$f(this,this.yc,b):this.yc(b)}};
|
||||
function fg(a,b,c,d,f){if(!b.w.ja){b.w.ja=!0;if(b.Qa){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.Qa(e,d)&&e&&(t("Unable to restore state for "+b.type),a.Y&&!a.da?(c.clear(),a.f=Wf,window&&window.location.reload()):a.ca=!0,b.Qa(null),f=!1)}if(!d&&b.tc)for(a=b.tc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.yc=function(a){var b=a[0],c=0>a[1];a=a[2];this.ia=!0;this.w.ja=!0;var d=this.M.power;d&&(d.textContent="Shutdown");this.b&&(fg(this,this.b,b,c,a),this.b.Gb());this.ca&&(cg(this,b),b.clear());!c&&this.D&&(this.D.clear(),delete this.D);this.C=0};
|
||||
function cg(a,b){if(ua("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.u||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;ta("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function Tf(a,b,c){var d,f="none";if(a.C)return null;a.C--;var e=new N(a,"1.30.0"),g=new N(a,"1.30.0","validate"),h=ra();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Pa&&(c&&a.b.pa(),d=a.b.Pa(b,c),"object"===typeof d&&e.set(a.b.id,d),c&&(a.b.w.ja=!1,!1===d&&(f=null)));for(var h=ab(a.id),k=0;k<h.length;k++){var m=h[k];m.w.ja&&(m.Pa&&(d=m.Pa(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.w.ja=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.u&&gg(a,a.u,e.toString()),eg(g)&&eg(e)||(f=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&e.clear(h)):f=e.toString());c&&(a.w.ja=!1,b=a.M.power)&&(b.textContent="Power");a.C=0;return f}
|
||||
l.reset=function(){this.I&&this.I.reset&&(this.i&&E(this,0)&&this.i.message("Resetting "+this.I.type,void 0),this.I.reset());for(var a=ab(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.I&&c.reset&&(this.i&&E(this,0)&&this.i.message("Resetting "+c.type,void 0),c.reset())}};l.start=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=ab(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.xa=function(a,b,c){var d=this;switch(b){case "power":return this.M[b]=c,c.onclick=function(){d.C||(d.w.ja?Tf(d,!1,!0):$f(d,d.Ob))},!0;case "reset":return this.M[b]=c,c.onclick=function(){if(d.w.ja&&!d.C)if(d.f&&!d.H){var a=ua("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Tf(d,a,!0);!a&&d.Y?window&&window.location.reload():d.Ob(Wf)}else d.reset(),d.b&&d.b.Gb()},!0;case "save":if(ja())c.parentNode.removeChild(c);else return this.M[b]=
|
||||
c,c.onclick=function(){var a=Xf(d,!0);if(a){var b=!!(d.f&&!d.H||d.Y),c=Tf(d,b);b?gg(d,a,c):d.sa("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function Xf(a,b){var c=a.u;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=hg(a,c))||a.sa("The user ID is invalid.")):b&&a.sa("Browser local storage is not available"));return c}
|
||||
function hg(a,b){a.u=null;b=ta(ka()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.u=b.data)}catch(d){t(d.message+" ("+c+")")}return a.u}function Zf(a){var b=null;a.u&&(b=ka()+"/api/v1/user?req=load&user="+a.u+"&state="+ig(a,"1.30.0"));return b}
|
||||
function gg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ig(a,"1.30.0");d.data=c;b=ta(ka()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.sa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.sa(c),Aa("user",""),a.u=null)}}l.Vb=function(){};
|
||||
l.Ia=function(a){this.b&&this.b.Ia(a);this.B&&this.B.Ia(a)};Pa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=C(e),g=new Uf(g,d,!0);cb(g,e);g.U&&$f(g,g.Ob)}});Ea.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.ia&&!c.w.ja&&c.Ob(-1)}});
|
||||
Ea.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=bb("Computer",c.id))&&c.w.ja&&Tf(c,!(!c.f||c.H),!0)}});function N(a,b,c){this.id=a.id;this.key=ig(a,b,c);this.i=a.i;dg(this,a.Tc)}function ig(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
N.prototype={constructor:N,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){dg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||
1);c=0}}};function dg(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function eg(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(t("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function bg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){t(c.message||c),b=!1}return b}function Yf(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.b=!0):!1}var jg=0;
|
||||
function vg(a,b,c,d,f,e){f("Loading "+a+"...");ta(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):wg(h,a,b,c,d,f,e)})}
|
||||
function wg(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&($a(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){e=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?xg(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function xg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");ta(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);xg(a,b,c)}})}else c(a,null)}
|
||||
function yg(a,b,c,d){function f(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ma(a))}function e(a){f("Error: "+a);k&&(--jg||Ra(!0));k=!1}var g,h,k=!0;jg++;Za[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?vg(c,null,null,!1,f,function(d,k){k?($a(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jg||Ra(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jg||Ra(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?vg(b,a,d,!0,f,m):wg(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(q){e(q.message)}return k}window.embedPDP11=function(a,b,c,d){Ra(!1);return yg(a,b,c,d)};window.enableEvents=Ra;window.sendEvent=Sa;})();
|
||||
|
|
|
|||
|
|
@ -1,153 +1,151 @@
|
|||
(function(){var l;
|
||||
function aa(a){var b=16,c;if(a){b||(b=10);var d=a.charAt(0),f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&f&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var e,d=a;((f=b)&&10!=f?16==f?d.match(/^[0-9a-f]+$/i):8==f?d.match(/^[0-7]+$/):2==
|
||||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function ba(a,b){var c="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)c="?"+c;else for(;0<b--;)c=String.fromCharCode((a&7)+48)+c,a>>=3;return""+c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}
|
||||
function ca(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 da(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ea(){var a=fa();return-1!==a.indexOf("pcjs.org",a.length-8)}var ga={"&":"&","<":"<",">":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date};
|
||||
function ja(){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())}
|
||||
f&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c}function n(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var f=a&15,f=f+(0<=f&&9>=f?48:55),d=String.fromCharCode(f)+d;a>>=4}return(c?"0x":"")+d}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=ea();return-1!==a.indexOf("pcjs.org",a.length-8)}var fa={"&":"&","<":"<",">":">",'"':""","'":"'"};function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}var ha=Date.now||function(){return+new Date};function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||
function p(a,b,c,d){var f=0,e=null,g=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)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(e=h.responseText,200==h.status||!h.status&&e.length&&"file:"==(window?window.location.protocol:"file:")||(f=h.status||-1),d&&d(a,e,f))});if(b&&"object"==
|
||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function fa(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function r(a){window&&window.alert(a)}function ka(a){var b=!1;window&&(b=window.confirm(a));return b}var la=null;function ma(){if(null==la){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}la=a}return la}function na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},qa=!1,ra=!1,sa=!0;function ta(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
|
||||
function ua(a){if(sa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function va(a){!sa&&a?(sa=!0,qa&&wa("init"),ra&&wa("show")):sa=a}function wa(a){t[a]&&ua(t[a])}ta("onload",function(){qa=!0;ua(t.init)});ta("onpageshow",function(){ra=!0;ua(t.show)});ta(pa("Opera")||pa("iOS")?"onunload":"onbeforeunload",function(){ua(t.exit)});
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.xb=this.id:(this.Nb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Jc:!1,Kc:!1,O:!1,error:!1};this.ob=null;this.h.error=!1;this.C={};this.L=null;x.push(this)}var xa=void 0,ya={};
|
||||
if(window){xa||(xa=window.location.search.substr(1));for(var za,Aa=/\+/g,Ba=/([^&=]+)=?([^&]*)/g;za=Ba.exec(xa);)ya[decodeURIComponent(za[1].replace(Aa," "))]=decodeURIComponent(za[2].replace(Aa," "))}function Ca(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function y(a,b){b||(b=v);a.prototype=Ca(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Da=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Da={},x=[];function Ea(a,b,c){Da[a]&&b&&(Da[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function Fa(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||
typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(e=h.responseText,200!=h.status&&(f=h.status||-1),d&&d(a,e,f),g=[e,f]);return g}function ea(){return"http://"+(window?window.location.host:"www.pcjs.org")}
|
||||
function r(a){window&&window.alert(a)}function ja(a){var b=!1;window&&(b=window.confirm(a));return b}var ka=null;function la(){if(null==ka){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}ka=a}return ka}function ma(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
|
||||
function na(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function oa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var t={init:[],show:[],exit:[]},pa=!1,qa=!1,ra=!0;function sa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){t.init.push(a)}
|
||||
function ta(a){if(ra)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function ua(a){!ra&&a?(ra=!0,pa&&va("init"),qa&&va("show")):ra=a}function va(a){t[a]&&ta(t[a])}sa("onload",function(){pa=!0;ta(t.init)});sa("onpageshow",function(){qa=!0;ta(t.show)});sa(oa("Opera")||oa("iOS")?"onunload":"onbeforeunload",function(){ta(t.exit)});
|
||||
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.fc=b;b=this.id.indexOf(".");0>b?this.xb=this.id:(this.Nb=this.id.substr(0,b),this.xb=this.id.substr(b+1));this[a]=c;this.h={ready:!1,Jc:!1,Kc:!1,N:!1,error:!1};this.ob=null;this.h.error=!1;this.C={};this.L=null;x.push(this)}var wa=void 0,xa={};
|
||||
if(window){wa||(wa=window.location.search.substr(1));for(var ya,za=/\+/g,Aa=/([^&=]+)=?([^&]*)/g;ya=Aa.exec(wa);)xa[decodeURIComponent(ya[1].replace(za," "))]=decodeURIComponent(ya[2].replace(za," "))}function Ba(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||
function y(a,b){b||(b=v);a.prototype=Ba(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ca=window.PCjs.Machines||(window.PCjs.Machines={}),x=window.PCjs.Components||(window.PCjs.Components=[])}else Ca={},x=[];function Da(a,b,c){Ca[a]&&b&&(Ca[a][b]=c)}function z(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||
function Ea(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
|
||||
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.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Ab=this.C[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.xb)}),!0;default:return!1}},log:function(){},M:function(){},status:function(a){this.M(this.xb+": "+a)},N:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},ya:function(){return this.h.O=!0},xa: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.ob;a.ob=null;b&&b()}}function Ga(a,b){b&&(a.h.ready?b():a.ob=b);return a.h.ready}
|
||||
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.C[b]||(this.C[b]=c,c.onclick=function(a){return function(){a.C.print&&(a.C.print.value="")}}(this)),!0;case "print":return this.C[b]||(this.Ab=this.C[b]=c,c.value="",this.V=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.M=function(a){this.V(a,this.xb)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.xb+": "+a)},M:function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)},ya:function(){return this.h.N=!0},xa:function(a,b){b&&(this.h.N=!1);return!0}};function E(a){if(!a.h.error&&(a.h.ready=!0,a.h.ready)){var b=a.ob;a.ob=null;b&&b()}}function Fa(a,b){b&&(a.h.ready?b():a.ob=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.H&&this.H.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.La=function(a,b,c,d){this.H=a;this.D=b;this.a=c;this.L=d};l.ya=function(a,b){b||Ja();return!0};l.xa=function(){return!0};l.Ta=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.L=c;this.w=a.busWidth||16;this.s=Math.pow(2,this.w);this.l=this.s-1|0;this.f=(this.w>>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.pa=[];this.u=null;this.Za=this.I;a=new G;Ka(a,this.L);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=La;this.Wa[1]=Ma;this.Wa[2]=Na;this.Wa[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.pa[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.pa[a&-2])&&d[2])return d[2](b&-2)>>8;c.M("warning: unconverted read access to byte @"+ba(b));return c.Za(b,-1,1)}
|
||||
function Ma(a,b,c){var d=this.controller,f=d.pa[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.pa[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.Za(c,b,1)}
|
||||
function Na(a,b){var c=this.controller;if(a=c.pa[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.Za(b,-1,0)}function Oa(a,b,c){var d=this.controller;if(a=d.pa[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.Za(c,b,0)}F.prototype.reset=function(){this.u&&this.u()};F.prototype.I=function(){return 0};
|
||||
F.prototype.ya=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.Va)return k.ub+=k.Va-e,k.Va=e,!0;if(e>=k.Va+k.ub){q=k.size-(e-m);q>g&&(q=g);k.ub=e-k.Va+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.L,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].ab(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].Gc(d,c&65535,b):(a.b[f++].Ua(d,c&255,b),a.b[f&a.H].Ua(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.ta||f.cc){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=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.pa[D]?r("I/O address already registered: "+n(w,8,!0)):m.pa[D]=[e,g,h,k,!1,f||"unknown"]}}function Ya(a,b,c){a.u=b;a.Za=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={Db:[],W:0,Y:128,b:127,bc:0};this.g={data:0,Ic:0,Pa:20,Ac:0};this.f={v:0,Gb:-1};this.i={cb:2496,R:0,B:128,eb:0,bb:0,X:0,Sb:0,U:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.l={v:129,Ya:0,K:0,wa:0,qa:0,Ca:0,U:[],J:[40,40,40,40],Ja:[1024,1024,512,512],$b:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],U:[],F:2176,Sa:0,Qa:0,ca:[0,0,0,0,0,0,0,0],ba:0,V:[4544,4544,4544,4544,4544,4544,4544,4544],Ra:[0,
|
||||
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 Ga="undefined"!==typeof ArrayBuffer;function Ha(a){v.call(this,"Panel",a,Ha)}y(Ha);l=Ha.prototype;
|
||||
l.da=function(a,b,c,d){return this.H&&this.H.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.La=function(a,b,c,d){this.H=a;this.D=b;this.a=c;this.L=d};l.ya=function(a,b){b||Ia();return!0};l.xa=function(){return!0};l.Ta=function(){};function Ia(){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 Ha(f));B(e,d);a&&E(e)}}u(Ia);
|
||||
function F(a,b,c){v.call(this,"Bus",a,F);this.a=b;this.L=c;this.w=a.busWidth||16;this.s=Math.pow(2,this.w);this.l=this.s-1|0;this.f=(this.w>>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.pa=[];this.u=null;this.Za=this.I;a=new G;Ja(a,this.L);this.b=Array(this.m);for(b=0;b<this.m;b++)this.b[b]=a;this.Wa=Array(4);this.Wa[0]=Ka;this.Wa[1]=La;this.Wa[2]=Ma;this.Wa[3]=Na;Oa(this,this.s-8192,8192,Pa,this);
|
||||
Oa(this,57344,8192,Pa,this);E(this)}y(F);function Ka(a,b){var c=-1,d=this.controller,f=d.pa[a];f?f[0]?c=f[0](b):f[2]&&(c=b&1?f[2](b&-2)>>8:f[2](b)&255):b&1&&(f=d.pa[a&-2])&&f[2]&&(c=f[2](b&-2)>>8);return 0<=c?c:c=d.Za(b,-1,1)}function La(a,b,c){var d=!1,f=this.controller,e=f.pa[a];if(e)if(e[1])e[1](b,c),d=!0;else{if(e[3]){a=e[2]?e[2](c):0;if(c&1)e[3](a&255|b<<8,c&-2);else e[3](a&-256|b,c);d=!0}}else c&1&&(e=f.pa[a&-2])&&e[3]&&(c&=-2,a=e[2]?e[2](c):0,e[3](a&255|b<<8,c),d=!0);d||f.Za(c,b,1)}
|
||||
function Ma(a,b){var c=-1,d=this.controller;(a=d.pa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));return 0<=c?c:c=d.Za(b,-1,0)}function Na(a,b,c){var d=!1,f=this.controller;if(a=f.pa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||f.Za(c,b,0)}F.prototype.reset=function(){this.u&&this.u()};F.prototype.I=function(){return 0};F.prototype.ya=function(a,b){b||this.reset();return!0};
|
||||
function Oa(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.Va)return k.ub+=k.Va-e,k.Va=e,!0;if(e>=k.Va+k.ub){q=k.size-(e-m);q>g&&(q=g);k.ub=e-k.Va+q;e=m+a.g;g-=q;h++;continue}}return Qa(1,e,g)}e=new G(e,q,a.g,d,f);Ja(e,a.L,k);a.b[h++]=e;e=m+a.g;g-=q}return 0>=g?(a.status(Math.floor(c/1024)+"Kb "+Ra[d]+" at "+n(b,8,!0)),!0):Qa(2,b,c)}function Sa(a,b){return a.b[(b&a.l)>>>a.f].ab(b&a.i,b)}
|
||||
function Ta(a,b,c){var d=b&a.i,f=(b&a.l)>>>a.f;d!=a.i?a.b[f].Gc(d,c&65535,b):(a.b[f++].Ua(d,c&255,b),a.b[f&a.H].Ua(0,c>>8&255,b+1))}function Ua(a){for(var b=0,c=[],d=0;d<a.m;d++){var f=a.b[d];if(f.ta||f.cc){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 Va(a,b){var c=Wa,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.pa[D]?r("I/O address already registered: "+n(w,8,!0)):m.pa[D]=[e,g,h,k,!1,f||"unknown"]}}function Xa(a,b,c){a.u=b;a.Za=c}function Qa(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={Db:[],W:0,Y:128,b:127,bc:0};this.g={data:0,Ic:0,Pa:20,Ac:0};this.f={v:0,Gb:-1};this.i={cb:2496,P:0,B:128,eb:0,bb:0,X:0,Sb:0,T:[],Ja:[406,406,406,406],J:[12,12,12,12]};this.l={v:129,Ya:0,K:0,wa:0,qa:0,Ca:0,T:[],J:[40,40,40,40],Ja:[1024,1024,512,512],$b:[157,157,29,29]};this.m={a:[8210,8208,8210,8226],J:[22,22,22,50],Ia:[19,19,19,32],wb:[815,411,815,630],T:[],F:2176,Sa:0,Qa:0,ca:[0,0,0,0,0,0,0,0],ba:0,U:[4544,4544,4544,4544,4544,4544,4544,4544],Ra:[0,
|
||||
0,0,0,0,0,0,0],Oa:0,xc:[0,0,0,0,0,0,0,0],Tb:0,Ub:[0,0,0,0,0,0,0,0],f:[0,0,0,0,0,0,0,0],yc:[1,2,3,4,5,6,7,8],Vb:[0,0,0,0,0,0,0,0],la:[0,0,0,0,0,0,0,0],tb:[0,0,0,0,0,0,0,0],vc:[0,0,0,0,0,0,0,0],wc:[0,0,0,0,0,0,0,0],tc:[0,0,0,0,0,0,0,0],uc:[0,0,0,0,0,0,0,0],Ba:0,Fb: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,
|
||||
var Ya=[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,
|
||||
2,0,9678,208,769,0,5582,226,135,0,2598,5606,236,2,0,95,242,128,5573,57344,2591,6,5599,256,4,5574,510,3045,5599,460,76,2591,78,5571,65510,5579,12,5570,512,4224,4104,3024,8197,33788,4224,4609,8193,769,0,2640,8197,33785,6145,2625,8193,769,0,8194,761,2574,5572,43690,5579,24,5568,2048,5570,512,2628,4360,2632,2632,8708,769,0,3103,65514,34562,0,305,35406,754,258,119,65160,3024,32403,5579,36,5568,3072,35446,1,740,5570,512,4224,4104,3024,8197,33788,5569,3,2574,3039,454,528,5582,24,4224,2632,2632,8200,769,
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=H.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;var f=this;this.f.Gb=$a(this.a,function(){f.f.va|=128;f.f.va&64&&(I(f.a,0,6,64),ab(f.a,f.f.Gb))});Wa(b,this);Ya(b,this.reset.bind(this),this.Zb.bind(this));E(this)};l.kc=function(){var a=this.f.va;this.f.va&=-129;return a};
|
||||
l.Cc=function(a){this.f.va=a;a&64&&ab(this.a,this.f.Gb);this.f.va=a&-129};l.lc=function(){var a=this.a;return a.I&62337|a.gb<<5|a.hb<<1};l.Dc=function(a){var b=4,c=this.a;c.I=a&=62337;c.gb=a>>5&3;c.hb=a>>1&15;c.pb=a&257?a&1?6:4:0;bb(c);a=c.I;a&1|256&&(b=this.a.Ma&16?1:2);this.g.Pa=this.g.Pa&-8|b};l.nc=function(){return this.b.W};l.Fc=function(a){this.b.W=this.b.W&128|a&-129};l.pc=function(){return this.b.Y};
|
||||
l.Hc=function(a){if(128==(this.b.Y&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.Y|=128;return!!(b.b.Y&64)})}this.b.Y=this.b.Y&128|a&-129};l.mc=function(){return cb(this.a)};l.Ec=function(a){db(this.a,a&-1809|cb(this.a)&1808);this.a.j|=128};
|
||||
function eb(a){var b=a.i,c,d,f,e=b.X>>13&7;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.B&=-129;switch(b.B>>1&7){case 0:b.cb=2496;b.R=0;b.B=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ja[e]){b.R|=32832;b.B|=49152;break}if((b.X&15)>=b.J[e]){b.R|=32800;b.B|=49152;break}c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;fb(a,b.U[e],c,d,f);return;case 2:if((b.X>>4&511)>=b.Ja[e])b.R|=32832,
|
||||
b.B|=49152;else if((b.X&15)>=b.J[e])b.R|=32800,b.B|=49152;else{c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;a.rb(b.U[e],c,d,f);return}}b.cb=e<<13|b.cb&8176|b.X%9&15;I(a.a,20,5,144,function(){b.B=b.B&65534|128;return!!(b.B&64)})}l.qc=function(a,b,c,d,f){var e=this.i;e.bb=d&65535;e.B=e.B&-49|d>>12&48;e.eb=65536-f&65535;switch(a){case 1:e.R|=33024;e.B|=49152;break;case 2:e.R|=33792,e.B|=49152}I(this.a,20,5,144,function(){e.B=e.B&65534|128;return!!(e.B&64)})};
|
||||
function gb(a){var b=a.l,c,d,f,e=b.v>>8&3;b.v&=-2;"undefined"===typeof b.U[e]&&(b.U[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.J[e],url:"rl"+e+".dsk"});switch(b.v>>1&7){case 2:b.wa&8&&(b.v&=63);b.wa=b.$b[e]|b.Ca&64;break;case 3:1==(b.K&3)&&(b.Ca=b.K&4?b.Ca+(b.K&65408)&65408|b.K<<2&64:b.Ca-(b.K&65408)&65408|b.K<<2&64,b.K=b.Ca);break;case 4:b.wa=b.Ca;break;case 5:if(b.K>>6>=b.Ja[e]){b.v|=37888;break}if((b.K&63)>=b.J[e]){b.v|=37888;break}c=(b.K>>6)*b.J[e]+(b.K&63);
|
||||
d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;fb(a,b.U[e],c,d,f);return;case 6:if(b.K>>6>=b.Ja[e])b.v|=37888;else if((b.K&63)>=b.J[e])b.v|=37888;else{c=(b.K>>6)*b.J[e]+(b.K&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;a.rb(b.U[e],c,d,f);return}}I(a.a,20,5,112,function(){b.v|=129;return!!(b.v&64)})}
|
||||
l.rc=function(a,b,c,d,f){var e=this.l;e.Ya=d&65535;e.v=e.v&-49|d>>12&48;e.qa=d>>16&63;e.K=~~(c/e.J[b.ka])<<6|c%e.J[b.ka];e.Ca=e.K;e.wa=65536-f&65535;switch(a){case 1:e.v|=33792;break;case 2:e.v|=40960}I(this.a,20,5,112,function(){e.v|=129;return!!(e.v&64)})};function hb(a){a=a.m;a.F=2176;a.ba=0;a.V=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ra=[0,0,0,0,0,0,0,0];a.Oa=a.Sa=a.Qa=a.Ba=a.Fb=0}
|
||||
function ib(a,b){var c=a.m,d,f,e;c.F&=-16513;c.ba&=-2049;c.V[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.U[b]&&(c.U[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.F&63){case 5:c.tb[b]=c.la[b];c.F|=32896;c.V[b]|=32896;c.Oa|=1<<b;break;case 9:hb(a);break;case 19:c.V[b]|=64;break;case 49:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0]){c.Ra[b]|=1024;c.F|=49152;break}d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+
|
||||
(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;fb(a,c.U[b],d,f,e);return;case 57:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0])c.Ra[b]|=1024,c.F|=49152;else{d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;a.rb(c.U[b],d,f,e);return}}I(a.a,3,5,172,function(){c.F=c.F&65534|128;c.V[b]|=128;return!!(c.F&64)})}
|
||||
l.sc=function(a,b,c,d,f){var e=this.m;e.Sa=65536-f&65535;e.Qa=d&65535;e.F=e.F&-769|d>>8&768;e.Ba=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ca[b.ka]=f%e.Ia[0]<<8|c%e.J[0];e.tb[b.ka]=e.la[b.ka]=d;e.Oa|=1<<b.ka;c>=b.ic-1&&(e.V[b.ka]|=1024);switch(a){case 1:e.ba|=512;e.F|=49152;break;case 2:e.ba|=2048,e.F|=49152}I(this.a,20,5,172,function(){e.V[b.ka]|=128;e.F=e.F&65534|128;return!!(e.F&64)})};
|
||||
function jb(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,w,D;m=h.response;if(h.status&&206!=h.status||!m)c.Cb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.ra;w++)c.cache[q][w]=D<m.length?
|
||||
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.ra<<1;q++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){jb(this,this.rb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.hc?kb(this.a,c):c;Ua(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Cb(0,a,b,c,d)};
|
||||
function fb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=lb(a.a,b.hc?kb(a.a,d):d);if(0>g){b.Cb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Cb(0,b,c,d,f)}l.reset=function(){this.g.Pa=this.g.Pa&-120|20;this.b.W=0;this.b.Y=128;this.f.va=0;this.i.B=128;this.l.v=128;hb(this)};
|
||||
0,3024,3103,65514,34562,0,264,8197,33779,5003,2574,32337,260,0,258,5579,12,6080,448,6081,450,6084,452,116,2,6084,65400,17860,65024,21956,62976,38848,65401,3200,161,76,0,16944,10797];l=H.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;var f=this;this.f.Gb=Za(this.a,function(){f.f.va|=128;f.f.va&64&&(I(f.a,0,6,64),$a(f.a,f.f.Gb))});Va(b,this);Xa(b,this.reset.bind(this),this.Zb.bind(this));E(this)};l.kc=function(){var a=this.f.va;this.f.va&=-129;return a};
|
||||
l.Cc=function(a){this.f.va=a;a&64&&$a(this.a,this.f.Gb);this.f.va=a&-129};l.lc=function(){var a=this.a;return a.I&62337|a.gb<<5|a.hb<<1};l.Dc=function(a){var b=4,c=this.a;c.I=a&=62337;c.gb=a>>5&3;c.hb=a>>1&15;c.pb=a&257?a&1?6:4:0;ab(c);a=c.I;a&1|256&&(b=this.a.Ma&16?1:2);this.g.Pa=this.g.Pa&-8|b};l.nc=function(){return this.b.W};l.Fc=function(a){this.b.W=this.b.W&128|a&-129};l.pc=function(){return this.b.Y};
|
||||
l.Hc=function(a){if(128==(this.b.Y&192)&&a&64){var b=this;I(this.a,8,4,52,function(){b.b.Y|=128;return!!(b.b.Y&64)})}this.b.Y=this.b.Y&128|a&-129};l.mc=function(){return bb(this.a)};l.Ec=function(a){cb(this.a,a&-1809|bb(this.a)&1808);this.a.j|=128};
|
||||
function db(a){var b=a.i,c,d,f,e=b.X>>13&7;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.qc,drive:e,blocksize:256,mapped:0,maxblock:b.Ja[e]*b.J[e],url:"rk"+e+".dsk"});b.B&=-129;switch(b.B>>1&7){case 0:b.cb=2496;b.P=0;b.B=128;b.X=0;break;case 1:if((b.X>>4&511)>=b.Ja[e]){b.P|=32832;b.B|=49152;break}if((b.X&15)>=b.J[e]){b.P|=32800;b.B|=49152;break}c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;eb(a,b.T[e],c,d,f);return;case 2:if((b.X>>4&511)>=b.Ja[e])b.P|=32832,
|
||||
b.B|=49152;else if((b.X&15)>=b.J[e])b.P|=32800,b.B|=49152;else{c=(b.X>>4&511)*b.J[e]+(b.X&15);d=(b.B&48)<<12|b.bb;f=65536-b.eb&65535;a.rb(b.T[e],c,d,f);return}}b.cb=e<<13|b.cb&8176|b.X%9&15;I(a.a,20,5,144,function(){b.B=b.B&65534|128;return!!(b.B&64)})}l.qc=function(a,b,c,d,f){var e=this.i;e.bb=d&65535;e.B=e.B&-49|d>>12&48;e.eb=65536-f&65535;switch(a){case 1:e.P|=33024;e.B|=49152;break;case 2:e.P|=33792,e.B|=49152}I(this.a,20,5,144,function(){e.B=e.B&65534|128;return!!(e.B&64)})};
|
||||
function fb(a){var b=a.l,c,d,f,e=b.v>>8&3;b.v&=-2;"undefined"===typeof b.T[e]&&(b.T[e]={cache:[],postProcess:a.rc,drive:e,blocksize:128,mapped:1,maxblock:b.Ja[e]*b.J[e],url:"rl"+e+".dsk"});switch(b.v>>1&7){case 2:b.wa&8&&(b.v&=63);b.wa=b.$b[e]|b.Ca&64;break;case 3:1==(b.K&3)&&(b.Ca=b.K&4?b.Ca+(b.K&65408)&65408|b.K<<2&64:b.Ca-(b.K&65408)&65408|b.K<<2&64,b.K=b.Ca);break;case 4:b.wa=b.Ca;break;case 5:if(b.K>>6>=b.Ja[e]){b.v|=37888;break}if((b.K&63)>=b.J[e]){b.v|=37888;break}c=(b.K>>6)*b.J[e]+(b.K&63);
|
||||
d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;eb(a,b.T[e],c,d,f);return;case 6:if(b.K>>6>=b.Ja[e])b.v|=37888;else if((b.K&63)>=b.J[e])b.v|=37888;else{c=(b.K>>6)*b.J[e]+(b.K&63);d=(b.qa&63)<<16|b.Ya;f=65536-b.wa&65535;a.rb(b.T[e],c,d,f);return}}I(a.a,20,5,112,function(){b.v|=129;return!!(b.v&64)})}
|
||||
l.rc=function(a,b,c,d,f){var e=this.l;e.Ya=d&65535;e.v=e.v&-49|d>>12&48;e.qa=d>>16&63;e.K=~~(c/e.J[b.ka])<<6|c%e.J[b.ka];e.Ca=e.K;e.wa=65536-f&65535;switch(a){case 1:e.v|=33792;break;case 2:e.v|=40960}I(this.a,20,5,112,function(){e.v|=129;return!!(e.v&64)})};function gb(a){a=a.m;a.F=2176;a.ba=0;a.U=[4544,4544,4544,4544,4544,4544,4544,4544];a.Ra=[0,0,0,0,0,0,0,0];a.Oa=a.Sa=a.Qa=a.Ba=a.Fb=0}
|
||||
function hb(a,b){var c=a.m,d,f,e;c.F&=-16513;c.ba&=-2049;c.U[b]&=-1153;I(a.a,-1,0,172);"undefined"===typeof c.T[b]&&(c.T[b]={cache:[],postProcess:a.sc,drive:b,blocksize:256,mapped:0,maxblock:c.wb[0]*c.Ia[0]*c.J[0],url:"rp"+b+".dsk"});switch(c.F&63){case 5:c.tb[b]=c.la[b];c.F|=32896;c.U[b]|=32896;c.Oa|=1<<b;break;case 9:gb(a);break;case 19:c.U[b]|=64;break;case 49:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0]){c.Ra[b]|=1024;c.F|=49152;break}d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+
|
||||
(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;eb(a,c.T[b],d,f,e);return;case 57:if(c.la[b]>=c.wb[0]||c.ca[b]>>8>=c.Ia[0]||(c.ca[b]&255)>=c.J[0])c.Ra[b]|=1024,c.F|=49152;else{d=(c.la[b]*c.Ia[0]+(c.ca[b]>>8))*c.J[0]+(c.ca[b]&255);f=(c.Ba&63)<<16|c.Qa;e=65536-c.Sa&65535;a.rb(c.T[b],d,f,e);return}}I(a.a,3,5,172,function(){c.F=c.F&65534|128;c.U[b]|=128;return!!(c.F&64)})}
|
||||
l.sc=function(a,b,c,d,f){var e=this.m;e.Sa=65536-f&65535;e.Qa=d&65535;e.F=e.F&-769|d>>8&768;e.Ba=d>>16&63;f=~~(c/e.J[0]);d=~~(f/e.Ia[0]);e.ca[b.ka]=f%e.Ia[0]<<8|c%e.J[0];e.tb[b.ka]=e.la[b.ka]=d;e.Oa|=1<<b.ka;c>=b.ic-1&&(e.U[b.ka]|=1024);switch(a){case 1:e.ba|=512;e.F|=49152;break;case 2:e.ba|=2048,e.F|=49152}I(this.a,20,5,172,function(){e.U[b.ka]|=128;e.F=e.F&65534|128;return!!(e.F&64)})};
|
||||
function ib(a,b,c,d,f,e){var g=~~((e+c.ra-1)/c.ra),h=new XMLHttpRequest;2048>g&&d+2048<c.ic&&(g=2048);h.open("GET",c.url,!0);h.setRequestHeader("Range","bytes="+(d*c.ra<<1)+"-"+(((d+g)*c.ra<<1)-1));h.responseType="arraybuffer";h.onreadystatechange=function(){if(4==h.readyState){var g=b.bind(a),m,q,w,D;m=h.response;if(h.status&&206!=h.status||!m)c.Cb(1,c,d,f,e);else{m=new Uint8Array(m);q=d;for(D=0;D<m.length;){if("undefined"===typeof c.cache[q])for(c.cache[q]=[],w=0;w<c.ra;w++)c.cache[q][w]=D<m.length?
|
||||
m[D]&255|m[D+1]<<8&65280:0,D+=2;else D+=c.ra<<1;q++}g(c,d,f,e)}}};h.send(null)}function J(a,b,c,d,f){c&1?f?d=0<=d?d<<8&65280|b&255:b:K(a.a,4):0<=d?f&&(d=b&65280|d&255):d=b;return d}l.rb=function(a,b,c,d){for(var f;0<d;){if("undefined"===typeof a.cache[b]){ib(this,this.rb,a,b,c,d);return}for(f=0;f<a.ra&&0<d;f++){var e=a.hc?jb(this.a,c):c;Ta(this.a.D,e,a.cache[b][f]&65535);c+=2;--d}b++}a.Cb(0,a,b,c,d)};
|
||||
function eb(a,b,c,d,f){for(var e,g;0<f;){if("undefined"===typeof b.cache[c])for(b.cache[c]=[],e=0;e<b.ra;e++)b.cache[c][e]=0;for(e=0;e<b.ra&&0<f;e++){g=kb(a.a,b.hc?jb(a.a,d):d);if(0>g){b.Cb(2,b,c,d,f);return}b.cache[c][e]=g;d+=2;--f}c++}b.Cb(0,b,c,d,f)}l.reset=function(){this.g.Pa=this.g.Pa&-120|20;this.b.W=0;this.b.Y=128;this.f.va=0;this.i.B=128;this.l.v=128;gb(this)};
|
||||
l.Zb=function(a,b,c){var d,f,e=this.a;switch(a&-64){case 4194240:switch(a&-2){case 4194300:0>b?d=e.Aa&65280:(a&1&&(b<<=8),e.Aa=b|255,d=0);break;case 4194298:if(0>b)d=e.Eb;else{a&1&&(b<<=8);if(d=b&65024){f=d>>9;do d+=34;while(f>>=1)}e.Eb=d;e.j|=2}break;case 4194294:if(70!==e.Ka)return K(e,4);0>b?d=e.o:d=e.o=0;break;case 4194292:if(70!==e.Ka)return K(e,4);d=1;break;case 4194290:if(70!==e.Ka)return K(e,4);d=0;break;case 4194288:if(70!==e.Ka)return K(e,4);d=61183;break;case 4194296:0<=b&&!(a&1)&&(b&=
|
||||
255);case 4194286:case 4194284:case 4194282:case 4194280:case 4194278:case 4194276:case 4194274:case 4194272:if(70!==e.Ka)return K(e,4);f=a-4194272>>1;0>b?d=e.Bb[f]:(d=J(this,e.Bb[f],a,b,c),0<=d&&(e.Bb[f]=d));break;case 4194254:return a&1?e.A>>14&1?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[3]=b),d=e.ea[3]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[1]=b),d=e.ea[1]),d;case 4194252:case 4194250:case 4194248:return f=a&7,e.A&2048?(0<=b&&(e.c[f]=b),d=e.c[f]):(0<=b&&(e.Na[f]=b),d=e.Na[f]),d;case 4194246:return a&
|
||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[0]=b),d=e.ea[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.A&2048?(0<=b&&(e.Na[f]=b),d=e.Na[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.P[3][f],a,b,c);0<=d&&(e.P[3][f]=d,e.P[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.sb,a,b,c);0<=d&&(e.sb=d);break;case 4194172:d=e.za;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
1?(0<=b&&(e.c[7]=b),d=e.c[7]):e.A>>14&0?(0<=b&&(e.c[6]=b),d=e.c[6]):(0<=b&&(e.ea[0]=b),d=e.ea[0]),d;case 4194244:case 4194242:case 4194240:return f=a&7,e.A&2048?(0<=b&&(e.Na[f]=b),d=e.Na[f]):(0<=b&&(e.c[f]=b),d=e.c[f]),d;default:return e.o|=16,K(e,4)}break;case 4194176:f=a>>1&31;d=J(this,e.O[3][f],a,b,c);0<=d&&(e.O[3][f]=d,e.O[3][f&15]&=65295);break;case 4194112:var g=this.b;switch(a&-2){case 4194174:d=J(this,e.sb,a,b,c);0<=d&&(e.sb=d);break;case 4194172:d=e.za;d&65280&&(d=(d<<8|d>>8)&65535);break;
|
||||
case 4194168:0>b?d=this.g.Ac&65535:(d=J(this,this.g.data,a,b,c),0<=d&&(this.g.data=d));break;case 4194166:0<=b&&(b&127&&(g.bc=0),g.Y&=-129,I(e,100,4,52,function(){g.Y|=128;return!!(g.Y&64)}));d=0;break;case 4194162:d=0;0>b&&(g.W&=-129,0<g.Db.length&&(d=g.Db.shift(),0<g.Db.length&&setTimeout(function(){g.W|=128;g.W&64&&I(e,40,4,48)},50)));break;case 4194160:0>b?d=g.W:(d=J(this,g.W,a,b,c),0<=d&&(g.W=g.W&128|d&-129));break;default:return e.o|=16,K(e,4)}break;case 4194048:f=this.i;switch(a&-2){case 4194048:d=
|
||||
J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194050:d=J(this,f.R,a,b,c);0<=d&&(f.R=d);break;case 4194052:d=J(this,f.B,a,b,c);0<=b&&0<=d&&(f.B=d&-36993|f.B&36992,f.B&1&&eb(this));break;case 4194054:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194056:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194058:d=J(this,f.X,a,b,c);0<=d&&(f.X=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
|
||||
-2){case 4193728:d=J(this,h.F,a,b,c);0<=b&&0<=d&&(h.Ba=h.Ba&60|d>>8&3,h.F=d&17279|h.F&34944|2048,d&1&&h.F&128?ib(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d);break;case 4193732:d=J(this,h.Qa,a,b,c);0<=d&&(h.Qa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&hb(this));break;case 4193738:d=h.V[f];break;case 4193740:d=h.Ra[f];break;case 4193742:d=J(this,
|
||||
J(this,f.cb,a,b,c);0<=d&&(f.cb=d);break;case 4194050:d=J(this,f.P,a,b,c);0<=d&&(f.P=d);break;case 4194052:d=J(this,f.B,a,b,c);0<=b&&0<=d&&(f.B=d&-36993|f.B&36992,f.B&1&&db(this));break;case 4194054:d=J(this,f.eb,a,b,c);0<=d&&(f.eb=d);break;case 4194056:d=J(this,f.bb,a,b,c);0<=d&&(f.bb=d);break;case 4194058:d=J(this,f.X,a,b,c);0<=d&&(f.X=d);break;case 4194060:break;case 4194062:d=J(this,f.Sb,a,b,c);0<=d&&(f.Sb=d);break;default:return e.o|=16,K(e,4)}break;case 4193728:var h=this.m;f=h.ba&7;switch(a&
|
||||
-2){case 4193728:d=J(this,h.F,a,b,c);0<=b&&0<=d&&(h.Ba=h.Ba&60|d>>8&3,h.F=d&17279|h.F&34944|2048,d&1&&h.F&128?hb(this,f):192==(d&192)&&I(e,0,5,172));break;case 4193730:d=J(this,h.Sa,a,b,c);0<=d&&(h.Sa=d);break;case 4193732:d=J(this,h.Qa,a,b,c);0<=d&&(h.Qa=d&65534);break;case 4193734:d=J(this,h.ca[f],a,b,c);0<=d&&(h.ca[f]=d&7967);break;case 4193736:d=J(this,h.ba,a,b,c);0<=d&&(h.ba=d&63|h.ba&65472,d&128&&gb(this));break;case 4193738:d=h.U[f];break;case 4193740:d=h.Ra[f];break;case 4193742:d=J(this,
|
||||
h.Oa,a,b,c);0<=d&&(h.Oa=d&255);break;case 4193744:d=h.xc[f];break;case 4193746:d=J(this,h.Tb,a,b,c);0<=d&&(h.Tb=d);break;case 4193748:d=J(this,h.Ub[f],a,b,c);0<=d&&(h.Ub[f]=d&1023);break;case 4193750:d=8210;break;case 4193752:d=h.yc[f];break;case 4193754:d=J(this,h.Vb[f],a,b,c);0<=d&&(h.Vb[f]=d);break;case 4193756:d=J(this,h.la[f],a,b,c);0<=d&&(h.la[f]=d&511);break;case 4193758:h.tb[f]=h.la[f];d=h.tb[f];break;case 4193760:d=h.vc[f];break;case 4193762:d=h.wc[f];break;case 4193764:d=h.tc[f];break;case 4193766:d=
|
||||
h.uc[f];break;case 4193768:d=J(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63,h.F=h.F&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.v,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.v=f.v&-1023|d&1022,f.v&128||gb(this));break;case 4192514:d=J(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=J(this,f.K,a,b,c);0<=d&&(f.K=d);break;case 4192518:d=J(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;
|
||||
case 4192520:d=J(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.v=f.v&-49|(f.qa&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ma:(d=J(this,e.Ma,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Ma=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Ma&16&&(f=1),this.g.Pa=this.g.Pa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.P[0][f],a,b,c);0<=d&&(e.P[0][f]=d,e.P[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.P[1][f],
|
||||
a,b,c);0<=d&&(e.P[1][f]=d,e.P[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ka)return K(e,4);f=a>>2&31;d=e.fb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.fb[f]=a&2?d<<16|e.fb[f]&65535:e.fb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Za[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
|
||||
return d};var L={},Xa=(L[65382]=[null,null,H.prototype.kc,H.prototype.Cc,"LKS"],L[65392]=[null,null,H.prototype.nc,H.prototype.Fc,"RCSR"],L[65396]=[null,null,H.prototype.pc,H.prototype.Hc,"XCSR"],L[65402]=[null,null,H.prototype.lc,H.prototype.Dc,"MMR0"],L[65534]=[null,null,H.prototype.mc,H.prototype.Ec,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var mb;
|
||||
if(Ha){var nb=new ArrayBuffer(2);(new DataView(nb)).setUint16(0,256,!0);mb=256===(new Uint16Array(nb))[0]}else mb=!1;var ob=mb;
|
||||
function G(a,b,c,d,f){this.id=pb+=2;this.a=null;this.Va=a;this.ub=b;this.size=c||0;this.type=d||qb;this.i=d==rb;this.controller=null;Ka(this);this.ta=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,sb(this,f.Wa);else if(Ha)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),sb(this,ob?tb:ub);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;sb(this,vb)}else sb(this)}
|
||||
var qb=0,rb=2,Qa=4,Sa=["NONE","RAM","ROM","VID","H/W"],pb=0;
|
||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ha)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ha)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},s:function(){return 255},w:function(){},u:function(a,b){return this.ab(a++,b++)|this.ab(a,b)<<8},G:function(a,b,c){this.Ua(a++,
|
||||
b&255,c++);this.Ua(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ia:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},oa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},Ha:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ta=!0},I:function(a,b){return this.S(a,b)},fa:function(a,b){return this.ga(a,
|
||||
b)},ma:function(a,b,c){this.i||this.Yb(a,b,c)},Ea:function(a,b,c){this.i||this.Fa(a,b,c)},H:function(a){return this.b[a]},T:function(a){return this.b[a]},$:function(a){return this.g.getUint16(a,!0)},ha:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ja:function(a,b){this.b[a]=b;this.ta=!0},na:function(a,b){this.b[a]=b;this.ta=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.ta=!0},Ga:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ta=!0}};
|
||||
function Ka(a,b,c){a.L=b;a.C=a.l=0;c&&((a.C=c.C)&&wb(a,xb,!1),(a.l=c.l)&&yb(a,xb,!1))}function yb(a,b,c){c&&a.l||(a.Ua=!a.i&&b[1]||a.w,a.Gc=!a.i&&b[3]||a.G);if(c||void 0===c)a.Yb=b[1]||a.w,a.Fa=b[3]||a.G}function wb(a,b,c){c&&a.C||(a.ab=b[0]||a.s,a.oc=b[2]||a.u);if(c||void 0===c)a.S=b[0]||a.s,a.ga=b[2]||a.u}function sb(a,b){b||(b=zb);wb(a,b,void 0);yb(a,b,void 0)}var zb=[],vb=[G.prototype.Z,G.prototype.oa,G.prototype.ia,G.prototype.Ha],xb=[G.prototype.I,G.prototype.ma,G.prototype.fa,G.prototype.Ea];
|
||||
if(Ha)var ub=[G.prototype.H,G.prototype.ja,G.prototype.$,G.prototype.Da],tb=[G.prototype.T,G.prototype.na,G.prototype.ha,G.prototype.Ga];function Ab(a,b){v.call(this,"CPU",a,Ab);var c=a.multiplier||1;this.lb=a.cycles||b;this.ia=c;this.yb=Math.round(this.lb/1E4)/100;this.ma=this.yb*this.ia;this.h.aa=!1;this.h.Wb=!1;this.h.Xa=a.autoStart;this.h.Jb=!1;this.h.nb=!1;this.jb=this.na=0;this.kb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.S=[];this.Rb=this.zc.bind(this);E(this)}y(Ab);
|
||||
var Bb=["power","reset"];l=Ab.prototype;l.La=function(a,b,c,d){this.H=a;this.D=b;this.L=d;for(b=0;b<Bb.length;b++)(c=this.C[Bb[b]])&&this.H.da(null,Bb[b],c);this.Da=null;a=Cb(a,"autoStart");null!=a&&(this.h.Xa="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ya=function(a,b){if(!b){if(a&&this.restore){Db(this);if(!this.restore(a))return!1;Eb(this)}else this.reset();this.M("No debugger detected")}Fb(this);return!0};
|
||||
l.xa=function(a){return a?this.save():!0};l.Xa=function(){return this.h.Xa||void 0===this.C.run?(Gb(this),!0):!1};l.Ob=function(){return 0};function Eb(a){void 0===a.kb&&(a.kb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.h.nb=0<=a.kb&&0<a.Ea;a.h.nb&&(a.jb=0,a.na=a.kb-a.ja)}
|
||||
function Hb(a,b,c,d){if(a.C[b]){void 0===c&&(a.h.error=!0,a.N("Value for "+b+" is invalid"),Ib(a));var f=a.L&&a.L.b||8;c=!a.h.aa||a.h.Jb?8==f?ba(c,d):n(c,d):"--------".substr(0,d||4);a.C[b].textContent!=c&&(a.C[b].textContent=c)}}
|
||||
l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.C[b]=c;a=!0;break;case "run":this.C[b]=c;c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.h.O)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.O);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.h.aa?Ib(d):Gb(d))};a=!0;
|
||||
break;case "speed":this.C[b]=c;a=!0;break;case "setSpeed":this.C[b]=c,c.onclick=function(){Jb(d,d.ia<<1)},c.textContent=this.ma.toFixed(2)+"Mhz",a=!0}return a};function Kb(a,b,c){a.ja+=b;c&&(a.T=a.a=0)}function Lb(a,b){var c=1;b&&1<a.ia&&a.ga&&(c=a.ga/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Ga=a.mb);a.zb=0}function Mb(a){return a.ja+a.$+a.T-a.a}function Db(a){a.ga=0;a.Qb=0;a.ja=a.$=a.T=a.a=0;Eb(a);Jb(a,1)}
|
||||
function Jb(a,b){if(void 0!==b&&(.8>a.ga/a.ma&&(b=1),a.ia=b,b=a.yb*a.ia,a.ma!=b)){a.ma=b;b=a.ma.toFixed(2)+"Mhz";var c=a.C.setSpeed;c&&(c.textContent=b);a.M("target speed: "+b)}Kb(a,a.$);a.$=0;a.Z=ia();a.ha=0;Lb(a)}function $a(a,b){var c=a.S.length;a.S.push([-1,b]);return c}function ab(a,b){var c;0<=b&&b<a.S.length&&0>a.S[b][0]&&(c=a.lb*a.ia/1E3*(1E3/60),a.S[b][0]=c)}
|
||||
l.zc=function(){if(this.h.aa){this.zb>=this.lb&&Lb(this,!0);this.Ha=0;this.ib=ia();if(this.ha){var a=this.ib-this.ha;a>this.Pb&&(this.Z+=a,this.Z>this.ib&&(this.Z=this.ib))}try{do{for(var b,c=this.h.nb?1:this.mb,d=this.S.length-1;0<=d;d--){var f=this.S[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.T-this.a,a=e,g=this.S.length-1;0<=g;g--){var h=this.S[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ha+=e;this.$+=e;Kb(this,0,!0);a=e;if(this.h.nb){var k=
|
||||
!1;this.jb=this.jb+this.Ob()|0;this.na-=a;0>=this.na&&(this.na+=this.Ea,k=!0);0<=this.Fa&&this.Fa<=Mb(this)&&(this.Ea=this.Fa=-1,Eb(this),Ib(this),k=!0);k&&this.M(Mb(this)+" cycles: checksum="+n(this.jb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.mb;15<=++this.Qb&&(this.H&&this.H.Ta(),this.Qb=0);break}}while(this.h.aa)}catch(m){Ib(this);Fb(this);this.H&&this.H.stop(ia(),Mb(this));b=m.stack||m.message;this.h.error=!0;this.N(b);return}if(this.h.aa){b=setTimeout;c=this.Rb;this.ha=ia();d=this.Pb;this.Ha&&
|
||||
(d=Math.round(d*this.Ha/this.mb));d-=this.ha-this.ib;if(f=this.ha-this.Z)this.ga=Math.round(this.$/(10*f))/100,864E5<=f&&(this.ja=0,Jb(this));if(0>d||this.ga<this.ma)-1E3>d&&(this.Z-=d),d=0;this.zb+=this.Ha;this.ha+=d;b(c,d)}}};function Gb(a){var b;a.h.error?(a.M(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.aa)a.M(a.toString()+" busy");else{Jb(a);a.h.aa=!0;a.h.Wb=!0;a.Da&&a.Da.start();if(b=a.C.run)b.textContent="Halt";a.H&&a.H.start(a.Z,Mb(a));Fb(a,!0);setTimeout(a.Rb,0)}}l.Xb=function(){return 0};
|
||||
function Ib(a){if(a.h.aa){a.T-=a.a;a.a=0;Kb(a,a.$);a.$=0;a.h.aa=!1;a.Da&&a.Da.stop();var b=a.C.run;b&&(b.textContent="Run");a.H&&a.H.stop(ia(),Mb(a));Fb(a)}a.h.complete=void 0}function Fb(a,b){a.H&&a.H.Ta(b)}
|
||||
function Nb(a){this.gc=a.resetAddr||0;Ab.call(this,a,6666667);this.Lb=0;this.decode=Ob.bind(this);this.m=65536;this.g=32768;this.i=65535;this.u=32768;this.A=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Na=[0,0,0,0,0,0];this.ea=[0,0,0,0];this.hb=this.G=0;this.P=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=this.b=this.l=this.f=this.vb=this.j=0;this.Ka=70;this.oa=-1;Pb(this);this.h.complete=this.h.ac=!1}y(Nb,Ab);l=Nb.prototype;l.reset=function(){this.h.aa&&Ib(this);Pb(this);Db(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function Pb(a){a.Aa=255;a.o=0;a.Eb=0;a.I=0;a.za=0;a.sb=0;a.Ma=0;a.pb=0;a.gb=0;a.qb=[7,7,7,7];a.w=[];a.j|=2;bb(a)}function bb(a){a.pb?(a.Ib=65536,a.fa=a.ec):(a.Ib=0,a.fa=a.dc)}l.Ob=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.ja,this.ia]);a.set(2,Va(this.D));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.ja=b[1];Jb(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.G){for(var e=0,g=Array(b.G),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
h.uc[f];break;case 4193768:d=J(this,h.Ba,a,b,c);0<=d&&(h.Ba=d&63,h.F=h.F&-769|(d&3)<<8);break;case 4193770:d=J(this,h.Fb,a,b,c);0<=d&&(h.Fb=d);break;default:return e.o|=16,K(e,4)}break;case 4192512:f=this.l;switch(a&-2){case 4192512:d=J(this,f.v,a,b,c);0<=b&&0<=d&&(f.qa=f.qa&60|d>>4&3,f.v=f.v&-1023|d&1022,f.v&128||fb(this));break;case 4192514:d=J(this,f.Ya,a,b,c);0<=d&&(f.Ya=d&65534);break;case 4192516:d=J(this,f.K,a,b,c);0<=d&&(f.K=d);break;case 4192518:d=J(this,f.wa,a,b,c);0<=d&&(f.wa=d);break;
|
||||
case 4192520:d=J(this,f.qa,a,b,c);0<=d&&(f.qa=d&63,f.v=f.v&-49|(f.qa&3)<<4);break;default:return e.o|=16,K(e,4)}break;case 4191552:switch(a&-2){case 4191566:0>b?d=e.Ma:(d=J(this,e.Ma,a,b,c),0<=d&&(70!==e.Ka&&(d&=-49),e.Ma=d,e.qb[0]=d&4?15:7,e.qb[1]=d&2?15:7,e.qb[3]=d&1?15:7,e.pb&&(f=2,e.Ma&16&&(f=1),this.g.Pa=this.g.Pa&-8|f)));break;default:return e.o|=16,K(e,4)}break;case 4191424:f=a>>1&31;d=J(this,e.O[0][f],a,b,c);0<=d&&(e.O[0][f]=d,e.O[0][f&15]&=65295);break;case 4191360:f=a>>1&31;d=J(this,e.O[1][f],
|
||||
a,b,c);0<=d&&(e.O[1][f]=d,e.O[1][f&15]&=65295);break;case 4190400:case 4190336:if(70!==e.Ka)return K(e,4);f=a>>2&31;d=e.fb[f];a&2&&(d>>=16);d&=65535;0<=b&&(d=J(this,d,a,b,c),0<=d&&(e.fb[f]=a&2?d<<16|e.fb[f]&65535:e.fb[f]&4294901760|d&65534));break;case 4188672:case 4188736:case 4188800:case 4188864:case 4188928:case 4188992:case 4189056:case 4189120:if(0>b)d=Ya[a>>1&255];else return e.o|=16,K(e,4);break;default:return e.o|=16,K(e,4)}c&&0<=d&&(a&1?d>>=8:d&=255);"undefined"===typeof d&&console.log("panic(76)");
|
||||
return d};var L={},Wa=(L[65382]=[null,null,H.prototype.kc,H.prototype.Cc,"LKS"],L[65392]=[null,null,H.prototype.nc,H.prototype.Fc,"RCSR"],L[65396]=[null,null,H.prototype.pc,H.prototype.Hc,"XCSR"],L[65402]=[null,null,H.prototype.lc,H.prototype.Dc,"MMR0"],L[65534]=[null,null,H.prototype.mc,H.prototype.Ec,"PSW"],L);u(function(){for(var a=C(document,"pdp11","device"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new H(d);B(d,c)}});var lb;
|
||||
if(Ga){var mb=new ArrayBuffer(2);(new DataView(mb)).setUint16(0,256,!0);lb=256===(new Uint16Array(mb))[0]}else lb=!1;var nb=lb;
|
||||
function G(a,b,c,d,f){this.id=ob+=2;this.a=null;this.Va=a;this.ub=b;this.size=c||0;this.type=d||pb;this.i=d==qb;this.controller=null;Ja(this);this.ta=this.cc=!1;if(c)if(f)this.controller=f,this.a=null,rb(this,f.Wa);else if(Ga)this.f=new ArrayBuffer(c),this.g=new DataView(this.f,0,c),this.b=new Uint8Array(this.f,0,c),this.m=new Uint16Array(this.f,0,c>>1),this.a=new Int32Array(this.f,0,c>>2),rb(this,nb?sb:tb);else{this.a=Array(c>>2);for(a=0;a<this.a.length;a++)this.a[a]=0;rb(this,ub)}else rb(this)}
|
||||
var pb=0,qb=2,Pa=4,Ra=["NONE","RAM","ROM","VID","H/W"],ob=0;
|
||||
G.prototype={constructor:G,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ga)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.g.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ga)for(b=0;b<a.length;b++)this.g.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},s:function(){return 255},w:function(){},u:function(a,b){return this.ab(a++,b++)|this.ab(a,b)<<8},G:function(a,b,c){this.Ua(a++,
|
||||
b&255,c++);this.Ua(a,b>>8,c)},Z:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ia:function(a){var b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},oa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},Ha:function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|b>>8);this.ta=!0},I:function(a,b){return this.R(a,b)},fa:function(a,b){return this.ga(a,
|
||||
b)},ma:function(a,b,c){this.i||this.Yb(a,b,c)},Ea:function(a,b,c){this.i||this.Fa(a,b,c)},H:function(a){return this.b[a]},S:function(a){return this.b[a]},$:function(a){return this.g.getUint16(a,!0)},ha:function(a){return a&1?this.b[a]|this.b[a+1]<<8:this.m[a>>1]},ja:function(a,b){this.b[a]=b;this.ta=!0},na:function(a,b){this.b[a]=b;this.ta=!0},Da:function(a,b){this.g.setUint16(a,b,!0);this.ta=!0},Ga:function(a,b){a&1?(this.b[a]=b,this.b[a+1]=b>>8):this.m[a>>1]=b;this.ta=!0}};
|
||||
function Ja(a,b,c){a.L=b;a.C=a.l=0;c&&((a.C=c.C)&&vb(a,wb,!1),(a.l=c.l)&&xb(a,wb,!1))}function xb(a,b,c){c&&a.l||(a.Ua=!a.i&&b[1]||a.w,a.Gc=!a.i&&b[3]||a.G);if(c||void 0===c)a.Yb=b[1]||a.w,a.Fa=b[3]||a.G}function vb(a,b,c){c&&a.C||(a.ab=b[0]||a.s,a.oc=b[2]||a.u);if(c||void 0===c)a.R=b[0]||a.s,a.ga=b[2]||a.u}function rb(a,b){b||(b=yb);vb(a,b,void 0);xb(a,b,void 0)}var yb=[],ub=[G.prototype.Z,G.prototype.oa,G.prototype.ia,G.prototype.Ha],wb=[G.prototype.I,G.prototype.ma,G.prototype.fa,G.prototype.Ea];
|
||||
if(Ga)var tb=[G.prototype.H,G.prototype.ja,G.prototype.$,G.prototype.Da],sb=[G.prototype.S,G.prototype.na,G.prototype.ha,G.prototype.Ga];function zb(a,b){v.call(this,"CPU",a,zb);var c=a.multiplier||1;this.lb=a.cycles||b;this.ia=c;this.yb=Math.round(this.lb/1E4)/100;this.ma=this.yb*this.ia;this.h.aa=!1;this.h.Wb=!1;this.h.Xa=a.autoStart;this.h.Jb=!1;this.h.nb=!1;this.jb=this.na=0;this.kb=a.csStart;this.Ea=a.csInterval;this.Fa=a.csStop;this.R=[];this.Rb=this.zc.bind(this);E(this)}y(zb);
|
||||
var Ab=["power","reset"];l=zb.prototype;l.La=function(a,b,c,d){this.H=a;this.D=b;this.L=d;for(b=0;b<Ab.length;b++)(c=this.C[Ab[b]])&&this.H.da(null,Ab[b],c);this.Da=null;a=Bb(a,"autoStart");null!=a&&(this.h.Xa="true"==a?!0:"false"==a?!1:!!a);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.ya=function(a,b){if(!b){if(a&&this.restore){Cb(this);if(!this.restore(a))return!1;Db(this)}else this.reset();this.V("No debugger detected")}Eb(this);return!0};
|
||||
l.xa=function(a){return a?this.save():!0};l.Xa=function(){return this.h.Xa||void 0===this.C.run?(Fb(this),!0):!1};l.Ob=function(){return 0};function Db(a){void 0===a.kb&&(a.kb=0);void 0===a.Ea&&(a.Ea=-1);void 0===a.Fa&&(a.Fa=-1);a.h.nb=0<=a.kb&&0<a.Ea;a.h.nb&&(a.jb=0,a.na=a.kb-a.ja)}
|
||||
function Gb(a,b,c,d){if(a.C[b]){void 0===c&&(a.h.error=!0,a.M("Value for "+b+" is invalid"),Hb(a));var f=a.L&&a.L.b||8;if(!a.h.aa||a.h.Jb)if(8==f){f="";d?11<d&&(d=11):d=c&-65536?11:6;if(null==c||isNaN(c))for(;0<d--;)f="?"+f;else for(;0<d--;)f=String.fromCharCode((c&7)+48)+f,c>>=3;d=""+f}else d=n(c,d);else d="--------".substr(0,d||4);a.C[b].textContent!=d&&(a.C[b].textContent=d)}}
|
||||
l.da=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.C[b]=c;a=!0;break;case "run":this.C[b]=c;c.onclick=function(){var a;if(a=d.H)if(a=d.H,a.h.N)a=!0;else{var b=null,c,h=z(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.h.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.h.N);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.h.ready?"powered yet":"ready yet"+(b.ob?" (waiting for notification)":""))+".");a=!1}a&&(d.h.aa?Hb(d):Fb(d))};a=!0;
|
||||
break;case "speed":this.C[b]=c;a=!0;break;case "setSpeed":this.C[b]=c,c.onclick=function(){Ib(d,d.ia<<1)},c.textContent=this.ma.toFixed(2)+"Mhz",a=!0}return a};function Jb(a,b,c){a.ja+=b;c&&(a.S=a.a=0)}function Kb(a,b){var c=1;b&&1<a.ia&&a.ga&&(c=a.ga/a.yb);a.Pb=Math.round(1E3/30);a.mb=Math.floor(a.lb/30*c);b||(a.Ga=a.mb);a.zb=0}function Lb(a){return a.ja+a.$+a.S-a.a}function Cb(a){a.ga=0;a.Qb=0;a.ja=a.$=a.S=a.a=0;Db(a);Ib(a,1)}
|
||||
function Ib(a,b){if(void 0!==b&&(.8>a.ga/a.ma&&(b=1),a.ia=b,b=a.yb*a.ia,a.ma!=b)){a.ma=b;b=a.ma.toFixed(2)+"Mhz";var c=a.C.setSpeed;c&&(c.textContent=b);a.V("target speed: "+b)}Jb(a,a.$);a.$=0;a.Z=ha();a.ha=0;Kb(a)}function Za(a,b){var c=a.R.length;a.R.push([-1,b]);return c}function $a(a,b){var c;0<=b&&b<a.R.length&&0>a.R[b][0]&&(c=a.lb*a.ia/1E3*(1E3/60),a.R[b][0]=c)}
|
||||
l.zc=function(){if(this.h.aa){this.zb>=this.lb&&Kb(this,!0);this.Ha=0;this.ib=ha();if(this.ha){var a=this.ib-this.ha;a>this.Pb&&(this.Z+=a,this.Z>this.ib&&(this.Z=this.ib))}try{do{for(var b,c=this.h.nb?1:this.mb,d=this.R.length-1;0<=d;d--){var f=this.R[d];0>f[0]||c>f[0]&&(c=f[0])}b=c;try{this.Xb(b)}catch(m){if("number"!=typeof m)throw m;}for(var e=this.S-this.a,a=e,g=this.R.length-1;0<=g;g--){var h=this.R[g];0>h[0]||(h[0]-=a,0>=h[0]&&(h[0]=-1,h[1]()))}this.Ha+=e;this.$+=e;Jb(this,0,!0);a=e;if(this.h.nb){var k=
|
||||
!1;this.jb=this.jb+this.Ob()|0;this.na-=a;0>=this.na&&(this.na+=this.Ea,k=!0);0<=this.Fa&&this.Fa<=Lb(this)&&(this.Ea=this.Fa=-1,Db(this),Hb(this),k=!0);k&&this.V(Lb(this)+" cycles: checksum="+n(this.jb))}this.Ga-=e;if(0>=this.Ga){this.Ga+=this.mb;15<=++this.Qb&&(this.H&&this.H.Ta(),this.Qb=0);break}}while(this.h.aa)}catch(m){Hb(this);Eb(this);this.H&&this.H.stop(ha(),Lb(this));b=m.stack||m.message;this.h.error=!0;this.M(b);return}if(this.h.aa){b=setTimeout;c=this.Rb;this.ha=ha();d=this.Pb;this.Ha&&
|
||||
(d=Math.round(d*this.Ha/this.mb));d-=this.ha-this.ib;if(f=this.ha-this.Z)this.ga=Math.round(this.$/(10*f))/100,864E5<=f&&(this.ja=0,Ib(this));if(0>d||this.ga<this.ma)-1E3>d&&(this.Z-=d),d=0;this.zb+=this.Ha;this.ha+=d;b(c,d)}}};function Fb(a){var b;a.h.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.h.aa)a.V(a.toString()+" busy");else{Ib(a);a.h.aa=!0;a.h.Wb=!0;a.Da&&a.Da.start();if(b=a.C.run)b.textContent="Halt";a.H&&a.H.start(a.Z,Lb(a));Eb(a,!0);setTimeout(a.Rb,0)}}l.Xb=function(){return 0};
|
||||
function Hb(a){if(a.h.aa){a.S-=a.a;a.a=0;Jb(a,a.$);a.$=0;a.h.aa=!1;a.Da&&a.Da.stop();var b=a.C.run;b&&(b.textContent="Run");a.H&&a.H.stop(ha(),Lb(a));Eb(a)}a.h.complete=void 0}function Eb(a,b){a.H&&a.H.Ta(b)}
|
||||
function Mb(a){this.gc=a.resetAddr||0;zb.call(this,a,6666667);this.Lb=0;this.decode=Nb.bind(this);this.m=65536;this.g=32768;this.i=65535;this.u=32768;this.A=15;this.c=[0,0,0,0,0,0,0,this.gc];this.Na=[0,0,0,0,0,0];this.ea=[0,0,0,0];this.hb=this.G=0;this.O=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];this.fb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.Bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.s=this.b=this.l=this.f=this.vb=this.j=0;this.Ka=70;this.oa=-1;Ob(this);this.h.complete=this.h.ac=!1}y(Mb,zb);l=Mb.prototype;l.reset=function(){this.h.aa&&Hb(this);Ob(this);Cb(this);this.h.error=!1;this.parent.reset.call(this)};
|
||||
function Ob(a){a.Aa=255;a.o=0;a.Eb=0;a.I=0;a.za=0;a.sb=0;a.Ma=0;a.pb=0;a.gb=0;a.qb=[7,7,7,7];a.w=[];a.j|=2;ab(a)}function ab(a){a.pb?(a.Ib=65536,a.fa=a.ec):(a.Ib=0,a.fa=a.dc)}l.Ob=function(){return 0};l.save=function(){var a=new M(this);a.set(0,[]);a.set(1,[this.ja,this.ia]);a.set(2,Ua(this.D));return a.data()};
|
||||
l.restore=function(a){var b=a[1];this.ja=b[1];Ib(this,b[3]);a:{b=this.D;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],f=a[c+1];if(f&&f.length<b.G){for(var e=0,g=Array(b.G),h=0;h<f.length-1;)for(var k=f[h++],m=f[h++];k--;)g[e++]=m;f=g}e=b.b[d];if(!e||!e.restore(f)){r("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};
|
||||
l.da=function(a,b,c){switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":this.C[b]=c;this.Lb++;a=!0;break;default:a=this.parent.da.call(this,a,b,c)}return a};
|
||||
l.Ta=function(a){if(this.Lb&&(a||!this.h.aa||this.h.Jb)){for(a=0;a<this.c.length;a++)Hb(this,"R"+a,this.c[a]);a=cb(this);Hb(this,"PS",a);Hb(this,"NF",a&8?1:0,1);Hb(this,"ZF",a&4?1:0,1);Hb(this,"VF",a&2?1:0,1);Hb(this,"CF",a&1?1:0,1)}if(a=this.C.speed)a.textContent=this.h.aa&&this.ga?this.ga.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.m&65536?1:0}l.ua=function(){return this.u&32768?8:0};function Qb(a){var b=O(a,a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
|
||||
function I(a,b,c,d,f){for(var e=a.w.length;0<e--;)if(a.w[e].Bc===d){0<e&&(a.w[e-1].sa+=a.w[e].sa);a.w.splice(e,1);break}if(0<=b){for(e=a.w.length;0<e--;){if(a.w[e].sa>b){a.w[e].sa-=b;break}b-=a.w[e].sa}a.w.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.j|=2}function cb(a){return a.A=a.A&63728|a.ua()|(a.i&65535?0:4)|(a.g&32768?2:0)|N(a)}
|
||||
function db(a,b){a.u=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.A)&2048)for(var c=a.Na.length;0<=--c;){var d=a.c[c];a.c[c]=a.Na[c];a.Na[c]=d}a.G=b>>14&3;c=a.A>>14&3;a.G!=c&&(a.ea[c]=a.c[6],a.c[6]=a.ea[a.G]);a.j|=2;a.A=b}function P(a,b){a.j&128||(a.u=a.i=b,a.g=0)}function Q(a,b,c){a.j&128||(a.u=a.i=a.m=b,a.g=c||0)}function Rb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^b)&(d^b))}function R(a,b){a.j&128||(a.u=a.i=a.m=b,a.g=a.u^a.m>>1)}function Sb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^d)&(d^b))}
|
||||
function K(a,b){var c=!1;0>a.oa?a.oa=cb(a):a.G||(b=4,c=!0);a.I&57344||(a.za=63222,a.sb=b);a.G=0;var d=O(a,b|65536),f=O(a,b+2&65535|65536);db(a,f&-12289|a.oa>>2&12288);c&&(a.o|=4,a.c[6]=4);Tb(a,a.oa);Tb(a,a.c[7]);a.c[7]=d&65535;a.j&=-113;a.oa=-1;throw b;}function Ub(a){var b=Vb(a),c=Vb(a)&-1793;a.A&49152&&(c=c&-225|a.A&63712);a.c[7]=b&65535;db(a,c);a.j&=-17}
|
||||
function kb(a,b){var c=b>>13&31;31>c?a.Ma&32&&(b=a.fb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Wb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.G];f=a.P[a.G][d];e=(a.P[a.G][d+16]<<6)+(b&8191)&4194303;a.Ma&16?3932160<=e&&4186112>e&&(e=kb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
||||
16384));a.P[a.G][d]=f;if(4194170!==e||a.G)a.gb=a.G,a.hb=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.I&57344||(a.I=a.I|g|a.gb<<5|a.hb<<1),K(a,168)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.j|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4));return e}function lb(a,b){if(4194304<=b)b=a.c[b-4194304];else if(0<=b){a=a.D;var c=b&a.i,d=(b&a.l)>>>a.f;b=c!=a.i?a.b[d].oc(c,b):a.b[d++].ab(c,b)|a.b[d&a.H].ab(0,b+1)<<8}return b}function O(a,b){return lb(a,Wb(a,b,2))}
|
||||
function Vb(a){var b=O(a,a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Tb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.za=a.za<<8|246);!a.G&&c<=a.Aa&&4<c&&(c<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=4));c=Wb(a,c|65536,4);Ua(a.D,c,b&65535)}
|
||||
function Xb(a,b,c){var d,f,e=c&8?0:a.Ib,g=b>>3&7;b&=7;c&4?(a.f=g,a.b=b):(a.l=g,a.s=b);switch(g){case 0:return K(a,4),0;case 1:return 6===b&&!a.G&&c&4&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64)),a.a-=3,7===b?a.c[b]:a.c[b]|e;case 2:f=2;d=a.c[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.c[b];7!==b&&(d|=e);d=O(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.c[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.c[b]-
|
||||
2&65535;7!==b&&(d|=e);d=O(a,d)|e;a.a-=8;break;case 6:return d=Qb(a),d=d+a.c[b]&65535|e,a.a-=6,d;case 7:return d=Qb(a),d=d+a.c[b]&65535,d=O(a,d|65536)|e,a.a-=10,d}a.c[b]=a.c[b]+f&65535;!e||a.I&57344||(a.za=a.za<<8|f<<3&248|b);6==b&&!a.G&&c&4&&0>=f&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64));return d}l.dc=function(a,b){return Xb(this,a,b)};l.ec=function(a,b){return Wb(this,Xb(this,a,b),b)};
|
||||
function Yb(a,b,c){b&56?(b=Xb(a,b,2),c&65536||61440!==(a.A&61440)&&(b&=65535),a.G=a.A>>12&3,c=O(a,b|c&65536),a.G=a.A>>14&3):(a.l=0,c=a.s=b&7,c=6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]:a.ea[a.A>>12&3]);return c}function Zb(a,b,c,d){a.I&57344||(a.za=22);b&56?(b=Xb(a,b,4),c&65536||(b&=65535),a.G=a.A>>12&3,b=Wb(a,b|c&65536,4),a.G=a.A>>14&3,Ua(a.D,b,d&65535)):(a.f=0,c=a.b=b&7,6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]=d:a.ea[a.A>>12&3]=d)}
|
||||
function S(a,b){b&56?a=lb(a,a.fa(b,2)):(a.l=0,a=a.c[a.s=b&7]);return a}function T(a,b){b&56?(b=a.fa(b,3),a=Ta(a.D,b)):(a.l=0,a=a.c[a.s=b&7]&255);return a}function U(a,b,c,d){b&56?(b=a.fa(b,6),c=d.call(a,c,lb(a,b)),Ua(a.D,b,c&65535)):(a.f=0,b=a.b=b&7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.vb=a.fa(b,7),c=d.call(a,c,Ta(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.l)>>>a.f].Ua(b&a.i,c&255,b)):(a.f=0,b=a.b=b&7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}
|
||||
function $b(a,b,c){b&56?(b=a.fa(b,4),Ua(a.D,b,c&65535)):(a.f=0,a.c[a.b=b&7]=c&65535);return c}function ac(a,b,c,d){b&56?(d=a.fa(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.l)>>>a.f].Ua(d&a.i,c&255,d)):(a.f=0,b=a.b=b&7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b,c){c&&(a.c[7]=a.c[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
|
||||
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.T=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?K(this,168):this.j&64?K(this,4):this.j&16&&K(this,12),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;a=null;for(var b=this.Eb&224,c=this.w.length;0<=--c;){if(0<this.w[c].sa){this.w[c].sa--;this.j|=2;break}if(this.w[c].Hb){if(!this.w[c].Hb()){this.w.splice(c,1);continue}this.w[c].Hb=null}this.w[c].jc>b&&(b=this.w[c].jc,a=this.w[c],this.w.splice(c,1))}b>(this.A&224)&&(this.j&4&&(this.c[7]=
|
||||
this.c[7]+2&65535,this.j&=-5),a?K(this,a.Bc):K(this,160))}else this.j&1&&this.j++;this.I&57344||(this.za=0,this.sb=this.c[7]);this.j=this.j&7|this.A&16;this.decode(Qb(this))}while(0<this.a);return this.h.complete?this.T-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nb(d);B(d,c)}});function bc(a,b){var c=b+a;Rb(this,c,a,b);return c&65535}function cc(a,b){var c=b+a;Rb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function dc(a,b){a=b<<1;R(this,a);return a&65535}function ec(a,b){a=b<<1;R(this,a<<8);return a&255}function fc(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function gc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function hc(a,b){a=b&~a;P(this,a);return a}function ic(a,b){a=b&~a;P(this,a<<8);return a}function jc(a,b){a|=b;P(this,a);return a}function kc(a,b){a|=b;P(this,a<<8);return a}function lc(a,b){a=~b|65536;Q(this,a);return a&65535}
|
||||
function mc(a,b){a=~b|256;Q(this,a<<8);return a&255}function nc(a,b){a=b-a;this.j&128||(this.u=this.i=a,this.g=b&(b^a));return a&65535}function oc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.u=this.i=c,this.g=b&(b^c));return a&255}function pc(a,b){a=b+a;this.j&128||(this.u=this.i=a,this.g=a&(b^a));return a&65535}function qc(a,b){a=b+a;var c=a<<8;this.j&128||(this.u=this.i=c,this.g=c&(b<<8^c));return a&255}function rc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}
|
||||
function sc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function tc(a,b){a=b<<1|this.m>>16&1;R(this,a);return a&65535}function uc(a,b){a=b<<1|this.m>>16&1;R(this,a<<8);return a&255}function vc(a,b){a=(this.m&65536|b)>>1|b<<16;R(this,a);return a&65535}function wc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function xc(a,b){var c=b-a;Sb(this,c,a,b);return c&65535}function yc(a,b){var c=b-a;Sb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function zc(a,b){this.j&128||(this.u=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function Ac(a,b){a^=b;P(this,a);return a&65535}function Bc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.c[a]=c&65535;this.u=this.i=c;this.a-=(this.l?6:7)+b}
|
||||
function Cc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.u=d>>16;this.i=d>>16|d;this.a-=(this.l?6:7)+b}function X(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.u=0);this.a-=5}
|
||||
function Dc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.i=d>>16|d,this.u=d>>16):(this.g=32768,this.i=d>>15|d,this.u=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1));this.a-=53}else this.i=this.u=0,this.g=32768,this.m=65536,this.a-=7}var Ec=[0,7,7,10,7,11,9,13];function Fc(a){var b=this.a;a=Xb(this,a,8);this.c[7]=a&65535;this.a=b-Ec[this.l]}
|
||||
var Gc=[0,14,14,17,14,18,16,20];function Hc(a){var b=this.a,c=Xb(this,a,8);a=a>>6&7;Tb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=c&65535;this.a=b-Gc[this.l]}var Ic=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Jc=[7,13,13,17,14,18,17,21];function Kc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j&128||(this.u=b>>16,this.i=this.u|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}
|
||||
function Lc(){this.a-=5}function Y(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.u=32768);this.a-=5}function Mc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Nc(a){U(this,a,0,zc);this.a-=this.f?9:3+(7==this.b?2:0)}function Oc(a){U(this,a,S(this,(a&448)>>6),Ac);this.a-=this.f?9:3+(7==this.b?2:0)}function Z(){K(this,8)}function Ob(a){Pc[a>>12].call(this,a)}
|
||||
var Pc=[function(a){Qc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6),c=this.a;P(this,$b(this,a,b));this.a=c-Ic[(this.l?8:0)+this.f]+(7!=this.b||this.f?0:2)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);Sb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);P(this,b&a);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){U(this,a,S(this,a>>6),hc);this.a-=this.f?9+(this.s&&
|
||||
6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),jc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),bc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){Rc[a>>8&15].call(this,a)},function(a){Sc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,ac(this,a,b,1)<<8);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){var b=T(this,a>>6)<<8,
|
||||
c=this.l,d=this.s;a=T(this,a)<<8;Sb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=T(this,a>>6),c=this.l,d=this.s;a=T(this,a);P(this,(b&a)<<8);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){V(this,a,T(this,a>>6),ic);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){V(this,a,T(this,a>>6),kc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),
|
||||
xc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},Z],Qc=[function(a){Tc[a>>4&15].call(this,a)},function(a){W(this,a,!0)},function(a){W(this,a,!!(this.i&65535))},function(a){W(this,a,this.i&65535?0:4)},function(a){W(this,a,!this.ua()==!(this.g&32768))},function(a){W(this,a,!this.ua()!=!(this.g&32768))},function(a){W(this,a,!!(this.i&65535)&&!this.ua()==!(this.g&32768))},function(a){W(this,a,(this.i&65535?0:4)||!this.ua()!=!(this.g&32768))},Hc,Hc,function(a){Uc[a>>6&3].call(this,
|
||||
a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},function(a){Xc[a>>6&3].call(this,a)},Z,Z],Uc=[function(a){Q(this,$b(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,lc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,pc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,nc);this.a-=this.f?9:3+(7==this.b?2:0)}],Vc=[function(a){U(this,a,0,rc);this.a-=this.f?11:6},function(a){U(this,a,N(this)?1:0,bc);this.a-=this.f?9:3+(7==this.b?
|
||||
2:0)},function(a){U(this,a,N(this)?1:0,xc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=S(this,a);Q(this,a);this.a-=this.l?4:3+(7==this.s?2:0)}],Wc=[function(a){U(this,a,0,vc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,tc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,fc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,dc);this.a-=this.f?9:3+(7==this.b?2:0)}],Xc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=O(this,a|65536);this.c[7]=this.c[5]&65535;
|
||||
this.c[6]=a+2&65535;this.c[5]=b;this.a-=8},function(a){a=Yb(this,a,0);Tb(this,a);P(this,a);this.a-=11},function(a){var b=Vb(this),c=this.a;Zb(this,a,0,b);P(this,b);this.a=c-Jc[this.f]},function(a){P(this,$b(this,a,this.ua?65535:0));this.a-=this.f?9:3+(7==this.b?2:0)}],Tc=[function(a){Yc[a&15].call(this,a)},Z,Z,Z,Fc,Fc,Fc,Fc,function(a){if(a&8)K(this,8);else{var b=Vb(this);a&=7;this.c[7]=this.c[a]&65535;this.c[a]=b;this.a-=9}},function(a){a&8?(this.A&49152||(this.A=this.A&-2017|(a&7)<<5,this.j|=1),
|
||||
this.a-=5):K(this,8)},function(a){Zc[a&15].call(this,a)},function(a){$c[a&15].call(this,a)},Nc,Nc,Nc,Nc],Yc=[function(){this.A&49152?(this.o|=128,K(this,4)):(this.T-=this.a,this.a=0);this.a-=7},function(){this.j|=4;this.c[7]=this.c[7]+-2&65535;this.a-=3},function(){Ub(this);this.j|=this.A&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.A&49152||(Pb(this),this.D.reset());this.a-=667},function(){Ub(this);this.a-=13},Z,Z,Z,Z,Z,Z,Z,Z,Z],Zc=[Lc,function(){this.m=
|
||||
0;this.a-=5},function(){this.g=0;this.a-=5},X,function(){this.i=1;this.a-=5},X,X,X,function(){this.u=0;this.a-=5},X,X,X,X,X,X,X],$c=[Lc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},Y,function(){this.i=0;this.a-=5},Y,Y,Y,function(){this.u=32768;this.a-=5},Y,Y,Y,Y,Y,Y,Y],Rc=[Kc,Kc,Dc,Dc,Bc,Bc,Cc,Cc,Oc,Oc,Z,Z,Z,Z,Mc,Mc],Sc=[function(a){W(this,a,!this.ua())},function(a){W(this,a,this.ua())},function(a){W(this,a,!N(this)&&!!(this.i&65535))},function(a){W(this,a,N(this)||(this.i&
|
||||
65535?0:4))},function(a){W(this,a,!(this.g&32768))},function(a){W(this,a,this.g&32768?2:0)},function(a){W(this,a,!N(this))},function(a){W(this,a,N(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>>6&3].call(this,a)},function(a){dd[a>>6&3].call(this,a)},Z,Z],ad=[function(a){Q(this,ac(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,mc);this.a-=this.f?9:3+(7==this.b?
|
||||
2:0)},function(a){V(this,a,1,qc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,1,oc);this.a-=this.f?9:3+(7==this.b?2:0)}],bd=[function(a){V(this,a,0,sc);this.a-=this.f?11:6},function(a){V(this,a,N(this)?1:0,cc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,N(this)?1:0,yc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=T(this,a);Q(this,a<<8);this.a-=this.l?4:3+(7==this.s?2:0)}],cd=[function(a){V(this,a,0,wc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,
|
||||
a,0,uc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,gc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,a,0,ec);this.a-=this.f?9:3+(7==this.b?2:0)}],dd=[Z,function(a){a=Yb(this,a,65536);Tb(this,a);P(this,a);this.a-=11},function(a){var b=Vb(this),c=this.a;Zb(this,a,65536,b);P(this,b);this.a=c-Jc[this.f]},Z];
|
||||
function ed(a){v.call(this,"ROM",a,ed);this.b=null;this.m=a.addr;this.f=a.size;this.s=a.writable;this.g=a.alias;this.i=a.file;this.u=ca(this.i);if(this.i){a=this.i;var b=da(this.u);"json"!=b&&"hex"!=b&&(a=fa()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){fd(c,a,b,e)})}}y(ed);ed.prototype.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;gd(this)};ed.prototype.ya=function(){this.l&&(this.L&&this.L.a(this.id,this.m,this.f,this.l),delete this.l);return!0};
|
||||
ed.prototype.xa=function(){return!0};
|
||||
function fd(a,b,c,d){if(d)a.N("Unable to load system ROM (error "+d+": "+b+")");else{Ea(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.l=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.N("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);gd(a)}}
|
||||
function gd(a){if(!Ga(a))if(!a.i)E(a);else if(a.b&&a.D){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.N(b)}else{b=a.m;if(Pa(a.D,b,a.f,a.s?1:rb)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.l)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.D,g=e.f,h=[],k=e.m>>>f.f;0<g&&
|
||||
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.D;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ed(d);B(d,c)}});function hd(a){v.call(this,"RAM",a,hd);this.g=a.addr;this.f=a.size;this.b=!1}y(hd);l=hd.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;E(this)};l.ya=function(a,b){b||this.reset();return!0};l.xa=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.b&&this.f&&Pa(this.D,this.g,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hd(d);B(d,c)}});function id(a){v.call(this,"Keyboard",a,id);E(this)}y(id);id.prototype.da=function(){return!1};id.prototype.La=function(a,b,c,d){this.H=a;this.a=c;this.L=d;this.Da=null};
|
||||
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new id(d);B(d,c)}});
|
||||
function jd(a,b,c){v.call(this,"Computer",a,jd);this.h.O=!1;kd(this,b);this.G=Cb(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.b=ld;this.u=null;this.m=this.S=!1;this.url=Cb(this,"url")||"";(Math.random()+.1).toString(36);this.f=md(this);if(this.a=Fa("CPU",this.id)){this.L=Fa("Debugger",this.id);this.D=new F({id:this.Nb+".bus",busWidth:this.Z},this.a,this.L);var d,f=z(this.id);if((this.i=Fa("Panel",this.id))&&this.i.Ab)for(b=0;b<f.length;b++)d=f[b],d.N=this.i.N,d.M=this.i.M,d.Ab=
|
||||
this.i.Ab;this.M("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.M("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.D,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Cb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=ld),this.b&&(this.w=
|
||||
new M(this,"1.30.0"),nd(this.w)?b=null:delete this.w);!b&&this.b&&(b=od(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.m=!1,g.N("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.u=b,g.S=!0);E(g)})}else E(this);this.C.power||(this.G=!0);!c&&this.G&&pd(this,this.$a)}else r("Unable to find CPU component")}y(jd);var ld=0;
|
||||
function kd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.T=b}function Cb(a,b,c){var d=b.toLowerCase(),d=ya[b]||ya[d];void 0===d&&a.T&&(d=a.T[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function pd(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Ga(e)){Ga(e,function(){pd(a,b,c)});return}}b.call(a,c)}
|
||||
function qd(a,b){var c=new M(a,"1.30.0","validate");if(nd(c)&&rd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.N("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=jd.prototype;
|
||||
l.$a=function(a){void 0===a&&(a=this.b||(this.u?1:ld));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.w||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>ld){if(nd(d,this.u)){this.l=new M(this,"1.30.0","failsafe");nd(this.l)&&(sd(this,d),a=2,td(this.l));this.l.set("timestamp",ja());ud(this.l);var f=this.b&&!this.m;if(1==a||ka("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=rd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?nd(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.N("Error: "+g),"unable to verify user"==g&&(oa("user",""),this.f=null)):this.M(e+": "+g),td(d),nd(d)?(c=rd(d),f=!0):c=!1))}f&&qd(this,c?d:null)}else 2==a&&d.clear()}else qd(this);delete this.u;delete this.w}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=vd(this,g,d,b,c));b=[d,a,c];-1!=a?pd(this,this.Kb,b):this.Kb(b)}};
|
||||
function vd(a,b,c,d,f){if(!b.h.O){b.h.O=!0;if(b.ya){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ya(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.S?(c.clear(),a.b=ld,window&&window.location.reload()):a.I=!0,b.ya(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.h.O=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.a&&(vd(this,this.a,b,c,a),this.a.Xa());this.I&&(sd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
|
||||
function sd(a,b){if(ka("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function wd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ja();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.xa&&(c&&Ib(a.a),d=a.a.xa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.O=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.O&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.h.O=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&xd(a,a.f,e.toString()),ud(g)&&ud(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.O=!1,b=a.C.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.D&&this.D.reset&&this.D.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
l.Ta=function(a){if(this.Lb&&(a||!this.h.aa||this.h.Jb)){for(a=0;a<this.c.length;a++)Gb(this,"R"+a,this.c[a]);a=bb(this);Gb(this,"PS",a);Gb(this,"NF",a&8?1:0,1);Gb(this,"ZF",a&4?1:0,1);Gb(this,"VF",a&2?1:0,1);Gb(this,"CF",a&1?1:0,1)}if(a=this.C.speed)a.textContent=this.h.aa&&this.ga?this.ga.toFixed(2)+"Mhz":"Stopped"};function N(a){return a.m&65536?1:0}l.ua=function(){return this.u&32768?8:0};function Pb(a){var b=O(a,a.c[7]);a.c[7]=a.c[7]+2&65535;return b}
|
||||
function I(a,b,c,d,f){for(var e=a.w.length;0<e--;)if(a.w[e].Bc===d){0<e&&(a.w[e-1].sa+=a.w[e].sa);a.w.splice(e,1);break}if(0<=b){for(e=a.w.length;0<e--;){if(a.w[e].sa>b){a.w[e].sa-=b;break}b-=a.w[e].sa}a.w.splice(e+1,0,{delay:b,priority:c<<5&224,vector:d,callback:f})}a.j|=2}function bb(a){return a.A=a.A&63728|a.ua()|(a.i&65535?0:4)|(a.g&32768?2:0)|N(a)}
|
||||
function cb(a,b){a.u=b<<12;a.i=~b&4;a.g=b<<14;a.m=b<<16;if((b^a.A)&2048)for(var c=a.Na.length;0<=--c;){var d=a.c[c];a.c[c]=a.Na[c];a.Na[c]=d}a.G=b>>14&3;c=a.A>>14&3;a.G!=c&&(a.ea[c]=a.c[6],a.c[6]=a.ea[a.G]);a.j|=2;a.A=b}function P(a,b){a.j&128||(a.u=a.i=b,a.g=0)}function Q(a,b,c){a.j&128||(a.u=a.i=a.m=b,a.g=c||0)}function Qb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^b)&(d^b))}function R(a,b){a.j&128||(a.u=a.i=a.m=b,a.g=a.u^a.m>>1)}function Rb(a,b,c,d){a.j&128||(a.u=a.i=a.m=b,a.g=(c^d)&(d^b))}
|
||||
function K(a,b){var c=!1;0>a.oa?a.oa=bb(a):a.G||(b=4,c=!0);a.I&57344||(a.za=63222,a.sb=b);a.G=0;var d=O(a,b|65536),f=O(a,b+2&65535|65536);cb(a,f&-12289|a.oa>>2&12288);c&&(a.o|=4,a.c[6]=4);Sb(a,a.oa);Sb(a,a.c[7]);a.c[7]=d&65535;a.j&=-113;a.oa=-1;throw b;}function Tb(a){var b=Ub(a),c=Ub(a)&-1793;a.A&49152&&(c=c&-225|a.A&63712);a.c[7]=b&65535;cb(a,c);a.j&=-17}
|
||||
function jb(a,b){var c=b>>13&31;31>c?a.Ma&32&&(b=a.fb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)")):b|=4186112;return b}
|
||||
function Vb(a,b,c){var d,f,e,g=0;if(c&a.pb){d=b>>13&a.qb[a.G];f=a.O[a.G][d];e=(a.O[a.G][d+16]<<6)+(b&8191)&4194303;a.Ma&16?3932160<=e&&4186112>e&&(e=jb(a,e&262143)):(e&=262143,253952<=e&&(e|=4186112));3932160>e&&(3915776<=e&&(a.o|=32,K(a,4)),e&1&&!(c&1)&&(a.o|=64,K(a,4)));switch(f&7){case 1:g=4096;case 2:f|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:f|=c&4?192:128;break;default:g=32768}32512!==(f&32520)&&(f&8?f&32512&&(b&8128)<(f>>2&8128)&&(g|=16384):(b&8128)>(f>>2&8128)&&(g|=
|
||||
16384));a.O[a.G][d]=f;if(4194170!==e||a.G)a.gb=a.G,a.hb=d;g&&(g&57344&&(0<=a.oa&&(g|=128),a.I&57344||(a.I=a.I|g|a.gb<<5|a.hb<<1),K(a,168)),a.I&61440||!(4191360>e||4194239<e)||(a.I|=4096,a.I&512&&(a.j|=32)))}else e=b&65535,57344<=e?e|=4186112:e&1&&!(c&1)&&(a.o|=64,K(a,4));return e}function kb(a,b){a=a.D;var c=b&a.i,d=(b&a.l)>>>a.f;return c!=a.i?a.b[d].oc(c,b):a.b[d++].ab(c,b)|a.b[d&a.H].ab(0,b+1)<<8}function O(a,b){return kb(a,Vb(a,b,2))}
|
||||
function Ub(a){var b=O(a,a.c[6]|65536);a.c[6]=a.c[6]+2&65535;return b}function Sb(a,b){var c=a.c[6]-2&65535;a.c[6]=c;a.I&57344||(a.za=a.za<<8|246);!a.G&&c<=a.Aa&&4<c&&(c<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=4));c=Vb(a,c|65536,4);Ta(a.D,c,b&65535)}
|
||||
function Wb(a,b,c){var d,f,e=c&8?0:a.Ib,g=b>>3&7;b&=7;c&4?(a.f=g,a.b=b):(a.l=g,a.s=b);switch(g){case 0:return K(a,4),0;case 1:return 6===b&&!a.G&&c&4&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32||65534<=a.c[6]?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64)),a.a-=3,7===b?a.c[b]:a.c[b]|e;case 2:f=2;d=a.c[b];7!==b&&(d|=e,6>b&&c&1&&(f=1));a.a-=3;break;case 3:f=2;d=a.c[b];7!==b&&(d|=e);d=O(a,d);d|=e;a.a-=7;break;case 4:f=-2;6>b&&c&1&&(f=-1);d=a.c[b]+f&65535;7!==b&&(d|=e);a.a-=4;break;case 5:f=-2;d=a.c[b]-
|
||||
2&65535;7!==b&&(d|=e);d=O(a,d)|e;a.a-=8;break;case 6:return d=Pb(a),d=d+a.c[b]&65535|e,a.a-=6,d;case 7:return d=Pb(a),d=d+a.c[b]&65535,d=O(a,d|65536)|e,a.a-=10,d}a.c[b]=a.c[b]+f&65535;!e||a.I&57344||(a.za=a.za<<8|f<<3&248|b);6==b&&!a.G&&c&4&&0>=f&&(a.c[6]<=a.Aa||65534<=a.c[6])&&(a.c[6]<=a.Aa-32?(a.o|=4,a.c[6]=4,K(a,4)):(a.o|=8,a.j|=64));return d}l.dc=function(a,b){return Wb(this,a,b)};l.ec=function(a,b){return Vb(this,Wb(this,a,b),b)};
|
||||
function Xb(a,b,c){b&56?(b=Wb(a,b,2),c&65536||61440!==(a.A&61440)&&(b&=65535),a.G=a.A>>12&3,c=O(a,b|c&65536),a.G=a.A>>14&3):(a.l=0,c=a.s=b&7,c=6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]:a.ea[a.A>>12&3]);return c}function Yb(a,b,c,d){a.I&57344||(a.za=22);b&56?(b=Wb(a,b,4),c&65536||(b&=65535),a.G=a.A>>12&3,b=Vb(a,b|c&65536,4),a.G=a.A>>14&3,Ta(a.D,b,d&65535)):(a.f=0,c=a.b=b&7,6!=c||(a.A>>2&12288)===(a.A&12288)?a.c[c]=d:a.ea[a.A>>12&3]=d)}
|
||||
function S(a,b){b&56?a=kb(a,a.fa(b,2)):(a.l=0,a=a.c[a.s=b&7]);return a}function T(a,b){b&56?(b=a.fa(b,3),a=Sa(a.D,b)):(a.l=0,a=a.c[a.s=b&7]&255);return a}function U(a,b,c,d){b&56?(b=a.fa(b,6),c=d.call(a,c,kb(a,b)),Ta(a.D,b,c&65535)):(a.f=0,b=a.b=b&7,a.c[b]=d.call(a,c,a.c[b]))}function V(a,b,c,d){b&56?(b=a.vb=a.fa(b,7),c=d.call(a,c,Sa(a.D,b)),b&1&&a.a--,a=a.D,a.b[(b&a.l)>>>a.f].Ua(b&a.i,c&255,b)):(a.f=0,b=a.b=b&7,a.c[b]=a.c[b]&65280|d.call(a,c,a.c[b]))}
|
||||
function Zb(a,b,c){b&56?(b=a.fa(b,4),Ta(a.D,b,c&65535)):(a.f=0,a.c[a.b=b&7]=c&65535);return c}function $b(a,b,c,d){b&56?(d=a.fa(b,5),d&1&&a.a--,a=a.D,a.b[(d&a.l)>>>a.f].Ua(d&a.i,c&255,d)):(a.f=0,b=a.b=b&7,a.c[b]=c?d&1?c<<24>>24&65535:a.c[b]&-256|c&255:a.c[b]&-256);return c}function W(a,b,c){c&&(a.c[7]=a.c[7]+(b<<24>>23)&65535,a.a-=2);a.a-=3}
|
||||
l.Xb=function(a){this.h.complete=!0;this.h.ac=!1;this.h.Wb=!1;this.S=this.a=a;do{if(this.j&&(this.j&112&&(this.j&32?K(this,168):this.j&64?K(this,4):this.j&16&&K(this,12),this.j&=-113),this.j&7))if(this.j&2){this.j&=-3;a=null;for(var b=this.Eb&224,c=this.w.length;0<=--c;){if(0<this.w[c].sa){this.w[c].sa--;this.j|=2;break}if(this.w[c].Hb){if(!this.w[c].Hb()){this.w.splice(c,1);continue}this.w[c].Hb=null}this.w[c].jc>b&&(b=this.w[c].jc,a=this.w[c],this.w.splice(c,1))}b>(this.A&224)&&(this.j&4&&(this.c[7]=
|
||||
this.c[7]+2&65535,this.j&=-5),a?K(this,a.Bc):K(this,160))}else this.j&1&&this.j++;this.I&57344||(this.za=0,this.sb=this.c[7]);this.j=this.j&7|this.A&16;this.decode(Pb(this))}while(0<this.a);return this.h.complete?this.S-this.a:void 0===this.h.complete?0:-1};u(function(){for(var a=C(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Mb(d);B(d,c)}});function ac(a,b){var c=b+a;Qb(this,c,a,b);return c&65535}function bc(a,b){var c=b+a;Qb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function cc(a,b){a=b<<1;R(this,a);return a&65535}function dc(a,b){a=b<<1;R(this,a<<8);return a&255}function ec(a,b){a=b&32768|b>>1|b<<16;R(this,a);return a&65535}function fc(a,b){a=b&2048|b>>1|b<<8;R(this,a<<8);return a&255}function gc(a,b){a=b&~a;P(this,a);return a}function hc(a,b){a=b&~a;P(this,a<<8);return a}function ic(a,b){a|=b;P(this,a);return a}function jc(a,b){a|=b;P(this,a<<8);return a}function kc(a,b){a=~b|65536;Q(this,a);return a&65535}
|
||||
function lc(a,b){a=~b|256;Q(this,a<<8);return a&255}function mc(a,b){a=b-a;this.j&128||(this.u=this.i=a,this.g=b&(b^a));return a&65535}function nc(a,b){a=b-a;var c=a<<8;b<<=8;this.j&128||(this.u=this.i=c,this.g=b&(b^c));return a&255}function oc(a,b){a=b+a;this.j&128||(this.u=this.i=a,this.g=a&(b^a));return a&65535}function pc(a,b){a=b+a;var c=a<<8;this.j&128||(this.u=this.i=c,this.g=c&(b<<8^c));return a&255}function qc(a,b){a=-b;Q(this,a,a&b&32768);return a&65535}
|
||||
function rc(a,b){a=-b;Q(this,a<<8,(a&b&128)<<8);return a&255}function sc(a,b){a=b<<1|this.m>>16&1;R(this,a);return a&65535}function tc(a,b){a=b<<1|this.m>>16&1;R(this,a<<8);return a&255}function uc(a,b){a=(this.m&65536|b)>>1|b<<16;R(this,a);return a&65535}function vc(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;R(this,a<<8);return a&255}function wc(a,b){var c=b-a;Rb(this,c,a,b);return c&65535}function xc(a,b){var c=b-a;Rb(this,c<<8,a<<8,b<<8);return c&255}
|
||||
function yc(a,b){this.j&128||(this.u=this.i=b&65280,this.g=this.m=0);return(b<<8|b>>8)&65535}function zc(a,b){a^=b;P(this,a);return a&65535}function Ac(a){var b=S(this,a);a=a>>6&7;var c=this.c[a];c&32768&&(c|=4294901760);this.m=this.g=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.g=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.g=32768)}this.c[a]=c&65535;this.u=this.i=c;this.a-=(this.l?6:7)+b}
|
||||
function Bc(a){var b=S(this,a);a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.g=32768)):d=c;this.c[a]=d>>16&65535;this.c[a|1]=d&65535;this.u=d>>16;this.i=d>>16|d;this.a-=(this.l?6:7)+b}function X(a){a&1&&(this.m=0);a&2&&(this.g=0);a&4&&(this.i=1);a&8&&(this.u=0);this.a-=5}
|
||||
function Cc(a){var b=S(this,a);if(b){a=a>>6&7;var c=this.c[a]<<16|this.c[a|1];this.m=this.g=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.c[a]=d&65535,this.c[a|1]=c-d*b&65535,this.i=d>>16|d,this.u=d>>16):(this.g=32768,this.i=d>>15|d,this.u=c>>16,-1===b&&65534===this.c[a]&&(this.c[a]=this.c[a|1]=1));this.a-=53}else this.i=this.u=0,this.g=32768,this.m=65536,this.a-=7}var Dc=[0,7,7,10,7,11,9,13];function Ec(a){var b=this.a;a=Wb(this,a,8);this.c[7]=a&65535;this.a=b-Dc[this.l]}
|
||||
var Fc=[0,14,14,17,14,18,16,20];function Gc(a){var b=this.a,c=Wb(this,a,8);a=a>>6&7;Sb(this,this.c[a]);this.c[a]=this.c[7];this.c[7]=c&65535;this.a=b-Fc[this.l]}var Hc=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17],Ic=[7,13,13,17,14,18,17,21];function Jc(a){var b=S(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.c[a];c&32768&&(c|=-65536);b=~~(b*c);this.c[a]=b>>16&65535;this.c[a|1]=b&65535;this.j&128||(this.u=b>>16,this.i=this.u|b,this.g=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}
|
||||
function Kc(){this.a-=5}function Y(a){a&1&&(this.m=65536);a&2&&(this.g=32768);a&4&&(this.i=0);a&8&&(this.u=32768);this.a-=5}function Lc(a){var b=(a&448)>>6;if(this.c[b]=this.c[b]-1&65535)this.c[7]=this.c[7]-((a&63)<<1)&65535,this.a+=1;this.a-=6}function Mc(a){U(this,a,0,yc);this.a-=this.f?9:3+(7==this.b?2:0)}function Nc(a){U(this,a,S(this,(a&448)>>6),zc);this.a-=this.f?9:3+(7==this.b?2:0)}function Z(){K(this,8)}function Nb(a){Oc[a>>12].call(this,a)}
|
||||
var Oc=[function(a){Pc[a>>8&15].call(this,a)},function(a){var b=S(this,a>>6),c=this.a;P(this,Zb(this,a,b));this.a=c-Hc[(this.l?8:0)+this.f]+(7!=this.b||this.f?0:2)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);Rb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=S(this,a>>6),c=this.l,d=this.s;a=S(this,a);P(this,b&a);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){U(this,a,S(this,a>>6),gc);this.a-=this.f?9+(this.s&&
|
||||
6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),ic);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),ac);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){Qc[a>>8&15].call(this,a)},function(a){Rc[a>>8&15].call(this,a)},function(a){var b=T(this,a>>6);P(this,$b(this,a,b,1)<<8);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){var b=T(this,a>>6)<<8,
|
||||
c=this.l,d=this.s;a=T(this,a)<<8;Rb(this,b-a,a,b);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){var b=T(this,a>>6),c=this.l,d=this.s;a=T(this,a);P(this,(b&a)<<8);this.a-=this.l?4+(d&&6<=this.s?1:0):(c?4:3)+(7==this.s?2:0)},function(a){V(this,a,T(this,a>>6),hc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){V(this,a,T(this,a>>6),jc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},function(a){U(this,a,S(this,a>>6),
|
||||
wc);this.a-=this.f?9+(this.s&&6<=this.b?1:0):(this.l?5:3)+(7==this.b?2:0)},Z],Pc=[function(a){Sc[a>>4&15].call(this,a)},function(a){W(this,a,!0)},function(a){W(this,a,!!(this.i&65535))},function(a){W(this,a,this.i&65535?0:4)},function(a){W(this,a,!this.ua()==!(this.g&32768))},function(a){W(this,a,!this.ua()!=!(this.g&32768))},function(a){W(this,a,!!(this.i&65535)&&!this.ua()==!(this.g&32768))},function(a){W(this,a,(this.i&65535?0:4)||!this.ua()!=!(this.g&32768))},Gc,Gc,function(a){Tc[a>>6&3].call(this,
|
||||
a)},function(a){Uc[a>>6&3].call(this,a)},function(a){Vc[a>>6&3].call(this,a)},function(a){Wc[a>>6&3].call(this,a)},Z,Z],Tc=[function(a){Q(this,Zb(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,kc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,oc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,1,mc);this.a-=this.f?9:3+(7==this.b?2:0)}],Uc=[function(a){U(this,a,0,qc);this.a-=this.f?11:6},function(a){U(this,a,N(this)?1:0,ac);this.a-=this.f?9:3+(7==this.b?
|
||||
2:0)},function(a){U(this,a,N(this)?1:0,wc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=S(this,a);Q(this,a);this.a-=this.l?4:3+(7==this.s?2:0)}],Vc=[function(a){U(this,a,0,uc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,sc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ec);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){U(this,a,0,cc);this.a-=this.f?9:3+(7==this.b?2:0)}],Wc=[function(a){a=this.c[7]+((a&63)<<1)&65535;var b=O(this,a|65536);this.c[7]=this.c[5]&65535;
|
||||
this.c[6]=a+2&65535;this.c[5]=b;this.a-=8},function(a){a=Xb(this,a,0);Sb(this,a);P(this,a);this.a-=11},function(a){var b=Ub(this),c=this.a;Yb(this,a,0,b);P(this,b);this.a=c-Ic[this.f]},function(a){P(this,Zb(this,a,this.ua?65535:0));this.a-=this.f?9:3+(7==this.b?2:0)}],Sc=[function(a){Xc[a&15].call(this,a)},Z,Z,Z,Ec,Ec,Ec,Ec,function(a){if(a&8)K(this,8);else{var b=Ub(this);a&=7;this.c[7]=this.c[a]&65535;this.c[a]=b;this.a-=9}},function(a){a&8?(this.A&49152||(this.A=this.A&-2017|(a&7)<<5,this.j|=1),
|
||||
this.a-=5):K(this,8)},function(a){Yc[a&15].call(this,a)},function(a){Zc[a&15].call(this,a)},Mc,Mc,Mc,Mc],Xc=[function(){this.A&49152?(this.o|=128,K(this,4)):(this.S-=this.a,this.a=0);this.a-=7},function(){this.j|=4;this.c[7]=this.c[7]+-2&65535;this.a-=3},function(){Tb(this);this.j|=this.A&16;this.a-=13},function(){K(this,12);this.a-=5},function(){K(this,16);this.a-=25},function(){this.A&49152||(Ob(this),this.D.reset());this.a-=667},function(){Tb(this);this.a-=13},Z,Z,Z,Z,Z,Z,Z,Z,Z],Yc=[Kc,function(){this.m=
|
||||
0;this.a-=5},function(){this.g=0;this.a-=5},X,function(){this.i=1;this.a-=5},X,X,X,function(){this.u=0;this.a-=5},X,X,X,X,X,X,X],Zc=[Kc,function(){this.m=65536;this.a-=5},function(){this.g=32768;this.a-=5},Y,function(){this.i=0;this.a-=5},Y,Y,Y,function(){this.u=32768;this.a-=5},Y,Y,Y,Y,Y,Y,Y],Qc=[Jc,Jc,Cc,Cc,Ac,Ac,Bc,Bc,Nc,Nc,Z,Z,Z,Z,Lc,Lc],Rc=[function(a){W(this,a,!this.ua())},function(a){W(this,a,this.ua())},function(a){W(this,a,!N(this)&&!!(this.i&65535))},function(a){W(this,a,N(this)||(this.i&
|
||||
65535?0:4))},function(a){W(this,a,!(this.g&32768))},function(a){W(this,a,this.g&32768?2:0)},function(a){W(this,a,!N(this))},function(a){W(this,a,N(this))},function(){K(this,24);this.a-=25},function(){K(this,28);this.a-=5},function(a){$c[a>>6&3].call(this,a)},function(a){ad[a>>6&3].call(this,a)},function(a){bd[a>>6&3].call(this,a)},function(a){cd[a>>6&3].call(this,a)},Z,Z],$c=[function(a){Q(this,$b(this,a,0));this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,lc);this.a-=this.f?9:3+(7==this.b?
|
||||
2:0)},function(a){V(this,a,1,pc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,1,nc);this.a-=this.f?9:3+(7==this.b?2:0)}],ad=[function(a){V(this,a,0,rc);this.a-=this.f?11:6},function(a){V(this,a,N(this)?1:0,bc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,N(this)?1:0,xc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){a=T(this,a);Q(this,a<<8);this.a-=this.l?4:3+(7==this.s?2:0)}],bd=[function(a){V(this,a,0,vc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,
|
||||
a,0,tc);this.a-=this.f?9:3+(7==this.b?2:0)},function(a){V(this,a,0,fc);this.a-=this.f?9+(this.vb&1):3+(7==this.b?2:0)},function(a){V(this,a,0,dc);this.a-=this.f?9:3+(7==this.b?2:0)}],cd=[Z,function(a){a=Xb(this,a,65536);Sb(this,a);P(this,a);this.a-=11},function(a){var b=Ub(this),c=this.a;Yb(this,a,65536,b);P(this,b);this.a=c-Ic[this.f]},Z];
|
||||
function dd(a){v.call(this,"ROM",a,dd);this.b=null;this.m=a.addr;this.f=a.size;this.s=a.writable;this.g=a.alias;this.i=a.file;this.u=ba(this.i);if(this.i){a=this.i;var b=ca(this.u);"json"!=b&&"hex"!=b&&(a=ea()+"/api/v1/dump?file="+this.i+"&format=bytes&decimal=true");var c=this;p(a,null,!0,function(a,b,e){ed(c,a,b,e)})}}y(dd);dd.prototype.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;fd(this)};dd.prototype.ya=function(){this.l&&(this.L&&this.L.a(this.id,this.m,this.f,this.l),delete this.l);return!0};
|
||||
dd.prototype.xa=function(){return!0};
|
||||
function ed(a,b,c,d){if(d)a.M("Unable to load system ROM (error "+d+": "+b+")");else{Da(a.Nb,b,c);var f;if("["==c.charAt(0)||"{"==c.charAt(0))try{var e,g,h=eval("("+c+")");if(e=h.bytes)a.b=e;else if(e=h.words)for(a.b=Array(2*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255;else if(e=h.data)for(a.b=Array(4*e.length),g=f=0;f<e.length;f++)a.b[g++]=e[f]&255,a.b[g++]=e[f]>>8&255,a.b[g++]=e[f]>>16&255,a.b[g++]=e[f]>>24&255;else a.b=h;a.l=h.symbols;if(!a.b.length){r("Empty ROM: "+b);
|
||||
return}if(1==a.b.length){r(a.b[0]);return}}catch(k){a.M("ROM data error: "+k.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),f=0;f<b.length;f++)a.b[f]=aa(b[f]);fd(a)}}
|
||||
function fd(a){if(!Fa(a))if(!a.i)E(a);else if(a.b&&a.D){a.f||(a.f=a.b.length);if(a.b.length!=a.f){var b="ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.f,8,!0)+")";a.h.error=!0;a.M(b)}else{b=a.m;if(Oa(a.D,b,a.f,a.s?1:qb)){var c;for(c=0;c<a.b.length;c++){var d=a.D,f=b+c;d.b[(f&d.l)>>>d.f].Yb(f&d.i,a.b[c]&255,f)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.g?b.push(a.g):null!=a.g&&a.g.length&&(b=a.g);for(c=0;c<b.length;c++){for(var e=a,d=b[c],f=e.D,g=e.f,h=[],k=e.m>>>f.f;0<g&&
|
||||
k<f.b.length;)h.push(f.b[k++]),g-=f.g;f=e.D;e=e.f;g=0;for(d>>>=f.f;0<e&&d<f.b.length;){k=h[g++];if(!k)break;f.b[d++]=k;e-=f.g}}delete a.b}}E(a)}}u(function(){for(var a=C(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new dd(d);B(d,c)}});function gd(a){v.call(this,"RAM",a,gd);this.g=a.addr;this.f=a.size;this.b=!1}y(gd);l=gd.prototype;l.La=function(a,b,c,d){this.D=b;this.a=c;this.L=d;E(this)};l.ya=function(a,b){b||this.reset();return!0};l.xa=function(a){return a?this.save():!0};
|
||||
l.reset=function(){!this.b&&this.f&&Oa(this.D,this.g,this.f,1)&&(this.b=!0);this.b||r("No RAM allocated")};l.save=function(){return null};l.restore=function(){return!0};u(function(){for(var a=C(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new gd(d);B(d,c)}});function hd(a){v.call(this,"Keyboard",a,hd);E(this)}y(hd);hd.prototype.da=function(){return!1};hd.prototype.La=function(a,b,c,d){this.H=a;this.a=c;this.L=d;this.Da=null};
|
||||
u(function(){for(var a=C(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hd(d);B(d,c)}});
|
||||
function id(a,b,c){v.call(this,"Computer",a,id);this.h.N=!1;jd(this,b);this.G=Bb(this,"autoPower",a);this.g=0;this.Z=a.busWidth||a.buswidth;this.b=kd;this.u=null;this.m=this.R=!1;this.url=Bb(this,"url")||"";(Math.random()+.1).toString(36);this.f=ld(this);if(this.a=Ea("CPU",this.id)){this.L=Ea("Debugger",this.id);this.D=new F({id:this.Nb+".bus",busWidth:this.Z},this.a,this.L);var d,f=z(this.id);if((this.i=Ea("Panel",this.id))&&this.i.Ab)for(b=0;b<f.length;b++)d=f[b],d.M=this.i.M,d.V=this.i.V,d.Ab=
|
||||
this.i.Ab;this.V("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.V("Portions adapted from the PDP-11/70 Emulator v1.3 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<f.length;b++)d=f[b],d.La&&d.La(this,this.D,this.a,this.L);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var e;if(a=Bb(this,"state")||(e=!0,a.state))b=this.H=a,e||(this.m=!0,this.b=kd),this.b&&(this.w=
|
||||
new M(this,"1.30.0"),md(this.w)?b=null:delete this.w);!b&&this.b&&(b=nd(this))&&(this.m=!0);if(b){var g=this;p(b,null,!0,function(a,b,c){c?(g.s=null,g.m=!1,g.M("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):(g.u=b,g.R=!0);E(g)})}else E(this);this.C.power||(this.G=!0);!c&&this.G&&od(this,this.$a)}else r("Unable to find CPU component")}y(id);var kd=0;
|
||||
function jd(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}function Bb(a,b,c){var d=b.toLowerCase(),d=xa[b]||xa[d];void 0===d&&a.S&&(d=a.S[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function od(a,b,c){for(var d=z(a.id),f=0;f<=d.length;f++){var e=f<d.length?d[f]:a;if(!Fa(e)){Fa(e,function(){od(a,b,c)});return}}b.call(a,c)}
|
||||
function pd(a,b){var c=new M(a,"1.30.0","validate");if(md(c)&&qd(c)){var d=c.get("timestamp"),f=b?b.get("timestamp"):"unknown";d!=f&&(a.M("Machine state may be out-of-date\n("+d+" vs. "+f+")\nCheck your browser's local storage limits"),b||c.clear())}}l=id.prototype;
|
||||
l.$a=function(a){void 0===a&&(a=this.b||(this.u?1:kd));if(!this.g){this.g++;var b=!1,c=!1;this.I=!1;var d=this.w||new M(this,"1.30.0");if(-1==a)b=!0;else if(a>kd){if(md(d,this.u)){this.l=new M(this,"1.30.0","failsafe");md(this.l)&&(rd(this,d),a=2,sd(this.l));this.l.set("timestamp",ia());td(this.l);var f=this.b&&!this.m;if(1==a||ja("Click OK to restore the previous PDP11js machine state, or CANCEL to reset the machine.")){if(c=qd(d)){var e=d.get("code"),g=d.get("data");e&&("ok"==e?md(d,g):("error"==
|
||||
e&&"no machine state"!=g?(this.M("Error: "+g),"unable to verify user"==g&&(na("user",""),this.f=null)):this.V(e+": "+g),sd(d),md(d)?(c=qd(d),f=!0):c=!1))}f&&pd(this,c?d:null)}else 2==a&&d.clear()}else pd(this);delete this.u;delete this.w}f=z(this.id);for(e=0;e<f.length;e++)g=f[e],g!==this&&g!=this.a&&(c=ud(this,g,d,b,c));b=[d,a,c];-1!=a?od(this,this.Kb,b):this.Kb(b)}};
|
||||
function ud(a,b,c,d,f){if(!b.h.N){b.h.N=!0;if(b.ya){var e=null;f&&((e=c.get(b.id))||(e=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof e&&(e=null);!b.ya(e,d)&&e&&(r("Unable to restore state for "+b.type),a.H&&!a.R?(c.clear(),a.b=kd,window&&window.location.reload()):a.I=!0,b.ya(null),f=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return f}
|
||||
l.Kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.h.N=!0;var d=this.C.power;d&&(d.textContent="Shutdown");this.a&&(ud(this,this.a,b,c,a),this.a.Xa());this.I&&(rd(this,b),b.clear());!c&&this.l&&(this.l.clear(),delete this.l);this.g=0};
|
||||
function rd(a,b){if(ja("There may be a problem with your PDP11js machine.\n\nTo help us diagnose it, click OK to send this PDP11js machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDP11js",ver:"1.30.0"};d.url=a.url;d.user=c;d.type="bug";d.data=b;p("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||
function vd(a,b,c){var d,f="none";if(a.g)return null;a.g--;var e=new M(a,"1.30.0"),g=new M(a,"1.30.0","validate"),h=ia();g.set("timestamp",h);e.set("timestamp",h);e.set("version","1.30.0");e.set("url",window?window.location.href:null);e.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.xa&&(c&&Hb(a.a),d=a.a.xa(b,c),"object"===typeof d&&e.set(a.a.id,d),c&&(a.a.h.N=!1,!1===d&&(f=null)));for(var h=z(a.id),k=0;k<h.length;k++){var m=h[k];m.h.N&&(m.xa&&(d=m.xa(b,c),"object"===typeof d&&e.set(m.id,
|
||||
d)),c&&(m.h.N=!1,!1===d&&(f=null)))}f&&(c?(h=d=!1,b?(a.f&&wd(a,a.f,e.toString()),td(g)&&td(e)||(f=null,d=h=!0)):a.b&&(d=!0,h=3==a.b),d&&e.clear(h)):f=e.toString());c&&(a.h.N=!1,b=a.C.power)&&(b.textContent="Power");a.g=0;return f}l.reset=function(){this.D&&this.D.reset&&this.D.reset();for(var a=z(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.start&&f.start(a,b)}};
|
||||
l.stop=function(a,b){for(var c=z(this.id),d=0;d<c.length;d++){var f=c[d];"CPU"!=f.type&&f!==this&&f.stop&&f.stop(a,b)}};
|
||||
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.g||(d.h.O?wd(d,!1,!0):pd(d,d.$a))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.h.O&&!d.g)if(d.b&&!d.s){var a=ka("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");wd(d,a,!0);!a&&d.H?window&&window.location.reload():d.$a(ld)}else d.reset(),d.a&&d.a.Xa()},!0;case "save":if(ea())c.parentNode.removeChild(c);else return this.C[b]=
|
||||
c,c.onclick=function(){var a=md(d,!0);if(a){var b=!!(d.b&&!d.s||d.H),c=wd(d,b);b?xd(d,a,c):d.N("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function md(a,b){var c=a.f;c||((c=na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=yd(a,c))||a.N("The user ID is invalid.")):b&&a.N("Browser local storage is not available"));return c}
|
||||
function yd(a,b){a.f=null;b=p(fa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(oa("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function od(a){var b=null;a.f&&(b=fa()+"/api/v1/user?req=load&user="+a.f+"&state="+zd(a,"1.30.0"));return b}
|
||||
function xd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=zd(a,"1.30.0");d.data=c;b=p(fa()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.N("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.N(c),oa("user",""),a.f=null)}}
|
||||
l.Ta=function(a){this.a&&this.a.Ta(a);this.i&&this.i.Ta(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new jd(g,d,!0);B(g,e);g.G&&pd(g,g.$a)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.$&&!c.h.O&&c.$a(-1)}});
|
||||
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Fa("Computer",c.id))&&c.h.O&&wd(c,!(!c.b||c.s),!0)}});function M(a,b,c){this.id=a.id;this.key=zd(a,b,c);this.L=a.L;td(this,a.fc)}function zd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){td(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||
1);c=0}}};function td(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function ud(a){var b=!0;if(ma()){var c=JSON.stringify(a[a.id]);oa(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function rd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function nd(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ma()&&(b=na(a.key))?(a[a.id]=b,a.a=!0):!1}var Ad=0;
|
||||
function Bd(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Cd(h,a,b,c,d,f,e)})}
|
||||
function Cd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Ea(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Dd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function Dd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Dd(a,b,c)}})}else c(a,null)}
|
||||
function Ed(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function e(a){f("Error: "+a);k&&(--Ad||va(!0));k=!1}var g,h,k=!0;Ad++;Da[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));q.appendChild(w)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Bd(c,null,null,!1,f,function(d,k){k?(Ea(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--Ad||va(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--Ad||va(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Bd(b,a,d,!0,f,m):Cd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){va(!1);return Ed(a,b,c,d)};window.enableEvents=va;window.sendEvent=wa;})();
|
||||
l.da=function(a,b,c){var d=this;switch(b){case "power":return this.C[b]=c,c.onclick=function(){d.g||(d.h.N?vd(d,!1,!0):od(d,d.$a))},!0;case "reset":return this.C[b]=c,c.onclick=function(){if(d.h.N&&!d.g)if(d.b&&!d.s){var a=ja("Click OK to save changes to this PDP11js machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vd(d,a,!0);!a&&d.H?window&&window.location.reload():d.$a(kd)}else d.reset(),d.a&&d.a.Xa()},!0;case "save":if(da())c.parentNode.removeChild(c);else return this.C[b]=
|
||||
c,c.onclick=function(){var a=ld(d,!0);if(a){var b=!!(d.b&&!d.s||d.H),c=vd(d,b);b?wd(d,a,c):d.M("Resume disabled, machine state not saved")}},!0}return!1};
|
||||
function ld(a,b){var c=a.f;c||((c=ma("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=xd(a,c))||a.M("The user ID is invalid.")):b&&a.M("Browser local storage is not available"));return c}
|
||||
function xd(a,b){a.f=null;b=p(ea()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(na("user",b.data),a.f=b.data)}catch(d){r(d.message+" ("+c+")")}return a.f}function nd(a){var b=null;a.f&&(b=ea()+"/api/v1/user?req=load&user="+a.f+"&state="+yd(a,"1.30.0"));return b}
|
||||
function wd(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=yd(a,"1.30.0");d.data=c;b=p(ea()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var f=d.indexOf("\n");0<f&&(d=d.substr(0,f));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.M("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.M(c),na("user",""),a.f=null)}}
|
||||
l.Ta=function(a){this.a&&this.a.Ta(a);this.i&&this.i.Ta(a)};u(function(){for(var a=C(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=C(c,"pdp11","computer"),f=0;f<c.length;f++){var e=c[f],g=A(e),g=new id(g,d,!0);B(g,e);g.G&&od(g,g.$a)}});t.show.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.$&&!c.h.N&&c.$a(-1)}});
|
||||
t.exit.push(function(){for(var a=C(document,"pdp11","computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=Ea("Computer",c.id))&&c.h.N&&vd(c,!(!c.b||c.s),!0)}});function M(a,b,c){this.id=a.id;this.key=yd(a,b,c);this.L=a.L;sd(this,a.fc)}function yd(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||
M.prototype={constructor:M,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){sd(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(f){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(f){}b.splice(c,
|
||||
1);c=0}}};function sd(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function td(a){var b=!0;if(la()){var c=JSON.stringify(a[a.id]);na(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function qd(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){r(c.message||c),b=!1}return b}function md(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:la()&&(b=ma(a.key))?(a[a.id]=b,a.a=!0):!1}var zd=0;
|
||||
function Ad(a,b,c,d,f,e){f("Loading "+a+"...");p(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),e(h,null)):Bd(h,a,b,c,d,f,e)})}
|
||||
function Bd(a,b,c,d,f,e,g){function h(a,e){if(e)g(e,null);else{c&&(Da(c,b,a),(e=b)&&0>e.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(e=window.location.pathname+e),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+e+'"}',"object"==typeof resources&&(e=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(e?' url="'+e+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDP11js$2"),
|
||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));e=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(e=new window.ActiveXObject("Microsoft.XMLDOM"),e.async=!1,e.loadXML(a)):e=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){e=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,e)}}a?f?Cd(a,e,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||
function Cd(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var f=d[2];b("Loading "+f+"...");p(f,null,!0,function(e,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(e=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(e);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+f);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||
"");a=a.replace(d[0],g);Cd(a,b,c)}})}else c(a,null)}
|
||||
function Dd(a,b,c,d){function f(a){if(void 0===h){var b=g&&C(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ga(a))}function e(a){f("Error: "+a);k&&(--zd||ua(!0));k=!1}var g,h,k=!0;zd++;Ca[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],w=document.createElement("style");w.type="text/css";w.styleSheet?w.styleSheet.cssText=m:w.appendChild(document.createTextNode(m));q.appendChild(w)}c||
|
||||
(c="/versions/pdp11/1.30.0/components.xsl");m=function(d,h){h?Ad(c,null,null,!1,f,function(d,k){k?(Da(a,c,d),f("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--zd||ua(!0)):e("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--zd||ua(!0)):e("invalid machine element: "+
|
||||
a):e("transformToFragment failed")):e("unable to transform XML: unsupported browser")):e(d)}):e(d)};"<"!=b.charAt(0)?Ad(b,a,d,!0,f,m):Bd(b,null,a,d,!1,f,m)}else e("missing machine element: "+a)}catch(D){e(D.message)}return k}window.embedPDP11=function(a,b,c,d){ua(!1);return Dd(a,b,c,d)};window.enableEvents=ua;window.sendEvent=va;})();
|
||||
|
|
|
|||
Loading…
Reference in a new issue