Merge branch 'master' into gh-pages

This commit is contained in:
Jeff Parsons 2016-04-30 08:40:11 -07:00
commit 267c87339b
327 changed files with 35954 additions and 1383 deletions

View file

@ -12,7 +12,7 @@ indent_style = space
indent_size = 8 indent_size = 8
trim_trailing_whitespace = true trim_trailing_whitespace = true
[*.{ASM,INC,asm,inc,nasm,lst}] [*.{ASM,INC,MAC,NASM,LST,asm,inc,mac,nasm,lst}]
indent_style = tab indent_style = tab
indent_size = 8 indent_size = 8
trim_trailing_whitespace = true trim_trailing_whitespace = true

1
.gitignore vendored
View file

@ -18,6 +18,7 @@ node_modules
archive/ archive/
c64/ c64/
ecp/ ecp/
projects/
private/ private/
src/ src/
tmp/ tmp/

View file

@ -118,12 +118,14 @@ module.exports = function(grunt) {
* @property {string} version * @property {string} version
* @property {Array.<string>} c1pJSFiles * @property {Array.<string>} c1pJSFiles
* @property {Array.<string>} pcJSFiles * @property {Array.<string>} pcJSFiles
* @property {Array.<string>} pc8080Files
* @property {Array.<string>} closureCompilerExterns * @property {Array.<string>} closureCompilerExterns
*/ */
var pkg = grunt.file.readJSON("package.json"); var pkg = grunt.file.readJSON("package.json");
var tmpC1Pjs = "./tmp/c1pjs/" + pkg.version + "/c1p.js"; var tmpC1Pjs = "./tmp/c1pjs/" + pkg.version + "/c1p.js";
var tmpPCjs = "./tmp/pcjs/" + pkg.version + "/pc.js"; var tmpPCjs = "./tmp/pcjs/" + pkg.version + "/pc.js";
var tmpPC8080 = "./tmp/pc8080/" + pkg.version + "/pc8080.js";
grunt.initConfig({ grunt.initConfig({
pkg: pkg, // pass the "package.json" object to initConfig() as a property, too pkg: pkg, // pass the "package.json" object to initConfig() as a property, too
@ -164,6 +166,19 @@ module.exports = function(grunt) {
src: pkg.pcJSFiles, src: pkg.pcJSFiles,
dest: "./versions/pcjs/" + pkg.version + "/pc-dbg.js" dest: "./versions/pcjs/" + pkg.version + "/pc-dbg.js"
}, },
"pc8080.js": {
src: pkg.pc8080Files,
dest: "./versions/pc8080/" + pkg.version + "/pc8080.js",
options: {
process: function(src, filepath) {
return (path.basename(filepath) == "debugger.js"? "" : src);
}
}
},
"pc8080-dbg.js": {
src: pkg.pc8080Files,
dest: "./versions/pc8080/" + pkg.version + "/pc8080-dbg.js"
},
"tmp-c1pjs": { "tmp-c1pjs": {
src: pkg.c1pJSFiles, src: pkg.c1pJSFiles,
dest: tmpC1Pjs, dest: tmpC1Pjs,
@ -185,7 +200,19 @@ module.exports = function(grunt) {
src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, ''); src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, '');
} }
} }
},
"tmp-pc8080": {
src: pkg.pc8080Files,
dest: tmpPC8080,
options: {
banner: '"use strict";\n\n',
process: function(src, filepath) {
return "// " + filepath + "\n\n" +
src.replace(/(^|\n)[ \t]*(['"])use strict\2;?\s*/g, '$1').replace(/[ \t]*if\s*\(NODE\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*if\s*\(typeof\s+(module|APP_PCJS)\s*!==\s*(['"])undefined\2\)\s*(\{[^}]*}|[^\n]*)(\n|$)/gm, '').replace(/[ \t]*[A-Za-z_][A-Za-z0-9_\.]*\.assert\([^\n]*\);[^\n]*/g, '');
}
}
} }
}, },
prepjs: { prepjs: {
options: { options: {
@ -201,6 +228,10 @@ module.exports = function(grunt) {
"pc.js": { "pc.js": {
src: pkg.pcJSFiles, src: pkg.pcJSFiles,
dest: tmpPCjs dest: tmpPCjs
},
"pc8080.js": {
src: pkg.pc8080Files,
dest: tmpPC8080
} }
}, },
closureCompiler: { closureCompiler: {
@ -290,7 +321,7 @@ module.exports = function(grunt) {
}, },
// src: pkg.pcJSFiles, // src: pkg.pcJSFiles,
src: tmpPCjs, src: tmpPCjs,
dest: "./versions/" + pkg.name + "/" + pkg.version + "/pc.js" dest: "./versions/pcjs/" + pkg.version + "/pc.js"
}, },
"pc-dbg.js": { "pc-dbg.js": {
/* /*
@ -305,7 +336,34 @@ module.exports = function(grunt) {
}, },
// src: pkg.pcJSFiles, // src: pkg.pcJSFiles,
src: tmpPCjs, src: tmpPCjs,
dest: "./versions/" + pkg.name + "/" + pkg.version + "/pc-dbg.js" dest: "./versions/pcjs/" + pkg.version + "/pc-dbg.js"
},
"pc8080.js": {
TEMPcompilerOpts: {
// create_source_map: "./tmp/pc8080/" + pkg.version + "/pc8080.map",
define: ["\"APPNAME='PC8080'\"", "\"APPVERSION='" + pkg.version + "'\"",
"\"SITEHOST='www.pcjs.org'\"", "COMPILED=true", "DEBUG=false", "DEBUGGER=false"],
// output_wrapper: "\"(function(){%output%})();//@ sourceMappingURL=/tmp/pc8080/" + pkg.version + "/pc8080.map\""
output_wrapper: "\"(function(){%output%})();\""
},
// src: pkg.pc8080Files,
src: tmpPC8080,
dest: "./versions/pc8080/" + pkg.version + "/pc8080.js"
},
"pc8080-dbg.js": {
/*
* Technically, this is the one case we don't need to override the default 'define' settings, but maybe it's best to be explicit.
*/
TEMPcompilerOpts: {
// create_source_map: "./tmp/pc8080/" + pkg.version + "/pc8080-dbg.map",
define: ["\"APPNAME='PC8080'\"", "\"APPVERSION='" + pkg.version + "'\"",
"\"SITEHOST='www.pcjs.org'\"", "COMPILED=true", "DEBUG=false", "DEBUGGER=true"],
// output_wrapper: "\"(function(){%output%})();//@ sourceMappingURL=/tmp/pc8080/" + pkg.version + "/pc8080-dbg.map\""
output_wrapper: "\"(function(){%output%})();\""
},
// src: pkg.pc8080Files,
src: tmpPC8080,
dest: "./versions/pc8080/" + pkg.version + "/pc8080-dbg.js"
} }
}, },
copy: { copy: {
@ -345,6 +403,25 @@ module.exports = function(grunt) {
} }
} }
}, },
"pc8080xsl": {
files: [
{
cwd: "modules/shared/templates/",
src: ["common.css", "common.xsl", "document.css", "document.xsl", "machine.xsl", "manifest.xsl", "outline.xsl"],
dest: "versions/pc8080/<%= pkg.version %>/",
expand: true
}
],
options: {
process: function(content, srcPath) {
var s = content.replace(/(<xsl:variable name="APPCLASS">)[^<]*(<\/xsl:variable>)/g, "$1pc8080$2");
s = s.replace(/(<xsl:variable name="APPVERSION">)[^<]*(<\/xsl:variable>)/g, "$1" + pkg.version + "$2");
s = s.replace(/"[^"]*\/?(common.css|common.xsl|components.css|components.xsl|document.css|document.xsl)"/g, '"/versions/pc8080/' + pkg.version + '/$1"');
s = s.replace(/[ \t]*\/\*[^\*][\s\S]*?\*\//g, "").replace(/[ \t]*<!--[^@]*?-->[ \t]*\n?/g, "");
return s;
}
}
},
"c1pjs": { "c1pjs": {
files: [ files: [
{ {
@ -365,7 +442,7 @@ module.exports = function(grunt) {
"pcjs": { "pcjs": {
files: [ files: [
{ {
cwd: "modules/pcjs/templates/", cwd: "modules/shared/templates/",
src: ["components.*"], src: ["components.*"],
dest: "versions/pcjs/<%= pkg.version %>/", dest: "versions/pcjs/<%= pkg.version %>/",
expand: true expand: true
@ -379,6 +456,24 @@ module.exports = function(grunt) {
} }
} }
}, },
"pc8080": {
files: [
{
cwd: "modules/shared/templates/",
src: ["components.*"],
dest: "versions/pc8080/<%= pkg.version %>/",
expand: true
}
],
options: {
process: function(content, srcPath) {
var s = content.replace(/(<xsl:variable name="APPCLASS">)[^<]*(<\/xsl:variable>)/g, "$1pc8080$2");
s = s.replace(/(<xsl:variable name="APPVERSION">)[^<]*(<\/xsl:variable>)/g, "$1" + pkg.version + "$2");
s = s.replace(/[ \t]*\/\*[^\*][\s\S]*?\*\//g, "").replace(/[ \t]*<!--[^@]*?-->[ \t]*\n?/g, "");
return s;
}
}
},
"examples": { "examples": {
files: [ files: [
{ {
@ -422,12 +517,13 @@ module.exports = function(grunt) {
var contentOrig = content; var contentOrig = content;
var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest; var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest;
while ((matchManifest = reManifest.exec(contentOrig))) { while ((matchManifest = reManifest.exec(contentOrig))) {
var sManifest = grunt.file.read(path.join('.', matchManifest[2])); var sFile = matchManifest[2];
var sManifest = grunt.file.read(path.join('.', sFile));
if (!sManifest) continue; if (!sManifest) continue;
var sDefaultName = "", match; var sDefaultName = "", match;
match = sManifest.match(/<title.*?>(.*?)<\/title>/); match = sManifest.match(/<title.*?>(.*?)<\/title>/);
if (match) { if (match) {
sDefaultName = match[1]; sDefaultName += match[1];
match = sManifest.match(/<version.*?>(.*?)<\/version>/); match = sManifest.match(/<version.*?>(.*?)<\/version>/);
if (match) sDefaultName += ' ' + match[1]; if (match) sDefaultName += ' ' + match[1];
} }
@ -498,7 +594,7 @@ module.exports = function(grunt) {
grunt.loadTasks("modules/grunts/prepjs/tasks"); grunt.loadTasks("modules/grunts/prepjs/tasks");
grunt.registerTask("preCompiler", grunt.option("rebuild")? ["concat:tmp-c1pjs", "concat:tmp-pcjs"] : ["newer:concat:tmp-c1pjs", "newer:concat:tmp-pcjs"]); grunt.registerTask("preCompiler", grunt.option("rebuild")? ["concat:tmp-c1pjs", "concat:tmp-pcjs", "concat:tmp-pc8080"] : ["newer:concat:tmp-c1pjs", "newer:concat:tmp-pcjs", "newer:concat:tmp-pc8080"]);
grunt.registerTask("compile", ["preCompiler", "closureCompiler", "replace:fix-source-maps"]); grunt.registerTask("compile", ["preCompiler", "closureCompiler", "replace:fix-source-maps"]);

View file

@ -3,12 +3,15 @@ PCjs: The Virtual IBM PC
Welcome to [PCjs](/docs/about/pcjs/), the first IBM PC simulation to run in your web browser without any plugins. Welcome to [PCjs](/docs/about/pcjs/), the first IBM PC simulation to run in your web browser without any plugins.
It was added to the [JavaScript Machines](/docs/about/) project in Fall 2012, and it is now part of the It was added to the [JavaScript Machines](/docs/about/) project in Fall 2012, and it is now part of the
[PCjs Project](https://github.com/jeffpar/pcjs) on GitHub. The project includes: [PCjs Project](https://github.com/jeffpar/pcjs) on GitHub.
* [PCjs](/docs/pcjs/), a simulation of the IBM PC and PC compatibles The project includes the following web-based emulators:
* [C1Pjs](/docs/c1pjs/), a simulation of the 6502-based OSI Challenger 1P
PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic machines, * [PCjs](/docs/pcjs/): an IBM PC and PC-compatible emulator
* [PC8080](/modules/pc8080/): an 8080-based machine emulation module
* [C1Pjs](/docs/c1pjs/): a simulation of the 6502-based OSI Challenger 1P
PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic x86 machines,
including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCjs fully supports including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCjs fully supports
the original machine original ROMs, video cards, etc, and all machines run at their original speeds. the original machine original ROMs, video cards, etc, and all machines run at their original speeds.
@ -151,7 +154,8 @@ Using the `--host` option makes it possible to access the web server from other
for example, you may want to run PCjs on your iPhone, iPad, or other wireless device. for example, you may want to run PCjs on your iPhone, iPad, or other wireless device.
Another useful variation is `--config _config.yml,_developer.yml` which uses the settings in `_developer.yml` Another useful variation is `--config _config.yml,_developer.yml` which uses the settings in `_developer.yml`
to override the defaults in `_config.yml`. to override the defaults in `_config.yml`. Using development (non-production) settings in `_developer.yml` is
analogous to running the Node web server with certain development options; see [Debugging PCjs](#debugging-pcjs).
GitHub Pages says you can run `jekyll serve` instead of `bundle exec jekyll serve`, but with the addition of GitHub Pages says you can run `jekyll serve` instead of `bundle exec jekyll serve`, but with the addition of
more gems to `Gemfile` (eg, `jekyll-sitemap`), running `jekyll serve` may trigger dependency errors on some systems. more gems to `Gemfile` (eg, `jekyll-sitemap`), running `jekyll serve` may trigger dependency errors on some systems.
@ -294,9 +298,10 @@ to the server, or both.
Debugging PCjs Debugging PCjs
--- ---
NOTE: The following information assumes you're running Node as your local web server, not Jekyll. You can still NOTE: The following information assumes you're running Node as your local web server, not Jekyll. You can certainly
debug PCjs while running Jekyll, using `http://localhost:4000/` and your favorite web browser's Developer Tools, debug PCjs while running Jekyll (ideally with `--config _config.yml,_developer.yml`), using `http://localhost:4000/`
but none of the special server or client features discussed below will be available. and your favorite web browser's Developer Tools, but none of the special server or client features discussed below
will be available.
### Server Components ### Server Components

View file

@ -32,7 +32,7 @@ gems:
pcjs: pcjs:
domain: pcjs.org # whereas site.url is used for linking purposes, site.pcjs.domain is used for display purposes domain: pcjs.org # whereas site.url is used for linking purposes, site.pcjs.domain is used for display purposes
version: 1.21.6 # IMPORTANT: keep pcjs.version in sync with package.json:version version: 1.21.7 # IMPORTANT: keep pcjs.version in sync with package.json:version
compiled: true # by default, the compiled pcjs.version scripts will be used (eg, pc.js or pc-dbg.js) compiled: true # by default, the compiled pcjs.version scripts will be used (eg, pc.js or pc-dbg.js)
pc_scripts: # if pcjs.compiled is false, the following scripts will be included instead, in the order listed pc_scripts: # if pcjs.compiled is false, the following scripts will be included instead, in the order listed
- /modules/shared/lib/defines.js - /modules/shared/lib/defines.js
@ -98,3 +98,31 @@ pcjs:
- /modules/c1pjs/lib/debugger.js - /modules/c1pjs/lib/debugger.js
- /modules/c1pjs/lib/computer.js - /modules/c1pjs/lib/computer.js
- /modules/shared/lib/embed.js - /modules/shared/lib/embed.js
pc8080_scripts:
- /modules/shared/lib/defines.js
- /modules/shared/lib/dumpapi.js
- /modules/shared/lib/reportapi.js
- /modules/shared/lib/userapi.js
- /modules/shared/lib/strlib.js
- /modules/shared/lib/usrlib.js
- /modules/shared/lib/weblib.js
- /modules/shared/lib/component.js
- /modules/pc8080/lib/defines.js
- /modules/pc8080/lib/cpudef.js
- /modules/pc8080/lib/messages.js
- /modules/pc8080/lib/panel.js
- /modules/pc8080/lib/bus.js
- /modules/pc8080/lib/memory.js
- /modules/pc8080/lib/cpu.js
- /modules/pc8080/lib/cpusim.js
- /modules/pc8080/lib/cpuops.js
- /modules/pc8080/lib/chipset.js
- /modules/pc8080/lib/rom.js
- /modules/pc8080/lib/ram.js
- /modules/pc8080/lib/keyboard.js
- /modules/pc8080/lib/video.js
- /modules/pc8080/lib/debugger.js
- /modules/pc8080/lib/state.js
- /modules/pc8080/lib/computer.js
- /modules/shared/lib/embed.js
- /modules/shared/lib/save.js

View file

@ -5,7 +5,7 @@ in the Front Matter of our Markdown documents, for compatibility with the Jekyll
'id' (eg, "ibm5150") 'id' (eg, "ibm5150")
'name' (eg, "IBM PC (Model 5150) with Monochrome Display") 'name' (eg, "IBM PC (Model 5150) with Monochrome Display")
'type' ("pc" or "c1p") 'type' (eg. "pc", "c1p", etc)
'debugger' (default is false) 'debugger' (default is false)
'config' (default is "machine.xml") 'config' (default is "machine.xml")
'template' (default is "machine.xsl") 'template' (default is "machine.xsl")
@ -34,6 +34,11 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
{% endcomment %} {% endcomment %}
{% for machine in page.machines %} {% for machine in page.machines %}
{% capture machine_type %}{{ machine.type | remove:"-dbg" }}{% endcapture %} {% capture machine_type %}{{ machine.type | remove:"-dbg" }}{% endcapture %}
{% if machine_type != "pc" and machine_type != "c1p" %}
{% capture machine_app %}{{ machine_type }}{% endcapture %}
{% else %}
{% capture machine_app %}{{ machine_type }}js{% endcapture %}
{% endif %}
{% if machine.debugger %} {% if machine.debugger %}
{% capture machine_file %}{{ machine_type }}-dbg{% endcapture %} {% capture machine_file %}{{ machine_type }}-dbg{% endcapture %}
{% else %} {% else %}
@ -88,17 +93,18 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
{% endunless %} {% endunless %}
{% capture machine_parms %}{{ site.left_brace }}autoMount:{{ machine_autoMount }}{{ machine_autoPower }}{{ machine_autoStart }}{{ machine_drives }},state:"{{ machine.state }}",messages:"{{ machine.messages }}"{{ site.right_brace }}{% endcapture %} {% capture machine_parms %}{{ site.left_brace }}autoMount:{{ machine_autoMount }}{{ machine_autoPower }}{{ machine_autoStart }}{{ machine_drives }},state:"{{ machine.state }}",messages:"{{ machine.messages }}"{{ site.right_brace }}{% endcapture %}
{% if site.pcjs.compiled == true and machine.uncompiled != true %} {% if site.pcjs.compiled == true and machine.uncompiled != true %}
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/{{ machine_file }}.js"></script>{% endcapture %} {% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}/versions/{{ machine_app }}/{{ site.pcjs.version }}/{{ machine_file }}.js"></script>{% endcapture %}
{% unless machine_scripts contains machine_script %} {% unless machine_scripts contains machine_script %}
{{ machine_script }} {{ machine_script }}
{% endunless %} {% endunless %}
{% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %}
{% if machine_template == "" %} {% if machine_template == "" %}
{% capture machine_template %}{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/components.xsl{% endcapture %} {% capture machine_template %}{{ site.baseurl }}/versions/{{ machine_app }}/{{ site.pcjs.version }}/components.xsl{% endcapture %}
{% endif %} {% endif %}
{% else %} {% else %}
{% if machine_type == "pc" %}{% assign array_scripts = site.pcjs.pc_scripts %}{% endif %}
{% if machine_type == "c1p" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %} {% if machine_type == "c1p" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %}
{% if machine_type == "pc" %}{% assign array_scripts = site.pcjs.pc_scripts %}{% endif %}
{% if machine_type == "pc8080" %}{% assign array_scripts = site.pcjs.pc8080_scripts %}{% endif %}
{% for script in array_scripts %} {% for script in array_scripts %}
{% if script != "/modules/shared/lib/nodebug.js" or machine.debug != true %} {% if script != "/modules/shared/lib/nodebug.js" or machine.debug != true %}
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}{{ script }}"></script>{% endcapture %} {% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}{{ script }}"></script>{% endcapture %}
@ -118,8 +124,12 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
{% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% if machine_template == "" %} {% if machine_template == "" %}
{% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %} {% if machine_app != "c1pjs" %}
{% capture machine_template %}{{ site.baseurl }}/modules/shared/templates/components.xsl{% endcapture %}
{% else %}
{% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_app }}/templates/components.xsl{% endcapture %}
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
<script type="text/javascript">{{ machine_embed }}('{{ machine.id }}','{{ machine_config }}','{{ machine_template }}','{{ machine_parms }}');</script> <script type="text/javascript">{{ machine_embed }}('{{ machine.id }}','{{ machine_config }}','{{ machine_template }}','{{ machine_parms }}');</script>

View file

@ -1,8 +1,18 @@
{% for machine in page.machines %} {% for machine in page.machines %}
{% capture machine_type %}{{ machine.type | remove:"-dbg" }}{% endcapture %}
{% if machine_type != "pc" and machine_type != "c1p" %}
{% capture machine_app %}{{ machine_type }}{% endcapture %}
{% else %}
{% capture machine_app %}{{ machine_type }}js{% endcapture %}
{% endif %}
{% unless site.pcjs.compiled == true and machine.uncompiled != true %} {% unless site.pcjs.compiled == true and machine.uncompiled != true %}
{% capture machine_style %}{{ site.baseurl }}/modules/{{ machine.type | remove:'-dbg' }}js/templates/components.css{% endcapture %} {% if machine_app != "c1pjs" %}
{% capture machine_style %}{{ site.baseurl }}/modules/shared/templates/components.css{% endcapture %}
{% else %}
{% capture machine_style %}{{ site.baseurl }}/modules/{{ machine_app }}/templates/components.css{% endcapture %}
{% endif %}
{% else %} {% else %}
{% capture machine_style %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/components.css{% endcapture %} {% capture machine_style %}{{ site.baseurl }}/versions/{{ machine_app }}/{{ site.pcjs.version }}/components.css{% endcapture %}
{% endunless %} {% endunless %}
{% unless machine_styles contains machine_style %} {% unless machine_styles contains machine_style %}
<link rel="stylesheet" type="text/css" href="{{ machine_style }}"> <link rel="stylesheet" type="text/css" href="{{ machine_style }}">

View file

@ -47,12 +47,8 @@ for example, models 5150 through 5170 refer to IBM PC models.
--- ---
The IBM BASIC ROMs require a bit more research. I'm a little unclear on the precise history of the BASIC ROMs and The project currently includes only two BASIC ROM versions, C1.00 and C1.10, which were initially released with the
exactly which version shipped with each IBM PC machine revision. first model 5150 and 5160 machines, respectively. For more details, see [IBM PC ROMs](/devices/pc/rom/).
The project currently includes only two BASIC ROM versions, 1.00 and 1.10, which were initially released with the
first model 5150 and 5160 machines, respectively. However, I've also read reports that later revisions of the model
5150 included BASIC ROM 1.10 as well.
I believe there was also a BASIC ROM version 1.20 released for IBM PCjr, but since PCjs does not yet emulate the PCjr, I believe there was also a BASIC ROM version 1.20 released for IBM PCjr, but since PCjs does not yet emulate the PCjr,
it has not been added to the project. it has not been added to the project.

View file

@ -0,0 +1,56 @@
---
layout: post
title: The Intel 8080 CPU
date: 2016-04-30 14:00:00
permalink: /blog/2016/04/30/
---
We'd like to introduce [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
PCjs Project.
Our first [8080 Test Machine](/devices/pc8080/machine/test/) loads a copy of the
[8080 Exerciser](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html)
(specifically, [8080EX1](/devices/pc8080/rom/test/8080EX1.MAC)) and intercepts the exerciser's CP/M console
calls so that you can see its progress in the Control Panel window. It's a "headless" test machine
(no keyboard or display), so that's all you get.
The good news: PC8080 passes all the 8080 Exerciser tests. And it doesn't do it by using all sorts of weird
"flags tables", which most other 8080 emulations seem to fall back on.
Like all the other CPU emulations in the PCjs Project, PC8080 never "calculates" the flags unless/until they are
actually required, which considerably speeds up arithmetic operations.
Of particular note are the 8080's subtract,
compare, and decrement operations, which actually perform addition, not subtraction, by using two's complement
arithmetic in "stages": the first stage (inverting the source operand) occurs *before* the addition, while the second
stage (incrementing the inverted operand) occurs *after* the addition. And it appears to be the result of the *first*
stage, not the second, that determines the state of the Auxiliary Carry flag (AF).
The behavior of the Auxiliary Carry flag (AF) and the associated DAA instruction are probably the most significant
(and least understood) *arithmetic* differences between the 8080 and all later x86-based CPUs. Well, there's also
the fact that the 8080 doesn't provide an Overflow flag (OF). Internally however, PC8080 retains the ability to
calculate overflow (since PC8080 was a fork of PCjs), which should be useful when we add Z80 support to PC8080.
On a related note, [Ken Shirriff](http://www.righto.com/) has some fascinating blog posts on the 8085 that also
provide clues as to how the 8080 likely operates:
* [Inside the ALU of the 8085 microprocessor (January 2013)](http://www.righto.com/2013/01/inside-alu-of-8085-microprocessor.html)
* [Silicon reverse engineering: The 8085's undocumented flags (February 2013)](http://www.righto.com/2013/02/looking-at-silicon-to-understanding.html)
* [The 8085's register file reverse engineered (March 2013)](http://www.righto.com/2013/03/register-file-8085.html)
* [Reverse-engineering the 8085's ALU and its hidden registers (July 2013)](http://www.righto.com/2013/07/reverse-engineering-8085s-alu-and-its.html)
* [Reverse-engineering the flag circuits in the 8085 processor (July 2013)](http://www.righto.com/2013/07/reverse-engineering-flag-circuits-in.html)
* [Reverse-engineering the 8085's decimal adjust circuitry (August 2013)](http://www.righto.com/2013/08/reverse-engineering-8085s-decimal.html)
The idea is to make [PC8080](/modules/pc8080/) sufficiently configurable so that it will work with a variety of
8080-based systems, including those with memory-mapped video displays (like
[Space Invaders](/devices/pc8080/machine/invaders/)), as well as simpler terminal-based systems, like the CP/M-based
systems of old.
In fact, as soon as Space Invaders is working, my next planned adaptation is a DEC VT100 terminal emulator (itself
an 8080-based machine) which can then be "wired up" to other PCjs machine simulations. This will not be yet-another
VT100-compatible emulation -- which, like 8080 emulators, has been done to death -- but rather a simulation
of the original VT100 hardware, building on [Adam Mayer's](https://github.com/phooky) work
[reverse-engineering the VT100](https://github.com/phooky/VT100-Hax).
*[@jeffpar](http://twitter.com/jeffpar)*
*April 30, 2016*

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>VisiCalc</title> <title>VisiCalc</title>
<!-- Since version numbers are incorporated into the disk image names, and this version number is a bit ugly, we're not exposing it with the normal "version" tag --> <!-- Since version numbers are incorporated into the disk image names, and this version number is a bit ugly, we're not exposing it with the normal "version" tag -->
@ -13,6 +13,7 @@
<license href="http://www.bricklin.com/history/vclicense.htm">Lotus Development</license> <license href="http://www.bricklin.com/history/vclicense.htm">Lotus Development</license>
<machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/> <machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/>
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f"> <disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
<name>Demo: VisiCalc (1981)</name>
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file> <file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
<file dir="../">README.md</file> <file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link> <link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>Executive Suite</title> <title>Executive Suite</title>
<version/> <version/>
@ -9,7 +9,7 @@
<releaseDate>1982</releaseDate> <releaseDate>1982</releaseDate>
<machine href="/devices/pc/machine/5160/mda/256kb/fake188/machine.xml" state="/apps/pc/1982/esuite/state.json"/> <machine href="/devices/pc/machine/5160/mda/256kb/fake188/machine.xml" state="/apps/pc/1982/esuite/state.json"/>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1982/esuite/disk.json" md5="7721a7bc9fcbd0005e7c1d87ecc055c5" md5json="dbf0a2c0176b8128d87e2465794764f4"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1982/esuite/disk.json" md5="7721a7bc9fcbd0005e7c1d87ecc055c5" md5json="dbf0a2c0176b8128d87e2465794764f4">
<name>Executive Suite (1982)</name> <name>Demo: Executive Suite (1982)</name>
<file size="384" time="2000-02-29 08:04:48" attr="0x20" md5="3e638560a5f483cdbd1be486b07c767e">ESUITE.COM</file> <file size="384" time="2000-02-29 08:04:48" attr="0x20" md5="3e638560a5f483cdbd1be486b07c767e">ESUITE.COM</file>
<file size="163840" time="2000-02-29 06:57:40" attr="0x20" md5="dcc72026cdc906109cf0e3b2d07ffd5d">GAME.DAT</file> <file size="163840" time="2000-02-29 06:57:40" attr="0x20" md5="dcc72026cdc906109cf0e3b2d07ffd5d">GAME.DAT</file>
<link href="http://www.mobygames.com/game/executive-suite">MobyGames</link> <link href="http://www.mobygames.com/game/executive-suite">MobyGames</link>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>Rogue</title> <title>Rogue</title>
<version/> <version/>
@ -13,7 +13,7 @@
<author>Jon Lane</author> <author>Jon Lane</author>
<author>Michael Toy</author> <author>Michael Toy</author>
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1985/rogue/disk.json" md5="91fab29636a7517e17eaa38b30ff156a" md5json="c531e9f249b20adad667a3c376e427c8"> <disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1985/rogue/disk.json" md5="91fab29636a7517e17eaa38b30ff156a" md5json="c531e9f249b20adad667a3c376e427c8">
<name>Rogue (1985)</name> <name>Demo: Rogue (1985)</name>
<file size="14016" time="1985-03-25 14:33:18" attr="0x20" md5="e8f7c7b97210f480c7b741a0d58951bd">MKOPT.EXE</file> <file size="14016" time="1985-03-25 14:33:18" attr="0x20" md5="e8f7c7b97210f480c7b741a0d58951bd">MKOPT.EXE</file>
<file size="2616" time="1995-09-01 18:46:18" attr="0x20" md5="275fd64a3502af22b56e23934c79e9ef">ROGUE.COM</file> <file size="2616" time="1995-09-01 18:46:18" attr="0x20" md5="275fd64a3502af22b56e23934c79e9ef">ROGUE.COM</file>
<file size="71520" time="1986-05-30 12:55:50" attr="0x20" md5="11cc922975d21f9a32812ff6c5ed3430">ROGUE.EXE</file> <file size="71520" time="1986-05-30 12:55:50" attr="0x20" md5="11cc922975d21f9a32812ff6c5ed3430">ROGUE.EXE</file>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>ThinkTank</title> <title>ThinkTank</title>
<version>2.41NP</version> <version>2.41NP</version>
@ -8,7 +8,7 @@
<company>Living Videotext</company> <company>Living Videotext</company>
<releaseDate>September 25, 1987</releaseDate> <releaseDate>September 25, 1987</releaseDate>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1987/thinktank/disk.json" md5="94053339672452fba42da85481893d68" md5json="bd39020bff244db9af3ac9eb656e7878"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1987/thinktank/disk.json" md5="94053339672452fba42da85481893d68" md5json="bd39020bff244db9af3ac9eb656e7878">
<name>ThinkTank 2.41NP</name> <name>Demo: ThinkTank (1987)</name>
<file size="6" time="2012-11-20 15:29:40" attr="0x20" md5="50b68f3f99eda119c661b2b50cb9f4de">AUTOEXEC.BAT</file> <file size="6" time="2012-11-20 15:29:40" attr="0x20" md5="50b68f3f99eda119c661b2b50cb9f4de">AUTOEXEC.BAT</file>
<file size="8192" time="2012-11-20 15:29:35" attr="0x20" md5="3355afbc122700f13647ee0d1bbf9ed7">READ_ME.DB</file> <file size="8192" time="2012-11-20 15:29:35" attr="0x20" md5="3355afbc122700f13647ee0d1bbf9ed7">READ_ME.DB</file>
<file size="512" time="2012-11-20 15:29:31" attr="0x20" md5="8b989397eb275032eb8cf929def9c6cc">READ_ME.SAV</file> <file size="512" time="2012-11-20 15:29:31" attr="0x20" md5="8b989397eb275032eb8cf929def9c6cc">READ_ME.SAV</file>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>The Dungeons of Moria</title> <title>The Dungeons of Moria</title>
<version>4.872</version> <version>4.872</version>
@ -15,7 +15,7 @@
<desc>MSDOS port</desc> <desc>MSDOS port</desc>
</author> </author>
<disk id="disk01" size="1228800" chs="80:2:15" dir="archive/" href="/apps/pc/1988/moria/disk.json" md5="7bb84a7ac4e9b03e8cd1e6753b1359fb" md5json="7630122397a57af2d0c767141af3817c"> <disk id="disk01" size="1228800" chs="80:2:15" dir="archive/" href="/apps/pc/1988/moria/disk.json" md5="7bb84a7ac4e9b03e8cd1e6753b1359fb" md5json="7630122397a57af2d0c767141af3817c">
<name>Moria v4.872</name> <name>Demo: Moria 4.872 (1988)</name>
<file size="11143" time="1988-11-01 00:00:00" attr="0x20" md5="dae278b77133f32949d0e8940f944c0d">CONFIG.DOC</file> <file size="11143" time="1988-11-01 00:00:00" attr="0x20" md5="dae278b77133f32949d0e8940f944c0d">CONFIG.DOC</file>
<file size="91154" time="1991-06-01 14:50:02" attr="0x20" md5="66593e83a2aa3870d7a9e8b43079ce42">GOD</file> <file size="91154" time="1991-06-01 14:50:02" attr="0x20" md5="66593e83a2aa3870d7a9e8b43079ce42">GOD</file>
<file size="91154" time="1991-06-01 15:13:50" attr="0x20" md5="4a7c6e2ddf649f9700786624aaa91199">MADNESS1</file> <file size="91154" time="1991-06-01 15:13:50" attr="0x20" md5="4a7c6e2ddf649f9700786624aaa91199">MADNESS1</file>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/manifest.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/manifest.xsl"?>
<manifest type="software"> <manifest type="software">
<title>The Dungeons of Moria</title> <title>The Dungeons of Moria</title>
<version>5.5</version> <version>5.5</version>
@ -93,7 +93,7 @@
<desc>Macintosh port for Think C</desc> <desc>Macintosh port for Think C</desc>
</contributor> </contributor>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/bin/" href="/apps/pc/1992/moria/disk.json" md5="da0023280238bc2ee9053ad2b9548816" md5json="1473be159bb5f9001db31c06b3a366c1"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/bin/" href="/apps/pc/1992/moria/disk.json" md5="da0023280238bc2ee9053ad2b9548816" md5json="1473be159bb5f9001db31c06b3a366c1">
<name>Moria 5.5</name> <name>Demo: Moria 5.5 (1992)</name>
<file size="6074" time="1992-11-01 23:15:36" attr="0x20" md5="078aca44b845ee8a787a324c1e827200">EXP.DOC</file> <file size="6074" time="1992-11-01 23:15:36" attr="0x20" md5="078aca44b845ee8a787a324c1e827200">EXP.DOC</file>
<file size="2560" time="1992-11-01 23:15:36" attr="0x20" md5="a5c8620efd0dc841956f9cdc2e46220a">MORIA.CNF</file> <file size="2560" time="1992-11-01 23:15:36" attr="0x20" md5="a5c8620efd0dc841956f9cdc2e46220a">MORIA.CNF</file>
<file size="49267" time="1992-11-01 23:15:36" attr="0x20" md5="32c9f15c70256f540f531675ad0e217f">MORIA1.TXT</file> <file size="49267" time="1992-11-01 23:15:36" attr="0x20" md5="32c9f15c70256f540f531675ad0e217f">MORIA1.TXT</file>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1psim" class="c1p" border="1" width="100%" padbottom="8px" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1psim" class="c1p" border="1" width="100%" padbottom="8px" background="#FAEBD7" style="padding-bottom:8px">
<name>OSI Challenger 1P (32Kb) with Disk Support</name> <name>OSI Challenger 1P (32Kb) with Disk Support</name>
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1pAll" class="c1p" border="1" width="100%" padbottom="8px" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1pAll" class="c1p" border="1" width="100%" padbottom="8px" background="#FAEBD7" style="padding-bottom:8px">
<name>OSI Challenger 1P (8Kb, Additional Software)</name> <name>OSI Challenger 1P (8Kb, Additional Software)</name>
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1pAll" class="c1p" border="1" pos="center" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1pAll" class="c1p" border="1" pos="center" background="#FAEBD7" style="padding-bottom:8px">
<name>OSI Challenger 1P (8Kb, Additional Software)</name> <name>OSI Challenger 1P (8Kb, Additional Software)</name>
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/outline.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/outline.xsl"?>
<outline> <outline>
<title>Challenger 1P (8Kb) "Server Array"</title> <title>Challenger 1P (8Kb) "Server Array"</title>
<machine id="OSI1" ref="/devices/c1p/machine/8kb/small/machine.xml"/> <machine id="OSI1" ref="/devices/c1p/machine/8kb/small/machine.xml"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1p8kb" class="c1p" border="1" width="100%" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1p8kb" class="c1p" border="1" width="100%" background="#FAEBD7" style="padding-bottom:8px">
<name>OSI Challenger 1P (8Kb) with Debugger</name> <name>OSI Challenger 1P (8Kb) with Debugger</name>
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1pLarge" class="c1p" border="1" pos="center" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1pLarge" class="c1p" border="1" pos="center" background="#FAEBD7" style="padding-bottom:8px">
<name pos="center">OSI Challenger 1P (circa 1978)</name> <name pos="center">OSI Challenger 1P (circa 1978)</name>
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.21.7/machine.xsl"?>
<machine id="c1pSmall" class="c1p" border="1" width="272px" pos="left" padding="16px" background="#FAEBD7" style="padding-bottom:8px"> <machine id="c1pSmall" class="c1p" border="1" width="272px" pos="left" padding="16px" background="#FAEBD7" style="padding-bottom:8px">
<computer id="c1p" name="Challenger 1P"> <computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/> <module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5150" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC (Model 5150), CGA, 384K</name> <name>IBM PC (Model 5150), CGA, 384K</name>
<computer id="pc-cga-384k" name="IBM PC"/> <computer id="pc-cga-384k" name="IBM PC"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name> <name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC" state="/devices/pc/machine/5150/cga/64kb/donkey/state.json"/> <computer id="pc-cga-64k" name="IBM PC" state="/devices/pc/machine/5150/cga/64kb/donkey/state.json"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name> <name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC" state="/devices/pc/machine/5150/cga/64kb/donkey/state.json"/> <computer id="pc-cga-64k" name="IBM PC" state="/devices/pc/machine/5150/cga/64kb/donkey/state.json"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5150" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC (Model 5150), CGA, 64K</name> <name>IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC"/> <computer id="pc-cga-64k" name="IBM PC"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150) with Dual Displays</name> <name pos="center">IBM PC (Model 5150) with Dual Displays</name>
<computer id="pc-dual-64k" name="IBM PC" resume="1"/> <computer id="pc-dual-64k" name="IBM PC" resume="1"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name> <name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
<computer id="pc-mda-64k" name="IBM PC"/> <computer id="pc-mda-64k" name="IBM PC"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name> <name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
<computer id="pc-mda-64k" name="IBM PC" resume="1"/> <computer id="pc-mda-64k" name="IBM PC" resume="1"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" background="white"> <machine id="ibm5150" class="pc" border="1" pos="center" background="white">
<name>IBM PC (Model 5150), MDA, 64K</name> <name>IBM PC (Model 5150), MDA, 64K</name>
<computer id="pc-mda-64k" name="IBM PC"/> <computer id="pc-mda-64k" name="IBM PC"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white">
<name pos="center">IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT"/> <computer id="xt-cga-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT" resume="1"/> <computer id="xt-cga-256k" name="IBM PC XT" resume="1"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT" resume="1"/> <computer id="xt-cga-256k" name="IBM PC XT" resume="1"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name> <name>IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT"/> <computer id="xt-cga-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160) running Windows 1.01</name> <name pos="center">IBM PC XT (Model 5160) running Windows 1.01</name>
<computer id="xt-cga-win101" name="IBM PC XT" state="/devices/pc/machine/5160/cga/256kb/win101/state.json" resume="1"/> <computer id="xt-cga-win101" name="IBM PC XT" state="/devices/pc/machine/5160/cga/256kb/win101/state.json" resume="1"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160) running Windows 1.01</name> <name pos="center">IBM PC XT (Model 5160) running Windows 1.01</name>
<computer id="xt-cga-win101" name="IBM PC XT" state="/devices/pc/machine/5160/cga/256kb/win101/state.json"/> <computer id="xt-cga-win101" name="IBM PC XT" state="/devices/pc/machine/5160/cga/256kb/win101/state.json"/>
@ -16,7 +16,7 @@
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/> <keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
<chipset id="chipset" model="5160" sw1="01001001"/> <chipset id="chipset" model="5160" sw1="01001001"/>
<hdc ref="/disks/pc/fixed/10mb/pcdos200-win101-cga.xml"/> <hdc ref="/disks/pc/fixed/10mb/pcdos200-win101-cga.xml"/>
<serial id="com1" adapter="1" binding="print"/> <serial id="com1" adapter="1"/>
<serial id="com2" adapter="2"/> <serial id="com2" adapter="2"/>
<mouse serial="com2"/> <mouse serial="com2"/>
</machine> </machine>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC XT (Model 5160), CGA, 256K, Windows 1.01</name> <name>IBM PC XT (Model 5160), CGA, 256K, Windows 1.01</name>
<computer id="xt-cga-256k" name="IBM PC XT"/> <computer id="xt-cga-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC XT (Model 5160), CGA, 512K, WIN101</name> <name>IBM PC XT (Model 5160), CGA, 512K, WIN101</name>
<computer id="xt-cga-512k" name="IBM PC XT"/> <computer id="xt-cga-512k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/> <computer id="xt-cga-640k" name="IBM PC XT"/>
@ -13,9 +13,14 @@
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/> <keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
<debugger id="debugger"/> <debugger id="debugger"/>
<panel ref="/devices/pc/panel/wide.xml"/> <panel ref="/devices/pc/panel/wide.xml"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'>
<control type="button" binding="saveHD0">Save HD</control>
</hdc>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px"> <chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" label="SW1" binding="sw1" left="0px"/> <control type="switches" label="SW1" binding="sw1" left="0px"/>
<control type="description" binding="swdesc" left="0px"/> <control type="description" binding="swdesc" left="0px"/>
</chipset> </chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/> <serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine> </machine>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/> <computer id="xt-cga-640k" name="IBM PC XT"/>
@ -14,6 +14,11 @@
<control type="button" binding="reset">Reset</control> <control type="button" binding="reset">Reset</control>
</cpu> </cpu>
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/> <keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/> <hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'>
<control type="button" binding="saveHD0">Save HD</control>
</hdc>
<chipset id="chipset" model="5160" sw1="01001001"/> <chipset id="chipset" model="5160" sw1="01001001"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine> </machine>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" width="1000px" pos="center" background="white">
<name>IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name> <name>IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/> <computer id="xt-cga-640k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name> <name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-256k" name="IBM PC XT"/> <computer id="xt-ega-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name> <name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-256k" name="IBM PC XT"/> <computer id="xt-ega-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="680px" float="left" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="680px" float="left" background="#FAEBD7">
<name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name> <name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT" state="/disks/pc/windows/1.01/ibm5160-ega.json"/> <computer id="xt-ega-640k" name="IBM PC XT" state="/disks/pc/windows/1.01/ibm5160-ega.json"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name> <name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT"/> <computer id="xt-ega-640k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name> <name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT"/> <computer id="xt-ega-640k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt-mda-256k" name="IBM PC XT"/> <computer id="xt-mda-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="740px" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" width="740px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt188-mda-256k" name="IBM PC XT"/> <computer id="xt188-mda-256k" name="IBM PC XT"/>
@ -12,7 +12,6 @@
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'> <fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt188-mda-256k" name="IBM PC XT"/> <computer id="xt188-mda-256k" name="IBM PC XT"/>
@ -11,7 +11,6 @@
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'> <fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt-mda-256k" name="IBM PC XT"/> <computer id="xt-mda-256k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="white"> <machine id="ibm5160" class="pc" border="1" pos="center" background="white">
<name pos="center">IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive</name> <name pos="center">IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive</name>
<computer id="xt-mda-64k" name="IBM PC XT"/> <computer id="xt-mda-64k" name="IBM PC XT"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name> <name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name> <name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev1" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-1152k-rev1" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev1" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-1152k-rev1" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170rev3" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170rev3" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-1152k-rev3" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name> <name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name> <name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name> <name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name> <name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name> <name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name> <name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name> <name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/> <computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name> <name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name> <name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display</name> <name pos="center">IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk</name> <name pos="center">IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/> <computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="att6300" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="att6300" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">AT&amp;T Personal Computer 6300 with Color Display</name> <name pos="center">AT&amp;T Personal Computer 6300 with Color Display</name>
<computer id="att6300-640k" name="AT&amp;T 6300"/> <computer id="att6300-640k" name="AT&amp;T 6300"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="att6300" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="att6300" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">AT&amp;T Personal Computer 6300 with Color Display</name> <name pos="center">AT&amp;T Personal Computer 6300 with Color Display</name>
<computer id="att6300-640k" name="MPC 1600"/> <computer id="att6300-640k" name="MPC 1600"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="mpc1600" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="mpc1600" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Columbia Data Products MPC 1600 with Color Display</name> <name pos="center">Columbia Data Products MPC 1600 with Color Display</name>
<computer id="mpc1600-640k" name="MPC 1600"/> <computer id="mpc1600-640k" name="MPC 1600"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="mpc1600" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="mpc1600" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Columbia Data Products MPC 1600 with Color Display</name> <name pos="center">Columbia Data Products MPC 1600 with Color Display</name>
<computer id="mpc1600-640k" name="MPC 1600"/> <computer id="mpc1600-640k" name="MPC 1600"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name> <name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name> <name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name>
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-4096k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-4096k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="deskpro386" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk</name> <name pos="center">COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk</name>
<computer id="deskpro386-vga-4096k" name="COMPAQ DeskPro 386" buswidth="32"/> <computer id="deskpro386-vga-4096k" name="COMPAQ DeskPro 386" buswidth="32"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="ibm5150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name> <name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
<computer id="pc-mda-64k" name="IBM PC"/> <computer id="pc-mda-64k" name="IBM PC"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="z150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="z150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Zenith Z-150 with Color Display</name> <name pos="center">Zenith Z-150 with Color Display</name>
<computer id="z150-640k" name="Z-150"/> <computer id="z150-640k" name="Z-150"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.6/machine.xsl"?> <?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.7/machine.xsl"?>
<machine id="z150" class="pc" border="1" pos="center" background="#FAEBD7"> <machine id="z150" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">Zenith Z-150 with Color Display</name> <name pos="center">Zenith Z-150 with Color Display</name>
<computer id="z150-640k" name="Z-150"/> <computer id="z150-640k" name="Z-150"/>

View file

@ -6,18 +6,21 @@ redirect_from:
- /devices/pc/basic/ - /devices/pc/basic/
--- ---
BASIC ROMs IBM PC BASIC ROMs
--- ---
The project contains the following BASIC ROMs: The project contains the following IBM PC BASIC ROMs:
* [BASIC 1.00](BASIC100.json) * [IBM BASIC C1.00](BASIC100.json)
* [BASIC 1.10](../../5160/basic/BASIC110.json) * [IBM BASIC C1.10](../../5160/basic/BASIC110.json)
These built-in versions of BASIC were also referred to as *Cassette BASIC*, because no disk drive was required. These built-in versions of BASIC were also referred to as Cassette BASIC, because no disk drive was required.
Only the original IBM PC (Model 5150) actually provided a cassette interface, but IBM continued to use that Only the original IBM PC (Model 5150) actually provided a cassette interface, but IBM continued to use that
name to describe the built-in BASIC at least up through the IBM PC AT (Model 5170). name to describe the built-in BASIC, at least up through the IBM PC AT (Model 5170).
Both versions of Cassette BASIC where 32Kb and spanned physical addresses 0xF6000-0xFDFFF. They were produced by
Microsoft, and unlike the IBM PC BIOS ROMs, no source code listings of these BASIC ROMs were ever published.
Here's an [IBM PC Machine](/devices/pc/machine/) XML excerpt that shows how to include a BASIC ROM: Here's an [IBM PC Machine](/devices/pc/machine/) XML excerpt that shows how to include a BASIC ROM:
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/rom/5160/basic/BASIC110.json"/> <rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/rom/5150/basic/BASIC100.json"/>

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -16,20 +16,49 @@ for each ROM in the machine; eg:
### BASIC ROMs ### BASIC ROMs
The project contains the following IBM PC BASIC ROMs: The project contains the following [IBM PC BASIC ROMs](/devices/pc/rom/5150/basic/):
* [IBM BASIC 1.00](5150/basic/BASIC100.json) * [IBM BASIC C1.00](5150/basic/BASIC100.json)
* [IBM BASIC 1.10](5160/basic/BASIC110.json) * [IBM BASIC C1.10](5160/basic/BASIC110.json)
We informally refer to version C1.00 as the Model 5150 version, and C1.10 as the Model 5160 (and later) version of
Cassette BASIC. It's true that the last few Model 5150 machines produced were upgraded with version C1.10, but we
are simply referring to the respective model with which each version of Cassette BASIC was *introduced*.
### BIOS ROMs ### BIOS ROMs
The project contains the following IBM PC BIOS ROMs: The project contains the following IBM PC BIOS ROMs:
* [Model 5150: Apr 24, 1981](5150/1981-04-24/PCBIOS-REV1.json) * [Model 5150: Apr 24, 1981](5150/1981-04-24/PCBIOS-REV1.json) (included with [IBM BASIC C1.00](5150/basic/BASIC100.json))
* [Model 5150: Oct 19, 1981](5150/1981-10-19/PCBIOS-REV2.json) * [Model 5150: Oct 19, 1981](5150/1981-10-19/PCBIOS-REV2.json) (included with [IBM BASIC C1.00](5150/basic/BASIC100.json))
* [Model 5150: Oct 27, 1982](5150/1982-10-27/PCBIOS-REV3.json) * [Model 5150: Oct 27, 1982](5150/1982-10-27/PCBIOS-REV3.json) (included with [IBM BASIC C1.00](5150/basic/BASIC100.json) *or* [IBM BASIC C1.10](5160/basic/BASIC110.json))
* [Model 5160: Nov 08, 1982](5160/1982-11-08/XTBIOS-REV1.json) * [Model 5160: Nov 08, 1982](5160/1982-11-08/XTBIOS-REV1.json) (included with [IBM BASIC C1.10](5160/basic/BASIC110.json))
* [Model 5160: May 09, 1986](5160/1986-05-09/XTBIOS-REV3.json) * [Model 5160: Jan 10, 1986](5160/1986-01-10/XTBIOS-REV2.json) (includes [IBM BASIC C1.10](5160/basic/BASIC110.json))
* [Model 5160: May 09, 1986](5160/1986-05-09/XTBIOS-REV3.json) (includes [IBM BASIC C1.10](5160/basic/BASIC110.json))
As hinted above, some newer Model 5150 machines with the **Oct 27, 1982** BIOS included IBM BASIC C1.10. And
some even *newer* 5150 machines had a BIOS with a "1982" copyright year instead of "1981", which also changed the checksum
byte from 0x78 to 0x77. However, the project includes only the original "1981" version, since the difference was trivial.
In general, IBM BASIC ROM images are 32Kb and IBM BIOS ROM images are 8Kb, and together they provide 40Kb of contiguous
read-only memory, with the BASIC ROM spanning physical addresses 0xF6000-0xFDFFF and the BIOS ROM spanning addresses
0xFE000-0xFFFFF.
However, starting with Model 5160 ROM images dated **Jan 10, 1986**, our ROM images are actually 64Kb images that
span addresses 0xF0000-0xFFFFF and include IBM BASIC C1.10 at offset 0x6000 (physical address 0xF6000), so there's no
need to load the BASIC ROM separately. That trend continued with the IBM PC AT Model 5170, whose ROM images are also
64Kb and all contain IBM BASIC C1.10.
Apparently, even the first Model 5160 was socketed for two 32Kb ROMs, but it came with an 8Kb ROM in the first socket,
so that ROM (containing the first 8Kb of IBM BASIC C1.10) appeared at multiple addresses: 0xF0000, 0xF2000, 0xF4000,
and 0xF6000. None of our Model 5160 machine configurations emulate that layout, but it could easily be done,
by extracting the first 8Kb of IBM BASIC C1.10 into a separate image and explicitly mapping it at each of those four
addresses.
See this [diagram](http://www.minuszerodegrees.net/5160/misc/5160_memory_layout_of_bios_and_basic.jpg) for a more
visual description of the Model 5160's ROM layout.
---
The project also contains BIOS ROMs, along with more detailed information, for the following machines: The project also contains BIOS ROMs, along with more detailed information, for the following machines:

View file

@ -0,0 +1,28 @@
---
layout: page
title: Space Invaders (Under Construction)
permalink: /devices/pc8080/machine/invaders/
machines:
- type: pc8080
id: invaders
debugger: true
---
Space Invaders (Under Construction)
---
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
PCjs Project. It's a work-in-progress, so there's not much to look at yet. And the goal is not to build
yet-another Space Invaders/Arcade Machine emulator -- that's been done many times over -- but to start with
a well-understood 8080-based machine architecture that doesn't need a lot of peripherals, and use it as an
early test case for another classic CPU that we can add to the PCjs toolbox.
Assorted [Space Invaders Hardware Notes](#space-invaders-hardware-notes) are collected below.
{% include machine.html id="invaders" %}
Space Invaders Hardware Notes
---
See [Computer Archeology](http://www.computerarcheology.com/Arcade/SpaceInvaders/) for an excellent collection
of materials on the original Space Invaders, including commented ROM disassemblies.

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pc8080/1.21.7/machine.xsl"?>
<machine id="invaders" class="pc8080" border="1" pos="center" background="#FAEBD7">
<name pos="center">Space Invaders</name>
<computer id="computer" busWidth="16"/>
<cpu id="cpu8080" model="8080" cycles="2000000"/>
<rom id="romH" addr="0x0000" size="0x0800" file="/devices/pc8080/rom/invaders/INVADERS-H.json"/>
<rom id="romG" addr="0x0800" size="0x0800" file="/devices/pc8080/rom/invaders/INVADERS-G.json"/>
<rom id="romF" addr="0x1000" size="0x0800" file="/devices/pc8080/rom/invaders/INVADERS-F.json"/>
<rom id="romE" addr="0x1800" size="0x0800" file="/devices/pc8080/rom/invaders/INVADERS-E.json"/>
<ram id="ram" addr="0x2000" size="0x2000"/>
<video id="video" screenWidth="224" screenHeight="256" frameBuffer="0x2400" interruptRate="120" rotation="90" width="40%" pos="left" padding="8px">
<menu>
<title>224x256 Screen (Rotated)</title>
</menu>
</video>
<panel ref="/devices/pc8080/panel/left.xml"/>
<debugger id="debugger" commands="s 8086"/>
</machine>

View file

@ -0,0 +1,48 @@
---
layout: page
title: 8080 Test Machine
permalink: /devices/pc8080/machine/test/
machines:
- type: pc8080
id: test8080
debugger: true
---
8080 Test Machine
---
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator being added to the
PCjs Project.
The test machine below loads a copy of the
[8080 Exerciser](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html)
(specifically, [8080EX1](/devices/pc8080/rom/test/8080EX1.MAC)) and intercepts the exerciser's CP/M console
calls so that you can see its progress in the Control Panel window. This is a "headless" test machine
(no keyboard or display), so that's all you get.
The good news: PC8080 passes all the 8080 Exerciser tests. And it doesn't do it by using all sorts of weird
"flags tables", which most other 8080 emulations seem to fall back on.
Like all the other CPU emulations in the PCjs Project, PC8080 never "calculates" the flags unless/until they are
actually required, which considerably speeds up all arithmetic operations.
Of particular note are the 8080's subtract,
compare, and decrement operations, which actually perform addition, not subtraction, by using two's complement
arithmetic in "stages": the first stage (inverting the source operand) occurs *before* the addition, and the second
stage (incrementing the inverted operand) occurs *after* the addition. And it appears to be the result of the *first*
stage, not the second, that determines the state of the Auxiliary Carry flag (AF).
At 2Mhz, the 8080 Exerciser tests take quite a while, but you can click the speed button while the machine is running
to increase the simulated speed; it will revert to 2Mhz when you exceed the maximum speed that your system supports.
NOTE: The original [8080 Exerciser website](http://www.idb.me.uk/sunhillow/8080.html) is currently unavailable,
so we refer you to the copy on
[archive.org](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html).
The 8080 Exerciser source code has also been "forked" on [GitHub](https://github.com/begoon/8080ex1).
{% include machine.html id="test8080" %}
8080 Online Resources
---
[8080 Opcode Map](http://pastraiser.com/cpu/i8080/i8080_opcodes.html)

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pc8080/1.21.7/machine.xsl"?>
<machine id="test8080" class="pc8080" border="1" pos="center" background="#FAEBD7">
<name pos="center">8080 Test Machine</name>
<computer id="computer" busWidth="16"/>
<cpu id="cpu8080" model="8080" cycles="2000000"/>
<rom id="romTest" addr="0x0100" size="0x1200" file="/devices/pc8080/rom/test/8080EX1.json" writable="true"/>
<ram id="ramTest" addr="0x1300" size="0xED00"/>
<panel ref="/devices/pc8080/panel/wide.xml"/>
<debugger id="debugger"/>
</machine>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" width="50%" pos="left" padding="8px">
<name>Control Panel</name>
<control type="container" class="pcjs-textarea" width="100%" padright="8px">
<control type="textarea" binding="print" width="100%" height="252px" pos="relative" style="resize:vertical;"/>
</control>
<control type="container" class="pcjs-registers" width="100%" padleft="8px">
<control type="register" label="A" binding="A" width="20px" padright="8px" padbottom="8px">00</control>
<control type="register" label="BC" binding="BC" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="DE" binding="DE" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="HL" binding="HL" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="SP" binding="SP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="PC" binding="PC" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="container" pos="left">
<control type="flag" label="I" binding="IF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="S" binding="SF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="Z" binding="ZF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="A" binding="AF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="P" binding="PF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="C" binding="CF" width="8px" padright="4px" padbottom="8px">0</control>
</control>
<control type="description" padleft="16px" padbottom="8px">Speed:</control>
<control type="description" binding="speed" padleft="4px" padbottom="8px">Stopped</control>
</control>
<control type="container" padleft="8px" padbottom="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="step">Step</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Fast</control>
<control pos=""/>
<control type="text" binding="debugInput" width="100px"/>
<control type="button" binding="debugEnter">Enter</control>
<control type="button" binding="clear">Clear</control>
</control>
</panel>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" width="100%" padding="8px">
<name>Control Panel</name>
<control type="container" class="pcjs-textarea" width="100%" padright="8px">
<control type="textarea" binding="print" width="100%" height="252px" pos="relative" style="resize:vertical;"/>
</control>
<control type="container" class="pcjs-registers" width="100%" padleft="8px">
<control type="register" label="A" binding="A" width="20px" padright="8px" padbottom="8px">00</control>
<control type="register" label="BC" binding="BC" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="DE" binding="DE" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="HL" binding="HL" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="SP" binding="SP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" label="PC" binding="PC" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="container" pos="left">
<control type="flag" label="I" binding="IF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="S" binding="SF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="Z" binding="ZF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="A" binding="AF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="P" binding="PF" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" label="C" binding="CF" width="8px" padright="4px" padbottom="8px">0</control>
</control>
<control type="description" padleft="16px" padbottom="8px">Speed:</control>
<control type="description" binding="speed" padleft="4px" padbottom="8px">Stopped</control>
</control>
<control type="container" padleft="8px" padbottom="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="step">Step</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Fast</control>
<control pos=""/>
<control type="text" binding="debugInput" width="100px"/>
<control type="button" binding="debugEnter">Enter</control>
<control type="button" binding="clear">Clear</control>
</control>
</panel>

View file

@ -0,0 +1,130 @@
{"bytes":[
32,195,201,22,33,132,32,126,167,202,7,7,35,126,167,192,
6,1,195,250,24,33,16,40,17,163,28,14,21,205,243,8,
62,10,50,108,32,1,190,29,205,86,24,218,55,24,205,68,
24,195,40,24,205,177,10,1,207,29,205,86,24,216,205,76,
24,195,58,24,197,6,16,205,57,20,193,201,197,58,108,32,
79,205,147,10,193,201,10,254,255,55,200,111,3,10,103,3,
10,95,3,10,87,3,167,201,33,194,32,52,35,78,205,217,
1,71,58,202,32,184,202,152,24,58,194,32,230,4,42,204,
32,194,136,24,17,48,0,25,34,199,32,33,197,32,205,59,
26,235,195,211,21,0,0,0,62,1,50,203,32,201,33,80,
32,17,192,27,6,16,205,50,26,62,2,50,128,32,62,255,
50,126,32,62,4,50,193,32,58,85,32,230,1,202,184,24,
58,85,32,230,1,194,192,24,33,17,51,62,38,0,205,255,
8,195,182,10,49,0,36,6,0,205,230,1,205,86,25,62,
8,50,207,32,195,234,10,58,103,32,33,231,32,15,208,35,
201,6,2,58,130,32,61,192,4,201,58,148,32,176,50,148,
32,211,3,201,33,0,34,195,195,1,205,216,20,195,151,21,
33,231,32,58,103,32,15,216,35,201,14,28,33,30,36,17,
228,26,195,243,8,33,248,32,195,49,25,33,252,32,195,49,
25,94,35,86,35,126,35,102,111,195,173,9,14,7,33,1,
53,17,169,31,195,243,8,58,235,32,33,1,60,195,178,9,
33,244,32,195,49,25,205,92,26,205,26,25,205,37,25,205,
43,25,205,80,25,205,60,25,195,71,25,205,220,25,195,113,
22,62,1,50,109,32,195,230,22,205,215,25,205,71,25,195,
60,25,50,193,32,201,139,25,195,214,9,33,3,40,17,190,
25,14,19,195,243,8,0,0,0,0,58,30,32,167,194,172,
25,219,1,230,118,214,114,192,60,50,30,32,219,1,230,118,
254,52,192,33,27,46,17,247,11,14,9,195,243,8,40,19,
0,8,19,14,38,2,14,17,15,14,17,0,19,8,14,13,
40,62,1,50,233,32,201,175,195,211,25,0,58,148,32,160,
50,148,32,211,3,201,33,1,39,202,250,25,17,96,28,6,
16,79,205,57,20,121,61,194,236,25,6,16,205,203,20,124,
254,53,194,250,25,201,33,114,32,70,26,230,128,168,192,55,
201,50,43,36,28,22,17,13,10,8,7,6,5,4,3,2,
1,52,46,39,34,28,24,21,19,16,14,13,12,11,9,7,
5,255,26,119,35,19,5,194,50,26,201,94,35,86,35,126,
35,78,35,70,97,111,201,197,6,3,124,31,103,125,31,111,
5,194,74,26,124,230,63,246,32,103,193,201,33,0,36,54,
0,35,124,254,64,194,95,26,201,197,229,26,182,119,19,35,
13,194,107,26,225,1,32,0,9,193,5,194,105,26,201,205,
46,9,167,200,245,61,119,205,230,25,241,33,1,37,230,15,
195,197,9,0,0,0,0,255,184,254,32,28,16,158,0,32,
28,48,16,11,8,7,6,0,12,4,38,14,21,4,17,38,
38,15,11,0,24,4,17,36,38,37,27,38,14,17,38,28,
15,11,0,24,4,17,18,38,1,20,19,19,14,13,38,14,
13,11,24,38,27,15,11,0,24,4,17,38,38,1,20,19,
19,14,13,38,38,18,2,14,17,4,36,27,37,38,7,8,
63,18,2,14,17,4,38,18,2,14,17,4,36,28,37,38,
1,0,0,16,0,0,0,0,2,120,56,120,56,0,248,0,
0,128,0,142,2,255,5,12,96,28,32,48,16,1,0,0,
0,0,0,187,3,0,16,144,28,40,48,1,4,0,255,255,
0,0,2,118,4,0,0,0,0,0,4,238,28,0,0,3,
0,0,0,182,4,0,0,1,0,29,4,226,28,0,0,3,
0,0,0,130,6,0,0,1,6,29,4,208,28,0,0,3,
255,0,192,28,0,0,16,33,1,0,48,0,18,0,0,0,
15,11,0,24,38,15,11,0,24,4,17,36,27,37,252,0,
1,255,255,0,0,0,32,100,29,208,41,24,2,84,29,0,
8,0,6,0,0,1,64,0,1,0,0,16,158,0,32,28,
0,3,4,120,20,19,8,26,61,104,252,252,104,61,26,0,
0,0,1,184,152,160,27,16,255,0,160,27,0,0,0,0,
0,16,0,14,5,0,0,0,0,0,7,208,28,200,155,3,
0,0,3,4,120,20,11,25,58,109,250,250,109,58,25,0,
0,0,0,0,0,0,0,0,0,1,0,0,1,116,31,0,
128,0,0,0,0,0,28,47,0,0,28,39,0,0,28,57,
0,0,57,121,122,110,236,250,250,236,110,122,121,57,0,0,
0,0,0,120,29,190,108,60,60,60,108,190,29,120,0,0,
0,0,0,0,25,58,109,250,250,109,58,25,0,0,0,0,
0,0,56,122,127,109,236,250,250,236,109,127,122,56,0,0,
0,0,0,14,24,190,109,61,60,61,109,190,24,14,0,0,
0,0,0,0,26,61,104,252,252,104,61,26,0,0,0,0,
0,0,15,31,31,31,31,127,255,127,31,31,31,31,15,0,
0,4,1,19,3,7,179,15,47,3,47,73,4,3,0,1,
64,8,5,163,10,3,91,15,39,39,11,75,64,132,17,72,
15,153,60,126,61,188,62,124,153,39,27,26,38,15,14,8,
13,19,18,40,18,2,14,17,4,38,0,3,21,0,13,2,
4,38,19,0,1,11,4,40,2,16,32,48,19,8,11,19,
0,8,73,34,20,129,66,0,66,129,20,34,73,8,0,0,
68,170,16,136,84,34,16,170,68,34,84,136,74,21,190,63,
94,37,4,252,4,16,252,16,32,252,32,128,252,128,0,254,
0,36,254,18,0,254,0,72,254,144,15,11,0,41,0,0,
1,7,1,1,1,4,11,1,6,3,1,1,11,9,2,8,
2,11,4,7,10,5,2,5,4,6,7,8,10,6,10,3,
255,15,255,31,255,63,255,127,255,255,252,255,248,255,240,255,
240,255,240,255,240,255,240,255,240,255,240,255,248,255,252,255,
255,255,255,255,255,127,255,63,255,31,255,15,5,16,21,48,
148,151,154,157,16,5,5,16,21,16,16,5,48,16,16,16,
5,21,16,5,0,0,0,0,4,12,30,55,62,124,116,126,
126,116,124,62,55,30,12,4,0,0,0,0,0,34,0,165,
64,8,152,61,182,60,54,29,16,72,98,182,29,152,8,66,
144,8,0,0,38,31,26,27,26,26,27,31,26,29,26,26,
16,32,48,96,80,72,72,72,64,64,64,15,11,0,24,18,
15,0,2,4,38,38,8,13,21,0,3,4,17,18,14,44,
104,29,12,44,32,28,10,44,64,28,8,44,0,28,255,14,
46,224,29,12,46,234,29,10,46,244,29,8,46,153,28,255,
39,56,38,12,24,18,19,4,17,24,39,29,26,38,15,14,
8,13,19,18,39,28,26,38,15,14,8,13,19,18,0,0,
0,31,36,68,36,31,0,0,0,127,73,73,73,54,0,0,
0,62,65,65,65,34,0,0,0,127,65,65,65,62,0,0,
0,127,73,73,73,65,0,0,0,127,72,72,72,64,0,0,
0,62,65,65,69,71,0,0,0,127,8,8,8,127,0,0,
0,0,65,127,65,0,0,0,0,2,1,1,1,126,0,0,
0,127,8,20,34,65,0,0,0,127,1,1,1,1,0,0,
0,127,32,24,32,127,0,0,0,127,16,8,4,127,0,0,
0,62,65,65,65,62,0,0,0,127,72,72,72,48,0,0,
0,62,65,69,66,61,0,0,0,127,72,76,74,49,0,0,
0,50,73,73,73,38,0,0,0,64,64,127,64,64,0,0,
0,126,1,1,1,126,0,0,0,124,2,1,2,124,0,0,
0,127,2,12,2,127,0,0,0,99,20,8,20,99,0,0,
0,96,16,15,16,96,0,0,0,67,69,73,81,97,0,0,
0,62,69,73,81,62,0,0,0,0,33,127,1,0,0,0,
0,35,69,73,73,49,0,0,0,66,65,73,89,102,0,0,
0,12,20,36,127,4,0,0,0,114,81,81,81,78,0,0,
0,30,41,73,73,70,0,0,0,64,71,72,80,96,0,0,
0,54,73,73,73,54,0,0,0,49,73,73,74,60,0,0,
0,8,20,34,65,0,0,0,0,0,65,34,20,8,0,0,
0,0,0,0,0,0,0,0,0,20,20,20,20,20,0,0,
0,34,20,127,20,34,0,0,0,3,4,120,4,3,0,0,
36,27,38,14,17,38,28,38,15,11,0,24,4,17,18,37,
38,38,40,27,38,15,11,0,24,4,17,38,38,27,38,2,
14,8,13,38,1,1,0,0,1,0,2,1,0,2,1,0,
96,16,15,16,96,48,24,26,61,104,252,252,104,61,26,0,
8,13,18,4,17,19,38,38,2,14,8,13,13,42,80,31,
10,42,98,31,7,42,225,31,255,2,17,4,3,8,19,38,
0,96,16,15,16,96,56,25,58,109,250,250,109,58,25,0,
0,32,64,77,80,32,0,0,0,0,0,255,184,255,128,31,
16,151,0,128,31,0,0,1,208,34,32,28,16,148,0,32,
28,40,28,38,15,11,0,24,4,17,18,38,28,38,2,14,
8,13,18,15,20,18,7,38,0,8,8,8,8,8,0,0]
}

View file

@ -0,0 +1,130 @@
{"bytes":[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,205,116,20,0,197,229,26,211,4,219,3,182,119,35,19,
175,211,4,219,3,182,119,225,1,32,0,9,193,5,194,5,
20,201,0,0,205,116,20,197,229,175,119,35,119,35,225,1,
32,0,9,193,5,194,39,20,201,197,26,119,19,1,32,0,
9,193,5,194,57,20,201,0,0,0,0,0,0,0,0,0,
0,0,205,116,20,197,229,26,211,4,219,3,47,166,119,35,
19,175,211,4,219,3,47,166,119,225,1,32,0,9,193,5,
194,85,20,201,125,230,7,211,2,195,71,26,197,229,126,18,
19,35,13,194,126,20,225,1,32,0,9,193,5,194,124,20,
201,205,116,20,175,50,97,32,197,229,26,211,4,219,3,245,
166,202,169,20,62,1,50,97,32,241,182,119,35,19,175,211,
4,219,3,245,166,202,189,20,62,1,50,97,32,241,182,119,
225,1,32,0,9,193,5,194,152,20,201,175,197,119,1,32,
0,9,193,5,194,204,20,201,58,37,32,254,5,200,254,2,
192,58,41,32,254,216,71,210,48,21,58,2,32,167,200,120,
254,206,210,121,21,198,6,71,58,9,32,254,144,210,4,21,
184,210,48,21,104,205,98,21,58,42,32,103,205,111,21,34,
100,32,62,5,50,37,32,205,129,21,126,167,202,48,21,54,
0,205,95,10,205,59,26,205,211,21,62,16,50,3,32,201,
62,3,50,37,32,195,74,21,33,3,32,53,192,42,100,32,
6,16,205,36,20,62,4,50,37,32,175,50,2,32,6,247,
195,220,25,0,14,0,188,212,144,21,188,208,198,16,12,195,
90,21,58,9,32,101,205,84,21,65,5,222,16,111,201,58,
10,32,205,84,21,222,16,103,201,62,1,50,133,32,195,69,
21,120,7,7,7,128,128,128,129,61,111,58,103,32,103,201,
12,198,16,250,144,21,201,58,13,32,167,194,183,21,33,164,
62,205,197,21,208,6,254,62,1,50,13,32,120,50,8,32,
58,14,32,50,7,32,201,33,36,37,205,197,21,208,205,241,
24,175,195,169,21,6,23,126,167,194,107,22,35,5,194,199,
21,201,0,205,116,20,229,197,229,26,211,4,219,3,119,35,
19,175,211,4,219,3,119,225,1,32,0,9,193,5,194,215,
21,225,201,205,17,22,1,0,55,126,167,202,255,21,12,35,
5,194,249,21,121,50,130,32,254,1,192,33,107,32,54,1,
201,46,0,58,103,32,103,201,58,21,32,254,255,192,33,16,
32,126,35,70,176,192,58,37,32,167,192,58,239,32,167,202,
82,22,58,45,32,167,194,72,22,205,192,23,230,16,200,62,
1,50,37,32,50,45,32,201,205,192,23,230,16,192,50,45,
32,201,33,37,32,54,1,42,237,32,35,125,254,126,218,99,
22,46,116,34,237,32,126,50,29,32,201,55,201,175,205,139,
26,205,16,25,54,0,205,202,9,35,17,245,32,26,190,27,
43,26,202,139,22,210,152,22,195,143,22,190,210,152,22,126,
18,19,35,126,18,205,80,25,58,206,32,167,202,201,22,33,
3,40,17,166,26,14,20,205,147,10,37,37,6,27,58,103,
32,15,218,183,22,6,28,120,205,255,8,205,177,10,205,231,
24,126,167,202,201,22,195,237,2,33,24,45,17,166,26,14,
10,205,147,10,205,182,10,205,214,9,175,50,239,32,211,5,
205,209,25,195,137,11,49,0,36,251,175,50,21,32,205,216,
20,6,4,205,250,24,205,89,10,194,238,22,205,215,25,33,
1,39,205,250,25,175,205,139,26,6,251,195,107,25,205,202,
9,35,126,17,184,28,33,161,26,14,4,71,26,184,210,39,
23,35,19,13,194,28,23,126,50,207,32,201,58,37,32,254,
0,194,57,23,6,253,195,220,25,6,2,195,250,24,0,0,
33,155,32,53,204,109,23,58,104,32,167,202,109,23,33,150,
32,53,192,33,152,32,126,211,5,58,130,32,167,202,109,23,
43,126,43,119,43,54,1,62,4,50,155,32,201,58,152,32,
230,48,211,5,201,58,149,32,167,202,170,23,33,17,26,17,
33,26,58,130,32,190,210,142,23,35,19,195,133,23,26,50,
151,32,33,152,32,126,230,48,71,126,230,15,7,254,16,194,
164,23,62,1,176,119,175,50,149,32,33,153,32,53,192,6,
239,195,220,25,6,239,33,152,32,126,160,119,211,5,201,0,
58,103,32,15,210,202,23,219,1,201,219,2,201,219,2,230,
4,200,58,154,32,167,192,49,0,36,6,4,205,214,9,5,
194,220,23,62,1,50,154,32,205,215,25,251,17,188,28,33,
22,48,14,4,205,147,10,205,177,10,175,50,154,32,50,147]
}

View file

@ -0,0 +1,130 @@
{"bytes":[
175,50,193,32,205,207,1,58,103,32,15,218,114,8,205,19,
2,205,207,1,205,177,0,205,209,25,6,32,205,250,24,205,
24,22,205,10,25,205,243,21,205,136,9,58,130,32,167,202,
239,9,205,14,23,205,53,9,205,216,8,205,44,23,205,89,
10,202,73,8,6,4,205,250,24,205,117,23,211,6,205,4,
24,195,31,8,0,0,0,17,186,26,205,243,8,6,152,219,
1,15,15,218,109,8,15,218,152,7,195,127,7,62,1,195,
155,7,205,26,2,195,20,8,58,8,32,71,42,9,32,235,
195,134,8,0,0,0,58,103,32,103,46,252,201,33,17,43,
17,112,27,14,14,205,243,8,58,103,32,15,62,28,33,17,
55,212,255,8,62,176,50,192,32,58,192,32,167,200,230,4,
194,188,8,205,202,9,205,49,25,195,169,8,6,32,33,28,
39,58,103,32,15,218,203,8,33,28,57,205,203,20,195,169,
8,219,2,230,3,198,3,201,58,130,32,254,9,208,62,251,
50,126,32,201,58,206,32,167,192,33,28,57,6,32,195,203,
20,14,3,26,213,205,255,8,209,19,13,194,243,8,201,17,
0,30,229,38,0,111,41,41,41,25,235,225,6,8,211,6,
195,57,20,58,9,32,254,120,208,42,145,32,125,180,194,41,
9,33,0,6,62,1,50,131,32,43,34,145,32,201,205,17,
22,46,255,126,201,205,16,25,43,43,126,167,200,6,21,219,
2,230,8,202,72,9,6,16,205,202,9,35,126,184,216,205,
46,9,52,126,245,33,1,37,36,36,61,194,88,9,6,16,
17,96,28,205,57,20,241,60,205,139,26,205,16,25,43,43,
54,0,62,255,50,153,32,6,16,195,250,24,33,160,29,254,
2,216,35,254,4,216,35,201,205,202,9,58,241,32,167,200,
175,50,241,32,229,42,242,32,235,225,126,131,39,119,95,35,
126,138,39,119,87,35,126,35,102,111,195,173,9,122,205,178,
9,123,213,245,15,15,15,15,230,15,205,197,9,241,230,15,
205,197,9,209,201,198,26,195,255,8,58,103,32,15,33,248,
32,216,33,252,32,201,33,2,36,54,0,35,125,230,31,254,
28,218,232,9,17,6,0,25,124,254,64,218,217,9,201,205,
60,10,175,50,233,32,205,214,9,58,103,32,245,205,228,1,
241,50,103,32,58,103,32,103,229,46,254,126,230,7,60,119,
33,162,29,35,61,194,19,10,126,225,46,252,119,35,54,56,
124,15,218,51,10,62,33,50,152,32,205,245,1,205,4,25,
195,4,8,205,239,1,205,192,1,195,4,8,205,89,10,194,
82,10,62,48,50,192,32,58,192,32,167,200,205,89,10,202,
71,10,205,89,10,194,82,10,201,58,21,32,254,255,201,58,
239,32,167,202,124,10,72,6,8,205,250,24,65,120,205,124,
9,126,33,243,32,54,0,43,119,43,54,1,33,98,32,201,
62,2,50,193,32,211,6,58,203,32,167,202,133,10,175,50,
193,32,201,213,26,205,255,8,209,62,7,50,192,32,58,192,
32,61,194,158,10,19,13,194,147,10,201,33,80,32,195,75,
2,62,64,195,215,10,62,128,195,215,10,225,195,114,0,58,
193,32,15,218,187,10,15,218,104,24,15,218,171,10,201,33,
20,43,14,15,195,147,10,50,192,32,58,192,32,167,194,218,
10,201,33,194,32,6,12,195,50,26,175,211,3,211,5,205,
130,25,251,205,177,10,58,236,32,167,33,23,48,14,4,194,
232,11,17,250,28,205,147,10,17,175,29,205,207,10,205,177,
10,205,21,24,205,182,10,58,236,32,167,194,74,11,17,149,
26,205,226,10,205,128,10,17,176,27,205,226,10,205,128,10,
205,177,10,17,201,31,205,226,10,205,128,10,205,177,10,33,
183,51,6,10,205,203,20,205,182,10,205,214,9,58,255,33,
167,194,93,11,205,209,8,50,255,33,205,127,26,205,228,1,
205,192,1,205,239,1,205,26,2,62,1,50,193,32,205,207,
1,205,24,22,205,241,11,211,6,205,89,10,202,113,11,175,
50,37,32,205,89,10,194,131,11,175,50,193,32,205,177,10,
205,136,25,14,12,33,17,44,17,144,31,205,243,8,58,236,
32,254,0,194,174,11,33,17,51,62,2,205,255,8,1,156,
31,205,86,24,205,76,24,219,2,7,218,195,11,1,160,31,
205,58,24,205,182,10,58,236,32,254,0,194,218,11,17,213,
31,205,226,10,205,128,10,205,158,24,33,236,32,126,60,230,
1,119,205,214,9,195,223,24,17,171,29,205,147,10,195,11,
11,205,10,25,195,154,25,19,0,8,19,14,38,2,14,15,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
}

View file

@ -0,0 +1,130 @@
{"bytes":[
0,0,0,195,212,24,0,0,245,197,213,229,195,140,0,0,
245,197,213,229,62,128,50,114,32,33,192,32,53,205,205,23,
219,1,15,218,103,0,58,234,32,167,202,66,0,58,235,32,
254,153,202,62,0,198,1,39,50,235,32,205,71,25,175,50,
234,32,58,233,32,167,202,130,0,58,239,32,167,194,111,0,
58,235,32,167,194,93,0,205,191,10,195,130,0,58,147,32,
167,194,130,0,195,101,7,62,1,50,234,32,195,63,0,205,
64,23,58,50,32,50,128,32,205,0,1,205,72,2,205,19,
9,0,225,209,193,241,251,201,0,0,0,0,175,50,114,32,
58,233,32,167,202,130,0,58,239,32,167,194,165,0,58,193,
32,15,210,130,0,33,32,32,205,75,2,205,65,1,195,130,
0,205,134,8,229,126,35,102,111,34,9,32,34,11,32,225,
43,126,254,3,194,200,0,61,50,8,32,254,254,62,0,194,
211,0,60,50,13,32,201,62,2,50,251,33,50,251,34,195,
228,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
33,2,32,126,167,194,56,21,229,58,6,32,111,58,103,32,
103,126,167,225,202,54,1,35,35,126,35,70,230,254,7,7,
7,95,22,0,33,0,28,25,235,120,167,196,59,1,42,11,
32,6,16,205,211,21,175,50,0,32,201,33,48,0,25,235,
201,58,104,32,167,200,58,0,32,167,192,58,103,32,103,58,
6,32,22,2,60,254,55,204,161,1,111,70,5,194,84,1,
50,6,32,205,122,1,97,34,11,32,125,254,40,218,113,25,
122,50,4,32,62,1,50,0,32,201,22,0,125,33,9,32,
70,35,78,254,11,250,148,1,222,11,95,120,198,16,71,123,
20,195,131,1,104,167,200,95,121,198,16,79,123,61,195,149,
1,21,202,205,1,33,6,32,54,0,35,78,54,0,205,217,
1,33,5,32,126,60,230,1,119,175,33,103,32,102,201,0,
33,0,33,6,55,54,1,35,5,194,197,1,201,225,201,62,
1,6,224,33,2,36,195,204,20,35,70,35,121,134,119,35,
120,134,119,201,6,192,17,0,27,33,0,32,195,50,26,33,
66,33,195,248,1,33,66,34,14,4,17,32,29,213,6,44,
205,50,26,209,13,194,253,1,201,62,1,195,27,2,62,1,
195,20,2,175,17,66,34,195,30,2,175,17,66,33,50,129,
32,1,2,22,33,6,40,62,4,245,197,58,129,32,167,194,
66,2,205,105,26,193,241,61,200,213,17,224,2,25,209,195,
41,2,205,124,20,195,53,2,33,16,32,126,254,255,200,254,
254,202,129,2,35,70,79,176,121,194,119,2,35,126,167,194,
136,2,35,94,35,86,229,235,229,33,111,2,227,213,233,225,
17,12,0,25,195,75,2,5,4,194,125,2,61,5,112,43,
119,17,16,0,25,195,75,2,53,43,43,195,129,2,225,35,
126,254,255,202,59,3,35,53,192,71,175,50,104,32,50,105,
32,62,48,50,106,32,120,54,5,35,53,194,155,3,42,26,
32,6,16,205,36,20,33,16,32,17,16,27,6,16,205,50,
26,6,0,205,220,25,58,109,32,167,192,58,239,32,167,200,
49,0,36,251,205,215,25,205,46,9,167,202,109,22,205,231,
24,126,167,202,44,3,58,206,32,167,202,44,3,58,103,32,
245,15,218,50,3,205,14,2,205,120,8,115,35,114,43,43,
112,0,205,228,1,241,15,62,33,6,0,210,18,3,6,32,
62,34,50,103,32,205,182,10,175,50,17,32,120,211,5,60,
50,152,32,205,214,9,205,127,26,195,249,7,205,127,26,195,
23,8,205,9,2,195,248,2,0,0,0,33,104,32,54,1,
35,126,167,195,176,3,0,43,54,1,58,27,32,71,58,239,
32,167,194,99,3,58,29,32,15,218,129,3,15,218,142,3,
195,111,3,205,192,23,7,7,218,129,3,7,218,142,3,33,
24,32,205,59,26,205,71,26,205,57,20,62,0,50,18,32,
201,120,254,217,202,111,3,60,50,27,32,195,111,3,120,254,
48,202,111,3,61,50,27,32,195,111,3,60,230,1,50,21,
32,7,7,7,7,33,112,28,133,111,34,24,32,195,111,3,
194,74,3,35,53,194,74,3,195,70,3,17,42,32,205,6,
26,225,208,35,126,167,200,254,1,202,250,3,254,2,202,10,
4,35,254,3,194,42,4,53,202,54,4,126,254,15,192,229,
205,48,4,205,82,20,225,35,52,35,35,53,53,35,53,53,
53,35,54,8,205,48,4,195,0,20,60,119,58,27,32,198,
8,50,42,32,205,48,4,195,0,20,205,48,4,213,229,197,
205,82,20,193,225,209,58,44,32,133,111,50,41,32,205,145,
20,58,97,32,167,200,50,2,32,201,254,5,200,195,54,4,
33,39,32,195,59,26,205,48,4,205,82,20,33,37,32,17,
37,27,6,7,205,50,26,42,141,32,44,125,254,99,218,83,
4,46,84,34,141,32,42,143,32,44,34,143,32,58,132,32,
167,192,126,230,1,1,41,2,194,110,4,1,224,254,33,138,
32,113,35,35,112,201,225,58,50,27,50,50,32,42,56,32,
125,180,194,138,4,43,34,56,32,201,17,53,32,62,249,205,
80,5,58,70,32,50,112,32,58,86,32,50,113,32,205,99,
5,58,120,32,167,33,53,32,194,91,5,17,48,27,33,48,
32,6,16,195,50,26,225,58,110,32,167,192,58,128,32,254,
1,192,17,69,32,62,237,205,80,5,58,54,32,50,112,32,
58,86,32,50,113,32,205,99,5,58,118,32,254,16,218,231,
4,58,72,27,50,118,32,58,120,32,167,33,69,32,194,91,
5,17,64,27,33,64,32,6,16,205,50,26,58,130,32,61,
194,8,5,62,1,50,110,32,42,118,32,195,126,6,225,17,
85,32,62,219,205,80,5,58,70,32,50,112,32,58,54,32,
50,113,32,205,99,5,58,118,32,254,21,218,52,5,58,88,
27,50,118,32,58,120,32,167,33,85,32,194,91,5,17,80,
27,33,80,32,6,16,205,50,26,42,118,32,34,88,32,201,
50,127,32,33,115,32,6,11,195,50,26,17,115,32,6,11,
195,50,26,33,115,32,126,230,128,194,193,5,58,193,32,254,
4,58,105,32,202,183,5,167,200,35,54,0,58,112,32,167,
202,137,5,71,58,207,32,184,208,58,113,32,167,202,150,5,
71,58,207,32,184,208,35,126,167,202,27,6,42,118,32,78,
35,0,34,118,32,205,47,6,208,205,122,1,121,198,7,103,
125,214,10,111,34,123,32,33,115,32,126,246,128,119,35,52,
201,17,124,32,205,6,26,208,35,126,230,1,194,68,6,35,
52,205,117,6,58,121,32,198,3,33,127,32,190,218,226,5,
214,12,50,121,32,58,123,32,71,58,126,32,128,50,123,32,
205,108,6,58,123,32,254,21,218,18,6,58,97,32,167,200,
58,123,32,254,30,218,18,6,254,39,0,210,18,6,151,50,
21,32,58,115,32,246,1,50,115,32,201,58,27,32,198,8,
103,205,111,21,121,254,12,218,165,5,14,11,195,165,5,13,
58,103,32,103,105,22,5,126,167,55,192,125,198,11,111,21,
194,55,6,201,33,120,32,53,126,254,3,194,103,6,205,117,
6,33,220,28,34,121,32,33,124,32,53,53,43,53,53,62,
6,50,125,32,195,108,6,167,192,195,117,6,33,121,32,205,
59,26,195,145,20,33,121,32,205,59,26,195,82,20,34,72,
32,201,225,58,128,32,254,2,192,33,131,32,126,167,202,15,
5,58,86,32,167,194,15,5,35,126,167,194,171,6,58,130,
32,254,8,218,15,5,54,1,205,60,7,17,138,32,205,6,
26,208,33,133,32,126,167,194,214,6,33,138,32,126,35,35,
134,50,138,32,205,60,7,33,138,32,126,254,40,218,249,6,
254,225,210,249,6,201,6,254,205,220,25,35,53,126,254,31,
202,75,7,254,24,202,12,7,167,192,6,239,33,152,32,126,
160,119,230,32,211,5,0,0,0,205,66,7,205,203,20,33,
131,32,6,10,205,95,7,6,254,195,220,25,62,1,50,241,
32,42,141,32,70,14,4,33,80,29,17,76,29,26,184,202,
40,7,35,19,13,194,29,7,126,50,135,32,38,0,104,41,
41,41,41,34,242,32,205,66,7,195,241,8,205,66,7,195,
57,20,33,135,32,205,59,26,195,71,26,6,16,33,152,32,
126,176,119,205,112,23,33,124,29,34,135,32,195,60,7,17,
131,27,195,50,26,62,1,50,147,32,49,0,36,251,205,121,
25,205,214,9,33,19,48,17,243,31,14,4,205,243,8,58,
235,32,61,33,16,40,14,20,194,87,8,17,207,26,205,243,
8,219,1,230,4,202,127,7,6,153,175,50,206,32,58,235,
32,128,39,50,235,32,205,71,25,33,0,0,34,248,32,34,
252,32,205,37,25,205,43,25,205,215,25,33,1,1,124,50,
239,32,34,231,32,34,229,32,205,86,25,205,239,1,205,245,
1,205,209,8,50,255,33,50,255,34,205,215,0,175,50,254,
33,50,254,34,205,192,1,205,4,25,33,120,56,34,252,33,
34,252,34,205,228,1,205,127,26,205,141,8,205,214,9,0]
}

Some files were not shown because too many files have changed in this diff Show more