Minor website tweaks

This commit is contained in:
Jeff Parsons 2016-10-22 10:16:29 -07:00 committed by Jeff Parsons
commit f88a2a2ae8
18 changed files with 41 additions and 24 deletions

View file

@ -10,7 +10,7 @@ includes:
* [C1Pjs](/docs/c1pjs/), an emulation of the 6502-based [Ohio Scientific Challenger 1P](/devices/c1p/)
* [PDPjs](/modules/pdp11/), a PDP-11 machine emulator currently in development (e.g., [PDP-11/20 and PDP-11/70](/devices/pdp11/machine/))
All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are
All PCjs machine simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are
required. Supported browsers include modern versions of Chrome, Safari, Firefox, Internet Explorer (v9.0 and up), Edge,
and assorted mobile browsers.

View file

@ -6,7 +6,7 @@ description: >
Welcome to PCjs, home of the original IBM PC in a web browser.
PCjs provides a variety of computer emulators written in JavaScript, including PCx86 for x86-based machines
(up through the 80386), C1Pjs for the 6502-based Ohio Scientific Challenger 1P, PC8080 for 8080-based machines
such as Space Invaders and the DEC VT100 Terminal, and PDPjs for PDP-11 machines like the 11/45 and 11/70.
such as Space Invaders and the DEC VT100 Terminal, and PDPjs for PDP-11 machines from the PDP-11/20 to the PDP-11/70.
PCjs also provides an archive of selected historical PC software, publications, and reference materials.
baseurl: "" # "/pcjs" when using http://jeffpar.github.io or "" when using http://www.pcjs.org
url: "http://www.pcjs.org" # "http://jeffpar.github.io" or "http://www.pcjs.org"
@ -33,7 +33,7 @@ gems:
pcjs:
domain: pcjs.org # whereas site.url is used for linking purposes, site.pcjs.domain is used for display purposes
version: 1.30.1 # IMPORTANT: keep pcjs.version in sync with package.json:version
version: 1.30.2 # IMPORTANT: keep pcjs.version in sync with package.json:version
compiled: true # by default, the compiled pcjs.version scripts will be used (eg, pcx86.js or pcx86-dbg.js)
c1p_scripts: # if pcjs.compiled is false, the following scripts will be included instead, in the order listed
- /modules/shared/lib/defines.js

View file

@ -51,7 +51,7 @@
<div class="footer-col footer-col-3">
<p class="text">
<span style="float:right"><a href="{{ site.url }}">{{ site.pcjs.domain }}</a> website © 2012-2016 by <a href="https://twitter.com/{{ site.twitter_username }}">@{{ site.twitter_username }}</a></span><br/>
<span style="float:right">PCjs and C1Pjs released under <a href="http://gnu.org/licenses/gpl.html">GPL version 3</a></span>
<span style="float:right">All PCjs machines released under <a href="http://gnu.org/licenses/gpl.html">GPL version 3</a></span>
</p>
</div>
</div>

View file

@ -15,7 +15,7 @@ machines:
models, and since it had no MMU, it was limited to a maximum of 56Kb of RAM (or as DEC would say, 28K words), since
the top 8Kb (or 4K words) of its 16-bit address space was reserved for UNIBUS devices.
The first PDPjs test of a PDP-11/20 configuration was attempting to run [PDP-11 BASIC](/apps/pdp11/tapes/basic/), by loading
The first PDPjs test of a PDP-11/20 machine was running [PDP-11 BASIC](/apps/pdp11/tapes/basic/), by loading
it directly into memory from the original paper tape image. This required changes to the [RAM](/modules/pdp11/lib/ram.js)
component, including a new *loadImage()* interface that understands DEC's paper tape format.

View file

@ -1,6 +1,8 @@
---
layout: page
title: Software Archives
menu_title: Software
menu_order: 7
permalink: /apps/
---

View file

@ -12,6 +12,9 @@ We have archived the following DEC PDP-11 Tapes:
- [Absolute Loader](absloader/)
- [BASIC (Single User)](basic/)
along with a copy of the [DEC PDP-11 Bootstrap Loader](bootstrap/), which is required if you actually want to
load any of the above tapes into memory using the [PC11 High-Speed Paper Tape Reader/Punch](/devices/pdp11/pc11/).
To make it easy for PDPjs machines to load these tapes, we created the following High-Speed
Paper Tape Reader (PC11) configurations:

View file

