diff --git a/_config.yml b/_config.yml
index f15b97ad3..09dc8f1b3 100644
--- a/_config.yml
+++ b/_config.yml
@@ -18,7 +18,7 @@ encoding: UTF-8
# Build settings
-exclude: ["index.html", "**/index.html", "**/archive", "**/c64", "logs", "node_modules", "src", "**/src", "tmp", "**/tmp", "videos", "web", ".git", ".idea"]
+exclude: ["index.html", "**/index.html", "archive", "**/archive", "**/c64", "logs", "node_modules", "src", "**/src", "tmp", "**/tmp", "videos", "web", ".git", ".idea"]
markdown: kramdown
kramdown:
input: GFM
diff --git a/_includes/machine-engines.html b/_includes/machine-engines.html
index 8d9357f79..4f570bbc5 100644
--- a/_includes/machine-engines.html
+++ b/_includes/machine-engines.html
@@ -104,8 +104,15 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
{% capture machine_script %}{% endcapture %}
{% unless machine_scripts contains machine_script %}
{{ machine_script }}
- {% if script contains "js/lib/defines.js" and machine.debugger != true %}
- {{ machine_script | replace:"defines.js","nodebugger.js" }}
+ {% if script contains "shared/lib/defines.js" %}
+ {% if site.pcjs.private %}
+ {{ machine_script | replace:"defines.js","private.js" }}
+ {% endif %}
+ {% endif %}
+ {% if script contains "js/lib/defines.js" %}
+ {% if machine.debugger != true %}
+ {{ machine_script | replace:"defines.js","nodebugger.js" }}
+ {% endif %}
{% endif %}
{% endunless %}
{% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %}
diff --git a/modules/shared/lib/defines.js b/modules/shared/lib/defines.js
index 2dec4c10d..b82e66490 100644
--- a/modules/shared/lib/defines.js
+++ b/modules/shared/lib/defines.js
@@ -64,6 +64,11 @@ var DEBUG = true; // this @define is overridden by the Closure Com
*/
var MAXDEBUG = false; // this @define is overridden by the Closure Compiler (to false) to remove MAXDEBUG-only code
+/**
+ * @define {boolean}
+ */
+var PRIVATE = false; // this @define is overridden by the Closure Compiler (to false) to enable PRIVATE code
+
/*
* NODE should be true if we're running under NodeJS (eg, command-line), false if not (eg, web browser)
*/
diff --git a/modules/shared/lib/embed.js b/modules/shared/lib/embed.js
index 03781e105..3c7c16bcf 100644
--- a/modules/shared/lib/embed.js
+++ b/modules/shared/lib/embed.js
@@ -218,6 +218,7 @@ function parseXML(sXML, sXMLFile, idMachine, sParms, fResolve, display, done)
done(sXML, xmlDoc);
};
if (sXML) {
+ if (PRIVATE) sXML = sXML.replace(/\/library.xml/, "/private/library.xml");
if (fResolve) {
resolveXML(sXML, display, buildXML);
return;
diff --git a/modules/shared/lib/private.js b/modules/shared/lib/private.js
new file mode 100644
index 000000000..dbcbe9c9b
--- /dev/null
+++ b/modules/shared/lib/private.js
@@ -0,0 +1,42 @@
+/**
+ * @fileoverview Definitions for PRIVATE configurations.
+ * @author Jeff Parsons
+ * @version 1.0
+ * Created 2016-Apr-14
+ *
+ * Copyright © 2012-2016 Jeff Parsons
+ *
+ * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines)
+ * at and .
+ *
+ * PCjs is free software: you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with PCjs. If not,
+ * see .
+ *
+ * You are required to include the above copyright notice in every source code file of every
+ * copy or modified version of this work, and to display that copyright notice on every screen
+ * that loads or runs any version of this software (see Computer.COPYRIGHT).
+ *
+ * Some PCjs files also attempt to load external resource files, such as character-image files,
+ * ROM files, and disk image files. Those external resource files are not considered part of the
+ * PCjs program for purposes of the GNU General Public License, and the author does not claim
+ * any copyright as to their contents.
+ */
+
+"use strict";
+
+/* global PRIVATE: true */
+
+/*
+ * PRIVATE enables certain private features that we don't want enabled on the public web server, so by default,
+ * PRIVATE is false. For Jekyll configurations, if site.pcjs.private is set, this file gets included, overriding
+ * the default.
+ */
+PRIVATE = true;
diff --git a/pubs/pc/software/tools/microsoft/c/5.00/README.md b/pubs/pc/software/tools/microsoft/c/5.00/README.md
new file mode 100644
index 000000000..28e918988
--- /dev/null
+++ b/pubs/pc/software/tools/microsoft/c/5.00/README.md
@@ -0,0 +1,10 @@
+---
+layout: page
+title: Microsoft C Optimizing Compiler 5.0 Documentation
+permalink: /pubs/pc/software/tools/microsoft/c/5.00/
+---
+
+Microsoft C Optimizing Compiler 5.0 Documentation
+---
+
+* [MSC 5.0 User's Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/c/5.00/MSC50-USERGUIDE.pdf)
diff --git a/pubs/pc/software/tools/microsoft/c/README.md b/pubs/pc/software/tools/microsoft/c/README.md
index 8933767f6..42f0051d3 100644
--- a/pubs/pc/software/tools/microsoft/c/README.md
+++ b/pubs/pc/software/tools/microsoft/c/README.md
@@ -8,4 +8,5 @@ Microsoft C Compiler
---
* [Microsoft C Compiler 4.0](4.00/)
+* [Microsoft C Optimizing Compiler 5.0](5.00/)
* [Microsoft C Optimizing Compiler 5.1](5.10/)
diff --git a/pubs/pc/software/tools/microsoft/masm/5.00/README.md b/pubs/pc/software/tools/microsoft/masm/5.00/README.md
index b87b916ab..92eef656d 100644
--- a/pubs/pc/software/tools/microsoft/masm/5.00/README.md
+++ b/pubs/pc/software/tools/microsoft/masm/5.00/README.md
@@ -8,7 +8,7 @@ Microsoft Macro Assembler 5.0 Manuals
---
* [MASM 5.0 Reference](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-POCKETREF.pdf)
-* [MASM 5.0 Mixed-Language Programming Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-PROGGUIDE.pdf)
+* [MASM 5.0 Mixed-Language Programming Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-MLPROGGUIDE.pdf)
* [MASM 5.0 CodeView and Utilities Guide](http://archive.pcjs.org/pubs/pc/software/tools/microsoft/masm/5.00/MASM50-UTILGUIDE.pdf)
Microsoft Macro Assembler 5.x Ephemera