More diagnostic output improvements

This commit is contained in:
Jeff Parsons 2017-06-28 17:51:15 -07:00 committed by Jeff Parsons
commit 51f8440e9b
40 changed files with 4462 additions and 4398 deletions

View file

@ -22,7 +22,7 @@ You can also browse our collection of archived disks:
* [Challenger 1P Disk Library](/disks/c1p/)
* [DEC Disk Library](/disks/dec/)
{% include_relative pcx86/apps.md %}
{% include_relative pcx86/README.md %}
---

View file

@ -1,67 +1,46 @@
---
layout: page
title: IBM PC Application Demos
permalink: /apps/pcx86/
---
IBM PC Application Demos
------------------------
{% include_relative apps.md %}
Below are selected [PCx86](/docs/about/pcx86/) demos of classic IBM PC applications. In many cases,
we've had to create our own "Demo Disks", because copies of the original distribution disks are difficult
to find, and in some cases (e.g., [Executive Suite](/apps/pcx86/1982/esuite/)), the original disks were
copy-protected, so we've been forced to use a "cracked" copy of the software instead.
---
A list of all the software available to PCx86 machines can be found in the [IBM PC Disk Library](/disks/pcx86/).
### Creating IBM PC Application Demos
### 1981
Demos in our [Application Archives](/apps/) combine
[Software Application Manifests](/apps/#software-application-manifests) with
[Machine Configurations](/devices/pcx86/machine/).
* [DONKEY.BAS](/apps/pcx86/1981/donkey/)
* [Microsoft Adventure](/disks/pcx86/games/microsoft/adventure/)
* [VisiCalc](/apps/pcx86/1981/visicalc/)
We'll use the [VisiCalc Demo](1981/visicalc/) as an example. First, we choose a machine configuration.
For VisiCalc, we chose a Model 5150 machine with a Monochrome Display, and then inserted a link to that machine
in the demo's [manifest](1981/visicalc/manifest.xml):
### 1982
```xml
<machine href="/devices/pcx86/machine/5150/mda/64kb/machine.xml"/>
```
* [Executive Suite](/apps/pcx86/1982/esuite/)
* [RatBas v2.13](/apps/pcx86/1982/ratbas/)
* [Zork I](/disks/pcx86/games/infocom/zork1/)
Next, the [manifest](1981/visicalc/manifest.xml) requires a disk image containing the VisiCalc program
(VC.COM). We used the [DiskDump](/modules/diskdump/) module to create that disk image:
### 1983
cd apps/pcx86/1981/visicalc
node ../../../../modules/diskdump/bin/diskdump --path="archive/VC.COM;../README.md" --format=json --output=disk.json --manifest
The DiskDump command created a disk image named "disk.json" containing two files ("VC.COM" from the "archive"
subdirectory, and "README.md" from the "archive" parent directory) and automatically added that disk image to the demo's
[manifest](1981/visicalc/manifest.xml):
* [Adventures in Math v1.00](/apps/pcx86/1983/adventmath/)
* [Planetfall](/disks/pcx86/games/infocom/planet/)
* [SuperCalc2 v1.00](/disks/pcx86/apps/other/sc2/1.00/)
* [SuperCalc3 v1.00](/disks/pcx86/apps/other/sc3/1.00/)
* [Zork II](/disks/pcx86/games/infocom/zork2/)
* [Zork III](/disks/pcx86/games/infocom/zork3/)
```xml
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pcx86/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
<file dir="../">README.md</file>
</disk>
```
### 1984
Now that the manifest contains a disk image, we were able to add the manifest to our set of
[Sample Disks](/disks/pcx86/samples.xml):
* [The Hitchhiker's Guide to the Galaxy](/disks/pcx86/games/infocom/hhiker/)
```xml
<manifest ref="/apps/pcx86/1981/visicalc/manifest.xml" disk="*"/>
```
### 1985
Next, we started a version of our chosen machine that's also configured to use the Debugger, by loading
the following **machine.xml** into a web browser (it's assumed the Node web server is already running on port 8088):
* [Rogue](/apps/pcx86/1985/rogue/)
http://localhost:8088/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml
### 1987
Then we booted DOS, loaded the VisiCalc disk, ran VisiCalc, pressed the Debugger's "Halt" button, pressed "Clear" to
clear the Debugger's output window, and typed the following Debugger command:
d state
* [ThinkTank v2.14](/apps/pcx86/1987/thinktank/)
We copied-and-pasted the entire contents of the Debugger's output window into a file named "state.json", and then
updated the &lt;machine&gt; entry in the [manifest](1981/visicalc/manifest.xml):
### 1992
```xml
<machine href="/devices/pcx86/machine/5150/mda/64kb/machine.xml" state="/apps/pcx86/1981/visicalc/state.json"/>
```
It's important to use a state file *only* with the machine configuration it was created with; in this case, we're OK,
because the only difference between the two chosen Model 5150 machines is the addition of the Debugger.
* [The Dungeons of Moria v5.5](/apps/pcx86/1992/moria/)

View file

@ -1,46 +0,0 @@
IBM PC Application Demos
------------------------
Below are selected [PCx86](/docs/about/pcx86/) demos of classic IBM PC applications. In many cases,
we've had to create our own "Demo Disks", because copies of the original distribution disks are difficult
to find, and in some cases (e.g., [Executive Suite](/apps/pcx86/1982/esuite/)), the original disks were
copy-protected, so we've been forced to use a "cracked" copy of the software instead.
A list of all the software available to PCx86 machines can be found in the [IBM PC Disk Library](/disks/pcx86/).
### 1981
* [DONKEY.BAS](/apps/pcx86/1981/donkey/)
* [Microsoft Adventure](/disks/pcx86/games/microsoft/adventure/)
* [VisiCalc](/apps/pcx86/1981/visicalc/)
### 1982
* [Executive Suite](/apps/pcx86/1982/esuite/)
* [RatBas v2.13](/apps/pcx86/1982/ratbas/)
* [Zork I](/disks/pcx86/games/infocom/zork1/)
### 1983
* [Adventures in Math v1.00](/apps/pcx86/1983/adventmath/)
* [Planetfall](/disks/pcx86/games/infocom/planet/)
* [SuperCalc2 v1.00](/disks/pcx86/apps/other/sc2/1.00/)
* [SuperCalc3 v1.00](/disks/pcx86/apps/other/sc3/1.00/)
* [Zork II](/disks/pcx86/games/infocom/zork2/)
* [Zork III](/disks/pcx86/games/infocom/zork3/)
### 1984
* [The Hitchhiker's Guide to the Galaxy](/disks/pcx86/games/infocom/hhiker/)
### 1985
* [Rogue](/apps/pcx86/1985/rogue/)
### 1987
* [ThinkTank v2.14](/apps/pcx86/1987/thinktank/)
### 1992
* [The Dungeons of Moria v5.5](/apps/pcx86/1992/moria/)

67
apps/pcx86/index.md Normal file
View file

@ -0,0 +1,67 @@
---
layout: page
title: IBM PC Application Demos
permalink: /apps/pcx86/
---
{% include_relative README.md %}
---
### Creating IBM PC Application Demos
Demos in our [Application Archives](/apps/) combine
[Software Application Manifests](/apps/#software-application-manifests) with
[Machine Configurations](/devices/pcx86/machine/).
We'll use the [VisiCalc Demo](1981/visicalc/) as an example. First, we choose a machine configuration.
For VisiCalc, we chose a Model 5150 machine with a Monochrome Display, and then inserted a link to that machine
in the demo's [manifest](1981/visicalc/manifest.xml):
```xml
<machine href="/devices/pcx86/machine/5150/mda/64kb/machine.xml"/>
```
Next, the [manifest](1981/visicalc/manifest.xml) requires a disk image containing the VisiCalc program
(VC.COM). We used the [DiskDump](/modules/diskdump/) module to create that disk image:
cd apps/pcx86/1981/visicalc
node ../../../../modules/diskdump/bin/diskdump --dir=archive/visicalc.81 --format=json --output=VISICALC1981.json --manifest
The DiskDump command creates a disk image named **VISICALC1981.json** containing the files the archive/visicalc.81
subdirectory (ie, **VC.COM**) and automatically added that disk image to the demo's [manifest](1981/visicalc/manifest.xml):
```xml
<disk id="disk01" chs="40:1:8" dir="archive/visicalc.81" href="/apps/pcx86/1981/visicalc/VISICALC1981.json" md5="5b77efdfb86aa747edb49811db75021d" md5json="b1a45cb769cf04daa259263a92bacf16">
<name>VisiCalc (1981)</name>
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
</disk>
```
Now that the manifest contains a disk image, we were able to add the manifest to our set of
[Sample Disks](/disks/pcx86/samples.xml):
```xml
<manifest ref="/apps/pcx86/1981/visicalc/manifest.xml"/>
```
Next, we started a version of our chosen machine that's also configured to use the Debugger, by loading
the following **machine.xml** into a web browser (it's assumed the Node web server is already running on port 8088):
http://localhost:8088/devices/pcx86/machine/5150/mda/64kb/debugger/machine.xml
Then we booted DOS, loaded the VisiCalc disk, ran VisiCalc, pressed the Debugger's "Halt" button, pressed "Clear" to
clear the Debugger's output window, and typed the following Debugger command:
d state
We copied-and-pasted the entire contents of the Debugger's output window into a file named "state.json", and then
updated the &lt;machine&gt; entry in the [manifest](1981/visicalc/manifest.xml):
```xml
<machine href="/devices/pcx86/machine/5150/mda/64kb/machine.xml" state="/apps/pcx86/1981/visicalc/state.json"/>
```
It's important to use a state file *only* with the machine configuration it was created with; in this case, we're OK,
because the only difference between the two chosen Model 5150 machines is the addition of the Debugger.