Updated the VisiCalc demo with an autoType sequence, a fresh disk image, new state file, and reference cards; also, updated autoType support to cancel autoType if a saved machine state is loaded
This commit is contained in:
parent
935ece2c26
commit
5e0e5b7256
16 changed files with 69 additions and 46 deletions
|
|
@ -435,7 +435,7 @@ function Yl(a,b,c){var d=a.H[b];if(d.Hd&&(b!=fm||a.J&um)){var e=Yc(a.U,a.V),f=(e
|
|||
function ad(a,b){for(var c=0;c<a.H.length;c++)Yl(a,c,b);if(a.aa>=Ef){b=a.U.R.Xc;c=Yc(a.U,a.V);null==a.xa&&(a.na=Yc(a.U,a.V),a.Ha=1024,a.xa=Math.floor(a.U.R.Xc/a.Ha),Nk(a));c>=a.X&&(a.A[Kk]|=Bm,a.A[dd]&ed&&(a.A[Kk]|=Cm,Hf(a,Dm)),a.X=c+a.xa);a.A[xk]==a.A[yk]&&a.A[zk]==a.A[Ak]&&a.A[Bk]==a.A[Ck]&&(a.A[Kk]|=Em,a.A[dd]&Fm&&(a.A[Kk]|=Cm,Hf(a,Dm)));var d=c-a.na,e=Math.floor(d/b);if(e&&!(a.A[dd]&Gm)){for(;e--;)if(60<=++a.A[xk]&&(a.A[xk]=0,60<=++a.A[zk]&&(a.A[zk]=0,24<=++a.A[Bk]))){a.A[Bk]=0;a.A[Dk]=a.A[Dk]%
|
||||
7+1;var f;f=a.A[Gk];var g=za[a.A[Fk]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Ek]>f&&(a.A[Ek]=1,12<++a.A[Fk]&&(a.A[Fk]=1,a.A[Gk]=(a.A[Gk]+1)%100))}a.A[Kk]|=Hm;a.A[dd]&Mm&&(a.A[Kk]|=Cm,Hf(a,Dm))}a.na=c-d%b}}k.sl=function(){var a=this.ua;this.ga&Nm&&(this.J&Om?a=this.C[0][1]:this.B&&(a=Pm(this.B)));return a};k.Nm=function(a,b){this.ua=b};k.tl=function(){return this.J};k.Om=function(a,b){Qm(this,b)};
|
||||
function Qm(a,b){var c=!!(b&Rm),d=!!(a.J&Rm);a.J=b;a.B&&Sm(a.B,!(b&Om),!!(b&xm));c!=d&&Pk(a,c)}k.ul=function(){var a=0,a=(this.aa|0)==zj?this.J&vm?a|this.C[1][1]&Tm:a|this.C[1][1]>>4&1:this.J&Um?a|this.C[0][1]>>4:a|this.C[0][1]&15;this.J&um&&Yl(this,fm).Lc&&(a=this.J&Rm?a|Vm:a|Wm);return a};k.Pm=function(a,b){this.Ba=b};k.vl=function(){return this.ga};k.Qm=function(a,b){this.ga=b};k.Ek=function(){var a=this.B?Pm(this.B):0;this.Z&=~Xm;return a};k.Zl=function(){};k.Dk=function(){return this.J};
|
||||
k.Yl=function(a,b){Qm(this,b)};k.Fk=function(){return this.Z};k.Gk=function(){var a=this.pa;this.F&=~(Xm|Ym);this.B&&Zm(this.B);return a};k.am=function(a,b){if(this.F&$m)switch(this.L){case an:bn(this,b);break;case cn:dn(this,b);break;default:if(bn(this,this.K&~Yj),this.B){a=this.B;var c=b,d=-1;switch(a.D||c){case en:d=fn;a.Jb=[];gn(a,hn);break;case jn:a.D&&(c=0);gn(a,fn);a.D=c;break;case kn:a.D&&(c=0),gn(a,fn),a.D=c}ln(this,d)}}this.L=b;this.F&=~$m};
|
||||
k.Yl=function(a,b){Qm(this,b)};k.Fk=function(){return this.Z};k.Gk=function(){var a=this.pa;this.F&=~(Xm|Ym);this.B&&Zm(this.B);return a};k.am=function(a,b){if(this.F&$m)switch(this.L){case an:bn(this,b);break;case cn:dn(this,b);break;default:if(bn(this,this.K&~Yj),this.B){a=this.B;var c=b,d=-1;switch(a.G||c){case en:d=fn;a.Jb=[];gn(a,hn);break;case jn:a.G&&(c=0);gn(a,fn);a.G=c;break;case kn:a.G&&(c=0),gn(a,fn),a.G=c}ln(this,d)}}this.L=b;this.F&=~$m};
|
||||
k.Hk=function(){return this.J&~(mn|nn)|(Yc(this.U)&64?nn:0)};k.bm=function(a,b){Qm(this,b)};k.Ik=function(){var a=this.F&255;this.F&Ym&&(this.F|=Xm,this.F&=~Ym);return a};
|
||||
k.$l=function(a,b){this.L=b;this.F|=$m;a=0;this.L>=on&&(a=this.L^15,this.L=on);switch(this.L){case pn:ln(this,this.K);break;case qn:bn(this,this.K|Yj);break;case rn:bn(this,this.K&~Yj);this.B&&Zm(this.B);break;case sn:this.B&&(this.B.Jb=[]);bn(this,this.K|Yj);ln(this,tn);dn(this,ik|jk);break;case un:ln(this,vn);break;case wn:ln(this,this.M);break;case xn:ln(this,this.qa);break;case yn:ln(this,this.K&Yj?0:zn);break;case on:a&1&&le(this.U)}};
|
||||
function bn(a,b){a.K=b;a.F=a.F&~An|b&Bn;a.B&&Sm(a.B,!!(b&Cn),!(b&Yj))}function ln(a,b,c){0<=b&&(a.pa=b,c?a.F|=Xm:(a.F&=~Xm,a.F|=Ym))}function dn(a,b){a.qa=b;Pb(a.ma,!!(b&jk));b&ik||le(a.U)}function Dn(a,b){a.aa<Ef?(Hf(a,En,4),a.Z|=Xm):a.K&Yj||a.F&(Xm|Ym)||(ln(a,b,!0),Fn(a.B),Hf(a,En,120))}k.Wk=function(){return this.W};k.pm=function(a,b){this.W=b;this.ba=b&Gn?If:Hn};
|
||||
|
|
@ -466,13 +466,13 @@ k.Ob=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))
|
|||
k.reset=function(){if(!this.B&&!this.D&&this.V){var a=1024*bk(this.V);this.A&&a!=this.A&&(ac(this.ma,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Qb(this.ma,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.Ud&&(this.controller=new Tn(this),Qb(this.ma,Un,4,4,this.controller)));if(this.C){if(this.F||ic(this.ma,1138,4660),"ramCPQ"!=this.Ud&&this.V&&(a=this.V,a.A)){var b=1048576>this.B?mk:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;wk(a)}}else r("No RAM allocated")};
|
||||
k.save=function(){var a=new Qe(this);this.controller&&a.set(0,this.controller.save());return a.data()};k.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Tn(a){this.F=a;this.C=Vn;this.D=Wn;this.B=Xn;this.A=null}k=Tn.prototype;k.save=function(){return[this.C,this.B]};k.restore=function(a){this.Dc(0,a[0]&255);this.Dc(2,a[1]&255);return!0};k.Eb=function(a){var b=255;2>a?b=a&1?this.D>>8:this.D&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};
|
||||
k.Dc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.F.ma;if(b&Yn)this.A&&(Wb(a,Zn,$n,this.A),this.A=null);else{this.A||(this.A=Xb(a,Zn,$n));var c=Xb(a,ao,$n);Wb(a,Zn,$n,c,b&bo?1:cc)}this.C=this.C&-256|b}};k.ti=function(){return co};k.qg=function(){return eo};var Un=-2134900736,ao=16646144,Zn=917504,$n=131072,Yn=1,bo=2,Vn=65535,Wn=2575,Xn=2,co=[null,0],eo=[function(a){return this.controller.Eb(a)},null,null,function(a,b){this.controller.Dc(a,b)},null,null];
|
||||
Ma(function(){for(var a=eb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Sn(d);db(d,c)}});function fo(a){t.call(this,"Keyboard",a);go(this,a.model);this.W=Ha("Mobi");this.O=Ha("MSIE");this.L=0;this.M=this.og=!1;this.A=[];this.Z=50;this.G=null;this.H=a.autoType;mb(this)}ba(fo,t);k=fo.prototype;
|
||||
Ma(function(){for(var a=eb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Sn(d);db(d,c)}});function fo(a){t.call(this,"Keyboard",a);go(this,a.model);this.W=Ha("Mobi");this.O=Ha("MSIE");this.L=0;this.M=this.og=!1;this.A=[];this.Z=50;this.D=null;this.F=a.autoType;mb(this)}ba(fo,t);k=fo.prototype;
|
||||
k.wb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.ia[f])switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return ho(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.B="";var b=!V[a]||!!(e.Sb&io);b||jo(e,a,!0);return b},c.onkeyup=function(a){return ho(e,a,!1)},!0;case "caps-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,ko,!0)},!0;case "num-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,lo,!0)},!0;case "scroll-lock":return this.ia[f]=
|
||||
c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,mo,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==no[g]&&"button"==a)return this.ia[f]=c,c.onclick=function(a,b,c){return function(){a.oa&&Zc(a.oa);a.B="";oo(a,c,!0);jo(a,c,!0)}}(this,g,no[g]),!0;if(void 0!==po[b])return this.L++,this.ia[f]=c,a=function(a,b,c){return function(){a.B="";jo(a,c)}}(this,b,po[b]),b=function(a,b,c){return function(){qo(a,c)}}(this,b,po[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=
|
||||
a,c.onmouseup=c.onmouseout=b),!0;if(d)return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);d&&!e.B&&(e.B=d,ro(e,150))},!0}return!1};function so(a,b,c){if(a.L){for(var d in p)if(b==p[d]){b=+d;(d=ma[d])&&(b=d);break}for(var e in po)if((d=po[e]==b)||(d=b,d>=n.Dd&&d<=n.z&&(d-=n.Dd-n.Cd),d=po[e]==d),d){(a=a.ia["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
|
||||
k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");this.H=Mc(a,"autoType")||this.H;Me(c,33,this.Kl.bind(this))};k.Kl=function(){if(10==(this.U.F>>8&255)&&!this.G&&this.H){var a=this.G=this.H;a&&!this.B&&(this.B=a,ro(this,150))}return!0};function go(a,b){var c=0;a.aa=null;"string"==typeof b&&(a.aa=b.toUpperCase(),c=to.indexOf(a.aa),0>c&&(c=0));if(b=to[c])a.X=parseInt(b.substr(2),10)}
|
||||
function Sm(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.F=!0);a.I!==b&&(a.I=b)&&!a.K&&Fn(a,!0);a.I&&a.K&&(a.Jb=[],gn(a,hn),a.K=!1)}function gn(a,b){a.V&&(a.Jb.unshift(b),a.F=!0,Dn(a.V,b))}function Zm(a){var b;a.Jb.length&&a.F&&(b=a.Jb[0],a.V&&Dn(a.V,b))}function Pm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function Fn(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.F=b)&&a.Jb.length&&a.V&&Dn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||
k.Nb=function(a){return a?this.save():!0};k.reset=function(){if(!this.aa&&this.V)switch(this.V.aa){case zj:case 5160:go(this,to[0]);break;default:go(this,to[1])}uo(this);this.Sb=this.C=0;this.Jb=[];this.F=!0;this.G=null;this.B=""};k.save=function(){var a=new Qe(this),b=[];b[0]=this.J;b[1]=this.I;a.set(0,b);return a.data()};k.restore=function(a){return uo(this,a[0])};function uo(a,b){var c=0;b||(b=[]);a.J=a.F=b[c++];a.I=b[c];a.D=0;return!0}
|
||||
k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");this.F=Mc(a,"autoType")||this.F;Me(c,33,this.Kl.bind(this))};k.Kl=function(){if(10==(this.U.F>>8&255)&&!this.D&&this.F){var a=this.D=this.F;a&&!this.B&&(this.B=a,ro(this,150))}return!0};function go(a,b){var c=0;a.aa=null;"string"==typeof b&&(a.aa=b.toUpperCase(),c=to.indexOf(a.aa),0>c&&(c=0));if(b=to[c])a.X=parseInt(b.substr(2),10)}
|
||||
function Sm(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.H=!0);a.I!==b&&(a.I=b)&&!a.K&&Fn(a,!0);a.I&&a.K&&(a.Jb=[],gn(a,hn),a.K=!1)}function gn(a,b){a.V&&(a.Jb.unshift(b),a.H=!0,Dn(a.V,b))}function Zm(a){var b;a.Jb.length&&a.H&&(b=a.Jb[0],a.V&&Dn(a.V,b))}function Pm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function Fn(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.H=b)&&a.Jb.length&&a.V&&Dn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||
k.Nb=function(a){return a?this.save():!0};k.reset=function(){if(!this.aa&&this.V)switch(this.V.aa){case zj:case 5160:go(this,to[0]);break;default:go(this,to[1])}uo(this)};k.save=function(){var a=new Qe(this),b=[];b[0]=this.J;b[1]=this.I;a.set(0,b);return a.data()};k.restore=function(a){return uo(this,a[0])};function uo(a,b){var c=0;b?a.D=a.F:(b=[],a.D=null);a.J=b[c++];a.I=b[c];a.G=0;a.Sb=a.C=0;a.Jb=[];a.H=!0;a.B="";return!0}
|
||||
function ro(a,b){for(var c=0;0<a.B.length&&!c;)if(c=a.B.charAt(0),a.B=a.B.substr(1),c=c.charCodeAt(0),240<=c){b=100*(c-240)||150;c=0;break}c&&(10==c&&(c=13),jo(a,c,!0));0<a.B.length&&setTimeout(function(a){return function(){ro(a,b)}}(a),b)}
|
||||
function oo(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=vo[b]||0){!e||b&wo||(b>>=1);if(b&xo){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.Sb)&b):d||b&yo&&(b=yo);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in zo)d="led-"+g,e=zo[g],c&&c!=e||!(f=a.ia[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.Sb&=~b,d&&(a.Sb|=b);return!0}}return!1}
|
||||
function jo(a,b,c){if((V[b]||V[b+=1E3])&&a.U&&a.U.ca.Ib){vo[b]&&a.A.length&&0<a.A[0].Zc&&(a.A[0].Zc=0);for(var d,e=0;e<a.A.length;e++)if(d=a.A[e],d.Td==b){if(!c||0<=d.Zc){e=-1;break}0<e&&(0<a.A[0].Zc&&(a.A[0].Zc=0),a.A.splice(e,1));break}0>e||(e==a.A.length&&(d={},d.Td=b,d.Sb=a.Sb,so(a,b,!0),e++),0<e&&a.A.splice(0,0,d),d.Je=!0,d.Zc=c?-1:vo[b]?0:1,Ao(a,d))}}
|
||||
|
|
|
|||
Loading…
Reference in a new issue