Home of the original IBM PC emulator for browsers.
Most PCx86 machines on pcjs.org run with a compiled version of PCx86, which is produced by running the PCx86 JavaScript source code through Google’s Closure Compiler, yielding a smaller (minified) version that loads and runs much faster than the original source code.
However, certain features are disabled in the compiled versions, including a new BACKTRACK feature that makes it possible to track the contents of memory locations and registers back to their source (eg, to a ROM or file location). Once the BACKTRACK feature is finished, it will be folded into the compiled code, but until then, the only way to experiment with it is by running the uncompiled code.
To make it easier to launch machines with uncompiled code, a PCx86 machine definition can now set uncompiled
to true, overriding the value of site.pcjs.compiled
in _config.yml.
Here’s what a typical Markdown file would look like:
---
...
machines:
- type: pcx86
id: at-ega-1024k-rev3
debugger: true
uncompiled: true
config: /devices/pcx86/machine/5170/ega/1024kb/rev3/debugger/visual/machine.xml
---
...
{% include machine.html id="at-ega-1024k-rev3" %}
In fact, that’s what we’ve done in the Markdown file you are reading right now.
[PCjs Machine "at-ega-1024k-rev3"]
Waiting for machine "at-ega-1024k-rev3" to load....
Jeff Parsons
Jan 17, 2015