Moved the PCx86 examples from /docs to /apps
This commit is contained in:
parent
294ce6b5e7
commit
24c073a98e
28 changed files with 40 additions and 34 deletions
|
|
@ -630,7 +630,7 @@ module.exports = function(grunt) {
|
||||||
{
|
{
|
||||||
cwd: "versions/pcx86/<%= pkg.version %>/",
|
cwd: "versions/pcx86/<%= pkg.version %>/",
|
||||||
src: ["pcx86.js", "pcx86-dbg.js", "components.css", "components.xsl"],
|
src: ["pcx86.js", "pcx86-dbg.js", "components.css", "components.xsl"],
|
||||||
dest: "pubs/docs/pcx86/examples/",
|
dest: "apps/pcx86/examples/",
|
||||||
expand: true
|
expand: true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -706,7 +706,7 @@ module.exports = function(grunt) {
|
||||||
args: []
|
args: []
|
||||||
},
|
},
|
||||||
"zip-examples": {
|
"zip-examples": {
|
||||||
options: {cwd: "pubs/docs/pcx86/examples"},
|
options: {cwd: "apps/pcx86/examples"},
|
||||||
cmd: "./zip.sh",
|
cmd: "./zip.sh",
|
||||||
args: ["v" + pkg.version + ".zip"]
|
args: ["v" + pkg.version + ".zip"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ Developer Notes
|
||||||
|
|
||||||
The [PCjs repository](https://github.com/jeffpar/pcjs) on GitHub contains everything needed to run PCjs
|
The [PCjs repository](https://github.com/jeffpar/pcjs) on GitHub contains everything needed to run PCjs
|
||||||
computer simulations. All the PCjs emulators run in any modern web browser, with or without a web server,
|
computer simulations. All the PCjs emulators run in any modern web browser, with or without a web server,
|
||||||
and examples are provided for both [local](/docs/pcx86/examples/) and [remote](http://www.pcjs.org/) operation.
|
and examples are provided for both [local](/apps/pcx86/examples/) and [remote](http://www.pcjs.org/) operation.
|
||||||
|
|
||||||
The project includes:
|
The project includes:
|
||||||
|
|
||||||
|
|
@ -103,7 +103,7 @@ JavaScript files to your browser will work. However, instructions for doing tha
|
||||||
In fact, you can run PCjs simulations without a web server at all, using the "file:" protocol instead of "http:".
|
In fact, you can run PCjs simulations without a web server at all, using the "file:" protocol instead of "http:".
|
||||||
However, most of the machine configurations require additional resource files (ROMs, disk images, etc), which are
|
However, most of the machine configurations require additional resource files (ROMs, disk images, etc), which are
|
||||||
included in the project, but unless all the resource files are moved into a single directory (as they are in these
|
included in the project, but unless all the resource files are moved into a single directory (as they are in these
|
||||||
[Demos](/docs/pcx86/examples/)), your browser will probably be unable to load all of them, due to security restrictions.
|
[Examples](/apps/pcx86/examples/)), your browser will probably be unable to load all of them, due to security restrictions.
|
||||||
Using the bundled web server is the preferred solution.
|
Using the bundled web server is the preferred solution.
|
||||||
|
|
||||||
The project includes a large selection of disk images, and a powerful [DiskDump](modules/diskdump/) utility that
|
The project includes a large selection of disk images, and a powerful [DiskDump](modules/diskdump/) utility that
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,17 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: PCx86 Documentation Examples
|
title: PCx86 Examples
|
||||||
permalink: /docs/pcx86/examples/
|
permalink: /apps/pcx86/examples/
|
||||||
|
redirect_from:
|
||||||
|
- /docs/pcx86/examples/
|
||||||
machines:
|
machines:
|
||||||
- id: example3
|
- id: example3
|
||||||
type: pcx86
|
type: pcx86
|
||||||
config: /docs/pcx86/examples/example3b.xml
|
config: /apps/pcx86/examples/example3b.xml
|
||||||
---
|
---
|
||||||
|
|
||||||
PCx86 Documentation Examples
|
PCx86 Examples
|
||||||
----------------------------
|
--------------
|
||||||
|
|
||||||
This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the
|
This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the
|
||||||
[Documentation](/docs/pcx86/).
|
[Documentation](/docs/pcx86/).
|
||||||
|
|
@ -33,4 +35,4 @@ Have fun!
|
||||||
|
|
||||||
{% include machine.html id="example3" %}
|
{% include machine.html id="example3" %}
|
||||||
|
|
||||||
[Return to [PCx86 Documentation](..)]
|
[Return to [PCx86 Documentation](/docs/pcx86/)]
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<title>pcjs.org | /pubs/pcx86/examples/example1.html</title>
|
<title>pcjs.org | /apps/pcx86/examples/example1.html</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<link rel="stylesheet" type="text/css" href="components.css">
|
<link rel="stylesheet" type="text/css" href="components.css">
|
||||||
<script type="text/javascript" src="pcx86.js"></script>
|
<script type="text/javascript" src="pcx86.js"></script>
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<title>pcjs.org | /pubs/pcx86/examples/example2.html</title>
|
<title>pcjs.org | /apps/pcx86/examples/example2.html</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<link rel="stylesheet" type="text/css" href="components.css">
|
<link rel="stylesheet" type="text/css" href="components.css">
|
||||||
<script type="text/javascript" src="pcx86.js"></script>
|
<script type="text/javascript" src="pcx86.js"></script>
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<title>pcjs.org | /pubs/pcx86/examples/example3a.html</title>
|
<title>pcjs.org | /apps/pcx86/examples/example3a.html</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<link rel="stylesheet" type="text/css" href="components.css">
|
<link rel="stylesheet" type="text/css" href="components.css">
|
||||||
<script type="text/javascript" src="pcx86-dbg.js"></script>
|
<script type="text/javascript" src="pcx86-dbg.js"></script>
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<title>pcjs.org | /pubs/pcx86/examples/example3b.html</title>
|
<title>pcjs.org | /apps/pcx86/examples/example3b.html</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<link rel="stylesheet" type="text/css" href="components.css">
|
<link rel="stylesheet" type="text/css" href="components.css">
|
||||||
<script type="text/javascript" src="pcx86.js"></script>
|
<script type="text/javascript" src="pcx86.js"></script>
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: page
|
layout: page
|
||||||
title: C1Pjs Documentation
|
title: C1Pjs Documentation
|
||||||
permalink: /pubs/c1pjs/
|
permalink: /docs/c1pjs/
|
||||||
machines:
|
machines:
|
||||||
- id: c1p8kb
|
- id: c1p8kb
|
||||||
type: c1p-dbg
|
type: c1p-dbg
|
||||||
|
|
@ -9,11 +9,10 @@ machines:
|
||||||
redirect_from:
|
redirect_from:
|
||||||
- /c1p/
|
- /c1p/
|
||||||
- /c1pjs/
|
- /c1pjs/
|
||||||
- /docs/c1pjs/
|
|
||||||
---
|
---
|
||||||
|
|
||||||
C1Pjs Documentation
|
C1Pjs Documentation
|
||||||
---
|
-------------------
|
||||||
|
|
||||||
C1Pjs is a JavaScript simulation of the Challenger 1P, an 8-bit 6502-based microcomputer
|
C1Pjs is a JavaScript simulation of the Challenger 1P, an 8-bit 6502-based microcomputer
|
||||||
manufactured by Ohio Scientific in 1978. The base configuration included an 8Kb BASIC-in-ROM from Microsoft
|
manufactured by Ohio Scientific in 1978. The base configuration included an 8Kb BASIC-in-ROM from Microsoft
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ redirect_from:
|
||||||
---
|
---
|
||||||
|
|
||||||
Embedding The C1Pjs Simulator
|
Embedding The C1Pjs Simulator
|
||||||
---
|
-----------------------------
|
||||||
|
|
||||||
{% include machine.html id="c1p8kb" %}
|
{% include machine.html id="c1p8kb" %}
|
||||||
|
|
||||||
|
|
@ -36,7 +36,8 @@ Otherwise, read on to learn how embedding works, and how you can create your own
|
||||||
its appearance.
|
its appearance.
|
||||||
|
|
||||||
Step 1: Create a machine definition XML file
|
Step 1: Create a machine definition XML file
|
||||||
---
|
--------------------------------------------
|
||||||
|
|
||||||
You need an XML file that defines a Challenger configuration, listing all the components it will contain and where
|
You need an XML file that defines a Challenger configuration, listing all the components it will contain and where
|
||||||
they will be mapped into the address space.
|
they will be mapped into the address space.
|
||||||
|
|
||||||
|
|
@ -92,7 +93,8 @@ Want to embed *multiple* simulators on a single page? No problem. Each **<mac
|
||||||
a unique *id* attribute. Take a look at [array.xml](/devices/c1p/machine/8kb/array/) for an example.
|
a unique *id* attribute. Take a look at [array.xml](/devices/c1p/machine/8kb/array/) for an example.
|
||||||
|
|
||||||
Step 2: Make sure you have all the necessary resource files
|
Step 2: Make sure you have all the necessary resource files
|
||||||
---
|
-----------------------------------------------------------
|
||||||
|
|
||||||
In the above XML file, the ROM and Video components refer to additional resources:
|
In the above XML file, the ROM and Video components refer to additional resources:
|
||||||
|
|
||||||
- 8K BASIC ROM image @ http://www.pcjs.org/devices/c1p/rom/basic-gcpatch.hex
|
- 8K BASIC ROM image @ http://www.pcjs.org/devices/c1p/rom/basic-gcpatch.hex
|
||||||
|
|
@ -126,7 +128,8 @@ such as samples.xml:
|
||||||
```
|
```
|
||||||
|
|
||||||
Step 3: Add the C1Pjs Simulator to your web page
|
Step 3: Add the C1Pjs Simulator to your web page
|
||||||
---
|
------------------------------------------------
|
||||||
|
|
||||||
Somewhere on your page, you need to add the following **<script>** element:
|
Somewhere on your page, you need to add the following **<script>** element:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
|
|
@ -158,7 +161,8 @@ paste it into your machine definition file, inside a pair of **<panel *id*="p
|
||||||
elements, or link to it using a single **<panel/>** element with the *ref* attribute.
|
elements, or link to it using a single **<panel/>** element with the *ref* attribute.
|
||||||
|
|
||||||
Step 4: Activate the C1Pjs Simulator
|
Step 4: Activate the C1Pjs Simulator
|
||||||
---
|
------------------------------------
|
||||||
|
|
||||||
Add the following to your page's **<body>** element:
|
Add the following to your page's **<body>** element:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
|
|
@ -174,7 +178,8 @@ The **embedC1P()** function accepts three parameters:
|
||||||
parameter and use the default [XML stylesheet](/versions/c1pjs/1.34.0/components.xsl).
|
parameter and use the default [XML stylesheet](/versions/c1pjs/1.34.0/components.xsl).
|
||||||
|
|
||||||
Step 5: Enjoy!
|
Step 5: Enjoy!
|
||||||
---
|
--------------
|
||||||
|
|
||||||
All I ask is that any page that embeds the simulator also includes attribution, such as:
|
All I ask is that any page that embeds the simulator also includes attribution, such as:
|
||||||
|
|
||||||
> [PCjs](http://pcjs.org) © 2012-2017 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))
|
> [PCjs](http://pcjs.org) © 2012-2017 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@ through the 80386. The PCjs website provides a variety of "stock" configuration
|
||||||
at their original clock speed, or you can create your own, by mixing, matching, and reconfiguring any of the PCx86
|
at their original clock speed, or you can create your own, by mixing, matching, and reconfiguring any of the PCx86
|
||||||
components listed below.
|
components listed below.
|
||||||
|
|
||||||
After you've read the Documentation, check out the [Examples](examples/), browse the [Source Code](/modules/pcx86/),
|
After you've read the Documentation, check out the [Examples](/apps/pcx86/examples/),
|
||||||
and experiment!
|
browse the [Source Code](/modules/pcx86/), and experiment!
|
||||||
|
|
||||||
{% include machine.html id="ibm5150" %}
|
{% include machine.html id="ibm5150" %}
|
||||||
|
|
||||||
|
|
@ -77,7 +77,7 @@ Here's a simple machine XML definition that's more useful:
|
||||||
</machine>
|
</machine>
|
||||||
```
|
```
|
||||||
|
|
||||||
[Example 1](examples/example1.html) shows the [XML](examples/example1.xml) in action.
|
[Example 1](/apps/pcx86/examples/example1.html) shows the [XML](/apps/pcx86/examples/example1.xml) in action.
|
||||||
|
|
||||||
Machine definitions can also include visual elements. For example, we can include a **Run** button with the CPU component.
|
Machine definitions can also include visual elements. For example, we can include a **Run** button with the CPU component.
|
||||||
Note that as soon as the machine is ready and the CPU starts running, the **Run** button will change to **Halt**.
|
Note that as soon as the machine is ready and the CPU starts running, the **Run** button will change to **Halt**.
|
||||||
|
|
@ -111,7 +111,7 @@ disks at will, we'll include some UI controls.
|
||||||
</machine>
|
</machine>
|
||||||
```
|
```
|
||||||
|
|
||||||
[Example 2](examples/example2.html) shows the updated [XML](examples/example2.xml) in action.
|
[Example 2](/apps/pcx86/examples/example2.html) shows the updated [XML](/apps/pcx86/examples/example2.xml) in action.
|
||||||
|
|
||||||
### Loading Machine XML Files
|
### Loading Machine XML Files
|
||||||
|
|
||||||
|
|
@ -126,7 +126,7 @@ Inside a web page, add a <div> to contain the machine, load the *pcx86.js*
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
|
||||||
In fact, this is exactly what we did in [Example 2](examples/example2.html).
|
In fact, this is exactly what we did in [Example 2](/apps/pcx86/examples/example2.html).
|
||||||
|
|
||||||
*embedPCx86()* accepts 4 parameters:
|
*embedPCx86()* accepts 4 parameters:
|
||||||
|
|
||||||
|
|
@ -158,7 +158,7 @@ To create a configuration that includes the PCx86 Debugger, you need to:
|
||||||
- Add debugger controls to the Control Panel, such as Run, Step, Reset, etc;
|
- Add debugger controls to the Control Panel, such as Run, Step, Reset, etc;
|
||||||
- Change your web page to load *pcx86-dbg.js* instead of *pcx86.js*.
|
- Change your web page to load *pcx86-dbg.js* instead of *pcx86.js*.
|
||||||
|
|
||||||
Take a look at [Example 3A](examples/example3a.html) ([XML](examples/example3a.xml)).
|
Take a look at [Example 3A](/apps/pcx86/examples/example3a.html) ([XML](/apps/pcx86/examples/example3a.xml)).
|
||||||
|
|
||||||
The debugger gives you access to more capabilities than mere debugging. For example, you can use the **load**
|
The debugger gives you access to more capabilities than mere debugging. For example, you can use the **load**
|
||||||
command to load diskette sectors into memory ("l [addr] [drive #] ...") or the **dump** command to dump an entire
|
command to load diskette sectors into memory ("l [addr] [drive #] ...") or the **dump** command to dump an entire
|
||||||
|
|
@ -166,13 +166,13 @@ diskette as JSON ("d disk [drive #]"). You can also **halt** a machine ("h") an
|
||||||
("d state"). You can save that state in a .json file, and then use that state to initialize a new machine (as long as
|
("d state"). You can save that state in a .json file, and then use that state to initialize a new machine (as long as
|
||||||
it uses the same machine *id*).
|
it uses the same machine *id*).
|
||||||
|
|
||||||
In fact, [Example 3B](examples/example3b.html) ([XML](examples/example3b.xml))
|
In fact, [Example 3B](/apps/pcx86/examples/example3b.html) ([XML](/apps/pcx86/examples/example3b.xml))
|
||||||
does just that, using JSON dumps created from [Example 3A](examples/example3a.html) after starting VisiCalc.
|
does just that, using JSON dumps created from [Example 3A](/apps/pcx86/examples/example3a.html) after starting VisiCalc.
|
||||||
See the *state* property on the [Computer](computer/) component for more information on state files.
|
See the *state* property on the [Computer](computer/) component for more information on state files.
|
||||||
|
|
||||||
### Running PCx86 On Your Own Server
|
### Running PCx86 On Your Own Server
|
||||||
|
|
||||||
All of the examples described above are available for [download](examples/).
|
All of the examples described above are available for [download](/apps/pcx86/examples/).
|
||||||
|
|
||||||
### Creating PCx86-Compatible Disk Images
|
### Creating PCx86-Compatible Disk Images
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ adventures in PC debugging: decoding and disabling [dBASE III Copy-Protection](#
|
||||||
|
|
||||||
### dBASE III Copy-Protection
|
### dBASE III Copy-Protection
|
||||||
|
|
||||||
* [dBASE III Debugging Notes](/docs/personal/1984-09-16--DBASE_III_DEBUG.pdf)
|
* [dBASE III Debugging Notes](1984-09-16--DBASE_III_DEBUG.pdf)
|
||||||
* [dBASE III Patching Procedure](/docs/personal/1984-09-25--DBASE_III_PATCH.pdf)
|
* [dBASE III Patching Procedure](1984-09-25--DBASE_III_PATCH.pdf)
|
||||||
|
|
||||||
NOTE: Copies of the [dBASE III](/disks/pcx86/apps/other/dbase3/1.0/) disks can be found in our [IBM PC Disk Library](/disks/pcx86/).
|
NOTE: Copies of the [dBASE III](/disks/pcx86/apps/other/dbase3/1.0/) disks can be found in our [IBM PC Disk Library](/disks/pcx86/).
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue