Fixed loading of older state files
This commit is contained in:
parent
e24ff3ae47
commit
ab5eb61b8d
11 changed files with 24 additions and 18 deletions
|
|
@ -575,7 +575,7 @@ k.Pb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.gd(
|
|||
k.gd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.Wa=a[b++];b++;this.wa=a[b++];this.Sb=a[b++];this.pb=a[b++];this.$a=a[b++];this.Re=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.ic=c);void 0===this.xa&&(this.bi=4,this.ja&&(this.bi=Hh(this.ja)),this.xa=Array(4));for(c=0;c<this.xa.length;c++){var f=this.xa[c];if(void 0===f){var f=this.xa[c]={},h;if(this.ja)a:{h=this.ja;if(c<Hh(h)){if(!h.pd){h=360;break a}if(c<h.pd.length){h=h.pd[c];break a}}h=0}else h=0;switch(h){case 160:case 180:f.gb=
|
||||
1;default:f.fb=40;f.lb=9;break;case 720:f.fb=80;f.lb=9;break;case 1200:f.fb=80;f.lb=15;break;case 1440:f.fb=80,f.lb=18}}this.Rh(f,c,e[c])||(d=!1)}this.Ld=a[b++]||0;this.Zk=a[b]||0;return d};k.Yi=function(){var a=0,b=[];b[a++]=this.Wa;b[a++]=0;b[a++]=this.wa;b[a++]=this.Sb;b[a++]=this.pb;b[a++]=this.$a;b[a++]=this.Re;b[a++]=this.$i();for(var c=a++,d=0;d<this.xa.length;d++){var e=this.xa[d];e.ta&&Vj(this,e.pe,e.ta)}b[c]=this.ic;b[a++]=this.Ld;b[a]=this.Zk;return b};
|
||||
k.Rh=function(a,b,c){var d=0,e=!0;a.Wa=b;a.uc=a.Fe=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.fb||40,a.gb||c[3],a.lb||9,a.Xa||512,c[1],a.Mg,a.Bf,a.Cf]);a.Sa=c[d++];var f=c[d++];a.name=f[0];a.fb=f[1];a.gb=f[2];a.lb=f[3];a.Xa=f[4];a.Ge=f[5];(a.Mg=f[6])?(a.Bf=f[7],a.Cf=f[8]):(a.Mg=a.fb,a.Bf=a.gb,a.Cf=a.lb);a.Ja=c[d++];a.rd=c[d++];a.ib=c[d++];a.rd=100<=a.rd?a.rd-100:a.rd-a.ib;a.Va=c[d++];a.td=c[d++];a.eb=c[d++];a.Ya=c[d++];a.Ka=null;a.ta||(a.pe="");var h=c[d++];
|
||||
"boolean"==typeof h?(f=c[d++],c=c[d],h?(d=this.xa[b],Uj(this,b,!0,!0),d.Fe=!0,b=new Dj(this,d,"preload"),this.zj(d,b,f,c)):Wj(this,b,f,c,!0)?a.ta&&Xj(this,f,c,a.ta):this.Ma(!1)):void 0!==h&&a.ta&&0>a.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.Zi(this.xa[c]);return b};
|
||||
102==h&&(h=!1);"boolean"==typeof h?(f=c[d++],c=c[d],h?(d=this.xa[b],Uj(this,b,!0,!0),d.Fe=!0,b=new Dj(this,d,"preload"),this.zj(d,b,f,c)):Wj(this,b,f,c,!0)?a.ta&&Xj(this,f,c,a.ta):this.Ma(!1)):void 0!==h&&a.ta&&0>a.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Ya&&(a.Ka=a.ta.seek(a.ib,a.Ja,a.Va));return e};k.$i=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.Zi(this.xa[c]);return b};
|
||||
k.Zi=function(a){var b=0,c=[];c[b++]=a.Sa;c[b++]=[a.name,a.fb,a.gb,a.lb,a.Xa,a.Ge,a.Mg,a.Bf,a.Cf];c[b++]=a.Ja;c[b++]=a.rd+100;c[b++]=a.ib;c[b++]=a.Va;c[b++]=a.td;c[b++]=a.eb;c[b++]=a.Ya;c[b++]=a.Fe;c[b++]=a.dl;c[b]=a.pe;return c};k.bf=function(a){a||(this.Zd=0);if(this.ce)for(var b in this.ce){var c=this.ce[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.xa.length){!Wj(this,d,c.name,c.path,!0)&&a&&this.Ma(!1);continue}}this.ya("Unrecognized auto-mount specification for drive "+b)}return!!this.Zd};
|
||||
function Rj(a,b,c,d){var e,f=a.sa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.xa.length)if(c){if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.Zb("Attempting to load "+c+' as "'+b+'"')}for(a.Zb("loading disk "+c+"...");Wj(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,h=c,g=void 0,g=0;g<f.ic.length;g++)if(f.ic[g][1]==h){f.ic.splice(g,1);break}Uj(a,e,
|
||||
!1,!0)}}else Uj(a,e);else a.ya("Nothing to load")}function Wj(a,b,c,d,e,f){var h=a.xa[b];if(d&&h.pe!=d){Uj(a,b,e,!0);if(h.uc)return a.ya("Drive "+b+" busy"),!0;h.uc=!0;e&&(h.ge=!0,a.Zd++);h.Fe=!!f;(new Dj(a,h,"preload")).load(c,d,f,a.zj);return!1}return!0}
|
||||
|
|
|
|||
Loading…
Reference in a new issue