Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86
This commit is contained in:
parent
7c3aab2a7e
commit
288f28055d
1519 changed files with 16242 additions and 6939 deletions
|
|
@ -11,7 +11,7 @@ Documentation
|
|||
|
||||
Help is available for the following JavaScript Machines:
|
||||
|
||||
* [PCjs](/docs/pcjs/)
|
||||
* [PCjs](/docs/pcx86/)
|
||||
* [C1Pjs](/docs/c1pjs/)
|
||||
|
||||
{% if site.developer %}
|
||||
|
|
|
|||
|
|
@ -37,18 +37,18 @@ on the [OSI Discussion Forum](http://osiweb.org/osiforum/index.php) at [osiweb.o
|
|||
|
||||
### Emulating the IBM PC
|
||||
|
||||
The next JavaScript Machines simulation was [PCjs](/docs/about/pcjs/), which simulates the original IBM PC, IBM PC XT,
|
||||
and IBM PC AT. Browse the [source code](/modules/pcjs/) here or on [GitHub](https://github.com/jeffpar/pcjs).
|
||||
The next JavaScript Machines simulation was [PCx86](/docs/about/pcx86/), which simulates the original IBM PC, IBM PC XT,
|
||||
and IBM PC AT. Browse the [source code](/modules/pcx86/) here or on [GitHub](https://github.com/jeffpar/pcjs).
|
||||
|
||||
[PCjs](/docs/about/pcjs/) emulates the Intel 8088, 80186, 80286 and 80386 CPUs, as well as IBM Monochrome Display
|
||||
[PCx86](/docs/about/pcx86/) emulates the Intel 8088, 80186, 80286 and 80386 CPUs, as well as IBM Monochrome Display
|
||||
Adapter (MDA), Color Graphics Adapter (CGA), Enhanced Graphics Adapter (EGA), and Video Graphics Array (VGA) video
|
||||
cards, along with assorted motherboard and expansion bus components. It also includes an optional
|
||||
[Debugger](/docs/pcjs/debugger/) and a user-configurable [Control Panel](/docs/pcjs/panel/).
|
||||
[Debugger](/docs/pcx86/debugger/) and a user-configurable [Control Panel](/docs/pcx86/panel/).
|
||||
|
||||
PCjs v1.0 was released on [jsmachines.net](http://jsmachines.net/) in late 2012, and the JavaScript Machines Project,
|
||||
PCx86 v1.0 was released on [jsmachines.net](http://jsmachines.net/) in late 2012, and the JavaScript Machines Project,
|
||||
with its second full-featured machine emulation, was launched.
|
||||
|
||||
Read [About PCjs](/docs/about/pcjs/) to learn more about its history, features, and upcoming improvements.
|
||||
Read [About PCx86](/docs/about/pcx86/) to learn more about its history, features, and upcoming improvements.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ The goals included:
|
|||
The PCjs web server includes a number of custom Node modules that provide many of the same server-side features
|
||||
found on [jsmachines.net](http://jsmachines.net/), including new ROM and disk image conversion APIs, and a
|
||||
Markdown module that supports a subset of the [Markdown syntax](http://daringfireball.net/projects/markdown/syntax),
|
||||
including extensions to the link syntax that make it easy to embed C1Pjs and PCjs machine files in Markdown documents.
|
||||
including extensions to the link syntax that make it easy to embed C1Pjs and PCx86 machine files in Markdown documents.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,131 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: About PCjs
|
||||
permalink: /docs/about/pcjs/
|
||||
redirect_from:
|
||||
- /pc/
|
||||
- /pcjs/
|
||||
---
|
||||
|
||||
About PCjs
|
||||
---
|
||||
|
||||
PCjs is a IBM PC/XT/AT simulator written entirely in [JavaScript](/modules/pcjs/). It's designed to load and run
|
||||
fast, it works well in all modern web browsers (both desktop and mobile), and it's easy to customize. It is part of
|
||||
the [PCjs Project](https://github.com/jeffpar/pcjs), an open source project on [GitHub](http://github.com/).
|
||||
|
||||
Check out the [Demos](/#demos) on the home page, and all the other 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.
|
||||
|
||||
### Features
|
||||
|
||||
+ Build your own IBM PC, PC XT, and PC AT simulations using simple XML machine configuration files.
|
||||
You decide how much RAM you want, how many disk drives, which disk images to include (and which should be
|
||||
pre-loaded), what kind of video adapter (MDA, CGA, EGA or VGA), serial ports, mouse, and more. See the
|
||||
[Documentation](/docs/pcjs/) for details.
|
||||
|
||||
+ Excellent IBM hardware compatibility ensures all the original IBM BIOS ROMs operate properly, and that the
|
||||
machines run at their original speed. Even obsolete hardware, such as the original PC XT hard disk controller,
|
||||
is supported.
|
||||
|
||||
+ The CPU component is easily configured to emulate an 8088, 80186, 80286, or 80386. A target speed can also
|
||||
be specified, and in some cases, even specific CPU *steppings* (including specific errata) can be enabled.
|
||||
|
||||
+ Similarly, the FPU (floating-point) component can be configured to emulate an 8087, 80287, or 80387; however,
|
||||
only 8087 support is complete at this point.
|
||||
|
||||
+ The modular design allows you to specify which components to enable, and which external controls
|
||||
to display for each component. You can choose the size of the display window created by the [Video](/docs/pcjs/video/)
|
||||
component, add **Halt** or **Speed** buttons to the [CPU](/docs/pcjs/cpu/) component, display clickable "DIP Switches"
|
||||
for the [Chipset](/docs/pcjs/chipset/) component, or even design your own [Control Panel](/docs/pcjs/panel/).
|
||||
|
||||
+ The UI includes a responsive design that tailors itself to your browser and device, and support for touch events
|
||||
and soft keyboards means you get the best possible emulation experience -- better than any other browser-based
|
||||
emulator currently available. It almost feels like your DOS and Windows mouse-based applications have been rewritten
|
||||
to work with your iPad or iPhone -- almost. Please note, however, that some mobile devices provide better support than
|
||||
others.
|
||||
|
||||
+ A fully-integrated [Debugger](/docs/pcjs/debugger/) is available. Disassemble code, set breakpoints on
|
||||
memory write/read/execution addresses, dump and edit memory, dump disk sectors, enable/disable categories of diagnostic
|
||||
messages, and view instruction history, cycle counts and more. The Debugger does not rely on CPU breakpoint
|
||||
instructions or the trace flag, and does not alter the machine state in any way, allowing you to debug anything,
|
||||
including 8086 debuggers.
|
||||
|
||||
+ Machines created with the [Computer](/docs/pcjs/computer/) *resume* property set will save their entire machine
|
||||
state using your browser's local storage, so that any changes are preserved when your browser closes, including
|
||||
disk modifications. Any files you create or modify *inside* the machine will still be there when you return.
|
||||
TIP: To restore a diskette's original contents, simply press the "Download" button again.
|
||||
|
||||
+ Machine states can also be dumped (using the built-in [Debugger](/docs/pcjs/debugger/)), saved as JSON files, and
|
||||
pre-loaded into a machine, bypassing the normal boot process. You can even combine a pre-defined state with the
|
||||
"resume" feature, preserving any changes you make to the machine's original state.
|
||||
|
||||
+ Most modern web browsers are supported, including IE (v9.0 and higher), Edge, Safari, Firefox, Chrome and Opera,
|
||||
and no JavaScript extensions (typed arrays) or third-party libraries are required. Safari is recommended for iOS
|
||||
users, Chrome or Firefox for other platforms.
|
||||
|
||||
### Future
|
||||
|
||||
PCjs has been been steadily evolving for almost 4 years now, in much the same way that the PC architecture evolved,
|
||||
first with the 8088-based IBM PC in 1981, then with the 80286-based IBM PC AT in 1984, and finally the 80386 and the
|
||||
first 32-bit PC architecture introduced by COMPAQ in late 1986.
|
||||
|
||||
PCjs will remain focused on 1980's era hardware and software, so there are currently no plans to move beyond the
|
||||
80386. Some of the PCjs demos do include software from the 1990's (eg, DOS 5.0, Windows 3.x, and Windows 95), but the
|
||||
project's priority is older software, especially software that is difficult and sometimes impossible to run on newer
|
||||
hardware.
|
||||
|
||||
Some of the features planned for future releases include:
|
||||
|
||||
+ Improved FPU compatibility, with accurate cycle counts
|
||||
|
||||
+ Improved Video compatibility (eg, custom EGA and VGA fonts)
|
||||
|
||||
### History
|
||||
|
||||
A more [complete list of releases](https://github.com/jeffpar/pcjs/releases) is on GitHub, but here are some highlights:
|
||||
|
||||
+ v1.20 added 8087 coprocessor (FPU) support, [OS/2 improvements](http://www.pcjs.org/blog/2016/02/08/),
|
||||
and new Disk/Machine [Save Options](http://www.pcjs.org/blog/2016/02/17/).
|
||||
|
||||
+ v1.19 improved 80386 compatibility and added support for [Windows 95](http://www.pcjs.org/blog/2015/09/21/).
|
||||
|
||||
+ v1.18 added basic 80386 CPU functionality and [COMPAQ DeskPro 386](http://www.pcjs.org/blog/2015/04/16/) emulation.
|
||||
|
||||
+ v1.16 added support for [OS/2 1.0](http://www.pcjs.org/blog/2014/12/04/), the Microsoft/IBM multitasking operating
|
||||
system introduced in December 1987 for 80286-based machines.
|
||||
|
||||
+ v1.15 introduced [IBM PC AT](http://www.pcjs.org/blog/2014/09/13/) (Model 5170) emulation.
|
||||
|
||||
+ v1.14 added basic [EGA Support](http://www.pcjs.org/blog/2014/07/30/) and the ability to run Windows 1.01
|
||||
in color.
|
||||
|
||||
+ v1.13 introduced manifest files that describe software packages that can be used with PCjs.
|
||||
More information on software manifests is available [here](/apps/).
|
||||
|
||||
+ v1.12.1 coincided with the first release of the new PCjs web server running on [Node.js](http://nodejs.org).
|
||||
The new server includes ROM and disk image conversion APIs, as well as a
|
||||
[Markdown](http://daringfireball.net/projects/markdown/syntax) module that supports link extensions
|
||||
for embedding C1Pjs and PCjs machine files in Markdown documents and automatically converts "README.md"
|
||||
files into "index.html" web pages.
|
||||
|
||||
+ v1.11 improved the *embedPC()* and *embedC1P()* functions, so now you can embed XML machine configuration files
|
||||
that reference other configuration files, such as an external [Keyboard](/docs/pcjs/keyboard/) or
|
||||
[Control Panel](/docs/pcjs/panel/) XML layout. It does this by building the entire XML configuration internally,
|
||||
rather than relying on XSLT's *document()* function, which doesn't seem to work in all JavaScript XSLT processors.
|
||||
|
||||
+ v1.10 fixed embedding in Internet Explorer 11 (Microsoft removed "MSIE" from their default user-agent string).
|
||||
The ability to embed multiple PCs on a single web page is now supported as well.
|
||||
|
||||
+ v1.08 added soft-keyboard support, which isn't quite finished (sticky-shift and auto-repeat will be added in a future
|
||||
version), but it's good enough for use on iPads. Browse [IBM PC Machine Configurations](/devices/pc/machine/) for
|
||||
machines that include a soft-keyboard.
|
||||
|
||||
+ v1.06c added support for user-defined diskette images. Select "Remote Disk" from the diskette list, click
|
||||
"Download", and enter a URL at the prompt. See **Creating PCjs-Compatible Disk Images** in the
|
||||
[PCjs Documentation](/docs/pcjs/) for more information about supported disk images.
|
||||
|
||||
+ v1.05b added support for webkitAudioContext, bringing your simulated IBM PC's speaker to life. Relive the thrill
|
||||
of running MUSIC.BAS and listening to those classic tunes. *Sound support is still experimental*.
|
||||
|
|
@ -1,31 +1,33 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs Documentation
|
||||
permalink: /docs/pcjs/
|
||||
title: PCx86 Documentation
|
||||
permalink: /docs/pcx86/
|
||||
redirect_from:
|
||||
- /docs/pcjs/
|
||||
machines:
|
||||
- type: pc
|
||||
- type: pcx86
|
||||
id: ibm5150
|
||||
config: /devices/pc/machine/5150/mda/64kb/machine.xml
|
||||
config: /devices/pcx86/machine/5150/mda/64kb/machine.xml
|
||||
---
|
||||
|
||||
PCjs Documentation
|
||||
PCx86 Documentation
|
||||
---
|
||||
|
||||
[PCjs](/docs/about/pcjs/) is a full-featured IBM PC, PC XT and PC AT emulator written entirely in JavaScript.
|
||||
[PCx86](/docs/about/pcx86/) is a full-featured IBM PC, PC XT and PC AT emulator written entirely in JavaScript.
|
||||
|
||||
After you've read the Documentation, check out the [Examples](examples/), read the [Source Code](/modules/pcjs/),
|
||||
After you've read the Documentation, check out the [Examples](examples/), read the [Source Code](/modules/pcx86/),
|
||||
and experiment!
|
||||
|
||||
{% include machine.html id="ibm5150" %}
|
||||
|
||||
The [simulation](/devices/pc/machine/5150/mda/64kb/) above features an Intel 8088
|
||||
The [simulation](/devices/pcx86/machine/5150/mda/64kb/) above features an Intel 8088
|
||||
running at 4.77Mhz, with 64Kb of RAM and an IBM Monochrome Display Adapter. To create your
|
||||
own simulation, all you need is the PCjs script and a machine XML file, along with a couple
|
||||
own simulation, all you need is the PCx86 script and a machine XML file, along with a couple
|
||||
of XSL and CSS support files (included in the ZIP file below).
|
||||
|
||||
### Creating Machine XML Files
|
||||
|
||||
A PCjs machine XML file defines all a machine's components, including:
|
||||
A PCx86 machine XML file defines all a machine's components, including:
|
||||
|
||||
* [Chipset](chipset/)
|
||||
* [Computer](computer/)
|
||||
|
|
@ -110,12 +112,12 @@ file.
|
|||
|
||||
### Loading Machine XML Files
|
||||
|
||||
Inside a web page, add a <div> to contain the machine, load the *pc.js* script
|
||||
(*pc-dbg.js* if you need the PCjs [Debugger](debugger/)), and then call *embedPC()*:
|
||||
Inside a web page, add a <div> to contain the machine, load the *pcx86.js* script
|
||||
(*pcx86-dbg.js* if you need the PCx86 [Debugger](debugger/)), and then call *embedPC()*:
|
||||
|
||||
```xml
|
||||
<div id="example2"/>
|
||||
<script type="text/javascript" src="pc.js"/>
|
||||
<script type="text/javascript" src="pcx86.js"/>
|
||||
<script type="text/javascript">
|
||||
embedPC("example2", "example2.xml", "components.xsl");
|
||||
</script>
|
||||
|
|
@ -134,10 +136,10 @@ The first 3 parameters are required; the *parms* parameter is optional. If *par
|
|||
contain a single-quoted JSON object definition, with properties intended to override those specified in the
|
||||
machine XML file; eg:
|
||||
|
||||
'{messages:"warn",autoMount:{"A":{"path":"/disks/pc/dos/ibm/1.00/PCDOS100.json"}}}'
|
||||
'{messages:"warn",autoMount:{"A":{"path":"/disks/pcx86/dos/ibm/1.00/PCDOS100.json"}}}'
|
||||
|
||||
*components.xsl* (and the corresponding *components.css*) are included with the PCjs scripts in the
|
||||
[Examples](#running-pcjs-on-your-own-server) download. Every version of *components.xsl* has a corresponding
|
||||
*components.xsl* (and the corresponding *components.css*) are included with the PCx86 scripts in the
|
||||
[Examples](#running-pcx86-on-your-own-server) download. Every version of *components.xsl* has a corresponding
|
||||
*components.css*, which your web page should also load, usually with a <link> tag inside the <head>
|
||||
element; eg:
|
||||
|
||||
|
|
@ -145,13 +147,13 @@ element; eg:
|
|||
<link rel="stylesheet" type="text/css" href="components.css">
|
||||
```
|
||||
|
||||
### Using the PCjs Debugger
|
||||
### Using the PCx86 Debugger
|
||||
|
||||
To create a configuration that includes the PCjs Debugger, you need to:
|
||||
To create a configuration that includes the PCx86 Debugger, you need to:
|
||||
|
||||
- Add [Debugger](debugger/) and [Control Panel](panel/) components to the machine XML file;
|
||||
- Add debugger controls to the Control Panel, such as Run, Step, Reset, etc;
|
||||
- Change your web page to load *pc-dbg.js* instead of *pc.js*.
|
||||
- Change your web page to load *pcx86-dbg.js* instead of *pcx86.js*.
|
||||
|
||||
Take a look at the [example3a](examples/example3a.html) example
|
||||
(with [XML file](examples/example3a.xml)).
|
||||
|
|
@ -166,33 +168,33 @@ In fact, the [example3b](examples/example3b.html) example (with [XML file](examp
|
|||
does just that, using JSON dumps created from [example3a](examples/example3a.html) after starting VisiCalc.
|
||||
See the *state* property on the [Computer](computer/) component for more information on state files.
|
||||
|
||||
### Running PCjs On Your Own Server
|
||||
### Running PCx86 On Your Own Server
|
||||
|
||||
All of the examples described above are available for [download](examples/).
|
||||
|
||||
### Creating PCjs-Compatible Disk Images
|
||||
### Creating PCx86-Compatible Disk Images
|
||||
|
||||
If you have (or find) an IMG disk image file on a server, the PCjs web server provides a
|
||||
[DiskDump API](/api/v1/dump) via endpoint "/api/v1/dump" that creates PCjs-compatible disks in JSON:
|
||||
[DiskDump API](/api/v1/dump) via endpoint "/api/v1/dump" that creates PCx86-compatible disks in JSON:
|
||||
|
||||
{{ site.url }}/api/v1/dump?disk=(file|url)&format=json
|
||||
|
||||
For example, let's say you found a disk image online, such as:
|
||||
|
||||
http://archive.pcjs.org/disks/pc/dos/ibm/1.00/PCDOS100.img
|
||||
http://archive.pcjs.org/disks/pcx86/dos/ibm/1.00/PCDOS100.img
|
||||
|
||||
To convert it to a PCjs-compatible JSON format, issue the following
|
||||
[request](/api/v1/dump?disk=http://archive.pcjs.org/disks/pc/dos/ibm/1.00/PCDOS100.img&format=json),
|
||||
To convert it to a PCx86-compatible JSON format, issue the following
|
||||
[request](/api/v1/dump?disk=http://archive.pcjs.org/disks/pcx86/dos/ibm/1.00/PCDOS100.img&format=json),
|
||||
save the resulting JSON file to a folder on your server, and then update your machine XML file(s) to use that file.
|
||||
|
||||
{{ site.url }}/api/v1/dump?disk=http://archive.pcjs.org/disks/pc/dos/ibm/1.00/PCDOS100.img&format=json
|
||||
{{ site.url }}/api/v1/dump?disk=http://archive.pcjs.org/disks/pcx86/dos/ibm/1.00/PCDOS100.img&format=json
|
||||
|
||||
If necessary, you can also reverse the process and convert a JSON disk image back into an IMG file, with the
|
||||
this [request](/api/v1/dump?disk=http://www.pcjs.org/disks/pc/dos/ibm/1.00/PCDOS100.json&format=img):
|
||||
this [request](/api/v1/dump?disk=http://www.pcjs.org/disks/pcx86/dos/ibm/1.00/PCDOS100.json&format=img):
|
||||
|
||||
{{ site.url }}/api/v1/dump?disk={{ site.url }}/disks/pc/dos/ibm/1.00/PCDOS100.json&format=img
|
||||
{{ site.url }}/api/v1/dump?disk={{ site.url }}/disks/pcx86/dos/ibm/1.00/PCDOS100.json&format=img
|
||||
|
||||
Although PCjs will accept IMG disk image files, it must call the [DiskDump API](/api/v1/dump) to convert the image
|
||||
Although PCx86 will accept IMG disk image files, it must call the [DiskDump API](/api/v1/dump) to convert the image
|
||||
every time it's loaded, so it's *much* faster and more efficient to use pre-converted JSON-encoded disk images.
|
||||
|
||||
Remember that PC and PC XT machines supported only 160Kb diskettes (on any version of PC-DOS),
|
||||
|
|
@ -202,4 +204,4 @@ The 1.2Mb diskette format was introduced with the PC AT, and 720Kb and 1.44Mb di
|
|||
supported later on 8Mhz PC AT and PS/2 models. So, when using any of these larger formats, be sure you're
|
||||
also using a compatible machine configuration.
|
||||
|
||||
Learn more about PCjs disk images [here](/disks/).
|
||||
Learn more about PCx86 disk images [here](/disks/).
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <chipset> Element
|
||||
permalink: /docs/pcjs/chipset/
|
||||
title: PCx86 <chipset> Element
|
||||
permalink: /docs/pcx86/chipset/
|
||||
---
|
||||
|
||||
PCjs ChipSet Component
|
||||
PCx86 ChipSet Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -87,7 +87,7 @@ Attributes
|
|||
|
||||
yyyy-mm-ddThh:mm:ss
|
||||
|
||||
* Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
* Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -114,7 +114,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-chipset pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-chipset" data-value="id:'...',name:'...',model:'...',sw1:'...',sw2:'...'">
|
||||
<div class="pcx86-chipset" data-value="id:'...',name:'...',model:'...',sw1:'...',sw2:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -123,7 +123,7 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
||||
<!-- NOTE: I had to "escape" the hashmarks above, otherwise PhpStorm's Markdown plugin would preview them as
|
||||
headings; I think that's a bug in the plugin, because my reading of Markdown's syntax for the "Atx-style headers"
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <component> Element
|
||||
permalink: /docs/pcjs/component/
|
||||
title: PCx86 <component> Element
|
||||
permalink: /docs/pcx86/component/
|
||||
---
|
||||
|
||||
PCjs Component
|
||||
PCx86 Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -38,7 +38,7 @@ Attributes
|
|||
Example
|
||||
---
|
||||
```xml
|
||||
<component id="ibm5150" class="pcjs" width="740px" pos="center" border="1">
|
||||
<component id="ibm5150" class="pcx86" width="740px" pos="center" border="1">
|
||||
...
|
||||
</component>
|
||||
```
|
||||
|
|
@ -53,4 +53,4 @@ Output
|
|||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <computer> Element
|
||||
permalink: /docs/pcjs/computer/
|
||||
title: PCx86 <computer> Element
|
||||
permalink: /docs/pcx86/computer/
|
||||
---
|
||||
|
||||
PCjs Computer Component
|
||||
PCx86 Computer Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -62,7 +62,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-computer pc-component" style="">
|
||||
<div class="pc-container" style="">
|
||||
<div class="pcjs-computer" data-value="id:'...',name:'...',resume:'...',state:'...'">
|
||||
<div class="pcx86-computer" data-value="id:'...',name:'...',resume:'...',state:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -71,4 +71,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <cpu> Element
|
||||
permalink: /docs/pcjs/cpu/
|
||||
title: PCx86 <cpu> Element
|
||||
permalink: /docs/pcx86/cpu/
|
||||
---
|
||||
|
||||
PCjs CPU Component
|
||||
PCx86 CPU Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -33,7 +33,7 @@ Attributes
|
|||
* This can be set to "true" or "false" to explicitly control whether or not the machine starts running automatically.
|
||||
If this parameter is omitted, the machine will autostart only if no Debugger component is included and no "Run" button is defined.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*. The *id* attribute is optional, since machines
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*. The *id* attribute is optional, since machines
|
||||
currently support only one CPU component.
|
||||
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ Bindings
|
|||
* For use with a control of type *button*, to start/stop the CPU.
|
||||
* *reset*
|
||||
* For use with a control of type *button*, to reset the CPU. This binding actually belongs to the
|
||||
*[Computer](/docs/pcjs/computer/)* component, because every component is reset, but the CPU offers the binding
|
||||
*[Computer](/docs/pcx86/computer/)* component, because every component is reset, but the CPU offers the binding
|
||||
for convenience.
|
||||
* *speed*
|
||||
* For use with any control with an *textContent* property, to display the current CPU speed.
|
||||
|
|
@ -65,7 +65,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-cpu pc-component" style="">
|
||||
<div class="pc-container" style="">
|
||||
<div class="pcjs-cpu" data-value="id:'...',name:'...',model:'...',cycles:'...',multiplier:'...',autoStart:'...'">
|
||||
<div class="pcx86-cpu" data-value="id:'...',name:'...',model:'...',cycles:'...',multiplier:'...',autoStart:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -74,4 +74,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <debugger> Element
|
||||
permalink: /docs/pcjs/debugger/
|
||||
title: PCx86 <debugger> Element
|
||||
permalink: /docs/pcx86/debugger/
|
||||
---
|
||||
|
||||
PCjs Debugger Component
|
||||
PCx86 Debugger Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -23,7 +23,7 @@ Attributes
|
|||
* One or more message categories to enable, separated by |. By default, all message categories are disabled.
|
||||
See the Debugger's "m" command for a current list of message categories.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*. The *id* attribute is optional, since machines
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*. The *id* attribute is optional, since machines
|
||||
currently support only one Debugger component.
|
||||
|
||||
Bindings
|
||||
|
|
@ -51,7 +51,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-debugger pc-component" style="">
|
||||
<div class="pc-container" style="">
|
||||
<div class="pcjs-debugger" data-value="id:'...',name:'...',messages:'...'">
|
||||
<div class="pcx86-debugger" data-value="id:'...',name:'...',messages:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -60,4 +60,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,20 +1,21 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs Documentation Examples
|
||||
permalink: /docs/pcjs/examples/
|
||||
title: PCx86 Documentation Examples
|
||||
permalink: /docs/pcx86/examples/
|
||||
machines:
|
||||
- type: pc
|
||||
- type: pcx86
|
||||
id: example3
|
||||
config: /docs/pcjs/examples/example3b.xml
|
||||
config: /docs/pcx86/examples/example3b.xml
|
||||
redirect_from:
|
||||
- /docs/pcjs/demos/
|
||||
- /docs/pcjs/demos/sample1.html/
|
||||
- /docs/pcx86/demos/
|
||||
- /docs/pcx86/demos/sample1.html/
|
||||
---
|
||||
|
||||
PCjs Documentation Examples
|
||||
PCx86 Documentation Examples
|
||||
---
|
||||
|
||||
This folder provides all the self-contained [PCjs](/docs/about/pcjs/) examples described in the [Documentation](/docs/pcjs/).
|
||||
This folder provides all the self-contained [PCx86](/docs/about/pcx86/) examples described in the
|
||||
[Documentation](/docs/pcx86/).
|
||||
|
||||
To use them, download [examples.zip](examples.zip), unzip it into a folder on your desktop computer or web server,
|
||||
and experiment with them in your web browser. Since all these examples are self-contained, they should work with either
|
||||
|
|
@ -28,10 +29,11 @@ the "file:" or "http:" protocol.
|
|||
+ Feel free to copy/paste additional components from other machine XML files on [pcjs.org](http://www.pcjs.org/).
|
||||
+ Remember to display the appropriate attribution on anything you share publicly; e.g.:
|
||||
[PCjs](http://pcjs.org) © 2012-2016 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))
|
||||
+ Stay in sync with the [PCjs repository](https://github.com/jeffpar/pcjs), to keep your copy of PCjs up-to-date.
|
||||
+ Stay in sync with the [PCjs Project](https://github.com/jeffpar/pcjs) repository on GitHub, to keep your copy of PCjs
|
||||
up-to-date.
|
||||
|
||||
Have fun!
|
||||
|
||||
{% include machine.html id="example3" %}
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -13,11 +13,11 @@
|
|||
<xsl:variable name="CSSCLASS">pcjs</xsl:variable>
|
||||
<xsl:variable name="APPCLASS">pcjs</xsl:variable>
|
||||
<xsl:variable name="APPNAME">PCjs</xsl:variable>
|
||||
<xsl:variable name="APPVERSION">1.22.1</xsl:variable>
|
||||
<xsl:variable name="APPVERSION">1.23.0</xsl:variable>
|
||||
<xsl:variable name="SITEHOST">www.pcjs.org</xsl:variable>
|
||||
|
||||
<xsl:template name="componentStyles">
|
||||
<link rel="stylesheet" type="text/css" href="/versions/pcjs/1.22.1/components.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/versions/pcx86/1.23.0/components.css"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="componentScripts">
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<machine id="example1" class="pc" width="720px">
|
||||
<machine id="example1" class="pcx86" width="720px">
|
||||
<computer id="pc" name="IBM PC"/>
|
||||
<cpu id="cpu8088" model="8088" autostart="true"/>
|
||||
<ram id="ramLow" addr="0x00000" size="0x10000"/>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<machine id="example2" class="pc" width="720px">
|
||||
<machine id="example2" class="pcx86" width="720px">
|
||||
<computer id="pc" name="IBM PC"/>
|
||||
<ram id="ramLow" addr="0x00000" size="0x10000"/>
|
||||
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="ibm-basic-1.00.json"/>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<machine id="example3" class="pc" border="0" width="900px">
|
||||
<machine id="example3" class="pcx86" border="0" width="900px">
|
||||
<computer id="pc" name="IBM PC"/>
|
||||
<cpu id="cpu8088" model="8088" autoStart="true"/>
|
||||
<debugger id="debugger"/>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<machine id="example3" class="pc" width="720px">
|
||||
<machine id="example3" class="pcx86" width="720px">
|
||||
<computer id="pc" name="IBM PC" state="example3.json"/>
|
||||
<cpu id="cpu8088" model="8088" autoStart="true"/>
|
||||
<ram id="ramLow" addr="0x00000" size="0x10000"/>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <fdc> Element
|
||||
permalink: /docs/pcjs/fdc/
|
||||
title: PCx86 <fdc> Element
|
||||
permalink: /docs/pcx86/fdc/
|
||||
---
|
||||
|
||||
PCjs Floppy Drive Controller (FDC) Component
|
||||
PCx86 Floppy Drive Controller (FDC) Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -32,7 +32,7 @@ Attributes
|
|||
|
||||
'{A: {name: "PC-DOS 1.0", path: "pcdos-1.00.json"}}'
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -40,7 +40,7 @@ Bindings
|
|||
|
||||
For use with a control of type *list*. The list will be populated automatically with a series of <option>
|
||||
elements based on the number of floppy drives, as determined by the SW1 settings obtained from the
|
||||
[ChipSet](/docs/pcjs/chipset/) component.
|
||||
[ChipSet](/docs/pcx86/chipset/) component.
|
||||
|
||||
* *listDisks*
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-fdc pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-fdc" data-value="id:'...',name:'...',listDrives:'...',listDisks:'...',loadDrive:'...'">
|
||||
<div class="pcx86-fdc" data-value="id:'...',name:'...',listDrives:'...',listDisks:'...',loadDrive:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -81,4 +81,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <hdc> Element
|
||||
permalink: /docs/pcjs/hdc/
|
||||
title: PCx86 <hdc> Element
|
||||
permalink: /docs/pcx86/hdc/
|
||||
---
|
||||
|
||||
PCjs Hard Drive Controller (HDC) Component
|
||||
PCx86 Hard Drive Controller (HDC) Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -49,18 +49,18 @@ Attributes
|
|||
For the Xebec (*'xt'*) controller, you should install the Xebec ROM; eg:
|
||||
|
||||
```xml
|
||||
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
|
||||
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pcx86/hdc/ibm-xebec-1982.json"/>
|
||||
```
|
||||
|
||||
For the Western Digital (*'at'*) controller, use a Model 5170 (or newer) ROM module; eg:
|
||||
|
||||
```xml
|
||||
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1984-01-10/1984-01-10.json"/>
|
||||
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pcx86/rom/5170/1984-01-10/1984-01-10.json"/>
|
||||
```
|
||||
|
||||
The default *type* setting is *'xt'*.
|
||||
|
||||
* Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
* Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -77,7 +77,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-hdc pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-hdc" data-value="id:'...',name:'...',drives:'...'">
|
||||
<div class="pcx86-hdc" data-value="id:'...',name:'...',drives:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -86,4 +86,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <keyboard> Element
|
||||
permalink: /docs/pcjs/keyboard/
|
||||
title: PCx86 <keyboard> Element
|
||||
permalink: /docs/pcx86/keyboard/
|
||||
---
|
||||
|
||||
PCjs Keyboard Component
|
||||
PCx86 Keyboard Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -25,7 +25,7 @@ Attributes
|
|||
* us84: US keyboard with 84-key layout
|
||||
* us101: US keyboard with 101-key layout
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -47,7 +47,7 @@ Example
|
|||
<keyboard id="keyboard" model="us83"/>
|
||||
```
|
||||
|
||||
See [/devices/pc/keyboard/us83-softkeys.xml](/devices/pc/keyboard/us83-softkeys.xml) for an example that provides a
|
||||
See [/devices/pcx86/keyboard/us83-softkeys.xml](/devices/pcx86/keyboard/us83-softkeys.xml) for an example that provides a
|
||||
complete "soft keyboard".
|
||||
|
||||
Output
|
||||
|
|
@ -55,7 +55,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-keyboard pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-keyboard" data-value="id:'...',name:'...',model:'...',...">
|
||||
<div class="pcx86-keyboard" data-value="id:'...',name:'...',model:'...',...">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -64,4 +64,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <machine> Element
|
||||
permalink: /docs/pcjs/machine/
|
||||
title: PCx86 <machine> Element
|
||||
permalink: /docs/pcx86/machine/
|
||||
---
|
||||
|
||||
PCjs Machine Component
|
||||
PCx86 Machine Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -17,15 +17,15 @@ Purpose
|
|||
---
|
||||
Container for a complete machine definition.
|
||||
|
||||
Machines are components that contain other components. See [Component](/docs/pcjs/component/) for more details.
|
||||
Machines are components that contain other components. See [Component](/docs/pcx86/component/) for more details.
|
||||
|
||||
Attributes
|
||||
---
|
||||
* *class* (required)
|
||||
|
||||
For PCjs machines, this must be set to "pcjs", indicating the machine belongs to PCjs.
|
||||
For PCx86 machines, this must be set to "pcx86", indicating the machine belongs to the PCx86 application.
|
||||
|
||||
* Also supports the attributes of [Component](/docs/pcjs/component/). The *id* attribute is optional for a machine,
|
||||
* Also supports the attributes of [Component](/docs/pcx86/component/). The *id* attribute is optional for a machine,
|
||||
unless there is more than one machine on a page, in which case each machine must have a unique *id*.
|
||||
|
||||
Bindings
|
||||
|
|
@ -35,7 +35,7 @@ None.
|
|||
Example
|
||||
---
|
||||
```xml
|
||||
<machine id="ibm5150" class="pcjs" width="740px" pos="center" border="1" style="background-color:#FAEBD7">...</machine>
|
||||
<machine id="ibm5150" class="pcx86" width="740px" pos="center" border="1" style="background-color:#FAEBD7">...</machine>
|
||||
```
|
||||
|
||||
Output
|
||||
|
|
@ -48,4 +48,4 @@ Output
|
|||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <mouse> Element
|
||||
permalink: /docs/pcjs/mouse/
|
||||
title: PCx86 <mouse> Element
|
||||
permalink: /docs/pcx86/mouse/
|
||||
---
|
||||
|
||||
PCjs Mouse Component
|
||||
PCx86 Mouse Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -24,7 +24,7 @@ Attributes
|
|||
Specifies the id of the Serial component that the mouse must be connected to.
|
||||
|
||||
As support for more types of mouse hardware are added, new attributes will be added. Also supports the attributes
|
||||
of *[Component](/docs/pcjs/component/)*.
|
||||
of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -41,10 +41,10 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-mouse pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-mouse" data-value="id:'...',name:'...',serial:'...'>
|
||||
<div class="pcx86-mouse" data-value="id:'...',name:'...',serial:'...'>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <panel> Element
|
||||
permalink: /docs/pcjs/panel/
|
||||
title: PCx86 <panel> Element
|
||||
permalink: /docs/pcx86/panel/
|
||||
---
|
||||
|
||||
PCjs Control Panel Component
|
||||
PCx86 Control Panel Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -16,8 +16,8 @@ Format
|
|||
Purpose
|
||||
---
|
||||
Creates an instance of the Control Panel component, which simply acts as a container for controls that the
|
||||
machine wants to bind to the [Computer](/docs/pcjs/computer/), [CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/)
|
||||
and/or [Debugger](/docs/pcjs/debugger/) components.
|
||||
machine wants to bind to the [Computer](/docs/pcx86/computer/), [CPU](/docs/pcx86/cpu/), [Keyboard](/docs/pcx86/keyboard/)
|
||||
and/or [Debugger](/docs/pcx86/debugger/) components.
|
||||
|
||||
Attributes
|
||||
---
|
||||
|
|
@ -25,8 +25,8 @@ None.
|
|||
|
||||
Bindings
|
||||
---
|
||||
Refer to available bindings in the [Computer](/docs/pcjs/computer/), [CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/)
|
||||
and [Debugger](/docs/pcjs/debugger/) components.
|
||||
Refer to available bindings in the [Computer](/docs/pcx86/computer/), [CPU](/docs/pcx86/cpu/), [Keyboard](/docs/pcx86/keyboard/)
|
||||
and [Debugger](/docs/pcx86/debugger/) components.
|
||||
|
||||
Example
|
||||
---
|
||||
|
|
@ -44,14 +44,14 @@ Example
|
|||
</panel>
|
||||
```
|
||||
|
||||
See [/devices/pc/panel/default.xml](/devices/pc/panel/default.xml) for a more complete example.
|
||||
See [/devices/pcx86/panel/default.xml](/devices/pcx86/panel/default.xml) for a more complete example.
|
||||
|
||||
Output
|
||||
---
|
||||
```html
|
||||
<div id="..." class="pc-panel pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-panel" data-value="id:'...',name:'...'">
|
||||
<div class="pcx86-panel" data-value="id:'...',name:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -60,4 +60,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <parallel> Element
|
||||
permalink: /docs/pcjs/parallel/
|
||||
title: PCx86 <parallel> Element
|
||||
permalink: /docs/pcx86/parallel/
|
||||
---
|
||||
|
||||
PCjs ParallelPort Component
|
||||
PCx86 ParallelPort Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -30,7 +30,7 @@ Attributes
|
|||
For example, if you've defined a Control Panel with a <textarea> control bound to "print", specifying a
|
||||
binding of "print" for the Parallel Port component will bind its port to the same control.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -50,10 +50,10 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-parallel pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-parallel" data-value="id:'...',name:'...',adapter:'...',binding:'...'">
|
||||
<div class="pcx86-parallel" data-value="id:'...',name:'...',adapter:'...',binding:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <ram> Element
|
||||
permalink: /docs/pcjs/ram/
|
||||
title: PCx86 <ram> Element
|
||||
permalink: /docs/pcx86/ram/
|
||||
---
|
||||
|
||||
PCjs Random-Access Memory (RAM) Component
|
||||
PCx86 Random-Access Memory (RAM) Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -26,14 +26,14 @@ Attributes
|
|||
|
||||
* *size* (optional; default is 0x00000)
|
||||
|
||||
The amount of RAM, in bytes. If the size is omitted (or 0), the [ChipSet](/docs/pcjs/chipset/) component
|
||||
The amount of RAM, in bytes. If the size is omitted (or 0), the [ChipSet](/docs/pcx86/chipset/) component
|
||||
is queried for the amount of RAM indicated by SW1/SW2.
|
||||
|
||||
* *test* (optional; default is true)
|
||||
|
||||
Disables the ROM BIOS memory test when set to "false".
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -54,7 +54,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-ram pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-ram" data-value="id:'...',name:'...',addr:'...',size:'...',test:'...'">
|
||||
<div class="pcx86-ram" data-value="id:'...',name:'...',addr:'...',size:'...',test:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -63,4 +63,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <rom> Element
|
||||
permalink: /docs/pcjs/rom/
|
||||
title: PCx86 <rom> Element
|
||||
permalink: /docs/pcx86/rom/
|
||||
---
|
||||
|
||||
PCjs Read-Only Memory (ROM) Component
|
||||
PCx86 Read-Only Memory (ROM) Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -33,11 +33,11 @@ Attributes
|
|||
|
||||
* *notify* (optional)
|
||||
|
||||
The *id* of a component to notify when *file* has been loaded. For example, the *[Video](/docs/pcjs/video/)*
|
||||
The *id* of a component to notify when *file* has been loaded. For example, the *[Video](/docs/pcx86/video/)*
|
||||
component may need to know when an external video ROM has been loaded. Any component can load its own files,
|
||||
including ROM image files, but it's simpler to use the ROM component and request notification.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -46,7 +46,7 @@ None.
|
|||
Example
|
||||
---
|
||||
```xml
|
||||
<rom id="romBIOS" addr="0xfe000" size="0x02000" file="/devices/pc/rom/5150/bios/1981-04-24.json"/>
|
||||
<rom id="romBIOS" addr="0xfe000" size="0x02000" file="/devices/pcx86/rom/5150/bios/1981-04-24.json"/>
|
||||
```
|
||||
|
||||
Output
|
||||
|
|
@ -54,10 +54,10 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-rom pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-rom" data-value="id:'...',name:'...',addr:'...',size:'...',file:'...'">
|
||||
<div class="pcx86-rom" data-value="id:'...',name:'...',addr:'...',size:'...',file:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <serial> Element
|
||||
permalink: /docs/pcjs/serial/
|
||||
title: PCx86 <serial> Element
|
||||
permalink: /docs/pcx86/serial/
|
||||
---
|
||||
|
||||
PCjs SerialPort Component
|
||||
PCx86 SerialPort Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -30,7 +30,7 @@ Attributes
|
|||
For example, if you've defined a Control Panel with a <textarea> control bound to "print", specifying a
|
||||
binding of "print" for the Serial Port component will bind its port to the same control.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -50,10 +50,10 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-serial pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-serial" data-value="id:'...',name:'...',adapter:'...',binding:'...'">
|
||||
<div class="pcx86-serial" data-value="id:'...',name:'...',adapter:'...',binding:'...'">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
```
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: PCjs <video> Element
|
||||
permalink: /docs/pcjs/video/
|
||||
title: PCx86 <video> Element
|
||||
permalink: /docs/pcx86/video/
|
||||
---
|
||||
|
||||
PCjs Video Component
|
||||
PCx86 Video Component
|
||||
---
|
||||
|
||||
Format
|
||||
|
|
@ -30,7 +30,7 @@ Attributes
|
|||
* "cga" (Color Graphics Adapter)
|
||||
* "ega" (Enhanced Graphics Adapter)
|
||||
|
||||
If *model* is not set, the SW1 switch block settings from the [ChipSet](/docs/pcjs/chipset/) component will
|
||||
If *model* is not set, the SW1 switch block settings from the [ChipSet](/docs/pcx86/chipset/) component will
|
||||
determine the video model to use ("mda" or "cga" only).
|
||||
|
||||
* *screenWidth*, *screenHeight* (required)
|
||||
|
|
@ -63,7 +63,7 @@ Attributes
|
|||
true enables HTML5 canvas image smoothing, false disables it (if not specified, the browser's default is used);
|
||||
can also be present as a URL parameter.
|
||||
|
||||
Also supports the attributes of *[Component](/docs/pcjs/component/)*.
|
||||
Also supports the attributes of *[Component](/docs/pcx86/component/)*.
|
||||
|
||||
Bindings
|
||||
---
|
||||
|
|
@ -85,7 +85,7 @@ Output
|
|||
```html
|
||||
<div id="..." class="pc-video pc-component">
|
||||
<div class="pc-container">
|
||||
<div class="pcjs-video" data-value="...">
|
||||
<div class="pcx86-video" data-value="...">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -94,4 +94,4 @@ Output
|
|||
Also, if any controls are defined, another <div> of class="pc-controls" is created in the container <div>,
|
||||
with each control inside a <div> of class="pc-control".
|
||||
|
||||
[Return to [PCjs Documentation](..)]
|
||||
[Return to [PCx86 Documentation](..)]
|
||||
Loading…
Reference in a new issue