Fixed soft keyboard controls for both iOS and non-iOS browsers, and updated the TopView 1.01 page
This commit is contained in:
parent
299948fa1f
commit
d8804faba0
32 changed files with 1132 additions and 1067 deletions
|
|
@ -75,8 +75,8 @@ function Xb(a,b){return a.b[(b&a.C)>>>a.g].mb(b&a.j,b)}function Yb(a,b){var c=b&
|
|||
function bc(a){for(var b=0,c=[],d=0;d<a.L;d++){var e=a.b[d];if(e.Da||e.Dc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var p=e[g],t=g+1;t<e.length&&e[t]===p;)t++;k[h++]=t-g;k[h++]=p;g=t}k.length<e.length&&(e=k)}c[f]=e}}return c}function cc(a,b){if(void 0===b)return a.D=!a.D,a.D;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}
|
||||
function dc(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.A[k]?r("Input port "+q(k)+" already registered"):f.A[k]=[h,!1]}}function ec(a,b,c){for(var d=1,e=0,f=0;0<d;){var g=a.A[b],h=a.S[b]||1,k=1==h?255:2==h?65535:-1,p=k;void 0!==g?(g[0]&&(p=g[0](b,c),void 0===p?p=k:p&=k),a.K&&a.D!=g[1]&&fc(a.K,b,p)):a.K&&(Hb(a.K,a,b,null,c),a.D&&fc(a.K,b,p));e|=p<<f;f+=h<<3;b+=h;d-=h}return e}
|
||||
function gc(a,b){if(void 0===b)return a.G=!a.G,a.G;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]}function hc(a,b,c,d){void 0===d&&(d=0);if(c)for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?r("Output port "+q(k)+" already registered"):f.B[k]=[h,!1]}}
|
||||
function ic(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.B[b],h=a.T[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.K&&a.G!=g[1]&&jc(a.K,b,k)}else a.K&&(Hb(a.K,a,b,k,d),a.G&&jc(a.K,b,k));f+=h<<3;b+=h;e-=h}}function Tb(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ub=1,Wb=2,kc;if(Ib){var lc=new ArrayBuffer(2);(new DataView(lc)).setUint16(0,256,!0);kc=256===(new Uint16Array(lc))[0]}else kc=!1;var vc=kc;
|
||||
function A(a,b,c,d){this.id=wc+=2;this.b=null;this.J=a;this.nb=b;this.size=c||0;this.type=d||xc;this.w=d==yc;Pb(this);this.Da=this.Dc=!1;if(c)if(Ib)this.R=new ArrayBuffer(c),this.j=new DataView(this.R,0,c),this.g=new Uint8Array(this.R,0,c),this.u=new Uint16Array(this.R,0,c>>1),this.b=new Int32Array(this.R,0,c>>2),zc(this,vc?Ac:Bc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;zc(this,Cc)}else zc(this)}l=A.prototype;
|
||||
function ic(a,b,c,d){for(var e=1,f=0;0<e;){var g=a.B[b],h=a.T[b]||1,k=1==h?255:2==h?65535:-1,k=(c>>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,d);a.K&&a.G!=g[1]&&jc(a.K,b,k)}else a.K&&(Hb(a.K,a,b,k,d),a.G&&jc(a.K,b,k));f+=h<<3;b+=h;e-=h}}function Tb(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Ub=1,Wb=2,kc;if(Ib){var lc=new ArrayBuffer(2);(new DataView(lc)).setUint16(0,256,!0);kc=256===(new Uint16Array(lc))[0]}else kc=!1;var mc=kc;
|
||||
function A(a,b,c,d){this.id=wc+=2;this.b=null;this.J=a;this.nb=b;this.size=c||0;this.type=d||xc;this.w=d==yc;Pb(this);this.Da=this.Dc=!1;if(c)if(Ib)this.R=new ArrayBuffer(c),this.j=new DataView(this.R,0,c),this.g=new Uint8Array(this.R,0,c),this.u=new Uint16Array(this.R,0,c>>1),this.b=new Int32Array(this.R,0,c>>2),zc(this,mc?Ac:Bc);else{this.b=Array(c>>2);for(a=0;a<this.b.length;a++)this.b[a]=0;zc(this,Cc)}else zc(this)}l=A.prototype;
|
||||
l.save=function(){var a,b;if(Ib)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.j.getInt32(b<<2,!0);else a=this.b;return a};l.restore=function(a){if(a&&this.size==a.length<<2){var b;if(Ib)for(b=0;b<a.length;b++)this.j.setInt32(b<<2,a[b],!0);else this.b=a;return this.Da=!0}return!1};function zc(a,b){b||(b=Dc);Ec(a,b,void 0);Fc(a,b,void 0)}function Ec(a,b,c){c&&a.I||(a.Xa=b[0]||a.Gc,a.Hc=b[2]||a.Ic);if(c||void 0===c)a.mb=b[0]||a.Gc,a.Mb=b[2]||a.Ic}
|
||||
function Fc(a,b,c){c&&a.P||(a.Za=!a.w&&b[1]||a.pb,a.Kc=!a.w&&b[3]||a.Rb);if(c||void 0===c)a.ob=b[1]||a.pb,a.Sb=b[3]||a.Rb}l.Oa=function(a,b){b?this.P++||Fc(this,Gc,!1):this.I++||Ec(this,Gc,!1)};function Hc(a,b){b?--a.P||(a.Za=a.w?a.pb:a.ob,a.Kc=a.w?a.Rb:a.Sb):--a.I||(a.Xa=a.mb,a.Hc=a.Mb)}function Pb(a,b,c){a.K=b;a.I=a.P=0;c&&((a.I=c.I)&&Ec(a,Gc,!1),(a.P=c.P)&&Fc(a,Gc,!1))}l.Gc=function(){this.K&&Fb(this.K,129)&&this.K.message("attempt to read invalid block %"+n(this.J),!0);return 255};
|
||||
l.pb=function(a,b){this.K&&Fb(this.K,129)&&this.K.message("attempt to write "+q(b)+" to invalid block %"+n(this.J),!0)};l.Ic=function(a,b){return this.Xa(a++,b++)|this.Xa(a,b)<<8};l.Rb=function(a,b,c){this.Za(a++,b&255,c++);this.Za(a,b>>8,c)};l.je=function(a){return this.b[a>>2]>>>((a&3)<<3)&255};l.ne=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};l.xe=function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Da=!0};
|
||||
|
|
@ -255,15 +255,15 @@ t,void 0===f[2])a.i("begin assemble at "+bh(t.J)),a.N=!0,Qc(a.w);else{var v;a.i(
|
|||
a.i("\tbl\tlist all breakpoints"),a.i("\tbn [n]\tbreak after [n] instruction(s)");else{var T=x.charAt(1);if("l"==T){var ya;ya=0+Dh(a,a.j);ya+=Dh(a,a.M);(ya+=Dh(a,a.B))||a.i("no breakpoints")}else if("n"==T)a.X=fg(a,w),a.i("break after "+a.X+" instruction(s)");else if(void 0===w)a.i("missing breakpoint address");else{var L=rg();if("*"!=w&&(L=xg(a,w,!0),!L))break a;w=q(L.J);"c"==T?null==L.J?(sg(a),a.i("all breakpoints cleared")):Bh(a,a.j,L)||Bh(a,a.M,L)||Bh(a,a.B,L)||a.i("breakpoint missing: "+bh(L.J)):
|
||||
"i"==T?a.i("breakpoint "+(cc(a.I,L.J)?"enabled":"cleared")+": port "+w+" (input)"):"o"==T?a.i("breakpoint "+(gc(a.I,L.J)?"enabled":"cleared")+": port "+w+" (output)"):null!=L.J&&(ah(a,L,C),"p"==T?a.Oa(a.j,L):"r"==T?a.Oa(a.M,L):"w"==T?a.Oa(a.B,L):a.i("unknown breakpoint command: "+T))}}}break;case "c":var za=a.R;za.B&&(za.B.value="");break;case "d":a:{var sa,Aa=f[0],ta=f[1],Ba=f[2],Ki=f[3];if("?"==ta){var Qb="";for(sa in Kb)a.ka[sa]&&(Qb&&(Qb+=","),Qb+=sa);Qb+=",state,symbols";a.i("dump memory commands:");
|
||||
a.i("\tdb [a] [#] dump # bytes at address a");a.i("\tdw [a] [#] dump # words at address a");a.i("\tdd [a] [#] dump # dwords at address a");a.i("\tdh [#] [#] dump # instructions from history");Qb.length&&a.i("dump extension commands:\n\t"+Qb)}else if("state"==ta){var re=gi(a.R,!0);if("console"==Ba)console.log(re);else{var zg=a.R;zg.B&&(zg.B.value="");re&&a.i(re)}}else if("symbols"==ta)for(var se=0;se<a.C.length;se++){var te=a.C[se],Rb;for(Rb in te.ra)if("."!=Rb.charAt(0)){var Ag=te.ra[Rb].o;
|
||||
if(void 0!==Ag){var Bg=te.ra[Rb].l;Bg&&(Rb=Bg);a.i(bh(Ag)+" "+Rb)}}}else{if("d"==Aa){for(sa in Kb)if(f[1]==sa){var Cg=a.ka[sa];Cg?(f.shift(),f.shift(),Cg(f)):a.i("no dump registered for "+ta);break a}ta||(Aa=a.Ca||"db")}else a.Ca=Aa;if("dh"==Aa){var Dg=ta,Eg=Ba,Fg="",Gg=0,Oa=a.W,bb=a.H;if(bb.length){var Da=+Dg||a.wa,mc=+Eg||10;isNaN(Da)?Da=mc:Fg="more ";Da>bb.length&&(a.i("note: only "+bb.length+" available"),Da=bb.length);Oa-=Da;0>Oa&&(null==bb[bb.length-1].J?(Da=Oa+Da,Oa=0):Oa+=bb.length);var ue=
|
||||
[];"call"==Eg&&(mc=1E5,ue=["CALL"]);for(void 0!==Dg&&a.i(Da+" instructions earlier:");0<mc&&Oa!=a.W;){var Hg=bb[Oa++];if(null==Hg.J)break;var nc=rg(Hg.J),Li=Da--,Ig=Fh(a,nc,"history",Li);(!ue.length||0<=Ig.indexOf(ue[0]))&&a.i(Ig);nc.Ib&&(Oa+=nc.Ib,mc-=nc.Ib,Da-=nc.Ib);Oa>=bb.length&&(Oa=0);a.wa=Da;Gg++;mc--}}Gg||(a.i("no "+Fg+"history available"),a.wa=void 0)}else{var dd=xg(a,ta);if(dd){var ed=0;Ba&&("l"==Ba.charAt(0)&&(Ba=Ba.substr(1)||Ki),ed=fg(a,Ba)>>>0,65536<ed&&(ed=65536));for(var oc="",fd=
|
||||
"dd"==Aa?4:"dw"==Aa?2:1,gd=fd*ed||128,Mi=gd+15>>4||1;Mi--&&0<gd;){var hd=0,ve=0,pc,we="",Jg="",ta=bh(dd.J);for(pc=16;0<pc&&0<gd;pc--){var id=a.Ga(dd,1),hd=hd|id<<(ve++<<3);ve==fd&&(we+=n(hd,2*fd),we+=1==fd?9==pc?"-":" ":" ",hd=ve=0);Jg+=32<=id&&128>id?String.fromCharCode(id):".";gd--}oc&&(oc+="\n");oc+=ta+" "+we+(pc?"":" "+Jg)}oc&&a.i(oc);a.sa=dd}}}}break;case "e":if("else"==f[0])break;var jd=1,Kg=255,Lg=a.Ga,Mg=a.Xb;"ew"==f[0]&&(jd=2,Kg=65535,Lg=a.Eb,Mg=a.Qc);var Ng=jd<<1,Og=f[1];if(null==Og)a.i("edit memory commands:"),
|
||||
a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var kd=xg(a,Og);if(kd)for(var ld=2;ld<f.length;ld++){var qc=lg(a,f[ld]);if(void 0===qc){a.i("unrecognized value: "+f[ld]);break}qc&~Kg&&a.i("warning: "+n(qc)+" exceeds "+jd+"-byte value");var Ni=Lg.call(a,kd);a.i("changing "+bh(kd.J)+" from "+n(Ni,Ng,!0)+" to "+n(qc,Ng,!0));Mg.call(a,kd,qc,jd)}}break;case "f":ai(a,f[1]);break;case "g":a:{var Pg=f[1],Oi=b;if(void 0!==Pg){var xe=xg(a,Pg,!0);if(!xe)break a;
|
||||
ah(a,xe,Oi);a.Oa(a.j,xe,!0)}wh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ye;if(a.F.ma)ye="halting",a.ea();else{if(Db(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var rc=b.substr(2),rc=xa(rc);lg(a,rc)?(c||a.i("true: "+rc),ze=!0):(c||a.i("false: "+rc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var md;var Pi=f[1];if(a.w.N&512){var Ae=lg(a,Pi);null==Ae?md=!1:(a.i("requesting interrupt level "+Ae),Td(a.w,Ae),md=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),
|
||||
md=!1;md||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=fg(a,Be);if(void 0!==Ce){var Qi=ec(a.I,Ce);a.i(q(Ce)+": "+na(Qi))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Ri=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Qg=rg(),sc=rg(a.w.M);for(a.i("stack trace for "+bh(sc.J));10>De;){for(var wb=null,Si=256;65536>sc.J>>>0;){Qg.J=
|
||||
a.Eb(sc,2);if(null==sc.J||!Si--)break;for(var Ti=a,nd=Qg,Rg=null,tc=nd.J,Sg=tc,Ee=1;6>=Ee&&tc;Ee++){if(2<Ee){nd.J=tc;var od=Fh(Ti,nd);if(0<=od.indexOf("CALL")){var Tg=od.indexOf(" ");if(tc+(od.indexOf(" ",Tg+1)-Tg-1)/2==Sg){Rg=od;break}}}tc--}nd.J=Sg;if(wb=Rg)break}if(!wb||null==wb)break;var Ug=null;if("ks"==Ri){var Vg=wb.match(/[0-9A-F]+$/);Vg&&(Ug=ci(a,Vg[0]))}wb=wa(wb,50)+" ;"+(Ug||"stack="+bh(sc.J));a.i(wb);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&ci(a,f[1],!0);break;
|
||||
case "m":a:{var cb,db=null,ba=f[1];"?"==ba&&(ba=void 0);if(void 0!==ba){var ob=0;if("all"==ba)ob=1878917119,ba=null;else if("on"==ba)db=!0,ba=null;else if("off"==ba)db=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for(cb in Kb)if(ba==cb){ob=Kb[cb];db=!!(a.ha&ob);break}if(!ob){a.i("unknown message category: "+ba);break a}}if(ob)if("on"==f[2])a.ha|=ob,db=!0;else if("off"==f[2]&&(a.ha&=~ob,db=!1,1073741824==ob)){for(var Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Ui=0,uc="";
|
||||
for(cb in Kb)if(!ba||ba==cb){var Vi=!!(a.ha&Kb[cb]);if(null===db||db==Vi)uc&&(uc+=","),++Ui%10||(uc+="\n\t"),"key"==cb&&(cb="keys"),uc+=cb}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==db?db?"messages on: ":"messages off: ":"message categories:\n\t")+(uc||"none"));tg(a)}break;case "o":var Ge=f[1],Wi=f[2];if(Ge&&"?"!=Ge){var He=fg(a,Ge,"port #"),Ie=fg(a,Wi);void 0!==He&&void 0!==Ie&&(ic(a.I,He,Ie),a.i(q(He)+": "+na(Ie)))}else a.i("output commands:"),
|
||||
if(void 0!==Ag){var Bg=te.ra[Rb].l;Bg&&(Rb=Bg);a.i(bh(Ag)+" "+Rb)}}}else{if("d"==Aa){for(sa in Kb)if(f[1]==sa){var Cg=a.ka[sa];Cg?(f.shift(),f.shift(),Cg(f)):a.i("no dump registered for "+ta);break a}ta||(Aa=a.Ca||"db")}else a.Ca=Aa;if("dh"==Aa){var Dg=ta,Eg=Ba,Fg="",Gg=0,Oa=a.W,bb=a.H;if(bb.length){var Da=+Dg||a.wa,nc=+Eg||10;isNaN(Da)?Da=nc:Fg="more ";Da>bb.length&&(a.i("note: only "+bb.length+" available"),Da=bb.length);Oa-=Da;0>Oa&&(null==bb[bb.length-1].J?(Da=Oa+Da,Oa=0):Oa+=bb.length);var ue=
|
||||
[];"call"==Eg&&(nc=1E5,ue=["CALL"]);for(void 0!==Dg&&a.i(Da+" instructions earlier:");0<nc&&Oa!=a.W;){var Hg=bb[Oa++];if(null==Hg.J)break;var oc=rg(Hg.J),Li=Da--,Ig=Fh(a,oc,"history",Li);(!ue.length||0<=Ig.indexOf(ue[0]))&&a.i(Ig);oc.Ib&&(Oa+=oc.Ib,nc-=oc.Ib,Da-=oc.Ib);Oa>=bb.length&&(Oa=0);a.wa=Da;Gg++;nc--}}Gg||(a.i("no "+Fg+"history available"),a.wa=void 0)}else{var dd=xg(a,ta);if(dd){var ed=0;Ba&&("l"==Ba.charAt(0)&&(Ba=Ba.substr(1)||Ki),ed=fg(a,Ba)>>>0,65536<ed&&(ed=65536));for(var pc="",fd=
|
||||
"dd"==Aa?4:"dw"==Aa?2:1,gd=fd*ed||128,Mi=gd+15>>4||1;Mi--&&0<gd;){var hd=0,ve=0,qc,we="",Jg="",ta=bh(dd.J);for(qc=16;0<qc&&0<gd;qc--){var id=a.Ga(dd,1),hd=hd|id<<(ve++<<3);ve==fd&&(we+=n(hd,2*fd),we+=1==fd?9==qc?"-":" ":" ",hd=ve=0);Jg+=32<=id&&128>id?String.fromCharCode(id):".";gd--}pc&&(pc+="\n");pc+=ta+" "+we+(qc?"":" "+Jg)}pc&&a.i(pc);a.sa=dd}}}}break;case "e":if("else"==f[0])break;var jd=1,Kg=255,Lg=a.Ga,Mg=a.Xb;"ew"==f[0]&&(jd=2,Kg=65535,Lg=a.Eb,Mg=a.Qc);var Ng=jd<<1,Og=f[1];if(null==Og)a.i("edit memory commands:"),
|
||||
a.i("\teb [a] [...] edit bytes at address a"),a.i("\tew [a] [...] edit words at address a");else{var kd=xg(a,Og);if(kd)for(var ld=2;ld<f.length;ld++){var rc=lg(a,f[ld]);if(void 0===rc){a.i("unrecognized value: "+f[ld]);break}rc&~Kg&&a.i("warning: "+n(rc)+" exceeds "+jd+"-byte value");var Ni=Lg.call(a,kd);a.i("changing "+bh(kd.J)+" from "+n(Ni,Ng,!0)+" to "+n(rc,Ng,!0));Mg.call(a,kd,rc,jd)}}break;case "f":ai(a,f[1]);break;case "g":a:{var Pg=f[1],Oi=b;if(void 0!==Pg){var xe=xg(a,Pg,!0);if(!xe)break a;
|
||||
ah(a,xe,Oi);a.Oa(a.j,xe,!0)}wh(a,!0)||c||a.i("cpu busy or unavailable, run command ignored")}break;case "h":a:{var ye;if(a.F.ma)ye="halting",a.ea();else{if(Db(a,!0))break a;ye="already halted"}c||a.i(ye)}break;case "i":if("if"==f[0]){var ze;var sc=b.substr(2),sc=xa(sc);lg(a,sc)?(c||a.i("true: "+sc),ze=!0):(c||a.i("false: "+sc),ze=!1);ze||(d=!1);break}if("int"==f[0]){var md;var Pi=f[1];if(a.w.N&512){var Ae=lg(a,Pi);null==Ae?md=!1:(a.i("requesting interrupt level "+Ae),Td(a.w,Ae),md=!0)}else a.i("interrupts disabled (use rif=1 to enable)"),
|
||||
md=!1;md||(d=!1);break}var Be=f[1];if(Be&&"?"!=Be){var Ce=fg(a,Be);if(void 0!==Ce){var Qi=ec(a.I,Ce);a.i(q(Ce)+": "+na(Qi))}}else a.i("input commands:"),a.i("\ti [p]\tread port [p]"),a.i("warning: port accesses can affect hardware state");break;case "k":var Ri=f[0];if("?"==f[1])a.i("stack trace commands:"),a.i("\tk\tshow frame addresses"),a.i("\tks\tshow symbol information");else{var De=0,Qg=rg(),tc=rg(a.w.M);for(a.i("stack trace for "+bh(tc.J));10>De;){for(var wb=null,Si=256;65536>tc.J>>>0;){Qg.J=
|
||||
a.Eb(tc,2);if(null==tc.J||!Si--)break;for(var Ti=a,nd=Qg,Rg=null,uc=nd.J,Sg=uc,Ee=1;6>=Ee&&uc;Ee++){if(2<Ee){nd.J=uc;var od=Fh(Ti,nd);if(0<=od.indexOf("CALL")){var Tg=od.indexOf(" ");if(uc+(od.indexOf(" ",Tg+1)-Tg-1)/2==Sg){Rg=od;break}}}uc--}nd.J=Sg;if(wb=Rg)break}if(!wb||null==wb)break;var Ug=null;if("ks"==Ri){var Vg=wb.match(/[0-9A-F]+$/);Vg&&(Ug=ci(a,Vg[0]))}wb=wa(wb,50)+" ;"+(Ug||"stack="+bh(tc.J));a.i(wb);De++}De||a.i("no return addresses found")}break;case "l":"ln"==f[0]&&ci(a,f[1],!0);break;
|
||||
case "m":a:{var cb,db=null,ba=f[1];"?"==ba&&(ba=void 0);if(void 0!==ba){var ob=0;if("all"==ba)ob=1878917119,ba=null;else if("on"==ba)db=!0,ba=null;else if("off"==ba)db=!1,ba=null;else{"keys"==ba&&(ba="key");"kbd"==ba&&(ba="keyboard");for(cb in Kb)if(ba==cb){ob=Kb[cb];db=!!(a.ha&ob);break}if(!ob){a.i("unknown message category: "+ba);break a}}if(ob)if("on"==f[2])a.ha|=ob,db=!0;else if("off"==f[2]&&(a.ha&=~ob,db=!1,1073741824==ob)){for(var Fe=0;Fe<a.Z.length;Fe++)a.i(a.Z[Fe]);a.Z=[]}}var Ui=0,vc="";
|
||||
for(cb in Kb)if(!ba||ba==cb){var Vi=!!(a.ha&Kb[cb]);if(null===db||db==Vi)vc&&(vc+=","),++Ui%10||(vc+="\n\t"),"key"==cb&&(cb="keys"),vc+=cb}void 0===ba&&a.i("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.i((null!==db?db?"messages on: ":"messages off: ":"message categories:\n\t")+(vc||"none"));tg(a)}break;case "o":var Ge=f[1],Wi=f[2];if(Ge&&"?"!=Ge){var He=fg(a,Ge,"port #"),Ie=fg(a,Wi);void 0!==He&&void 0!==Ie&&(ic(a.I,He,Ie),a.i(q(He)+": "+na(Ie)))}else a.i("output commands:"),
|
||||
a.i("\to [p] [b]\twrite byte [b] to port [p]"),a.i("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){ei(a,b.substr(5));break}var Wg="pr"==f[0]?1:0,Xi=1+Wg;if(a.O)a.i("step in progress");else{var Je=rg(a.w.j);switch(a.Ga(Je)){case 205:a.O=Xi,Xg(Je,3)}a.O?(a.Oa(a.j,Je,!0),wh(a)||(a.R&&a.R.Ya(),a.O=0)):fi(a,Wg?"tr":"t")}break;case "r":if("reset"==b){a.R&&a.R.reset();break}yh(a,f);break;case "s":di(a,f);break;case "t":fi(a,f[0],f[1]);break;case "u":zh(a,f[1],f[2],8);
|
||||
break;case "v":if("var"==f[0]){bi(a,b.substr(3))||(d=!1);break}a.i("PC8080 version 1.36.0 ("+a.w.vb+",RELEASE"+(Ib?",TYPEDARRAYS":",LONGARRAYS")+")");a.i(Ja());break;case "?":if(f[1]){ei(a,b.substr(1));break}var Ke="commands:",Le;for(Le in hi)Ke+="\n"+wa(Le,9)+hi[Le];Ud(a)||(Ke+="\nnote: frequency/history disabled if no exec breakpoints");a.i(Ke);break;default:a.i("unknown command: "+b),d=!1}}}catch(Yg){a.i("debugger error: "+(Yg.stack||Yg.message)),d=!1}return d}
|
||||
function Pc(a,b,c){b=a.yb(b,c);for(var d in b)if(!Eh(a,b[+d]))return!1;return!0}
|
||||
|
|
@ -308,5 +308,5 @@ function ej(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=
|
|||
function fj(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ua(a))}function f(a){e("Error: "+a);k&&(--bj||$a(!0));k=!1}var g,h,k=!0;bj++;ib[a]={};try{if(g=document.getElementById(a)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=p:v.appendChild(document.createTextNode(p));t.appendChild(v)}c||
|
||||
(c="/versions/pc8080/1.36.0/components.xsl");p=function(d,h){h?cj(c,null,null,!1,e,function(d,k){k?(hb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--bj||$a(!0)):f("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),--bj||$a(!0)):f("invalid machine element: "+
|
||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?cj(b,a,d,!0,e,p):dj(b,null,a,d,!1,e,p)}else f("missing machine element: "+a)}catch(z){f(z.message)}return k}window.embedPC8080=function(a,b,c,d){$a(!1);return fj(a,b,c,d)};
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if("string"==typeof f&&!ub[c]){d=!0;e=ub;for(var g=c,h=f.length,k=[],p=[],t="",v=null,z=0;z<h;z++){var x=f[z];if('"'==x||"'"==x)v&&x!=v?t+=x:(v?v=null:v=x,t&&(p.push(t),t=""));else{if(!v){if("\r"==x||"\n"==x)x=";";if(" "==x||"\t"==x||";"==x){t&&(p.push(t),t="");";"==x&&p.length&&(k.push(p),p=[]);continue}}t+=x}}t&&p.push(t);p.length&&k.push(p);e[g]=k;tb(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(g=sb(d,c+".machine"))&&
|
||||
(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=$a;window.sendEvent=eb;})();//# sourceMappingURL=/versions/pc8080/1.36.0/pc8080-dbg.map
|
||||
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete ub[c],d=!0;else if("string"==typeof f&&!ub[c]){d=!0;e=ub;for(var g=c,h=f.length,k=[],p=[],t="",v=null,z=0;z<h;z++){var x=f[z];if('"'==x||"'"==x)v&&x!=v?t+=x:(v?v=null:v=x,t&&(p.push(t),t=""));else{if(!v){if("\r"==x||"\n"==x)x=";";if(" "==x||"\t"==x||";"==x){t&&(p.push(t),t="");";"==x&&p.length&&(k.push(p),p=[]);continue}}t+=x}}t&&p.push(t);p.length&&k.push(p);e[g]=k;tb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
|
||||
!0):!1}if(d&&(g=sb(d,c+".machine"))&&(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=$a;window.sendEvent=eb;})();//# sourceMappingURL=/versions/pc8080/1.36.0/pc8080-dbg.map
|
||||
|
|
|
|||
Loading…
Reference in a new issue