@ -2,14 +2,23 @@
layout: page
title: DEC PDP-11 BASIC
permalink: /apps/pdp11/tapes/basic/
machines:
- id: test1120
type: pdp11
debugger: true
autoMount: ''
config: /devices/pdp11/machine/1120/basic/debugger/machine.xml
---
DEC PDP-11 BASIC
----------------
To see DEC PDP-11 BASIC in action, try the [PDP-11/20 BASIC Demo](/devices/pdp11/machine/1120/basic/debugger/).
The first PCjs machine to run DEC PDP-11 BASIC was this [PDP-11/20](/devices/pdp11/machine/1120/basic/debugger/),
shown below.
PCjs has archived the following DEC PDP-11 BASIC resources:
{% include machine.html id="test1120" %}
PCjs has archived these DEC PDP-11 BASIC resources:
- [BASIC (Single User) Tape Image](DEC-11-AJPB-PB.json)
- [LISTING OF BASIC/PTS (March 1974)](http://archive.pcjs.org/pubs/dec/pdp11/basic/AB-2045B-SC_BASIC_PTS_Listing_Mar77.pdf)
@ -17,7 +26,7 @@ PCjs has archived the following DEC PDP-11 BASIC resources:
Third-party resources include:
- "[PDP-11 Paper Tape BASIC](http://www.avitech.com.au/ptb/ptb.html)", written March 24, 2013
- "[PDP-11 Paper Tape BASIC](http://www.avitech.com.au/ptb/ptb.html)", March 24, 2013
---

View file

@ -2,7 +2,7 @@
layout: blog
title: Blog
menu_title: Blog
menu_order: 2
menu_order: 1
permalink: /blog/
---

View file

@ -9,8 +9,12 @@ PC11 High-Speed Paper Tape Reader/Punch
PDPjs implements the PC11 component in [pc11.js](/modules/pdp11/lib/pc11.js).
A variety of [Paper Tape Images](/apps/pdp11/tapes/) have been archived, and they are typically collected in a
configuration file such as [demo.xml](demo.xml):
A selection of [Paper Tape Images](/apps/pdp11/tapes/) have been archived for use by PDPjs machines:
- [Bootstrap Loader Demo](/devices/pdp11/machine/1120/bootstrap/) (with [Debugger](/devices/pdp11/machine/1120/bootstrap/debugger/))
- [PDP-11/20 BASIC Demo](/devices/pdp11/machine/1120/basic/) (with [Debugger](/devices/pdp11/machine/1120/basic/debugger/))
The tape images are typically listed in a common configuration file that all machines can use, such as [demo.xml](demo.xml):
<?xml version="1.0" encoding="UTF-8"?>
<device id="pc11" type="pc11" baudReceive="9600" autoMount='{path:"/apps/pdp11/tapes/DEC-11-L2PC-PO.json"}' pos="left" width="35%" padLeft="8px" padBottom="8px">
@ -28,8 +32,3 @@ configuration file such as [demo.xml](demo.xml):
<control type="progress" binding="readProgress" pos="default" width="250px" padTop="8px">Tape Progress</control>
</control>
</device>
The above configuration is used by PDPjs machines such as:
- [Bootstrap Loader Demo](/devices/pdp11/machine/1120/bootstrap/) (with [Debugger](/devices/pdp11/machine/1120/bootstrap/debugger/))
- [PDP-11/20 BASIC Demo](/devices/pdp11/machine/1120/basic/) (with [Debugger](/devices/pdp11/machine/1120/basic/debugger/))

View file

@ -1,8 +1,6 @@
---
layout: page
title: Disk Libraries
menu_title: Disks
menu_order: 4
permalink: /disks/
---

View file

@ -2,7 +2,7 @@
layout: page
title: Documentation
menu_title: Docs
menu_order: 8
menu_order: 5
permalink: /docs/
---

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
@ -865,4 +866,4 @@ a):f("transformToFragment failed")):f("unable to transform XML: unsupported brow
function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)}
function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",w(a)):w("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=pb("Computer",a),e=pb("Debugger",a);if(d){var f=Qr(d,!0),g=d.U?JSON.stringify(d.U):null;b||(b="/versions/pcjs/1.30.2/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;Aa(b,null,!0,function(c,d,e){ws(c,d,e,[a,ja(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=pb("Computer",a),e=pb("Debugger",a);if(d){var f=Qr(d,!0),g=d.U?JSON.stringify(d.U):null;b||(b="/versions/pcx86/1.30.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;Aa(b,null,!0,function(c,d,e){ws(c,d,e,[a,ja(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
@ -683,4 +684,4 @@ a):f("transformToFragment failed")):f("unable to transform XML: unsupported brow
function Jn(a,b,c,d){if(!c&&b){d.push(b);a=Ua[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?sa(b,null,!0,function(a,b){Kn(b,d)}):Kn(null,d)}else r("Error ("+c+") requesting "+a)}
function Kn(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Ua[f],k={},m;for(m in h){var q=h[m],y=ha(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=ga(m)}else"xsl"==y&&(e=m=ga(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Aa(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",r(a)):r("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=Ya("Computer",a),e=Ya("Debugger",a);if(d){var f=zn(d,!0),g=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcjs/1.30.2/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Gj:g}))return!0;sa(b,null,!0,function(c,d,e){Jn(c,d,e,[a,ga(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=Ya("Computer",a),e=Ya("Debugger",a);if(d){var f=zn(d,!0),g=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcx86/1.30.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Gj:g}))return!0;sa(b,null,!0,function(c,d,e){Jn(c,d,e,[a,ga(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -20,7 +20,7 @@ includes:
* [C1Pjs](/docs/c1pjs/), an emulation of the 6502-based [Ohio Scientific Challenger 1P](/devices/c1p/)
* [PDPjs](/modules/pdp11/), a PDP-11 machine emulator currently in development (e.g., [PDP-11/20 and PDP-11/70](/devices/pdp11/machine/))
All PCjs computer simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are
All PCjs machine simulations are written entirely in [JavaScript](/modules/). No Flash, Java or other plugins are
required. Supported browsers include modern versions of Chrome, Safari, Firefox, Internet Explorer (v9.0 and up), Edge,
and assorted mobile browsers.

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
@ -865,4 +866,4 @@ a):f("transformToFragment failed")):f("unable to transform XML: unsupported brow
function ws(a,b,c,d){if(!c&&b){d.push(b);a=lb[d[0]];b=null;for(var e in a)if(ma(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Aa(b,null,!0,function(a,b){xs(b,d)}):xs(null,d)}else w("Error ("+c+") requesting "+a)}
function xs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=lb[f],k={},m;for(m in h){var n=h[m],t=ka(m);if("xml"==t){for(t=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=t.exec(h[m]);){var q=d[2];q&&(h[q]||(n=n.replace(d[0],"")))}d=m=ja(m)}else"xsl"==t&&(e=m=ja(m));k[m]=n}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Na(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",w(a)):w("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=pb("Computer",a),e=pb("Debugger",a);if(d){var f=Qr(d,!0),g=d.U?JSON.stringify(d.U):null;b||(b="/versions/pcjs/1.30.2/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;Aa(b,null,!0,function(c,d,e){ws(c,d,e,[a,ja(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=pb("Computer",a),e=pb("Debugger",a);if(d){var f=Qr(d,!0),g=d.U?JSON.stringify(d.U):null;b||(b="/versions/pcx86/1.30.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ok:g}))return!0;Aa(b,null,!0,function(c,d,e){ws(c,d,e,[a,ja(b,!0),g,f])});return!0}w("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/diskapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
@ -683,4 +684,4 @@ a):f("transformToFragment failed")):f("unable to transform XML: unsupported brow
function Jn(a,b,c,d){if(!c&&b){d.push(b);a=Ua[d[0]];b=null;for(var e in a)if(ia(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?sa(b,null,!0,function(a,b){Kn(b,d)}):Kn(null,d)}else r("Error ("+c+") requesting "+a)}
function Kn(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Ua[f],k={},m;for(m in h){var q=h[m],y=ha(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=ga(m)}else"xsl"==y&&(e=m=ga(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Aa(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",r(a)):r("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=Ya("Computer",a),e=Ya("Debugger",a);if(d){var f=zn(d,!0),g=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcjs/1.30.2/pc"+(e?"-dbg":"")+".js");if(c&&c({state:f,Gj:g}))return!0;sa(b,null,!0,function(c,d,e){Jn(c,d,e,[a,ga(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=Ya("Computer",a),e=Ya("Debugger",a);if(d){var f=zn(d,!0),g=d.L?JSON.stringify(d.L):null;b||(b="/versions/pcx86/1.30.2/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Gj:g}))return!0;sa(b,null,!0,function(c,d,e){Jn(c,d,e,[a,ga(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016

View file

@ -1,4 +1,5 @@
(function(){/*
http://pcjs.org/modules/shared/lib/nodebug.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2016
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2016