Merge branch 'master' into gh-pages
This commit is contained in:
commit
267c87339b
327 changed files with 35954 additions and 1383 deletions
|
|
@ -12,7 +12,7 @@ indent_style = space
|
|||
indent_size = 8
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{ASM,INC,asm,inc,nasm,lst}]
|
||||
[*.{ASM,INC,MAC,NASM,LST,asm,inc,mac,nasm,lst}]
|
||||
indent_style = tab
|
||||
indent_size = 8
|
||||
trim_trailing_whitespace = true
|
||||
|
|
|
|||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ node_modules
|
|||
archive/
|
||||
c64/
|
||||
ecp/
|
||||
projects/
|
||||
private/
|
||||
src/
|
||||
tmp/
|
||||
|
|
|
|||
108
Gruntfile.js
108
Gruntfile.js
|
|
@ -118,12 +118,14 @@ module.exports = function(grunt) {
|
|||
* @property {string} version
|
||||
* @property {Array.<string>} c1pJSFiles
|
||||
* @property {Array.<string>} pcJSFiles
|
||||
* @property {Array.<string>} pc8080Files
|
||||
* @property {Array.<string>} closureCompilerExterns
|
||||
*/
|
||||
var pkg = grunt.file.readJSON("package.json");
|
||||
|
||||
var tmpC1Pjs = "./tmp/c1pjs/" + pkg.version + "/c1p.js";
|
||||
var tmpPCjs = "./tmp/pcjs/" + pkg.version + "/pc.js";
|
||||
var tmpPC8080 = "./tmp/pc8080/" + pkg.version + "/pc8080.js";
|
||||
|
||||
grunt.initConfig({
|
||||
pkg: pkg, // pass the "package.json" object to initConfig() as a property, too
|
||||
|
|
@ -164,6 +166,19 @@ module.exports = function(grunt) {
|
|||
src: pkg.pcJSFiles,
|
||||
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": {
|
||||
src: pkg.c1pJSFiles,
|
||||
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, '');
|
||||
}
|
||||
}
|
||||
},
|
||||
"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: {
|
||||
options: {
|
||||
|
|
@ -201,6 +228,10 @@ module.exports = function(grunt) {
|
|||
"pc.js": {
|
||||
src: pkg.pcJSFiles,
|
||||
dest: tmpPCjs
|
||||
},
|
||||
"pc8080.js": {
|
||||
src: pkg.pc8080Files,
|
||||
dest: tmpPC8080
|
||||
}
|
||||
},
|
||||
closureCompiler: {
|
||||
|
|
@ -290,7 +321,7 @@ module.exports = function(grunt) {
|
|||
},
|
||||
// src: pkg.pcJSFiles,
|
||||
src: tmpPCjs,
|
||||
dest: "./versions/" + pkg.name + "/" + pkg.version + "/pc.js"
|
||||
dest: "./versions/pcjs/" + pkg.version + "/pc.js"
|
||||
},
|
||||
"pc-dbg.js": {
|
||||
/*
|
||||
|
|
@ -305,7 +336,34 @@ module.exports = function(grunt) {
|
|||
},
|
||||
// src: pkg.pcJSFiles,
|
||||
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: {
|
||||
|
|
@ -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": {
|
||||
files: [
|
||||
{
|
||||
|
|
@ -365,7 +442,7 @@ module.exports = function(grunt) {
|
|||
"pcjs": {
|
||||
files: [
|
||||
{
|
||||
cwd: "modules/pcjs/templates/",
|
||||
cwd: "modules/shared/templates/",
|
||||
src: ["components.*"],
|
||||
dest: "versions/pcjs/<%= pkg.version %>/",
|
||||
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": {
|
||||
files: [
|
||||
{
|
||||
|
|
@ -422,12 +517,13 @@ module.exports = function(grunt) {
|
|||
var contentOrig = content;
|
||||
var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest;
|
||||
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;
|
||||
var sDefaultName = "", match;
|
||||
match = sManifest.match(/<title.*?>(.*?)<\/title>/);
|
||||
if (match) {
|
||||
sDefaultName = match[1];
|
||||
sDefaultName += match[1];
|
||||
match = sManifest.match(/<version.*?>(.*?)<\/version>/);
|
||||
if (match) sDefaultName += ' ' + match[1];
|
||||
}
|
||||
|
|
@ -498,7 +594,7 @@ module.exports = function(grunt) {
|
|||
|
||||
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"]);
|
||||
|
||||
|
|
|
|||
21
README.md
21
README.md
|
|
@ -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.
|
||||
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
|
||||
* [C1Pjs](/docs/c1pjs/), a simulation of the 6502-based OSI Challenger 1P
|
||||
The project includes the following web-based emulators:
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
---
|
||||
|
||||
NOTE: The following information assumes you're running Node as your local web server, not Jekyll. You can still
|
||||
debug PCjs while running Jekyll, using `http://localhost:4000/` and your favorite web browser's Developer Tools,
|
||||
but none of the special server or client features discussed below will be available.
|
||||
NOTE: The following information assumes you're running Node as your local web server, not Jekyll. You can certainly
|
||||
debug PCjs while running Jekyll (ideally with `--config _config.yml,_developer.yml`), using `http://localhost:4000/`
|
||||
and your favorite web browser's Developer Tools, but none of the special server or client features discussed below
|
||||
will be available.
|
||||
|
||||
### Server Components
|
||||
|
||||
|
|
|
|||
30
_config.yml
30
_config.yml
|
|
@ -32,7 +32,7 @@ gems:
|
|||
|
||||
pcjs:
|
||||
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)
|
||||
pc_scripts: # if pcjs.compiled is false, the following scripts will be included instead, in the order listed
|
||||
- /modules/shared/lib/defines.js
|
||||
|
|
@ -98,3 +98,31 @@ pcjs:
|
|||
- /modules/c1pjs/lib/debugger.js
|
||||
- /modules/c1pjs/lib/computer.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
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ in the Front Matter of our Markdown documents, for compatibility with the Jekyll
|
|||
|
||||
'id' (eg, "ibm5150")
|
||||
'name' (eg, "IBM PC (Model 5150) with Monochrome Display")
|
||||
'type' ("pc" or "c1p")
|
||||
'type' (eg. "pc", "c1p", etc)
|
||||
'debugger' (default is false)
|
||||
'config' (default is "machine.xml")
|
||||
'template' (default is "machine.xsl")
|
||||
|
|
@ -34,6 +34,11 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
|
|||
{% endcomment %}
|
||||
{% 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 %}
|
||||
{% if machine.debugger %}
|
||||
{% capture machine_file %}{{ machine_type }}-dbg{% endcapture %}
|
||||
{% else %}
|
||||
|
|
@ -88,17 +93,18 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a
|
|||
{% 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 %}
|
||||
{% 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 %}
|
||||
{{ machine_script }}
|
||||
{% endunless %}
|
||||
{% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %}
|
||||
{% 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 %}
|
||||
{% 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 == "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 %}
|
||||
{% if script != "/modules/shared/lib/nodebug.js" or machine.debug != true %}
|
||||
{% 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 %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if machine_template == "" %}
|
||||
{% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %}
|
||||
{% if machine_template == "" %}
|
||||
{% 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 %}
|
||||
<script type="text/javascript">{{ machine_embed }}('{{ machine.id }}','{{ machine_config }}','{{ machine_template }}','{{ machine_parms }}');</script>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,18 @@
|
|||
{% 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 %}
|
||||
{% 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 %}
|
||||
{% 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 %}
|
||||
{% unless machine_styles contains machine_style %}
|
||||
<link rel="stylesheet" type="text/css" href="{{ machine_style }}">
|
||||
|
|
|
|||
|
|
@ -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
|
||||
exactly which version shipped with each IBM PC machine revision.
|
||||
|
||||
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.
|
||||
The project currently includes only two BASIC ROM versions, C1.00 and C1.10, which were initially released with the
|
||||
first model 5150 and 5160 machines, respectively. For more details, see [IBM PC ROMs](/devices/pc/rom/).
|
||||
|
||||
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.
|
||||
|
|
|
|||
56
_posts/2016-04-30-the-intel-8080-cpu.md
Normal file
56
_posts/2016-04-30-the-intel-8080-cpu.md
Normal 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*
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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 -->
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
<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"/>
|
||||
<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 dir="../">README.md</file>
|
||||
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<title>Executive Suite</title>
|
||||
<version/>
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
<releaseDate>1982</releaseDate>
|
||||
<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">
|
||||
<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="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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<title>Rogue</title>
|
||||
<version/>
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
<author>Jon Lane</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">
|
||||
<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="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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<title>ThinkTank</title>
|
||||
<version>2.41NP</version>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
<company>Living Videotext</company>
|
||||
<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">
|
||||
<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="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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<title>The Dungeons of Moria</title>
|
||||
<version>4.872</version>
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<desc>MSDOS port</desc>
|
||||
</author>
|
||||
<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="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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<title>The Dungeons of Moria</title>
|
||||
<version>5.5</version>
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
<desc>Macintosh port for Think C</desc>
|
||||
</contributor>
|
||||
<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="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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>OSI Challenger 1P (32Kb) with Disk Support</name>
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>OSI Challenger 1P (8Kb, Additional Software)</name>
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>OSI Challenger 1P (8Kb, Additional Software)</name>
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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>
|
||||
<title>Challenger 1P (8Kb) "Server Array"</title>
|
||||
<machine id="OSI1" ref="/devices/c1p/machine/8kb/small/machine.xml"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>OSI Challenger 1P (8Kb) with Debugger</name>
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">OSI Challenger 1P (circa 1978)</name>
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<computer id="c1p" name="Challenger 1P">
|
||||
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC (Model 5150), CGA, 384K</name>
|
||||
<computer id="pc-cga-384k" name="IBM PC"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC (Model 5150), CGA, 64K</name>
|
||||
<computer id="pc-cga-64k" name="IBM PC"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC (Model 5150) with Dual Displays</name>
|
||||
<computer id="pc-dual-64k" name="IBM PC" resume="1"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
|
||||
<computer id="pc-mda-64k" name="IBM PC"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
|
||||
<computer id="pc-mda-64k" name="IBM PC" resume="1"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC (Model 5150), MDA, 64K</name>
|
||||
<computer id="pc-mda-64k" name="IBM PC"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT" resume="1"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT" resume="1"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
|
||||
<chipset id="chipset" model="5160" sw1="01001001"/>
|
||||
<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"/>
|
||||
<mouse serial="com2"/>
|
||||
</machine>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), CGA, 256K, Windows 1.01</name>
|
||||
<computer id="xt-cga-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), CGA, 512K, WIN101</name>
|
||||
<computer id="xt-cga-512k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
|
||||
<computer id="xt-cga-640k" name="IBM PC XT"/>
|
||||
|
|
@ -13,9 +13,14 @@
|
|||
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
|
||||
<debugger id="debugger"/>
|
||||
<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">
|
||||
<control type="switches" label="SW1" binding="sw1" left="0px"/>
|
||||
<control type="description" binding="swdesc" left="0px"/>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
|
||||
<computer id="xt-cga-640k" name="IBM PC XT"/>
|
||||
|
|
@ -14,6 +14,11 @@
|
|||
<control type="button" binding="reset">Reset</control>
|
||||
</cpu>
|
||||
<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"/>
|
||||
<serial id="com1" adapter="1"/>
|
||||
<serial id="com2" adapter="2"/>
|
||||
<mouse serial="com2"/>
|
||||
</machine>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
|
||||
<computer id="xt-cga-640k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
|
||||
<computer id="xt-ega-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
|
||||
<computer id="xt-ega-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
|
||||
<computer id="xt-ega-640k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
|
||||
<computer id="xt-ega-640k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-mda-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
|
||||
<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"}}'>
|
||||
<control type="list" binding="listDrives"/>
|
||||
<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.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
|
||||
<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"}}'>
|
||||
<control type="list" binding="listDrives"/>
|
||||
<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.10/manifest.xml" disk="*"/>
|
||||
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
|
||||
<computer id="xt-mda-256k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive</name>
|
||||
<computer id="xt-mda-64k" name="IBM PC XT"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
|
||||
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
|
||||
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name>IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk</name>
|
||||
<computer id="at-ega-2048k" name="IBM PC AT" buswidth="24"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
|
||||
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
|
||||
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">AT&T Personal Computer 6300 with Color Display</name>
|
||||
<computer id="att6300-640k" name="AT&T 6300"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">AT&T Personal Computer 6300 with Color Display</name>
|
||||
<computer id="att6300-640k" name="MPC 1600"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">Columbia Data Products MPC 1600 with Color Display</name>
|
||||
<computer id="mpc1600-640k" name="MPC 1600"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">Columbia Data Products MPC 1600 with Color Display</name>
|
||||
<computer id="mpc1600-640k" name="MPC 1600"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name>
|
||||
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA</name>
|
||||
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name>
|
||||
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA</name>
|
||||
<computer id="deskpro386-ega-2048k" name="COMPAQ DeskPro 386" buswidth="32"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
|
||||
<computer id="pc-mda-64k" name="IBM PC"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">Zenith Z-150 with Color Display</name>
|
||||
<computer id="z150-640k" name="Z-150"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?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">
|
||||
<name pos="center">Zenith Z-150 with Color Display</name>
|
||||
<computer id="z150-640k" name="Z-150"/>
|
||||
|
|
|
|||
|
|
@ -6,18 +6,21 @@ redirect_from:
|
|||
- /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)
|
||||
* [BASIC 1.10](../../5160/basic/BASIC110.json)
|
||||
* [IBM BASIC C1.00](BASIC100.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
|
||||
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:
|
||||
|
||||
<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"/>
|
||||
|
|
|
|||
4098
devices/pc/rom/5160/1986-01-10/XTBIOS-REV2.json
Normal file
4098
devices/pc/rom/5160/1986-01-10/XTBIOS-REV2.json
Normal file
File diff suppressed because it is too large
Load diff
BIN
devices/pc/rom/5160/1986-01-10/XTBIOS-REV2.rom
Normal file
BIN
devices/pc/rom/5160/1986-01-10/XTBIOS-REV2.rom
Normal file
Binary file not shown.
|
|
@ -16,20 +16,49 @@ for each ROM in the machine; eg:
|
|||
|
||||
### 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 1.10](5160/basic/BASIC110.json)
|
||||
* [IBM BASIC C1.00](5150/basic/BASIC100.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
|
||||
|
||||
The project contains the following IBM PC BIOS ROMs:
|
||||
|
||||
* [Model 5150: Apr 24, 1981](5150/1981-04-24/PCBIOS-REV1.json)
|
||||
* [Model 5150: Oct 19, 1981](5150/1981-10-19/PCBIOS-REV2.json)
|
||||
* [Model 5150: Oct 27, 1982](5150/1982-10-27/PCBIOS-REV3.json)
|
||||
* [Model 5160: Nov 08, 1982](5160/1982-11-08/XTBIOS-REV1.json)
|
||||
* [Model 5160: May 09, 1986](5160/1986-05-09/XTBIOS-REV3.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) (included with [IBM BASIC C1.00](5150/basic/BASIC100.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) (included with [IBM BASIC C1.10](5160/basic/BASIC110.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:
|
||||
|
||||
|
|
|
|||
28
devices/pc8080/machine/invaders/README.md
Normal file
28
devices/pc8080/machine/invaders/README.md
Normal 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.
|
||||
19
devices/pc8080/machine/invaders/machine.xml
Normal file
19
devices/pc8080/machine/invaders/machine.xml
Normal 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>
|
||||
48
devices/pc8080/machine/test/README.md
Normal file
48
devices/pc8080/machine/test/README.md
Normal 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)
|
||||
11
devices/pc8080/machine/test/machine.xml
Normal file
11
devices/pc8080/machine/test/machine.xml
Normal 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>
|
||||
35
devices/pc8080/panel/left.xml
Normal file
35
devices/pc8080/panel/left.xml
Normal 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>
|
||||
35
devices/pc8080/panel/wide.xml
Normal file
35
devices/pc8080/panel/wide.xml
Normal 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>
|
||||
130
devices/pc8080/rom/invaders/INVADERS-E.json
Normal file
130
devices/pc8080/rom/invaders/INVADERS-E.json
Normal 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]
|
||||
}
|
||||
130
devices/pc8080/rom/invaders/INVADERS-F.json
Normal file
130
devices/pc8080/rom/invaders/INVADERS-F.json
Normal 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]
|
||||
}
|
||||
130
devices/pc8080/rom/invaders/INVADERS-G.json
Normal file
130
devices/pc8080/rom/invaders/INVADERS-G.json
Normal 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]
|
||||
}
|
||||
130
devices/pc8080/rom/invaders/INVADERS-H.json
Normal file
130
devices/pc8080/rom/invaders/INVADERS-H.json
Normal 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
Loading…
Reference in a new issue