Fixed soft keyboard controls for both iOS and non-iOS browsers, and updated the TopView 1.01 page

This commit is contained in:
Jeff Parsons 2017-07-25 18:50:14 -07:00 • committed by Jeff Parsons
commit d8804faba0
32 changed files with 1132 additions and 1067 deletions

View file

@ -101,10 +101,10 @@ e.Pa=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.o;this.c=this
e.Oa=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.m;this.c=this.g-this.a[this.b]-(this.c&256?0:1);this.D=this.g^this.a[this.b];this.w=this.c;this.h=this.i=this.g=this.c&255;this.c^=256};e.xd=function(){this.b=(this.a[this.f++]|this.a[this.f++]<<8)+this.m;this.g=S(this,this.g,this.a[this.b])};e.sc=function(){this.j=(this.a[this.f++]|this.a[this.f++]<<8)+this.m;this.h=this.i=this.a[this.j]=this.a[this.j]+1&255};
e.Ud=function(){var a;a=this.a[this.f++];switch(a){case 0:this.F("HALT");O(this);break;case 1:a=this.f;for(var b="";a<this.a.length;){var c=this.a[a++];if(!c)break;b+=String.fromCharCode(c)}this.f=a;b=b.replace(/%A/g,v(this.g,2)).replace(/%X/g,v(this.m,2)).replace(/%Y/g,v(this.o,2));this.F(b);this.T=0;this.O-=this.H;this.H=0;break;default:this.f-=2,this.F("undefined opSim: "+v(a,2,!0)+" at "+v(this.f,4,!0)),O(this)}};
e.l=function(){var a=this.a[--this.f];this.F("undefined opcode: "+v(a,2,!0)+" at "+v(this.f,4,!0));O(this)};y(function(){for(var a=I(document,"c1pjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=J(c),d=new Ba(d);H(d,c)}});
function U(a){F.call(this,"C1PROM",a);this.b=this.a=null;this.c=a.size;if(this.f=a.image){a=this.f;var b=ha(this.f);"json"!=b&&"hex"!=b&&(a="http://"+(window?window.location.host:"www.pcjs.org")+"/api/v1/dump?file="+this.f+"&format=bytes");var c=this;w(a,function(a,b,g){Oa(c,a,b,g)})}}p(U,F);
U.prototype.Y=function(a,b,c,d){this.a=a;this.g=b;a=c-b+1;this.c||(this.c=a);a!=this.c?wa(this,"computer-specified ROM size ("+v(a,4,!0)+") does not match component-specified size ("+v(this.c,4,!0)+")"):(d&&(this.G=d,P(d,b,c,this,this.h)),Pa(this))};U.prototype.$=function(a){a&&!this.u.I&&(this.u.I=!0)};U.prototype.h=function(a,b){void 0!==b&&(a-=this.g,this.a[this.g+a]=this.b?this.b[a]:0)};
function T(a){F.call(this,"C1PROM",a);this.b=this.a=null;this.c=a.size;if(this.f=a.image){a=this.f;var b=ha(this.f);"json"!=b&&"hex"!=b&&(a="http://"+(window?window.location.host:"www.pcjs.org")+"/api/v1/dump?file="+this.f+"&format=bytes");var c=this;w(a,function(a,b,g){Oa(c,a,b,g)})}}p(T,F);
T.prototype.Y=function(a,b,c,d){this.a=a;this.g=b;a=c-b+1;this.c||(this.c=a);a!=this.c?wa(this,"computer-specified ROM size ("+v(a,4,!0)+") does not match component-specified size ("+v(this.c,4,!0)+")"):(d&&(this.G=d,P(d,b,c,this,this.h)),Pa(this))};T.prototype.$=function(a){a&&!this.u.I&&(this.u.I=!0)};T.prototype.h=function(a,b){void 0!==b&&(a-=this.g,this.a[this.g+a]=this.b?this.b[a]:0)};
function Oa(a,b,c,d){if(d)a.F('Error loading ROM "'+b+'" ('+d+")");else{if("["==c.charAt(0)||"{"==c.charAt(0))try{var f=eval("("+c+")"),g=f.bytes;g?a.b=g:a.b=f}catch(h){a.F('Error processing ROM "'+b+'": '+h.message);return}else for(b=c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.b=Array(b.length),c=0;c<b.length;c++)a.b[c]=parseInt(b[c],16);Pa(a)}}
function Pa(a){if(!xa(a))if(!a.f)a.R();else if(a.b&&a.a){var b=a.b.length;if(b!=a.c)wa(a,"ROM image size ("+v(b,4,!0)+") does not match component-specified size ("+v(a.c,4,!0)+")");else{for(var c=0;c<b;c++)a.a[a.g+c]=a.b[c];a.R()}}}y(function(){for(var a=I(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=J(c),d=new U(d);H(d,c)}});function Qa(a){F.call(this,"C1PRAM",a)}p(Qa,F);Qa.prototype.Y=function(a){this.a=a;this.R()};
function Pa(a){if(!xa(a))if(!a.f)a.R();else if(a.b&&a.a){var b=a.b.length;if(b!=a.c)wa(a,"ROM image size ("+v(b,4,!0)+") does not match component-specified size ("+v(a.c,4,!0)+")");else{for(var c=0;c<b;c++)a.a[a.g+c]=a.b[c];a.R()}}}y(function(){for(var a=I(document,"c1pjs","rom"),b=0;b<a.length;b++){var c=a[b],d=J(c),d=new T(d);H(d,c)}});function Qa(a){F.call(this,"C1PRAM",a)}p(Qa,F);Qa.prototype.Y=function(a){this.a=a;this.R()};
y(function(){for(var a=I(document,"c1pjs","ram"),b=0;b<a.length;b++){var c=a[b],d=J(c),d=new Qa(d);H(d,c)}});
function Ra(a){F.call(this,"C1PKeyboard",a);this.u.I=!1;this.ba=a.model;this.K=8;this.ma=10;this.la=13;this.M=27;this.ga=this.K;this.ka=this.ma;this.da=this.la;this.H=this.M;this.s=241;this.D=224;this.ea=3;this.fa=15;this.o=1;this.j={};this.j["break"]=this.D;this.j.esc=this.H;this.j["ctrl-c"]=this.ea;this.j["ctrl-o"]=this.fa;this.b=[];this.b[49]=30464;this.b[33]=30704;this.b[50]=30208;this.b[34]=30448;this.b[51]=29952;this.b[35]=30192;this.b[52]=29696;this.b[36]=29936;this.b[53]=29440;this.b[37]=
29680;this.b[54]=29184;this.b[38]=29424;this.b[55]=28928;this.b[39]=29168;this.b[56]=26368;this.b[40]=26608;this.b[57]=26112;this.b[41]=26352;this.b[48]=25856;this.b[58]=25600;this.b[42]=25840;this.b[45]=25344;this.b[61]=25584;this.b[46]=22272;this.b[62]=22512;this.b[108]=22016;this.b[76]=22256;this.b[92]=22256;this.b[111]=21760;this.b[79]=22E3;this.b[this.ga]=22E3;this.b[this.ka]=21504;this.b[this.da]=21248;this.b[119]=18176;this.b[87]=18416;this.b[101]=17920;this.b[69]=18160;this.b[114]=17664;this.b[82]=
@ -139,7 +139,7 @@ update:function(a){return function(b){void 0!==b&&(this.C=b&-193);X(a,3,this);a.
b);X(a,17,this)}}(a)};a.B={C:0,read:function(){},update:function(){return function(){}}(a)}}e.L=function(a,b,c){switch(b){case "listDisk":return this.A[b]=c,!0;case "loadDisk":return this.A[b]=c,c.onclick=function(a){return function(){if(a.A.listDisk){var b=a.A.listDisk.value,c=b;".json"!=b.substr(b.length-5)&&(c="http://"+window.location.host+"/api/v1/dump?disk="+b);a.F("loading "+ga(b)+"...");w(c,function(b,c,d){nb(a,b,c,d)})}}}(this),!0}return!1};
e.Y=function(a,b,c,d){this.a=a;this.m=b;if(this.G=d)Ga(d,b,c,this,this.X),P(d,b,c,this,this.Xa);this.R()};e.$=function(a){a&&!this.u.I&&(this.u.I=!0)};
function nb(a,b,c,d){if(d)a.F("disk load error ("+d+")");else{d=[];a.F("mounting "+b+"...");try{if(d=eval("("+c+")"),d.length)if(d[0].length){var f=d[0];if(void 0===f[0].trackNum)a.F("data error: "+f[0]);else if(a.c[0]){for(c=0;c<f.length;c++){var g,h=f[c],k=h.sectors;if(void 0===(g=h.trackNum)||void 0===k)throw Error("track "+c+" missing data");g!=c&&C("track "+g+" out of order (expected "+c+")");d=[];var l,n,m;if(g){ob(d,h,"trackSig");pb(d,h);Y(d,h,"trackType");for(var q=0;q<k.length;q++){l=k[q];
n=l.sectorData;Y(d,l,"sectorSig");Y(d,l,"sectorNum");Y(d,l,"sectorPages");for(m=0;m<n.length;m++)d.push(n[m]);ob(d,l,"sectorEndSig")}}else for(l=k[0],n=l.sectorData,Y(d,h,"trackLoad",2),Y(d,l,"sectorPages"),m=0;m<n.length;m++)d.push(n[m]);f[g].Va=d}a.c[0].qa=f;a.F("mount of "+b+" complete")}else a.F("no available drives")}else a.F("no tracks: "+b);else a.F("no data: "+b)}catch(T){a.F("disk data error: "+T.message)}}}
n=l.sectorData;Y(d,l,"sectorSig");Y(d,l,"sectorNum");Y(d,l,"sectorPages");for(m=0;m<n.length;m++)d.push(n[m]);ob(d,l,"sectorEndSig")}}else for(l=k[0],n=l.sectorData,Y(d,h,"trackLoad",2),Y(d,l,"sectorPages"),m=0;m<n.length;m++)d.push(n[m]);f[g].Va=d}a.c[0].qa=f;a.F("mount of "+b+" complete")}else a.F("no available drives")}else a.F("no tracks: "+b);else a.F("no data: "+b)}catch(U){a.F("disk data error: "+U.message)}}}
function pb(a,b){b=b.trackNum;if(void 0===b)throw Error("missing bcd value: trackNum");a.push(Math.floor(b/10)<<4|b%10)}function Y(a,b,c,d){b=b[c];if(void 0===b)throw Error("missing binary value: "+c);2==d&&a.push(b>>8&255);a.push(b&255)}function ob(a,b,c){b=b[c];if(void 0===b)throw Error("missing signature: "+c);for(c=0;c<b.length;c++)a.push(b.charCodeAt(c))}
function qb(a,b,c){b&=63;16>b?b&=3:32>b&&(b&=17);switch(b){case 0:a=a.i.C&4?a.f:a.s;break;case 1:a=a.i;break;case 2:a=a.j.C&4?a.h:a.v;break;case 3:a=a.j;break;case 16:a=c?a.w:a.g;break;case 17:a=a.o;break;default:a=a.B}return a}e.X=function(a,b){void 0!==b&&qb(this,a-this.m,!1).read()};e.Xa=function(a,b){void 0!==b&&(b=this.G.X(a),qb(this,a-this.m,!0).update(b))};function kb(a,b,c){var d=-1;void 0!==b&&void 0!==c&&(d=0,c&32||(d|=2),a.f.C&64||(d|=1));a.b!=d&&(a.b=d,a.g.update())}
function lb(a){0<=a.b&&(a.c[a.b].ha=-1,a.o.update(255),a.g.update())}function mb(a){var b;if(0<=a.b){b=a.c[a.b];var c=b.qa[b.aa];void 0!==c&&(0<=b.ha&&b.ha<c.Va.length?(b.ia=100,b=c.Va[b.ha++],a.o.update(b),a.g.update()):(b.ia=10,lb(a)))}}function X(a,b,c){a.G.a[b+a.m]=c.C}y(function(){for(var a=I(document,"c1pjs","disk"),b=0;b<a.length;b++){var c=a[b],d=J(c),d=new ib(d);H(d,c)}});function Z(a,b){F.call(this,"C1PComputer",a);this.P=b}p(Z,F);
@ -156,5 +156,5 @@ f);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],h);vb(a,b,c)}})
function wb(a,b,c){function d(a){if(void 0===h){var b=g&&I(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ia(a))}function f(a){d("Error: "+a);k&&(--sb||D(!0));k=!1}var g,h,k=!0;sb++;M[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],m=document.createElement("style");m.type="text/css";m.styleSheet?m.styleSheet.cssText=l:m.appendChild(document.createTextNode(l));n.appendChild(m)}c||(c=
"/versions/c1pjs/1.36.0/components.xsl");l=function(h,l){l?tb(c,null,null,!1,d,function(h,k){k?(M[a]&&c&&(M[a][c]=h),d("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=l.transformNode(k))?(g.outerHTML=k,--sb||D(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(h=new XSLTProcessor,h.importStylesheet(k),(k=h.transformToFragment(l,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--sb||D(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(h)}):f(h)};"<"!=b.charAt(0)?tb(b,a,void 0,!0,d,l):ub(b,null,a,void 0,!1,d,l)}else f("missing machine element: "+a)}catch(q){f(q.message)}return k}window.embedC1P=function(a,b,c){D(!1);return wb(a,b,c)};
window.commandMachine=function(a,b,c,d,f,g){if("script"==f){d=!1;c+=".machine";if("string"==typeof g&&!L[c]){d=!0;f=L;for(var h=c,k=g.length,l=[],n=[],m="",q=null,T=0;T<k;T++){var r=g[T];if('"'==r||"'"==r)q&&r!=q?m+=r:(q?q=null:q=r,m&&(n.push(m),m=""));else{if(!q){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){m&&(n.push(m),m="");";"==r&&n.length&&(l.push(n),n=[]);continue}}m+=r}}m&&n.push(m);n.length&&l.push(n);f[h]=l;ra(c)||(d=!1)}return d?(b&&(a.disabled=!0),!0):!1}if(d&&(h=qa(d,c+".machine"))&&
(k=h.exports)&&(k=k[f]))return k.call(h,g)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+f+"','"+g+"')");return!1};window.enableEvents=D;window.sendEvent=na;})();//# sourceMappingURL=/versions/c1pjs/1.36.0/c1p.map
window.commandMachine=function(a,b,c,d,f,g){if("script"==f){d=!1;c+=".machine";if(!g)delete L[c],d=!0;else if("string"==typeof g&&!L[c]){d=!0;f=L;for(var h=c,k=g.length,l=[],n=[],m="",q=null,U=0;U<k;U++){var r=g[U];if('"'==r||"'"==r)q&&r!=q?m+=r:(q?q=null:q=r,m&&(n.push(m),m=""));else{if(!q){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){m&&(n.push(m),m="");";"==r&&n.length&&(l.push(n),n=[]);continue}}m+=r}}m&&n.push(m);n.length&&l.push(n);f[h]=l;ra(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(h=qa(d,c+".machine"))&&(k=h.exports)&&(k=k[f]))return k.call(h,g)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+f+"','"+g+"')");return!1};window.enableEvents=D;window.sendEvent=na;})();//# sourceMappingURL=/versions/c1pjs/1.36.0/c1p.map