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

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>