From f94409d754dceb6370ab4d2d91a4ce4730640b28 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Sat, 16 Apr 2016 16:34:25 -0700 Subject: [PATCH] Sort disk names case-insensitively --- apps/pc/1981/visicalc/manifest.xml | 2 +- apps/pc/1987/thinktank/manifest.xml | 2 +- apps/pc/1988/moria/manifest.xml | 2 +- apps/pc/1992/moria/manifest.xml | 2 +- disks/pc/compiled/library.xml | 6 +++--- disks/pc/compiled/samples.xml | 2 +- docs/pcjs/examples/pc-dbg.js | 6 +++--- docs/pcjs/examples/pc.js | 6 +++--- modules/pcjs/lib/fdc.js | 10 ++++++++-- 9 files changed, 22 insertions(+), 16 deletions(-) diff --git a/apps/pc/1981/visicalc/manifest.xml b/apps/pc/1981/visicalc/manifest.xml index d52969394..4823e9b66 100644 --- a/apps/pc/1981/visicalc/manifest.xml +++ b/apps/pc/1981/visicalc/manifest.xml @@ -13,7 +13,7 @@ Lotus Development - Demo: VisiCalc + Demo: VisiCalc (1981) VC.COM README.md VisiCalc License diff --git a/apps/pc/1987/thinktank/manifest.xml b/apps/pc/1987/thinktank/manifest.xml index 834d9b4cc..e7d2232a6 100644 --- a/apps/pc/1987/thinktank/manifest.xml +++ b/apps/pc/1987/thinktank/manifest.xml @@ -8,7 +8,7 @@ Living Videotext September 25, 1987 - Demo: ThinkTank 2.41NP + Demo: ThinkTank (1987) AUTOEXEC.BAT READ_ME.DB READ_ME.SAV diff --git a/apps/pc/1988/moria/manifest.xml b/apps/pc/1988/moria/manifest.xml index 429d73ea0..bc0771df1 100644 --- a/apps/pc/1988/moria/manifest.xml +++ b/apps/pc/1988/moria/manifest.xml @@ -15,7 +15,7 @@ MSDOS port - Demo: Moria v4.872 + Demo: Moria 4.872 (1988) CONFIG.DOC GOD MADNESS1 diff --git a/apps/pc/1992/moria/manifest.xml b/apps/pc/1992/moria/manifest.xml index bad158e3d..23d6e182b 100644 --- a/apps/pc/1992/moria/manifest.xml +++ b/apps/pc/1992/moria/manifest.xml @@ -93,7 +93,7 @@ Macintosh port for Think C - Demo: Moria 5.5 + Demo: Moria 5.5 (1992) EXP.DOC MORIA.CNF MORIA1.TXT diff --git a/disks/pc/compiled/library.xml b/disks/pc/compiled/library.xml index 40c35b613..becd562b1 100644 --- a/disks/pc/compiled/library.xml +++ b/disks/pc/compiled/library.xml @@ -502,11 +502,11 @@ Wolfenstein 3D 1.4 MS Flight Simulator (1982) MS Flight Simulator (1984) - Demo: VisiCalc + Demo: VisiCalc (1981) Demo: Executive Suite (1982) Demo: Rogue (1985) - Demo: ThinkTank 2.41NP - Demo: Moria 5.5 + Demo: ThinkTank (1987) + Demo: Moria 5.5 (1992) DOS Internals The Undocumented PC Undocumented DOS (Disk 1) diff --git a/disks/pc/compiled/samples.xml b/disks/pc/compiled/samples.xml index 0cb078410..792102076 100644 --- a/disks/pc/compiled/samples.xml +++ b/disks/pc/compiled/samples.xml @@ -7,7 +7,7 @@ PC-DOS 2.00 (Disk 1) PC-DOS 2.00 (Disk 2) Microsoft Adventure - Demo: VisiCalc + Demo: VisiCalc (1981) Load Save diff --git a/docs/pcjs/examples/pc-dbg.js b/docs/pcjs/examples/pc-dbg.js index 34786f72b..68317b23a 100644 --- a/docs/pcjs/examples/pc-dbg.js +++ b/docs/pcjs/examples/pc-dbg.js @@ -594,9 +594,9 @@ b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ja=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; -m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;ab.text?1:a.textb.value?1:a.value'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value, -10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; +m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,10),(a= +d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);yp(this,"None","",!0);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cb.text?1:a.textb.value?1:a.value'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value, -10),(a=d.B[a])?(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;um(d,fa(b,!0),b,a)}return!1};return!0}return!1}; +l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ka[b]=c;if(this.W){b=[];for(a=0;a'+b+"");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value,10),(a=d.B[a])? +(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;um(d,fa(b,!0),b,a)}return!1};return!0}return!1}; l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);ym(this,"None","",!0);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)}; l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c b.text)? 1 : ((a.text < b.text)? -1 : 0); + return a.text.localeCompare(b.text); } else { - return (a.value > b.value)? 1 : ((a.value < b.value)? -1 : 0); + return a.value.localeCompare(b.value); } }); for (i = 0; i < aOptions.length; i++) {