diff --git a/README.md b/README.md index 3d0a35b05..3896668dd 100644 --- a/README.md +++ b/README.md @@ -32,19 +32,23 @@ Demos --- Some pre-configured machines are shown below, ready to run BASIC, DOS, Windows 1.01, and assorted non-DOS software. +![IBM PC running VisiCalc](/apps/pc/1981/visicalc/thumbnail.jpg "link:/apps/pc/1981/visicalc/:200:120") ![IBM PC running DONKEY.BAS](/devices/pc/machine/5150/cga/64kb/donkey/thumbnail.jpg "link:/devices/pc/machine/5150/cga/64kb/donkey/:200:120") ![IBM PC XT w/CGA, 10Mb Hard Drive](/devices/pc/machine/5160/cga/256kb/demo/thumbnail.jpg "link:/devices/pc/machine/5160/cga/256kb/demo/:200:120") -![IBM PC XT w/CGA, Windows 1.01](/devices/pc/machine/5160/cga/256kb/win101/thumbnail.jpg "link:/devices/pc/machine/5160/cga/256kb/win101/:200:120") -![IBM PC XT w/EGA, Windows 1.01](/devices/pc/machine/5160/ega/640kb/win101/thumbnail.jpg "link:/devices/pc/machine/5160/ega/640kb/win101/:200:120") ![IBM PC AT w/EGA, OS/2 1.0](/disks/pc/os2/ibm/1.0/thumbnail.jpg "link:/disks/pc/os2/ibm/1.0/:200:120") +![IBM PC XT w/CGA, Windows 1.01](/devices/pc/machine/5160/cga/256kb/win101/thumbnail.jpg "link:/devices/pc/machine/5160/cga/256kb/win101/:200:120") +![IBM PC XT w/EGA, Windows 1.01](/disks/pc/windows/1.01/thumbnail.jpg "link:/disks/pc/windows/1.01/:200:120") +![IBM PC AT w/EGA, Windows 3.00](/disks/pc/windows/3.00/thumbnail.jpg "link:/disks/pc/windows/3.00/:200:120") +![IBM PC AT w/VGA, Windows 3.10](/disks/pc/windows/3.10/thumbnail.jpg "link:/disks/pc/windows/3.10/:200:120") +![COMPAQ DeskPro 386, Windows 95](/disks/pc/windows/win95/4.00.950/thumbnail.jpg "link:/disks/pc/windows/win95/4.00.950/:200:120") ![IBM PC w/MDA, CP/M-86](/disks/pc/cpm/1.1b/thumbnail.jpg "link:/disks/pc/cpm/1.1b/:200:120") ![IBM PC w/MDA, Microsoft Adventure](/disks/pc/games/microsoft/adventure/thumbnail.jpg "link:/disks/pc/games/microsoft/adventure/:200:120") ![IBM PC w/CGA, Zork I](/disks/pc/games/infocom/zork1/thumbnail.jpg "link:/disks/pc/games/infocom/zork1/:200:120") Check out the rest of the PCjs [Application](/apps/pc/), [Disk](/disks/pc/), and [Machine](/devices/pc/machine/) demos, including an [IBM PC Dual Display System](/devices/pc/machine/5150/dual/64kb/) demo of multiple monitor support, -and [IBM PC XT "Server Array"](/devices/pc/machine/5160/cga/256kb/array/) and [Windows 1.01 "Server Array"](/devices/pc/machine/5160/ega/640kb/array/) -demos of multiple machines running side-by-side. +and "Server Array" demos of multiple [IBM PC XT](/devices/pc/machine/5160/cga/256kb/array/) and +[Windows 1.01](/devices/pc/machine/5160/ega/640kb/array/) machines running side-by-side. C1Pjs --- diff --git a/_includes/machine-engines.html b/_includes/machine-engines.html index d80e4634b..233aa9d78 100644 --- a/_includes/machine-engines.html +++ b/_includes/machine-engines.html @@ -4,7 +4,8 @@ in the Front Matter of Markdown files, for compatibility with the Jekyll web ser 'id' (eg, "ibm5150") 'name' (eg, "IBM PC (Model 5150) with Monochrome Display") - 'type' (eg, "pc" or "pc-dbg") + 'type' (eg, "pc" or "c1p") + 'debugger' (eg, true) 'config' (eg, "machine.xml") 'template' (eg, "machine.xsl") 'uncompiled' (eg, true) @@ -12,8 +13,8 @@ in the Front Matter of Markdown files, for compatibility with the Jekyll web ser And the following properties (along with any property not listed above) will be added to the 'parms' property: - 'autopower' (eg, "true") - 'automount' (eg, {"A":{"name":"OS/2 FOOTBALL Boot Disk (v7.68.17)","path":"/disks/pc/os2/misc/football/debugger/FOOTBALL-7.68.17.json"}}) + 'autoPower' (eg, "true") + 'autoMount' (eg, {"A":{"name":"OS/2 FOOTBALL Boot Disk (v7.68.17)","path":"/disks/pc/os2/misc/football/debugger/FOOTBALL-7.68.17.json"}}) 'state' (eg, "state.json") 'messages' (eg, "disk") @@ -22,11 +23,24 @@ here and in markout.js. Examples include 'autopower' ('autoPower') and 'automou {% endcomment %} {% for machine in page.machines %} - {% capture machine_embed %}embed{{ machine.type | remove:'-dbg' | upcase }}{% endcapture %} - {% if machine.autopower == nil %} - {% assign machine_autopower = "true" %} + {% capture machine_type %}{{ machine.type | remove:'-dbg' }}{% endcapture %} + {% if machine.debugger %} + {% capture machine_file %}{{ machine_type }}-dbg{% endcapture %} {% else %} - {% capture machine_autopower %}{{ machine.autopower }}{% endcapture %} + {% capture machine_file %}{{ machine.type }}{% endcapture %} + {% endif %} + {% capture machine_embed %}embed{{ machine_type | upcase }}{% endcapture %} + {% if machine.automount != nil %} + {% capture machine_autoMount %}{{ machine.automount|jsonify }}{% endcapture %} + {% else %} + {% capture machine_autoMount %}{{ machine.autoMount|jsonify }}{% endcapture %} + {% endif %} + {% if machine.autopower != nil %} + {% capture machine_autoPower %}{{ machine.autopower }}{% endcapture %} + {% elsif machine.autoPower != nil %} + {% capture machine_autoPower %}{{ machine.autoPower }}{% endcapture %} + {% else %} + {% assign machine_autoPower = "true" %} {% endif %} {% unless machine.config %} {% assign machine_config = "machine.xml" %} @@ -38,19 +52,19 @@ here and in markout.js. Examples include 'autopower' ('autoPower') and 'automou {% else %} {% assign machine_template = machine.template %} {% endunless %} - {% capture machine_parms %}{{ site.left_brace }}autoPower:{{ machine_autopower }},state:"{{ machine.state }}",autoMount:{{ machine.automount|jsonify }},messages:"{{ machine.messages }}"{{ site.right_brace }}{% endcapture %} + {% capture machine_parms %}{{ site.left_brace }}autoPower:{{ machine_autoPower }},state:"{{ machine.state }}",autoMount:{{ machine_autoMount }},messages:"{{ machine.messages }}"{{ site.right_brace }}{% endcapture %} {% if site.pcjs.compiled == true and machine.uncompiled != true %} - {% capture machine_script %}{% endcapture %} + {% capture machine_script %}{% endcapture %} {% unless machine_scripts contains machine_script %} {{ machine_script }} {% endunless %} {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% if machine_template == '' %} - {% capture machine_template %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/components.xsl{% endcapture %} + {% capture machine_template %}{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/components.xsl{% endcapture %} {% endif %} {% else %} - {% if machine.type == "pc" or machine.type == "pc-dbg" %}{% assign array_scripts = site.pcjs.pc_scripts %}{% endif %} - {% if machine.type == "c1p" or machine.type == "c1p-dbg" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %} + {% if machine_type == "pc" %}{% assign array_scripts = site.pcjs.pc_scripts %}{% endif %} + {% if machine_type == "c1p" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %} {% for script in array_scripts %} {% capture machine_script %}{% endcapture %} {% unless machine_scripts contains machine_script %} @@ -59,7 +73,7 @@ here and in markout.js. Examples include 'autopower' ('autoPower') and 'automou {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% endfor %} {% if machine_template == '' %} - {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine.type | remove:'-dbg' }}js/templates/components.xsl{% endcapture %} + {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %} {% endif %} {% endif %} diff --git a/_posts/2015-01-17-pcjs-uncompiled.md b/_posts/2015-01-17-pcjs-uncompiled.md index 8d4bcd51e..df2b0a98f 100644 --- a/_posts/2015-01-17-pcjs-uncompiled.md +++ b/_posts/2015-01-17-pcjs-uncompiled.md @@ -5,10 +5,11 @@ date: 2015-01-17 11:00:00 category: Features permalink: /blog/2015/01/17/ machines: - - type: pc-dbg + - type: pc id: at-ega-1152k-rev3 - config: /devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml + debugger: true uncompiled: true + config: /devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml --- Most machines on [{{ site.pcjs.domain }}](/) run with a compiled version of PCjs, which is produced @@ -29,10 +30,11 @@ Here's what a typical Markdown file would look like: --- ... machines: - - type: pc-dbg + - type: pc id: at-ega-1152k-rev3 - config: /devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml + debugger: true uncompiled: true + config: /devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml --- ... {% include machine.html id="at-ega-1152k-rev3" %} diff --git a/_posts/2015-01-28-new-pcjs-control-panel.md b/_posts/2015-01-28-new-pcjs-control-panel.md index 6179015bd..6665aafb2 100644 --- a/_posts/2015-01-28-new-pcjs-control-panel.md +++ b/_posts/2015-01-28-new-pcjs-control-panel.md @@ -5,8 +5,9 @@ date: 2015-01-28 11:00:00 category: Control Panel permalink: /blog/2015/01/28/ machines: - - type: pc-dbg + - type: pc id: at-ega-1152k-rev3 + debugger: true config: /devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml uncompiled: true --- diff --git a/_posts/2015-02-22-compaq-deskpro-386.md b/_posts/2015-02-22-compaq-deskpro-386.md index 194c1811a..9a9430f40 100644 --- a/_posts/2015-02-22-compaq-deskpro-386.md +++ b/_posts/2015-02-22-compaq-deskpro-386.md @@ -5,8 +5,9 @@ date: 2015-02-22 11:00:00 category: 80386 permalink: /blog/2015/02/22/ machines: - - type: pc-dbg + - type: pc id: deskpro386 + debugger: true config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml uncompiled: true --- diff --git a/_posts/2015-04-16-compaq-deskpro-386-update.md b/_posts/2015-04-16-compaq-deskpro-386-update.md index 59757f8a4..293bdd2e8 100644 --- a/_posts/2015-04-16-compaq-deskpro-386-update.md +++ b/_posts/2015-04-16-compaq-deskpro-386-update.md @@ -5,8 +5,9 @@ date: 2015-04-16 11:00:00 category: 80386 permalink: /blog/2015/04/16/ machines: - - type: pc-dbg + - type: pc id: deskpro386 + debugger: true config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml uncompiled: true --- diff --git a/_posts/2015-09-21-windows-95-in-your-web-browser.md b/_posts/2015-09-21-windows-95-in-your-web-browser.md index 0e0d63317..ac11bbf09 100644 --- a/_posts/2015-09-21-windows-95-in-your-web-browser.md +++ b/_posts/2015-09-21-windows-95-in-your-web-browser.md @@ -5,8 +5,9 @@ date: 2015-09-21 11:00:00 category: Windows 95 permalink: /blog/2015/09/21/ machines: - - type: pc-dbg + - type: pc id: deskpro386 + debugger: true config: /devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml --- diff --git a/_posts/2015-12-27-revisiting-os2.md b/_posts/2015-12-27-revisiting-os2.md index e6d28ec6e..b064f0ece 100644 --- a/_posts/2015-12-27-revisiting-os2.md +++ b/_posts/2015-12-27-revisiting-os2.md @@ -5,8 +5,9 @@ date: 2015-12-27 11:00:00 category: OS/2 permalink: /blog/2015/12/27/ machines: - - type: pc-dbg + - type: pc id: ibm5170 + debugger: true config: /disks/pc/os2/ibm/1.0/machine.xml --- diff --git a/_posts/2016-02-24-remembering-compaq.md b/_posts/2016-02-24-remembering-compaq.md index 7460999e6..6604a2131 100644 --- a/_posts/2016-02-24-remembering-compaq.md +++ b/_posts/2016-02-24-remembering-compaq.md @@ -61,22 +61,22 @@ Looking ahead to the day when PCjs will be able to simulate the original COMPAQ idea to create my own roughly chronological list of [COMPAQ Machines](/devices/pc/machine/compaq/) from the 1980s, since they are all machines I would like to see PCjs eventually support: - + COMPAQ Portable - + COMPAQ [Portable] Plus - + COMPAQ DeskPro - + COMPAQ DeskPro 286 - + COMPAQ Portable 286 - + COMPAQ Portable II - + [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/) - + COMPAQ Portable III - + COMPAQ DeskPro 386/20 - + COMPAQ Portable 386 - + COMPAQ DeskPro 386/25 - + COMPAQ DeskPro 386s - + COMPAQ DeskPro 386/20e - + COMPAQ SLT Series (SLT/286) - + COMPAQ DeskPro 386/33 - + COMPAQ LTE Series (LTE and LTE/286) + - COMPAQ Portable + - COMPAQ [Portable] Plus + - COMPAQ DeskPro + - COMPAQ DeskPro 286 + - COMPAQ Portable 286 + - COMPAQ Portable II + - [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/) + - COMPAQ Portable III + - COMPAQ DeskPro 386/20 + - COMPAQ Portable 386 + - COMPAQ DeskPro 386/25 + - COMPAQ DeskPro 386s + - COMPAQ DeskPro 386/20e + - COMPAQ SLT Series (SLT/286) + - COMPAQ DeskPro 386/33 + - COMPAQ LTE Series (LTE and LTE/286) It's hard to stop at this point, because COMPAQ produced other innovative 80386-based systems, like those in the LTE and LTE Lite series. But I think I need to stick to my original plan and draw a line at the end of the 1980s. diff --git a/apps/pc/1981/visicalc/screenshot.png b/apps/pc/1981/visicalc/screenshot.png new file mode 100644 index 000000000..a9e5f2084 Binary files /dev/null and b/apps/pc/1981/visicalc/screenshot.png differ diff --git a/devices/pc/keyboard/keyboard-minimal-arrows.xml b/devices/pc/keyboard/keyboard-minimal-arrows.xml index 051ed5326..0bc3f1eea 100644 --- a/devices/pc/keyboard/keyboard-minimal-arrows.xml +++ b/devices/pc/keyboard/keyboard-minimal-arrows.xml @@ -1,5 +1,5 @@ - + ESC F1 SysReq diff --git a/devices/pc/keyboard/keyboard-minimal-functions.xml b/devices/pc/keyboard/keyboard-minimal-functions.xml index 76abbe885..5424bdd60 100644 --- a/devices/pc/keyboard/keyboard-minimal-functions.xml +++ b/devices/pc/keyboard/keyboard-minimal-functions.xml @@ -1,5 +1,5 @@ - + ESC CTRL-C CTRL-ALT-DEL diff --git a/devices/pc/keyboard/keyboard-minimal.xml b/devices/pc/keyboard/keyboard-minimal.xml index f3ba3ddf6..a85d70bd1 100644 --- a/devices/pc/keyboard/keyboard-minimal.xml +++ b/devices/pc/keyboard/keyboard-minimal.xml @@ -1,5 +1,5 @@ - + ESC F1 F10 diff --git a/devices/pc/keyboard/keyboard-test.xml b/devices/pc/keyboard/keyboard-test.xml index 42b81ef7d..bda15b6cd 100644 --- a/devices/pc/keyboard/keyboard-test.xml +++ b/devices/pc/keyboard/keyboard-test.xml @@ -1,5 +1,5 @@ - + ESC F1 SysReq diff --git a/devices/pc/machine/5150/cga/384kb/softkbd/machine.md b/devices/pc/machine/5150/cga/384kb/softkbd/machine.md index 46478e42d..b757f1d0a 100644 --- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.md +++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.md @@ -3,8 +3,9 @@ layout: page title: "IBM PC (Model 5150, 384Kb) with Color Display and Soft Keyboard" permalink: /devices/pc/machine/5150/cga/384kb/softkbd/ machines: - - type: pc-dbg + - type: pc id: ibm5150 + debugger: true --- {% include machine.html id="ibm5150" %} diff --git a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml index df8667fbb..40aee89c5 100644 --- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml @@ -9,9 +9,9 @@