Initial commit (a clone of the jsmachines project as of v1.15.3)

This commit is contained in:
jeffpar 2014-09-27 14:52:57 -07:00
commit a5e3e6a59d
714 changed files with 130602 additions and 0 deletions

4
configs/README.md Normal file
View file

@ -0,0 +1,4 @@
Machine Configurations
---
Browse [IBM PC](/configs/pc/) and [Challenger 1P](/configs/c1p/) machine configurations.

5
configs/c1p/README.md Normal file
View file

@ -0,0 +1,5 @@
Challenger 1P Configurations
---
This folder contains Challenger 1P [Machine Configurations](machines/), along with a variety of component configurations,
such as [Control Panels](panels/), [Disk Sets](disks/) and [Serial Program Sets](serial/).

View file

@ -0,0 +1,4 @@
Challenger 1P Disk Sets
---
An assortment of Challenger 1P Disk Sets, for use by [C1P Machine Configurations](../machines/).

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<disk id="disk" pos="left" padleft="8px">
<control type="list" class="input" binding="listDisk">
<item ref="/disks/c1p/OS65D33.json">OS65D33</item>
</control>
<control type="button" class="input" binding="loadDisk">Load Disk</control>
</disk>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/machine.xsl"?>
<machine id="c1psim" class="c1p" border="1" width="100%" style="background-color:#FAEBD7">
<name>OSI Challenger 1P (32Kb) with Disk Support</name>
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram32K" start="0x0000" end="0x7fff"/>
<module type="rom" refid="romNull" start="0x8000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="disk" refid="disk" start="0xc000" end="0xc0ff"/>
<module type="video" refid="video" start="0xd000" end="0xd7ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<cpu id="cpu6502"/>
<debugger id="debugger"/>
<ram id="ram32K" size="0x8000"/>
<rom id="romNull" size="0x2000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="512" screenheight="384" cols="32" rows="32" charset="/devices/c1p/video/chargen2x.png" width="512px" padding="8px">
<name>Video Display</name>
</video>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial ref="/configs/c1p/serial/samples.xml"/>
<disk ref="/configs/c1p/disks/samples.xml"/>
<panel ref="/configs/c1p/panels/default.xml"/>
</machine>

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/machine.xsl"?>
<machine id="c1pAll" class="c1p" border="1" width="100%" style="background-color:#FAEBD7">
<name>OSI Challenger 1P (8Kb, More Programs)</name>
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram8K" start="0x0000" end="0x1fff"/>
<module type="rom" refid="romNull" start="0x2000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="video" refid="video" start="0xd000" end="0xd3ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<cpu id="cpu6502"/>
<debugger id="debugger"/>
<ram id="ram8K" size="0x2000"/>
<rom id="romNull" size="0x8000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="512" screenheight="384" cols="32" rows="32" charset="/devices/c1p/video/chargen2x.png" width="512px" padding="8px">
<name>Video Display</name>
</video>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial ref="/configs/c1p/serial/all.xml"/>
<panel ref="/configs/c1p/panels/default.xml"/>
</machine>

View file

