Added IBM Pascal Compiler 1.00 "Combined" disk to the mix
This commit is contained in:
parent
a18bf595bf
commit
4ea4662c91
6 changed files with 56 additions and 20 deletions
|
|
@ -421,6 +421,7 @@
|
||||||
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK1.json">IBM Pascal 1.00 (Disk 1)</disk>
|
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK1.json">IBM Pascal 1.00 (Disk 1)</disk>
|
||||||
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK2.json">IBM Pascal 1.00 (Disk 2)</disk>
|
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK2.json">IBM Pascal 1.00 (Disk 2)</disk>
|
||||||
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK3.json">IBM Pascal 1.00 (Disk 3)</disk>
|
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISK3.json">IBM Pascal 1.00 (Disk 3)</disk>
|
||||||
|
<disk path="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISKS.json">IBM Pascal 1.00 (Combined)</disk>
|
||||||
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK1-SYSTEM.json">Modula-2/86 1.00 (1-System)</disk>
|
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK1-SYSTEM.json">Modula-2/86 1.00 (1-System)</disk>
|
||||||
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK2-LINKER.json">Modula-2/86 1.00 (2-Linker)</disk>
|
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK2-LINKER.json">Modula-2/86 1.00 (2-Linker)</disk>
|
||||||
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK3-COMPILER.json">Modula-2/86 1.00 (3-Compiler)</disk>
|
<disk path="/disks/pcx86/tools/logitech/modula2/1.00/LOGITECH-MODULA2-DISK3-COMPILER.json">Modula-2/86 1.00 (3-Compiler)</disk>
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
1
disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISKS.json
Normal file
1
disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISKS.json
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -7,6 +7,29 @@ permalink: /disks/pcx86/tools/ibm/pascal/1.00/
|
||||||
IBM Pascal Compiler 1.00
|
IBM Pascal Compiler 1.00
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
When the IBM Pascal Compiler 1.00 was originally released in August 1981, the standard IBM PC contained at most
|
||||||
|
two diskette drives (no hard drive), so compiling Pascal programs required using a "scratch disk" in drive B:
|
||||||
|
and then inserting each of the three 160Kb Pascal Compiler disks into drive A: to complete the compilation and
|
||||||
|
linking process. Moreover, the user was required to copy LINK.EXE from their PC-DOS 1.00 diskette (the only version
|
||||||
|
of PC-DOS available at the time) to the third disk.
|
||||||
|
|
||||||
|
To make life a bit simpler (but only a bit), we've combined the contents of all three diskettes onto a 360Kb "Combined"
|
||||||
|
diskette, along with LINK.EXE from PC-DOS 1.00. Here's the [DiskDump](/modules/diskdump/) command used to produce the
|
||||||
|
diskette image:
|
||||||
|
|
||||||
|
diskdump --path="archive/PAS1/PAS1.EXE;PASKEY;ENTX6S.ASM;FILKQQ.INC;FILUQQ.INC;archive/PAS2/PAS2.EXE;
|
||||||
|
archive/PAS3/PASCAL;PASCAL.LIB;../../../../dos/ibm/1.00/archive/PCDOS100/LINK.EXE" --format=json --label=PASCAL100
|
||||||
|
--output=PASCAL100-DISKS.json --manifest
|
||||||
|
|
||||||
|
It's important to use the original PC-DOS linker, because not all linkers will process IBM Pascal 1.00 object files
|
||||||
|
properly. Given this dependency, it's odd that IBM didn't simply distribute the PC-DOS 1.00 linker on the third IBM
|
||||||
|
Pascal disk; there was certainly room for it, so it wouldn't have cost anything, and it would have reduced the risk
|
||||||
|
of using a newer and potentially incompatible linker.
|
||||||
|
|
||||||
### Directory of IBM Pascal 1.00 (Disk 1)
|
### Directory of IBM Pascal 1.00 (Disk 1)
|
||||||
|
|
||||||
### Directory of IBM Pascal 1.00 (Disk 2)
|
### Directory of IBM Pascal 1.00 (Disk 2)
|
||||||
|
|
||||||
|
### Directory of IBM Pascal 1.00 (Disk 3)
|
||||||
|
|
||||||
|
### Directory of IBM Pascal 1.00 (Combined)
|
||||||
|
|
|
||||||
|
|
@ -25,4 +25,16 @@
|
||||||
<file size="50" time="1981-08-31 12:00:00" attr="0x20" md5="0d20462b4a56654c357fd5b332b45f08">PASCAL</file>
|
<file size="50" time="1981-08-31 12:00:00" attr="0x20" md5="0d20462b4a56654c357fd5b332b45f08">PASCAL</file>
|
||||||
<file size="83456" time="1981-08-31 12:00:00" attr="0x20" md5="fcb8631a5fba5c4b146cf253ca27773e">PASCAL.LIB</file>
|
<file size="83456" time="1981-08-31 12:00:00" attr="0x20" md5="fcb8631a5fba5c4b146cf253ca27773e">PASCAL.LIB</file>
|
||||||
</disk>
|
</disk>
|
||||||
|
<disk id="disk04" size="368640" chs="40:2:9" href="/disks/pcx86/tools/ibm/pascal/1.00/PASCAL100-DISKS.json" md5="01cb202e441cc2d6fe4cad0b2771df0d" md5json="a2f35b82f2263007feba98c5682d9ee3">
|
||||||
|
<name>IBM Pascal 1.00 (Combined)</name>
|
||||||
|
<file size="81408" time="1981-08-31 12:00:00" attr="0x20" md5="2f5b2a5abb1ddc47b8878c4ddc85d659">PAS1.EXE</file>
|
||||||
|
<file size="2816" time="1981-08-31 12:00:00" attr="0x20" md5="158742abe72baea5f1c4de6e3541e578">PASKEY</file>
|
||||||
|
<file size="8320" time="1981-08-31 12:00:00" attr="0x20" md5="948612930287deb5fd53edd701ea0c11">ENTX6S.ASM</file>
|
||||||
|
<file size="5347" time="1981-08-31 12:00:00" attr="0x20" md5="7dfc79d20d272dafe89050d496a964cf">FILKQQ.INC</file>
|
||||||
|
<file size="1513" time="1981-08-31 12:00:00" attr="0x20" md5="f2ccf10239ff715e0185f4fd6773f6bf">FILUQQ.INC</file>
|
||||||
|
<file size="99200" time="1981-08-31 12:00:00" attr="0x20" md5="6fa0cf28313f5fd6672a87ab7734dec7">PAS2.EXE</file>
|
||||||
|
<file size="50" time="1981-08-31 12:00:00" attr="0x20" md5="0d20462b4a56654c357fd5b332b45f08">PASCAL</file>
|
||||||
|
<file size="83456" time="1981-08-31 12:00:00" attr="0x20" md5="fcb8631a5fba5c4b146cf253ca27773e">PASCAL.LIB</file>
|
||||||
|
<file size="43264" time="1981-08-04 00:00:00" attr="0x20" md5="2f11573f12d0bf5a60a62a50eef7e577">LINK.EXE</file>
|
||||||
|
</disk>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ function DiskDump(sDiskPath, asExclude, sFormat, fComments, sSize, sServerRoot,
|
||||||
*/
|
*/
|
||||||
this.sServerRoot = sServerRoot;
|
this.sServerRoot = sServerRoot;
|
||||||
this.sDiskPath = sDiskPath;
|
this.sDiskPath = sDiskPath;
|
||||||
if (this.sServerRoot && !net.isRemote(sDiskPath)) {
|
if (this.sServerRoot && !net.isRemote(sDiskPath) && sDiskPath.indexOf(';') < 0) {
|
||||||
this.sDiskPath = path.join(this.sServerRoot, sDiskPath);
|
this.sDiskPath = path.join(this.sServerRoot, sDiskPath);
|
||||||
}
|
}
|
||||||
this.asExclude = asExclude || DiskDump.asExclusions;
|
this.asExclude = asExclude || DiskDump.asExclusions;
|
||||||
|
|
@ -1786,7 +1786,15 @@ DiskDump.prototype.readPath = function(sPath, done)
|
||||||
var sFileName = asFiles[iFile];
|
var sFileName = asFiles[iFile];
|
||||||
var i = sFileName.lastIndexOf(path.sep);
|
var i = sFileName.lastIndexOf(path.sep);
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
if (sFileName.indexOf("..") < 0) {
|
//
|
||||||
|
// We used to prevent paths with "..", to protect the web server from malicious requests,
|
||||||
|
// but we need to allow them for unfettered command-line support of the --path option.
|
||||||
|
//
|
||||||
|
// if (sFileName.indexOf("..") >= 0) {
|
||||||
|
// var err = new Error('invalid file "' + sFileName + '"');
|
||||||
|
// done(err, null);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
sDefaultPath = sFileName.substr(0, i);
|
sDefaultPath = sFileName.substr(0, i);
|
||||||
/*
|
/*
|
||||||
* The DiskDump constructor joins the beginning of sPath with sServerRoot,
|
* The DiskDump constructor joins the beginning of sPath with sServerRoot,
|
||||||
|
|
@ -1796,15 +1804,6 @@ DiskDump.prototype.readPath = function(sPath, done)
|
||||||
sDefaultPath = path.join(this.sServerRoot, sDefaultPath);
|
sDefaultPath = path.join(this.sServerRoot, sDefaultPath);
|
||||||
}
|
}
|
||||||
sFileName = sFileName.substr(i+1);
|
sFileName = sFileName.substr(i+1);
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
* TODO: We need to permit ".." without compromising the server...
|
|
||||||
*
|
|
||||||
var err = new Error('invalid file "' + sFileName + '"');
|
|
||||||
done(err, null);
|
|
||||||
return;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Ordinarily, sFileName will already be the basename, except when it has a path element like "../"
|
* Ordinarily, sFileName will already be the basename, except when it has a path element like "../"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue