Skip to content
This repository has been archived by the owner on Dec 24, 2020. It is now read-only.

Commit

Permalink
Added machine property cdromDrives
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffpar committed Jun 2, 2019
1 parent 99b47bc commit f4c9149
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 38 deletions.
1 change: 1 addition & 0 deletions _posts/2019-05-31-microsoft-programmers-library.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ machines:
- id: ibm5170
type: pcx86
config: /disks/pcx86/drives/cdrom/machine.xml
cdromDrives: '[{name:"CD",type:0,path:"/disks-cds/cds002/microsoft/tools/MSPL10/cdrom"}]'
---

I recently obtained a copy of Microsoft Programmer's Library 1.0, a CD-ROM released in 1988.
Expand Down
24 changes: 10 additions & 14 deletions _posts/2020-06-01-more-old-cd-roms-and-gotchas.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ title: "More Old CD-ROMs and Gotchas"
date: 2019-06-01 10:00:00
permalink: /blog/2019/06/01/
preview: https://cds005.pcjs.org/microsoft/reference/Bookshelf-Windows-1991/BSWIN91.png
machines:
- id: ibm5170
type: pcx86
config: /disks/pcx86/drives/cdrom/machine.xml
---

Before acquiring a copy of the 1988 [Microsoft Programmer's Library 1.0 CD-ROM](/blog/2019/05/31/),
Expand All @@ -33,9 +29,9 @@ And initially, things looked very promising:

![Bookshelf for Windows 1991 - Install 4 of 4](/blog/images/BSWIN31-Install4of4.png)

And of course, my first reaction was: what just went wrong with my new CD-ROM emulation?
My first reaction to the "Fatal Error": what just went wrong with my new CD-ROM emulation?

But even though this was a 27-year-old error message, I decided to [Google It](https://www.google.com/search?q=CloseFontProgress+%22error+writing+to+the+system+setup+file%22),
Even though this was a 27-year-old error message, I decided to [Google It](https://www.google.com/search?q=CloseFontProgress+%22error+writing+to+the+system+setup+file%22),
and I got back exactly ONE hit... on my OWN website:

[![CloseFontProgress "error writing to the system setup file"](/blog/images/Google-Q101464.png)](https://jeffpar.github.io/kbarchive/kb/101/Q101464/)
Expand All @@ -52,9 +48,10 @@ was successful.

![Bookshelf for Windows 1991 - Install Done](/blog/images/BSWIN31-InstallDone.png)

You can give it a try yourself in the [machine](#ibm-pc-at-with-atapi-cd-rom-support) below. I did not
preinstall **Bookshelf for Windows**, because I wouldn't want to deprive you of the authentic experience
of installing buggy software from 1992 and choosing whichever work-around works best for you.
You can give it a try yourself in this [IBM PC AT with ATAPI CD-ROM Support](/disks/pcx86/drives/cdrom/).
I did not preinstall **Bookshelf for Windows** in that machine, because I wouldn't want to deprive you
of the authentic experience of installing buggy software from 1992 and choosing whichever "Fatal Error"
work-around works best for you.

## Pandora's Box (1999)

Expand Down Expand Up @@ -98,15 +95,15 @@ main executable to PANDORA.ICD and calling the SafeDisc loader PANDORA.EXE. It
## The Art of Software Preservation

**Pandora's Box** illustrates more than just the obvious principle that "copy-protected software is hard to
copy", to which I've already [alluded](/blog/2019/05/05/#the-software-preservation-quandry)".
copy", to which I've already [alluded](/blog/2019/05/05/#the-software-preservation-quandry).

More than that, it shows that there's more to preservation than simply figuring out how to "copy the bits".
There is also a history associated with each piece of software that needs to be researched, captured, and
preserved as well. And that history may span a variety of obsolete media, including print media (magazine
articles, advertisements, newsletters, etc) and online media (product pages and support articles that have
been deleted, FTP servers that have been decomissioned, etc).

The worst-case scenario is software that required a live server to authenticate users or provide some sort
The worst-case scenario is software that requires a live server to authenticate users or provide some sort
of virtual environment -- a scenario that has tended to get more attention and hand-wringing lately, with the
recent rise and fall of various Internet-enabled games.

Expand All @@ -130,9 +127,8 @@ their snapshots to the Internet Archive. So with a bit more work, it's possible
download the patch for **Pandora's Box**, eliminate the copy protection, and preserve another fine piece of software
for many puzzle-loving generations to come.

## IBM PC AT with ATAPI CD-ROM Support

{% include machine.html id="ibm5170" %}
NOTE: **Pandora's Box** does not run in any PCjs machines at this time. The machine running [Windows 95](/disks/pcx86/windows/win95/4.00.950/)
is the best candidate, but PCjs ATAPI CD-ROM support isn't quite up to the job yet.

*[@jeffpar](https://jeffpar.com)*
*June 1, 2019*
4 changes: 2 additions & 2 deletions modules/markout/lib/markout.js
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ MarkOut.aFMBooleanMachineProps = {
'autostart': "autoStart",
'sound': "sound"
};
MarkOut.aFMReservedMachineProps = ['id', 'name', 'type', 'debugger', 'class', 'config', 'template', 'uncompiled', 'autoMount', 'floppyDrives', 'drives', 'parms', 'sticky'];
MarkOut.aFMReservedMachineProps = ['id', 'name', 'type', 'debugger', 'class', 'config', 'template', 'uncompiled', 'autoMount', 'cdromDrives', 'floppyDrives', 'drives', 'parms', 'sticky'];

/**
* convertMD()
Expand Down Expand Up @@ -604,7 +604,7 @@ MarkOut.prototype.convertMD = function(sIndent)
}
}
machine['parms'] += 'autoMount:' + (machine['autoMount'] || "null");
var driveProps = ['drives','floppyDrives'];
var driveProps = ['drives','floppyDrives','cdromDrives'];
for (iProp = 0; iProp < driveProps.length; iProp++) {
sProp = driveProps[iProp];
var sDrives = machine[sProp];
Expand Down
16 changes: 7 additions & 9 deletions modules/pcx86/lib/hdc.js
Original file line number Diff line number Diff line change
Expand Up @@ -270,15 +270,13 @@ class HDC extends Component {
/*
* Any machine-specific 'drives' settings apply only the first HDC interface.
*/
if (!this.nInterface) {
let aDriveConfigs = cmp.getMachineParm('drives');
if (aDriveConfigs) {
if (typeof aDriveConfigs == "string") {
this.sDriveConfigs = aDriveConfigs;
} else {
this.aDriveConfigs = aDriveConfigs;
this.sDriveConfigs = "";
}
let aDriveConfigs = cmp.getMachineParm(this.nInterface? 'cdromDrives' : 'drives');
if (aDriveConfigs) {
if (typeof aDriveConfigs == "string") {
this.sDriveConfigs = aDriveConfigs;
} else {
this.aDriveConfigs = aDriveConfigs;
this.sDriveConfigs = "";
}
}

Expand Down
16 changes: 7 additions & 9 deletions versions/pcx86/1.75.3/pcx86-uncompiled.js
Original file line number Diff line number Diff line change
Expand Up @@ -66856,15 +66856,13 @@ class HDC extends Component {
/*
* Any machine-specific 'drives' settings apply only the first HDC interface.
*/
if (!this.nInterface) {
let aDriveConfigs = cmp.getMachineParm('drives');
if (aDriveConfigs) {
if (typeof aDriveConfigs == "string") {
this.sDriveConfigs = aDriveConfigs;
} else {
this.aDriveConfigs = aDriveConfigs;
this.sDriveConfigs = "";
}
let aDriveConfigs = cmp.getMachineParm(this.nInterface? 'cdromDrives' : 'drives');
if (aDriveConfigs) {
if (typeof aDriveConfigs == "string") {
this.sDriveConfigs = aDriveConfigs;
} else {
this.aDriveConfigs = aDriveConfigs;
this.sDriveConfigs = "";
}
}

Expand Down
6 changes: 3 additions & 3 deletions versions/pcx86/1.75.3/pcx86.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion versions/pcx86/1.75.3/pcx86.js.map

Large diffs are not rendered by default.

0 comments on commit f4c9149

Please sign in to comment.