@ -0,0 +1,12 @@
Challenger 1P (8Kb) "Server Array"
---
[Machine #1](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI1")
[Machine #2](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI2")
[Machine #3](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI3")
[Machine #4](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI4")
[Machine #5](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI5")
[Machine #6](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI6")
[Machine #7](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI7")
[Machine #8](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI8")
[Machine #9](/configs/c1p/machines/8kb/small/ "C1Pjs:OSI9")

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/outline.xsl"?>
<outline>
<title>Challenger 1P (8Kb) "Server Array"</title>
<machine id="OSI1" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI2" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI3" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI4" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI5" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI6" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI7" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI8" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
<machine id="OSI9" ref="/configs/c1p/machines/8kb/small/machine.xml"/>
</outline>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<machine id="c1pEmbed" class="c1p" border="1" width="272px" pos="right" padleft="16px" padright="16px" padbottom="16px" style="background-color:#FAEBD7">
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram8K" start="0x0000" end="0x1fff"/>
<module type="rom" refid="romNull" start="0x2000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="video" refid="video" start="0xd000" end="0xd3ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<cpu id="cpu6502"/>
<ram id="ram8K" size="0x2000"/>
<rom id="romNull" size="0x8000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="256" screenheight="192" cols="32" rows="32" charset="/devices/c1p/video/chargen1x.png" width="256px" padding="8px"/>
<keyboard id="keyboard" pos="center">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial id="serialPort" demo="true"/>
</machine>

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/machine.xsl"?>
<machine id="c1p8kb" class="c1p" border="1" width="100%" style="background-color:#FAEBD7">
<name>OSI Challenger 1P (8Kb) with Debugger</name>
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram8K" start="0x0000" end="0x1fff"/>
<module type="rom" refid="romNull" start="0x2000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="video" refid="video" start="0xd000" end="0xd3ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<cpu id="cpu6502"/>
<debugger id="debugger"/>
<ram id="ram8K" size="0x2000"/>
<rom id="romNull" size="0x8000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="512" screenheight="384" cols="32" rows="32" charset="/devices/c1p/video/chargen2x.png" width="512px" padding="8px">
<name>Video Display</name>
</video>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial ref="/configs/c1p/serial/samples.xml"/>
<panel ref="/configs/c1p/panels/default.xml"/>
</machine>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/machine.xsl"?>
<machine id="c1pLarge" class="c1p" border="1" pos="center" style="background-color:#FAEBD7">
<name pos="center">OSI Challenger 1P (circa 1978)</name>
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram8K" start="0x0000" end="0x1fff"/>
<module type="rom" refid="romNull" start="0x2000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="video" refid="video" start="0xd000" end="0xd3ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<ram id="ram8K" size="0x2000"/>
<rom id="romNull" size="0x8000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="512" screenheight="384" cols="32" rows="32" charset="/devices/c1p/video/chargen2x.png" padding="8px"/>
<cpu id="cpu6502" autostart="false" pos="left" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
</cpu>
<keyboard id="keyboard" pos="left" padleft="8px" padbottom="8px">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial id="serialPort" demo="true"/>
</machine>

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/c1pjs/1.15.3/machine.xsl"?>
<machine id="c1pSmall" class="c1p" border="1" width="272px" pos="left" padright="16px" padbottom="16px" style="background-color:#FAEBD7">
<computer id="c1p" name="Challenger 1P">
<module type="cpu" refid="cpu6502" start="0x0000" end="0xffff"/>
<module type="ram" refid="ram8K" start="0x0000" end="0x1fff"/>
<module type="rom" refid="romNull" start="0x2000" end="0x9fff"/>
<module type="rom" refid="romBasic" start="0xa000" end="0xbfff"/>
<module type="video" refid="video" start="0xd000" end="0xd3ff"/>
<module type="keyboard" refid="keyboard" start="0xdf00" end="0xdfff"/>
<module type="serial" refid="serialPort" start="0xf000" end="0xf0ff"/>
<module type="rom" refid="romSystem" start="0xf800" end="0xffff"/>
</computer>
<cpu id="cpu6502"/>
<ram id="ram8K" size="0x2000"/>
<rom id="romNull" size="0x8000"/>
<rom id="romBasic" size="0x2000" image="/devices/c1p/roms/basic-gcpatch.hex"/>
<rom id="romSystem" size="0x0800" image="/devices/c1p/roms/system.hex"/>
<video id="video" screenwidth="256" screenheight="192" cols="32" rows="32" charset="/devices/c1p/video/chargen1x.png" width="256px" padding="8px"/>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-o">CTRL-O</control>
<control type="button" class="input" binding="break">BREAK</control>
</keyboard>
<serial id="serialPort" demo="true"/>
</machine>

View file

@ -0,0 +1,13 @@
Challenger 1P Machine Configurations
---
Here are some sample C1P Machine Configurations:
* [8kb with Large Display](8kb/large/)
* [8kb with Large Display, Debugger](8kb/large/debugger/)
* [8kb with Small Display](8kb/small/)
* [8kb with Large Display, Debugger, Additional Software](8kb/all/debugger)
* [8kb "Server Array" Demo](8kb/array/)
* [32kb with Diskette Support](32kb/)
See the [Documentation](/docs/c1pjs/) for details on the operation of C1Pjs.

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" left="528px" top="8px" width="362px">
<name>Control Panel</name>
<control type="textarea" class="output" binding="print" width="240px" height="280px"/>
<control type="text" class="input" binding="debugInput" width="240px" pos=""/>
<control type="button" class="input" binding="debugEnter" top="290px" left="256px">Enter</control>
<control type="register" class="output" label="A" labelwidth="10px" binding="A" width="50px" height="18px" top="0px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="X" labelwidth="10px" binding="X" width="50px" height="18px" top="19px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="Y" labelwidth="10px" binding="Y" width="50px" height="18px" top="38px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="C" labelwidth="10px" binding="C" width="50px" height="18px" top="57px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="Z" labelwidth="10px" binding="Z" width="50px" height="18px" top="76px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="I" labelwidth="10px" binding="I" width="50px" height="18px" top="95px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="D" labelwidth="10px" binding="D" width="50px" height="18px" top="114px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="B" labelwidth="10px" binding="B" width="50px" height="18px" top="133px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="V" labelwidth="10px" binding="V" width="50px" height="18px" top="152px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="N" labelwidth="10px" binding="N" width="50px" height="18px" top="171px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="S" labelwidth="10px" binding="S" width="50px" height="18px" top="190px" left="256px" style="text-align:right"/>
<control type="register" class="output" label="PC" labelwidth="10px" binding="PC" width="50px" height="18px" top="209px" left="256px" style="text-align:right"/>
<control type="register" class="output" binding="speed" width="78px" height="18px" top="235px" left="256px" style="text-align:right"/>
<control pos=""/>
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="step">Step</control>
<control type="button" class="input" binding="reset">Reset</control>
<control type="button" class="input" binding="setSpeed">Fast</control>
</panel>

View file

@ -0,0 +1,8 @@
Challenger 1P Serial Program Sets
---
The C1P serial port has no configurable hardware features. However, there is a "demo" property that can
be set, causing the machine to load some built-in demonstration code via the serial port when it starts up.
The purpose of these configuration files is to create UI controls that allow you to choose from a set of programs
(eg, BASIC programs, 6502 machine code files) and send them to the C1P through the serial port.

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<serial id="serialPort" pos="left" padleft="8px">
<control type="list" class="input" binding="listSerial">
<item ref="/apps/c1p/BASIC/JP/TUBELIST.BAS">TUBELIST (JP)</item>
<item ref="/apps/c1p/BASIC/JP/HANGWOMAN.BAS">HANGWOMAN (JP)</item>
<item ref="/apps/c1p/BASIC/JP/CHECKERS.BAS">CHECKERS (JP)</item>
<item ref="/apps/c1p/BASIC/JP/LIFE.BAS">LIFE (JP)</item>
<item ref="/apps/c1p/BASIC/JP/OTHELLO.BAS">OTHELLO (JP)</item>
<item ref="/apps/c1p/BASIC/JP/SOFORECAST.BAS">SOFORECAST (JP)</item>
<item ref="/apps/c1p/6502/JP/BASICEXT.65V">6502 BASIC MODS (JP)</item>
<item ref="/apps/c1p/6502/JP/LIFE.65V">6502 LIFE (JP)</item>
<item ref="/apps/c1p/6502/tests/bcd/bcd.65v">6502 BCD TESTS</item>
<item ref="/apps/c1p/6502/tests/vflag/vflag.65v">6502 VFLAG TESTS</item>
<item ref="/apps/c1p/BASIC/OSI/POKER.BAS">POKER</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE1.BAS">BASIC MATH</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE2.BAS">CHECKING</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE3.BAS">TRIG TUTOR</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE4.BAS">STAR WARS</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE5.BAS">COUNTER</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE6.BAS">PRESIDENTS</item>
<item ref="/sites/www.osiweb.org/programs/basic/OsiBas/spacewar.bas">SPACEWAR</item>
</control>
<control type="button" class="input" binding="loadSerial">Load File</control>
</serial>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<serial id="serialPort" pos="left" padleft="8px">
<control type="list" class="input" binding="listSerial">
<item ref="/apps/c1p/BASIC/OSI/POKER.BAS">POKER</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE1.BAS">BASIC MATH</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE2.BAS">CHECKING</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE3.BAS">TRIG TUTOR</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE4.BAS">STAR WARS</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE5.BAS">COUNTER</item>
<item ref="/apps/c1p/BASIC/OSI/SAMPLE6.BAS">PRESIDENTS</item>
</control>
<control type="button" class="input" binding="loadSerial">Load File</control>
</serial>

6
configs/pc/README.md Normal file
View file

@ -0,0 +1,6 @@
IBM PC Configurations
---
Here you'll find [Machine Configurations](/configs/pc/machines/), along with a variety of other component configurations
that are used by the machines, such as [Control Panels](/configs/pc/panels/), [Disk Sets](/configs/pc/disks/) and
[Keyboard Layouts](/configs/pc/keyboards/).

View file

@ -0,0 +1,59 @@
IBM PC Disk Sets
---
An assortment of IBM PC Disk Sets, for use by [IBM PC Machine Configurations](../machines/).
### Example
An FDC (Floppy Disk Controller) XML file, such as [samples.xml](samples.xml), typically contains &lt;disk&gt; entries like:
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.0</disk>
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.1</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.0 (Disk 1)</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.0 (Disk 2)</disk>
<disk path="/disks/pc/games/microsoft/adventure/adventure-1981.json">Microsoft Adventure</disk>
<disk path="/apps/pc/1981/visicalc/disk.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk>
However, if you wanted to load VisiCalc directly from the /apps folder, rather than using a pre-generated disk image,
you could do that with an &lt;manifest&gt; entry that references the application's manifest.xml:
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="disk"/>
The application must have a **manifest.xml** with &lt;disk&gt; section containing an *id* value that matches the *disk* value
specified above:
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/">
<file>VC.COM</file>
<file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
</disk>
If multiple disks are defined in the manifest, and you want to include them all, you can set the *disk* value to '*', as in:
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
As an added bonus, PCjs will automatically display the descriptive &lt;link&gt; whenever this item is selected, and it will
dynamically generate a disk image containing all the specified &lt;file&gt; entries when the selected item is loaded.
Pre-generated images are still preferred, and you can now include those in the application **manifest.xml** as well, by adding
an *href* value to the &lt;disk&gt; section that was used to create the image:
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/" href="/apps/pc/1981/visicalc/disk.json">
<file>VC.COM</file>
<file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>
</disk>
The PCjs "diskdump" module is used to create all our pre-generated JSON-encoded disk images. In the above example, a
pre-generated disk image could be created from the command-line with either the "--dir" option (which will traverse all
subdirectories as well):
node diskdump --dir=./apps/pc/1981/visicalc/bin/ --format=json --output=./apps/pc/1981/visicalc/disk.json
or with the "--path" option, which specifies either a single file or a set files separated by semi-colons:
node diskdump "--path=./apps/pc/1981/visicalc/bin/vc.com;../readme.md" --format=json --output=./apps/pc/1981/visicalc/disk.json
or via the PCjs server's "diskdump" API:
http://www.pcjs.org/api/v1/dump?path=/apps/pc/1981/visicalc/bin/vc.com&format=json

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",path:"/disks/pc/fixed/win101/10mb-ega.json",type:3}]'/>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",path:"/disks/pc/fixed/win101/10mb.json",type:3}]'/>

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<fdc id="fdcNEC" width="400px" 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:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/dos/ibm/2.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/3.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/microsoft/3.20/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/microsoft/4.0M/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win101/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win103/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win103a/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win104/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/win/win203/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/lotus/123/1.0a/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/2.0c/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/3.0/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/apps/microsoft/word/5.0/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/games/microsoft/flightsim/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/basic/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/c/4.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/masm/4.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/mouse/5.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/1.01/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/1.04/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/tools/microsoft/winsdk/2.03/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1982/esuite/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1985/rogue/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1987/thinktank/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pc/1992/moria/manifest.xml" disk="disk01"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<fdc id="fdcNEC" width="360px" 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:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/games/microsoft/adventure/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<fdc id="fdcNEC" width="320px" pos="left" padtop="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" class="input" binding="listDrives"/>
<control type="list" class="input" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
<disk path="/disks/pc/win/win101/01-SETUP/">Windows 1.01 (SETUP)</disk>
<disk path="/disks/pc/win/win101/02-BUILD/">Windows 1.01 (BUILD)</disk>
<disk path="/disks/pc/win/win101/03-UTILITY/">Windows 1.01 (UTILITY)</disk>
<disk path="/disks/pc/win/win101/04-APPS/">Windows 1.01 (APPS)</disk>
<disk path="/disks/pc/win/win101/05-WRITE/">Windows 1.01 (WRITE)</disk>
<disk path="/disks/pc/win/win103/01-SETUP/">Windows 1.03 (SETUP)</disk>
<disk path="/disks/pc/win/win103/02-BUILD/">Windows 1.03 (BUILD)</disk>
<disk path="/disks/pc/win/win103/03-UTILITY/">Windows 1.03 (UTILITY)</disk>
<disk path="/disks/pc/win/win103/04-FONT/">Windows 1.03 (FONT)</disk>
<disk path="/disks/pc/win/win103/05-APPS/">Windows 1.03 (APPS)</disk>
<disk path="/disks/pc/win/win103/06-WRITE/">Windows 1.03 (WRITE)</disk>
</control>
<control type="button" class="input" binding="loadDrive">Load Drive</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="esc">ESC</control>
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-alt-del">CTRL-ALT-DEL</control>
<control type="button" class="input" binding="f1">F1</control>
<control type="button" class="input" binding="left-arrow">&lt;</control>
<control type="button" class="input" binding="right-arrow">&gt;</control>
<control type="button" class="input" binding="up-arrow">^</control>
<control type="button" class="input" binding="down-arrow">v</control>
</keyboard>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="esc">ESC</control>
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-alt-del">CTRL-ALT-DEL</control>
<control type="button" class="input" binding="f1">F1</control>
<control type="button" class="input" binding="f10">F10</control>
</keyboard>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="esc">ESC</control>
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-alt-del">CTRL-ALT-DEL</control>
<control type="button" class="input" binding="f1">F1</control>
<control type="button" class="input" binding="f2">F2</control>
<control type="button" class="input" binding="f3">F3</control>
<control type="button" class="input" binding="f4">F4</control>
<control type="button" class="input" binding="f5">F5</control>
<control type="button" class="input" binding="f6">F6</control>
<control type="button" class="input" binding="f7">F7</control>
<control type="button" class="input" binding="f8">F8</control>
<control type="button" class="input" binding="f9">F9</control>
<control type="button" class="input" binding="f10">F10</control>
</keyboard>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<keyboard id="keyboard" padleft="8px">
<control type="button" class="input" binding="esc">ESC</control>
<control type="button" class="input" binding="ctrl-c">CTRL-C</control>
<control type="button" class="input" binding="ctrl-alt-del">CTRL-ALT-DEL</control>
</keyboard>

View file

@ -0,0 +1,87 @@
<keyboard id="keyboard" model="us83" pos="center" width="900px" height="210px" padleft="8px">
<control type="container">
<control type="key" class="input" binding="f1" width="34px" top="0px" left="0px">F1</control>
<control type="key" class="input" binding="f2" width="34px" top="0px" left="42px">F2</control>
<control type="key" class="input" binding="f3" width="34px" top="42px" left="0px">F3</control>
<control type="key" class="input" binding="f4" width="34px" top="42px" left="42px">F4</control>
<control type="key" class="input" binding="f5" width="34px" top="84px" left="0px">F5</control>
<control type="key" class="input" binding="f6" width="34px" top="84px" left="42px">F6</control>
<control type="key" class="input" binding="f7" width="34px" top="126px" left="0px">F7</control>
<control type="key" class="input" binding="f8" width="34px" top="126px" left="42px">F8</control>
<control type="key" class="input" binding="f9" width="34px" top="168px" left="0px">F9</control>
<control type="key" class="input" binding="f10" width="34px" top="168px" left="42px">F10</control>
<control type="key" class="input" binding="esc" width="46px" top="0px" left="96px">Esc</control>
<control type="key" class="input" binding="1" width="34px" top="0px" left="150px">1 !</control>
<control type="key" class="input" binding="2" width="34px" top="0px" left="192px">2 @</control>
<control type="key" class="input" binding="3" width="34px" top="0px" left="234px">3 #</control>
<control type="key" class="input" binding="4" width="34px" top="0px" left="276px">4 $</control>
<control type="key" class="input" binding="5" width="34px" top="0px" left="318px">5 %</control>
<control type="key" class="input" binding="6" width="34px" top="0px" left="360px">6 ^</control>
<control type="key" class="input" binding="7" width="34px" top="0px" left="402px">7 &amp;</control>
<control type="key" class="input" binding="8" width="34px" top="0px" left="444px">8 *</control>
<control type="key" class="input" binding="9" width="34px" top="0px" left="486px">9 (</control>
<control type="key" class="input" binding="0" width="34px" top="0px" left="528px">0 )</control>
<control type="key" class="input" binding="-" width="34px" top="0px" left="570px">- _</control>
<control type="key" class="input" binding="=" width="34px" top="0px" left="612px">= +</control>
<control type="key" class="input" binding="backspace" width="46px" top="0px" left="654px">Back</control>
<control type="key" class="input" binding="num-lock" width="76px" top="0px" left="708px">Num</control>
<control type="key" class="input" binding="scroll-lock" width="76px" top="0px" left="792px">Scroll</control>
<control type="key" class="input" binding="tab" width="46px" top="42px" left="96px">Tab</control>
<control type="key" class="input" binding="q" width="34px" top="42px" left="150px">Q</control>
<control type="key" class="input" binding="w" width="34px" top="42px" left="192px">W</control>
<control type="key" class="input" binding="e" width="34px" top="42px" left="234px">E</control>
<control type="key" class="input" binding="r" width="34px" top="42px" left="276px">R</control>
<control type="key" class="input" binding="t" width="34px" top="42px" left="318px">T</control>
<control type="key" class="input" binding="y" width="34px" top="42px" left="360px">Y</control>
<control type="key" class="input" binding="u" width="34px" top="42px" left="402px">U</control>
<control type="key" class="input" binding="i" width="34px" top="42px" left="444px">I</control>
<control type="key" class="input" binding="o" width="34px" top="42px" left="486px">O</control>
<control type="key" class="input" binding="p" width="34px" top="42px" left="528px">P</control>
<control type="key" class="input" binding="[" width="34px" top="42px" left="570px">[ {</control>
<control type="key" class="input" binding="]" width="34px" top="42px" left="612px">] }</control>
<control type="key" class="input" binding="enter" height="76px" width="46px" top="42px" left="654px"><br/>Enter</control>
<control type="key" class="input" binding="home" width="34px" top="42px" left="708px">7</control>
<control type="key" class="input" binding="up-arrow" width="34px" top="42px" left="750px">8</control>
<control type="key" class="input" binding="page-up" width="34px" top="42px" left="792px">9</control>
<control type="key" class="input" binding="num-minus" width="34px" top="42px" left="834px">-</control>
<control type="key" class="input" binding="ctrl" width="46px" top="84px" left="96px">Ctrl</control>
<control type="key" class="input" binding="a" width="34px" top="84px" left="150px">A</control>
<control type="key" class="input" binding="s" width="34px" top="84px" left="192px">S</control>
<control type="key" class="input" binding="d" width="34px" top="84px" left="234px">D</control>
<control type="key" class="input" binding="f" width="34px" top="84px" left="276px">F</control>
<control type="key" class="input" binding="g" width="34px" top="84px" left="318px">G</control>
<control type="key" class="input" binding="h" width="34px" top="84px" left="360px">H</control>
<control type="key" class="input" binding="j" width="34px" top="84px" left="402px">J</control>
<control type="key" class="input" binding="k" width="34px" top="84px" left="444px">K</control>
<control type="key" class="input" binding="l" width="34px" top="84px" left="486px">L</control>
<control type="key" class="input" binding=";" width="34px" top="84px" left="528px">; :</control>
<control type="key" class="input" binding="squote" width="34px" top="84px" left="570px">' "</control>
<control type="key" class="input" binding="bquote" width="34px" top="84px" left="612px">` ~</control>
<control type="key" class="input" binding="left-arrow" width="34px" top="84px" left="708px">4</control>
<control type="key" class="input" binding="center" width="34px" top="84px" left="750px">5</control>
<control type="key" class="input" binding="right-arrow" width="34px" top="84px" left="792px">6</control>
<control type="key" class="input" binding="num-plus" height="118px" width="34px" top="84px" left="834px"><br/>+</control>
<control type="key" class="input" binding="lshift" width="46px" top="126px" left="96px">Shift</control>
<control type="key" class="input" binding="bslash" width="34px" top="126px" left="150px">\ |</control>
<control type="key" class="input" binding="z" width="34px" top="126px" left="192px">Z</control>
<control type="key" class="input" binding="x" width="34px" top="126px" left="234px">X</control>
<control type="key" class="input" binding="c" width="34px" top="126px" left="276px">C</control>
<control type="key" class="input" binding="v" width="34px" top="126px" left="318px">V</control>
<control type="key" class="input" binding="b" width="34px" top="126px" left="360px">B</control>
<control type="key" class="input" binding="n" width="34px" top="126px" left="402px">N</control>
<control type="key" class="input" binding="m" width="34px" top="126px" left="444px">M</control>
<control type="key" class="input" binding="," width="34px" top="126px" left="486px">, &lt;</control>
<control type="key" class="input" binding="." width="34px" top="126px" left="528px">. &gt;</control>
<control type="key" class="input" binding="/" width="34px" top="126px" left="570px">/ ?</control>
<control type="key" class="input" binding="rshift" width="46px" top="126px" left="612px">Shift</control>
<control type="key" class="input" binding="prtsc" width="34px" top="126px" left="666px">PrtSc</control>
<control type="key" class="input" binding="end" width="34px" top="126px" left="708px">1</control>
<control type="key" class="input" binding="down-arrow" width="34px" top="126px" left="750px">2</control>
<control type="key" class="input" binding="page-down" width="34px" top="126px" left="792px">3</control>
<control type="key" class="input" binding="alt" width="46px" top="168px" left="96px">Alt</control>
<control type="key" class="input" binding="space" width="434px" top="168px" left="150px">Space</control>
<control type="key" class="input" binding="caps-lock" width="66px" top="168px" left="592px">Caps</control>
<control type="key" class="input" binding="ins" width="76px" top="168px" left="666px">Ins</control>
<control type="key" class="input" binding="del" width="76px" top="168px" left="750px">Del</control>
</control>
</keyboard>

View file

@ -0,0 +1,4 @@
IBM PC (Model 5150)
---
All our Model 5150 configurations of the IBM PC are located here.

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC (Model 5150), CGA, 384K</name>
<computer id="pc-cga-384k" name="IBM PC"/>
<cpu id="cpu8088" model="8088"/>
<debugger id="debugger"/>
<ram id="ramLow" addr="0x00000" test="false" comment="no memory test"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="10100000" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="switches" class="input" label="SW2" binding="sw2" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -0,0 +1,4 @@
IBM PC (Model 5150) with Color Graphics (CGA) Display
---
All our 64Kb configurations of the IBM PC Model 5150 w/CGA are located here.

View file

@ -0,0 +1,12 @@
[IBM PC](machine.xml "PCjs:ibm5150")
The above simulation is configured for a clock speed of 4.77Mhz, with 64Kb of RAM and a CGA display,
using the original IBM PC Model 5150 ROM BIOS and CGA font ROM. This configuration also includes a
predefined state, with PC-DOS 1.0 already booted and DONKEY.BAS ready to run.
And now that PCjs automatically saves all your changes (subject to the limits of your browser's local
storage), you can even close the browser in the middle of a game of DONKEY, and the next time you load
this page, your progress (and the donkey) will be perfectly restored.
For more control over this machine, try the [Control Panel](debugger/) configuration, featuring the
built-in PCjs Debugger.

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC" state="/configs/pc/machines/5150/cga/64kb/donkey/state.json"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true"/>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="11110000" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="switches" class="input" label="SW2" binding="sw2" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC" state="/configs/pc/machines/5150/cga/64kb/donkey/state.json"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" pos="right"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="11110000"/>
</machine>

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="11110000" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="switches" class="input" label="SW2" binding="sw2" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -0,0 +1,4 @@
IBM PC (Model 5150) with Color Graphics (CGA) Display
---
All our Color Graphics (CGA) configurations of the IBM PC Model 5150 are located here.

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" width="740px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC Model 5150 with Monochrome Display</name>
<computer id="pc-mda-64k" name="IBM PC" resume="1"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="720px" padding="8px">
<name>Monochrome Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true"/>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="switches" class="input" label="SW2" binding="sw2" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
<computer id="pc-mda-64k" name="IBM PC" resume="1"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" padding="8px">
<name>Monochrome Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" pos="right"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000"/>
</machine>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5150" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC (Model 5150), MDA, 64K</name>
<computer id="pc-mda-64k" name="IBM PC"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.00.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="720px" padding="8px">
<name>Monochrome Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="switches" class="input" label="SW2" binding="sw2" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -0,0 +1,10 @@
IBM PC (Model 5150) with Monochrome (MDA) Display
---
All our Monochrome (MDA) configurations of the IBM PC Model 5150 are located here.
Below is a 64kb configuration, with a clock speed of 4.77Mhz,
using the original IBM PC Model 5150 ROM BIOS and MDA font ROM. For more control,
use this [alternate configuration](/configs/pc/machines/5150/mda/64kb/debugger/) with Control Panel and Debugger.
[IBM PC (Model 5150) with Monochrome Display and 64Kb](/configs/pc/machines/5150/mda/64kb/ "PCjs:ibm5150")

View file

@ -0,0 +1,4 @@
IBM PC XT (Model 5160)
---
All our Model 5160, aka IBM PC XT, configurations are located here.

View file

@ -0,0 +1,12 @@
IBM PC XT "Server Array"
===
### Demonstration of Multiple IBM PCs on a Single Web Page
The simulations below are identical PC XT configurations, each with a clock speed of 4.77Mhz, 256Kb of RAM,
and a CGA display, using the original IBM PC Model 5160 ROM BIOS and CGA font ROM. Each also includes an
empty/unformatted 10Mb hard disk. Use FDISK and then FORMAT to turn it into a usable C: drive.
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160a")
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160b")

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name pos="center">IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard id="keyboard" model="us83"/>
<fdc ref="/configs/pc/disks/samples.xml"/>
<chipset id="chipset" model="5160" sw1="01001001"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,10 @@
[IBM PC](machine.xml "PCjs:ibm5160")
The above simulation is configured for a clock speed of 4.77Mhz, with 256Kb of RAM and a CGA display,
using the original IBM PC Model 5160 ROM BIOS and CGA font ROM.
This PC XT configuration also includes an empty 10Mb hard disk. Use FDISK and then FORMAT to turn it into
a usable C: drive.
For more control over this machine, try the [Control Panel](debugger/) configuration, featuring the
built-in PCjs Debugger.

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true"/>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#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"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal-f1-f10.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" pos="right"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
<chipset id="chipset" model="5160" sw1="01001001"/>
</machine>

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive</name>
<computer id="xt-cga-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,14 @@
[IBM PC](machine.xml "PCjs:ibm5160")
The above simulation is configured for a clock speed of 4.77Mhz, with 256Kb of RAM and a CGA display,
using the original IBM PC Model 5160 ROM BIOS and CGA font ROM.
This PC XT configuration also includes a 10Mb hard disk with Windows 1.01 pre-installed.
This particular configuration will NOT save any changes when your browser exits, since it has
been pre-configured to always start Windows 1.01 in the same state.
NOTE: The Windows 1.01 mouse pointer can be controlled with your mouse, but only when your mouse is
within the "CGA Display" window. This is a restriction imposed by your web browser, not PCjs.
For more control over this machine, try the [Control Panel](debugger/) configuration, featuring the
built-in PCjs Debugger, with save/restore enabled.

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160) running Windows v1.01</name>
<computer id="xt-cga-win101" name="IBM PC XT" state="/configs/pc/machines/5160/cga/256kb/win101/state.json" resume="1"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" width="960px" padding="8px">
<name>CGA Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="false"/>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml" width="320px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc ref="/configs/pc/disks/fixed/win101.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160) running Windows v1.01</name>
<computer id="xt-cga-win101" name="IBM PC XT" state="/configs/pc/machines/5160/cga/256kb/win101/state.json"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" padding="8px">
<name>CGA Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal-f1-f10.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="400px"/>
<chipset id="chipset" model="5160" sw1="01001001"/>
<hdc ref="/configs/pc/disks/fixed/win101.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), CGA, 256K, WIN101</name>
<computer id="xt-cga-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088" autostart="true"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml" width="320px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc ref="/configs/pc/disks/fixed/win101.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), CGA, 512K, WIN101</name>
<computer id="xt-cga-512k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088" autostart="true"/>
<ram id="ramLow" addr="0x00000" test="false" size="0x80000" comment="0x80000 (512Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc ref="/configs/pc/disks/fixed/win101.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088" autostart="false"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" fontrom="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard id="keyboard"/>
<keyboardFull ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/unlisted/personal.xml" automount='{A:{name:"PC-DOS 3.00 (Disk 1)",path:"/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B:{name:"SpinRite v3.1",path:"/apps/pc/unlisted/spinrite/SPINRITE31.json"}}'/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc ref="/configs/pc/disks/fixed/win101.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="980px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" touchscreen="true" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true"/>
<keyboard ref="/configs/pc/keyboards/minimal-f1-f10.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml" width="320px"/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,16 @@
"Multitasking" MS-DOS 4.00
---
This simulation demonstrates the first unearthed copy of Microsoft's "multitasking" version of MS-DOS. The
[original images](/disks/pc/dos/microsoft/4.0M/) were released on [jsmachines.net](http://jsmachines.net/)
in March, 2013, and have since been copied to other web sites. This version of MS-DOS was never officially released
in North America. More information is available at [Wikipedia](http://en.wikipedia.org/wiki/Multi-tasking_MS-DOS_4.0)
and [OS/2 Museum](http://www.os2museum.com/wp/?p=1769).
Note: The designation "4.0M" is not an official version number; it's an internal version number used only to
differentiate these disk images from those of the official MS-DOS 4.00, released in June, 1988.
The PCjs machine configuration below boots MS-DOS 4.0M. To access the MS-DOS "Session Manager" after it's booted,
tap the **Alt** key.
[IBM Model 5160](machine.xml "PCjs:ibm5160:::debugger")

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088" autostart="true"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" fontrom="/devices/pc/video/ibm-mda-cga.json" pos="center" width="960px" padding="8px">
<name>Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml" automount='{A:{name:"MS-DOS 4.0M (Disk 1)",path:"/disks/pc/dos/microsoft/4.0M/MSDOS400M-DISK1.json"}, B:{name:"MS-DOS 4.0M (Disk 2)",path:"/disks/pc/dos/microsoft/4.0M/MSDOS400M-DISK2.json"}}'/>
<chipset id="chipset" model="5160" sw1="01001001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" 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>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive</name>
<computer id="xt-cga-640k" name="IBM PC XT"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoCGA" screenwidth="960" screenheight="400" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" touchscreen="true" pos="center" padding="8px">
<name>Color Display</name>
</video>
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="reset">Reset</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal-f1-f10.xml"/>
<fdc ref="/configs/pc/disks/library.xml" pos="right"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
<chipset id="chipset" model="5160" sw1="01001001"/>
</machine>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Drive</name>
<computer id="xt-ega-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoEGA" model="ega" memory="0x10000" screenwidth="640" screenheight="350" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml"/>
<chipset id="chipset" model="5160" sw1="01001101" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,12 @@
Windows 1.01 "Server Array"
===
### Demonstration of Multiple IBM PCs on a Single Web Page
The simulations below are identical PC XT configurations, each with a clock speed of 4.77Mhz, 640Kb of RAM,
and a 128Kb EGA connected to an Enhanced Color Display, using the original IBM EGA BIOS.
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160a")
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160b")
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160c")
[IBM PC XT (Model 5160)](machine.xml "PCjs:ibm5160d")

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="680px" float="left" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<computer id="xt-ega-640k" name="IBM PC XT" state="/configs/pc/machines/5160/ega/640kb/win101/state.json"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350" width="640px" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<cpu id="cpu8088" model="8088">
<control type="button" class="input" binding="setSpeed">Fast</control>
</cpu>
<fdc ref="/configs/pc/disks/library.xml"/>
<chipset id="chipset" model="5160" sw1="01001101"/>
<hdc ref="/configs/pc/disks/fixed/win101-ega.xml"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<computer id="xt-ega-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml"/>
<chipset id="chipset" model="5160" sw1="01001101" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc ref="/configs/pc/disks/fixed/win101-ega.xml"/>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<computer id="xt-ega-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<fdc ref="/configs/pc/disks/library.xml"/>
<chipset id="chipset" model="5160" sw1="01001101"/>
<hdc ref="/configs/pc/disks/fixed/win101-ega.xml"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<computer id="xt-ega-640k" name="IBM PC XT" state="/configs/pc/machines/5160/ega/640kb/win101/state.json"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<cpu id="cpu8088" model="8088">
<control type="button" class="input" binding="setSpeed">Fast</control>
</cpu>
<fdc ref="/configs/pc/disks/library.xml"/>
<chipset id="chipset" model="5160" sw1="01001101"/>
<hdc ref="/configs/pc/disks/fixed/win101-ega.xml"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="740px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt188-mda-256k" name="IBM PC XT"/>
<cpu id="cpu80188" model="80188"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="720px" padding="8px">
<name>Monochrome Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc id="fdcNEC" width="280px" pos="left" padleft="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" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/games/microsoft/adventure/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1982/esuite/manifest.xml" disk="*"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>
<chipset id="chipset" model="5160" sw1="01000001"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt188-mda-256k" name="IBM PC XT"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" padding="8px">
<name>Monochrome Display</name>
</video>
<cpu id="cpu80188" model="80188" autostart="true" padleft="8px">
<control type="button" class="input" binding="run">Run</control>
</cpu>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<fdc id="fdcNEC" width="360px" pos="left" padleft="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" class="input" binding="listDrives"/>
<control type="list" class="input" 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="*"/>
<manifest ref="/disks/pc/games/microsoft/adventure/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1981/visicalc/manifest.xml" disk="*"/>
<manifest ref="/apps/pc/1982/esuite/manifest.xml" disk="*"/>
</control>
<control type="button" class="input" binding="loadDrive">Load</control>
<control type="description" class="output" binding="descDisk" padleft="8px"/>
</fdc>
<chipset id="chipset" model="5160" sw1="01000001"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="740px" pos="center" style="background-color:#FAEBD7">
<name pos="center">IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive</name>
<computer id="xt-mda-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="720px" padding="8px">
<name>Monochrome Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal.xml"/>
<fdc ref="/configs/pc/disks/samples.xml"/>
<chipset id="chipset" model="5160" sw1="01000001"/>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" width="1000px" style="background-color:white">
<name>IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive</name>
<computer id="xt-mda-64k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pc/basic/ibm-basic-1.10.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5160/1982-11-08.json"/>
<video id="videoMDA" screenwidth="720" screenheight="350" scale="true" charset="/devices/pc/video/ibm-mda-cga.json" pos="center" width="720px" padding="8px">
<name>Monochrome Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/us83.xml"/>
<debugger id="debugger"/>
<panel ref="/configs/pc/panels/default.xml"/>
<fdc ref="/configs/pc/disks/samples.xml" width="280px"/>
<chipset id="chipset" model="5160" sw1="01110001" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<hdc id="hdcXT" drives='[{name:"10Mb Hard Disk",type:3}]'/>
</machine>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<name>IBM PC AT, 128K EGA, 640K RAM</name>
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/bios/5170/1984-01-10.rom"/>
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350" pos="center" padding="8px">
<name>Enhanced Color Display</name>
</video>
<keyboard ref="/configs/pc/keyboards/minimal-functions.xml"/>
<debugger id="debugger" messages="" commands=""/>
<panel ref="/configs/pc/panels/wide.xml"/>
<fdc ref="/configs/pc/disks/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<chipset id="chipset" model="5170" sw1="01001101" pos="left" padleft="8px" padbottom="8px">
<control type="switches" class="input" label="SW1" binding="sw1" left="0px"/>
<control type="description" class="output" binding="swdesc" left="0px"/>
</chipset>
<serial id="com1" adapter="1" binding="print"/>
<serial id="com2" adapter="2"/>
<mouse serial="com2"/>
</machine>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.15.3/manifest.xsl"?>
<manifest type="document">
<title>IBM PC AT References</title>
<document href="http://minuszerodegrees.net/manuals/IBM_5170_Technical_Reference_1502243_MAR84.pdf">
<name>IBM 5170 Technical Reference (March 1984)</name>
<cover href="../../../../../../../pubs/pc/reference/ibm/static/5170/techref/thumbs/IBM-5170-TECHREF 1.jpeg"/>
<page href="#page=48">I/O Address Map</page>
<page href="#page=67">CMOS Addresses</page>
<page href="#page=165">BIOS Map</page>
<page href="#page=169">BIOS Listing</page>
<page href="#page=175">TEST.01: X286 Processor Test</page>
<page href="#page=177">TEST.02: Verify CMOS Shutdown</page>
<page href="#page=222">POST7 VERW/VERR</page>
<page href="#page=232">DISKETTE_IO_1</page>
</document>
<document href="https://archive.org/download/bitsavers_intel80286287ProgrammersReferenceManual1987_27505703/210498-005_80286_and_80287_Programmers_Reference_Manual_1987.pdf">
<name>80286 and 80287 Programmers Reference Manual (1987)</name>
<cover href="../../../../../../../pubs/pc/reference/intel/static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 1.jpeg"/>
<page href="#page=27">Memory Organization and Segmentation</page>
<page href="#page=321">VERR/VERW</page>
</document>
</manifest>

View file

@ -0,0 +1,44 @@
IBM PC Machine Configurations
---
Here you'll find sample Machine Configurations for all the IBM PC models that PCjs currently supports:
* [Model 5150](/configs/pc/machines/5150/)
* [Model 5160](/configs/pc/machines/5160/)
Model 5150 Machine Configurations include:
* [IBM PC, MDA, 64K](/configs/pc/machines/5150/mda/64kb/)
* [IBM PC, MDA, 64K, Debugger](/configs/pc/machines/5150/mda/64kb/debugger/)
* [IBM PC, CGA, 64K, DONKEY.BAS](/configs/pc/machines/5150/cga/64kb/donkey/)
* [IBM PC, CGA, 64K, DONKEY.BAS, Debugger](/configs/pc/machines/5150/cga/64kb/donkey/debugger/)
Model 5160 Machine Configurations include:
* [IBM PC XT, CGA, 256K, 10Mb Drive](/configs/pc/machines/5160/cga/256kb/demo/)
* [IBM PC XT, CGA, 256K, 10Mb Drive, Debugger](/configs/pc/machines/5160/cga/256kb/demo/debugger/)
* [IBM PC XT, CGA, 256K, Windows 1.01](/configs/pc/machines/5160/cga/256kb/win101/)
* [IBM PC XT, CGA, 256K, Windows 1.01, Debugger](/configs/pc/machines/5160/cga/256kb/win101/debugger/)
* [IBM PC XT, CGA, 640K, 10Mb Drive](/configs/pc/machines/5160/cga/640kb/)
* [IBM PC XT, CGA, 640K, 10Mb Drive, Debugger](/configs/pc/machines/5160/cga/640kb/debugger/)
* [IBM PC XT, CGA, 640K, "Multitasking" MS-DOS 4.00](/configs/pc/machines/5160/cga/640kb/dos400m/)
* [IBM PC XT, CGA "Server Array" Demo](/configs/pc/machines/5160/cga/256kb/array/)
* [IBM PC XT, EGA, 256K, 10Mb Drive, Debugger](/configs/pc/machines/5160/ega/256kb/debugger/)
* [IBM PC XT, EGA, 640K, 10Mb Drive, Debugger](/configs/pc/machines/5160/ega/640kb/debugger/)
* [IBM PC XT, EGA "Server Array" Demo](/configs/pc/machines/5160/ega/640kb/array/)
Model 5170 Machine Configurations include:
* [IBM PC AT, EGA, 640K, Debugger](/configs/pc/machines/5170/ega/640kb/debugger/)
These Machine Configurations also include a "Soft Keyboard":
* [IBM PC, MDA, 64K](/configs/pc/machines/5150/mda/64kb/softkbd/)
* [IBM PC, CGA, 64K](/configs/pc/machines/5150/cga/64kb/softkbd/)
* [IBM PC, CGA, 384K](/configs/pc/machines/5150/cga/384kb/softkbd/)
* [IBM PC XT, MDA, 64K, 10Mb Drive](/configs/pc/machines/5160/mda/64kb/softkbd/)
* [IBM PC XT, CGA, 256K, 10Mb Drive](/configs/pc/machines/5160/cga/256kb/softkbd/)
* [IBM PC XT, CGA, 256K, Windows 1.01](/configs/pc/machines/5160/cga/256kb/win101/softkbd/)
* [IBM PC XT, CGA, 512K, Windows 1.01](/configs/pc/machines/5160/cga/512kb/win101/softkbd/)
There are also some pre-built Machine Configurations for selected [IBM PC Disk Sets](/disks/pc/).

View file

@ -0,0 +1,6 @@
IBM PC Control Panels
---
[Control Panels](/docs/pcjs/panel/) are XML files that define a particular layout for controls provided by the
[Computer](/docs/pcjs/computer/), [CPU](/docs/pcjs/cpu/), [Keyboard](/docs/pcjs/keyboard/)
and [Debugger](/docs/pcjs/debugger/) components.

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" pos="center" width="720px" padding="8px">
<name>Control Panel</name>
<control type="container" class="pcjs-textarea" width="58%" padbottom="8px" padright="8px">
<control type="textarea" class="output" binding="print" width="100%" height="260px" pos="relative" padbottom="4px" style="resize:vertical;"/>
<control type="container">
<control type="text" class="input" binding="debugInput" width="auto"/>
<control type="button" class="input" binding="debugEnter">Enter</control>
<control type="button" class="input" binding="clear">Clear</control>
</control>
</control>
<control type="container" class="pcjs-registers" width="38%" padleft="8px">
<control type="register" class="output" label="AX" binding="AX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="BX" binding="BX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="CX" binding="CX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DX" binding="DX" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SP" binding="SP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="BP" binding="BP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SI" binding="SI" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DI" binding="DI" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DS" binding="DS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="ES" binding="ES" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SS" binding="SS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="CS" binding="CS" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="IP" binding="IP" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="container" width="200px" pos="left">
<control type="flag" class="output" label="V" binding="V" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="D" binding="D" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="I" binding="I" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="T" binding="T" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="S" binding="S" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="Z" binding="Z" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="A" binding="A" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="P" binding="P" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="C" binding="C" width="8px" padright="4px" padbottom="8px">0</control>
</control>
<control pos=""/>
<control type="description" class="output" padbottom="8px">Speed:</control>
<control type="description" class="output" binding="speed" padleft="4px" padbottom="8px">Stopped</control>
</control>
<control type="container" padleft="8px" padbottom="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="step">Step</control>
<control type="button" class="input" binding="reset">Reset</control>
<control type="button" class="input" binding="setSpeed">Fast</control>
<control type="button" class="input" binding="save">Save</control>
</control>
</panel>

View file

@ -0,0 +1,48 @@
<?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="60%" padbottom="8px" padright="8px">
<control type="textarea" class="output" binding="print" width="100%" height="260px" pos="relative" padbottom="4px" style="resize:vertical;"/>
<control type="container" width="100%">
<control type="text" class="input" binding="debugInput" width="auto"/>
<control type="button" class="input" binding="debugEnter">Enter</control>
<control type="button" class="input" binding="clear">Clear</control>
</control>
</control>
<control type="container" class="pcjs-registers" width="35%" padleft="8px">
<control type="register" class="output" label="AX" binding="AX" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="BX" binding="BX" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="CX" binding="CX" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DX" binding="DX" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SP" binding="SP" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="BP" binding="BP" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SI" binding="SI" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DI" binding="DI" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="DS" binding="DS" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="ES" binding="ES" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="SS" binding="SS" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="CS" binding="CS" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="register" class="output" label="IP" binding="IP" pos="left" width="40px" padright="8px" padbottom="8px">0000</control>
<control type="container" width="200px" pos="left">
<control type="flag" class="output" label="V" binding="V" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="D" binding="D" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="I" binding="I" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="T" binding="T" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="S" binding="S" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="Z" binding="Z" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="A" binding="A" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="P" binding="P" width="8px" padright="4px" padbottom="8px">0</control>
<control type="flag" class="output" label="C" binding="C" width="8px" padright="4px" padbottom="8px">0</control>
</control>
<control pos=""/>
<control type="description" class="output" padbottom="8px">Speed:</control>
<control type="description" class="output" binding="speed" padleft="4px" padbottom="8px">Stopped</control>
</control>
<control type="container" padleft="8px" padbottom="8px">
<control type="button" class="input" binding="run">Run</control>
<control type="button" class="input" binding="step">Step</control>
<control type="button" class="input" binding="reset">Reset</control>
<control type="button" class="input" binding="setSpeed">Fast</control>
<control type="button" class="input" binding="save">Save</control>
</control>
</panel>