pcjs/apps/pc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2015-12-13 15:55:36 -08:00
..
1981/visicalc Updated disk information 2015-12-13 15:29:09 -08:00
1982/esuite Updated disk information 2015-12-13 15:29:09 -08:00
1985/rogue Updated disk information 2015-12-13 15:29:09 -08:00
1987/thinktank Updated disk information 2015-12-13 15:29:09 -08:00
1988/moria Updated disk information 2015-12-13 15:29:09 -08:00
1992/moria Updated disk information 2015-12-13 15:29:09 -08:00
README.md More README updates 2015-12-13 15:55:36 -08:00

layout title menu_order permalink
page Apps 4 /apps/pc/

IBM PC Application Demos

Below are selected demos of classic IBM PC applications running on PCjs.

Additional software is available in the IBM PC Disk Archive.

Learn more about Application Demos in the PCjs Project on GitHub.

{% if page.developer %}

Developer Notes: How To Produce A Demo

We'll use the VisiCalc Demo as an example. First you must 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:

<machine href="/devices/pc/machine/5150/mda/64kb/machine.xml"/>

Next, the Manifest required a disk image containing the VisiCalc program (VC.COM). We used the DiskDump module to create that disk image:

cd apps/pc/1981/visicalc
node ../../../../modules/diskdump/bin/diskdump --path="static/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 "static" subdirectory, and "README.md" from the "static" parent directory) and automatically added that disk image to the demo's Manifest:

<disk id="disk01" size="163840" chs="40:1:8" dir="static/" href="/apps/pc/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>

Now that the manifest contains a disk image, we were able to add the manifest to our set of Sample Disks:

<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>

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/pc/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 <machine> entry in the Manifest:

<machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/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.

{% endif %}