Added a few PDP-11/45 configurations

This commit is contained in:
Jeff Parsons 2016-12-01 07:38:27 -08:00 committed by Jeff Parsons
commit 399e1d06a7
25 changed files with 768 additions and 14 deletions

View file

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

View file

@ -10,8 +10,8 @@ Challenger 1P Machine Configurations
Here are some sample C1P Machine Configurations:
- [8kb with Small Display](8kb/small/)
- [8kb with Large Display](8kb/large/) ([Debugger](8kb/large/debugger/))
- [8kb with Large Display w/Additional Software](8kb/all/) ([Debugger](8kb/all/debugger/))
- [8kb with Large Display](8kb/large/) (with [Debugger](8kb/large/debugger/))
- [8kb with Large Display w/Additional Software](8kb/all/) (with [Debugger](8kb/all/debugger/))
- [8kb "Server Array" Demo](8kb/array/)
- [32kb with Diskette Support](32kb/)

View file

@ -7,12 +7,12 @@ permalink: /devices/pdp11/machine/1120/
PDP-11/20 Machine Configurations
--------------------------------
PDPjs is currently being tested with the following PDP-11/20 machine configurations:
PDPjs supports a variety of PDP-11/20 machine configurations, including:
* [PDP-11/20 Boot Monitor](/devices/pdp11/machine/1120/monitor/) (with [Debugger](/devices/pdp11/machine/1120/monitor/debugger/))
* [PDP-11/20 with Front Panel](/devices/pdp11/machine/1120/panel) (with [Debugger](/devices/pdp11/machine/1120/panel/debugger/))
* [PDP-11/20 Bootstrap Loader Demo](/devices/pdp11/machine/1120/bootstrap/) (with [Debugger](/devices/pdp11/machine/1120/bootstrap/debugger/))
* [PDP-11/20 BASIC Demo](/devices/pdp11/machine/1120/basic/) (with [Debugger](/devices/pdp11/machine/1120/basic/debugger/))
The "Demo" machines come with 16Kb of RAM and a [PC11 Paper Tape Reader](/devices/pdp11/pc11/). The "Boot Monitor" machine
has 56Kb of RAM.
The "Demo" machines come with 16Kb of RAM and a [PC11 Paper Tape Reader](/devices/pdp11/pc11/). All the other machines
are configured with 56Kb of RAM.

View file

@ -0,0 +1,17 @@
---
layout: page
title: PDP-11/45 Machine Configurations
permalink: /devices/pdp11/machine/1145/
---
PDP-11/45 Machine Configurations
--------------------------------
PDPjs supports a variety of PDP-11/45 machine configurations, including:
* [PDP-11/45 with Front Panel](/devices/pdp11/machine/1145/panel/) (with [Debugger](/devices/pdp11/machine/1145/panel/debugger/))
* [PDP-11/45 with VT100 Terminal](/devices/pdp11/machine/1145/vt100/) (with [Debugger](/devices/pdp11/machine/1145/vt100/debugger/))
All of the above configurations include 248Kb of RAM -- the maximum supported by the PDP-11/45 architecture.
The top 8Kb of the PDP-11/45's 18-bit address space is occupied by the *I/O Page*, a region reserved for hardware
registers belonging to the CPU, MMU, and assorted peripherals.

View file

@ -0,0 +1,16 @@
---
layout: page
title: PDP-11/45 with 256Kb and Front Panel
permalink: /devices/pdp11/machine/1145/panel/
machines:
- id: test1145
type: pdp11
---
{% include machine.html id="test1145" %}
This machine is also available with our built-in [Debugger](debugger/).
Other interesting things to know about this machine:
* It includes an [M9312 ROM](/devices/pdp11/rom/M9312/) at address 165000. The exact ROM is [23-616F1](/devices/pdp11/rom/M9312/23-616F1.txt).

View file

@ -0,0 +1,15 @@
---
layout: page
title: PDP-11/45 with 256Kb, Front Panel, and Debugger
permalink: /devices/pdp11/machine/1145/panel/debugger/
machines:
- id: test1145
type: pdp11
debugger: true
---
{% include machine.html id="test1145" %}
Other interesting things to know about this machine:
* It includes an [M9312 ROM](/devices/pdp11/rom/M9312/) at address 165000. The exact ROM is [23-616F1](/devices/pdp11/rom/M9312/23-616F1.txt).

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1145" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/45 with 256Kb, Front Panel and Debugger</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1145" cycles="6666667"/>
<ram id="ram" addr="0x00000" size="0x3E000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>
<rom id="m9312" addr="0xEA00" size="0x200" file="/devices/pdp11/rom/M9312/23-616F1.json"/>
<device id="default" type="default"/>
<serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1145/debugger/front.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/>
<device ref="/devices/pdp11/pc11/default.xml"/>
<device ref="/devices/pdp11/rk11/default.xml"/>
<device ref="/devices/pdp11/rl11/default.xml"/>
</machine>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1145" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/45 with 256Kb and Front Panel</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1145" cycles="6666667" autoStart="true"/>
<ram id="ram" addr="0x00000" size="0x3E000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>
<rom id="m9312" addr="0xEA00" size="0x200" file="/devices/pdp11/rom/M9312/23-616F1.json"/>
<device id="default" type="default"/>
<serial id="dl11" adapter="0" binding="print"/>
<panel ref="/devices/pdp11/panel/1145/front.xml"/>
<device ref="/devices/pdp11/pc11/default.xml"/>
<device ref="/devices/pdp11/rk11/default.xml"/>
<device ref="/devices/pdp11/rl11/default.xml"/>
</machine>

View file

@ -0,0 +1,20 @@
---
layout: page
title: PDP-11/45 with VT100 Terminal
permalink: /devices/pdp11/machine/1145/vt100/
machines:
- id: test1145
type: pdp11
config: /devices/pdp11/machine/1145/vt100/machine.xml
connection: dl11->vt100.serialPort
- id: vt100
type: pc8080
config: /devices/pc8080/machine/vt100/machine.xml
connection: serialPort->test1145.dl11
---
{% include machine.html id="test1145" %}
This PDP-11/45 is also available with our built-in [Debugger](debugger/).
{% include machine.html id="vt100" %}

View file

@ -0,0 +1,20 @@
---
layout: page
title: PDP-11/45 with VT100 Terminal and Debugger
permalink: /devices/pdp11/machine/1145/vt100/debugger/
machines:
- id: test1145
type: pdp11
debugger: true
config: /devices/pdp11/machine/1145/vt100/debugger/machine.xml
connection: dl11->vt100.serialPort
- id: vt100
type: pc8080
debugger: true
config: /devices/pc8080/machine/vt100/debugger/machine.xml
connection: serialPort->test1145.dl11
---
{% include machine.html id="test1145" %}
{% include machine.html id="vt100" %}

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1145" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/45 with 256Kb, Front Panel, and Debugger</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1145" cycles="6666667" autoStart="true"/>
<ram id="ram" addr="0x00000" size="0x3E000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>
<device id="default" type="default"/>
<serial id="dl11" adapter="0"/>
<panel ref="/devices/pdp11/panel/1145/debugger/front.xml"/>
<debugger id="debugger" base="8" messages="" commands=""/>
<device ref="/devices/pdp11/pc11/default.xml"/>
<device ref="/devices/pdp11/rk11/default.xml"/>
<device ref="/devices/pdp11/rl11/default.xml"/>
</machine>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1145" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/45 with 256Kb and Front Panel</name>
<computer id="computer" busWidth="18"/>
<cpu id="cpu" model="1145" cycles="6666667" autoStart="true"/>
<ram id="ram" addr="0x00000" size="0x3E000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>
<device id="default" type="default"/>
<serial id="dl11" adapter="0"/>
<panel ref="/devices/pdp11/panel/1145/front.xml"/>
<device ref="/devices/pdp11/pc11/default.xml"/>
<device ref="/devices/pdp11/rk11/default.xml"/>
<device ref="/devices/pdp11/rl11/default.xml"/>
</machine>

View file

@ -7,7 +7,7 @@ permalink: /devices/pdp11/machine/1170/
PDP-11/70 Machine Configurations
--------------------------------
PDPjs is currently being tested with the following PDP-11/70 machine configurations:
PDPjs supports a variety of PDP-11/70 machine configurations, including:
* [PDP-11/70 Boot Monitor](/devices/pdp11/machine/1170/monitor/) (with [Debugger](/devices/pdp11/machine/1170/monitor/debugger/))
* [PDP-11/70 with Front Panel](/devices/pdp11/machine/1170/panel/) (with [Debugger](/devices/pdp11/machine/1170/panel/debugger/))
@ -16,3 +16,7 @@ PDPjs is currently being tested with the following PDP-11/70 machine configurati
The [PDP-11/70 with Front Panel and Debugger](/devices/pdp11/machine/1170/panel/debugger/) also features a section
on "[Toggle-Ins](/devices/pdp11/machine/1170/panel/debugger/#toggle-ins)" for your switch-toggling enjoyment.
Unless otherwise specified, the above configurations include 256Kb of RAM. The PDP-11/70's 22-bit architecture
supports a maximum of 3,840Kb of RAM, since the last 256Kb is reserved for UNIBUS devices. The top 8Kb is known
as the *I/O Page*, a region containing hardware registers belonging to the CPU, MMU, and assorted peripherals.

View file

@ -1,6 +1,6 @@
---
layout: page
title: PDP-11/70 Boot Monitor
title: PDP-11/70 with 256Kb and Boot Monitor
permalink: /devices/pdp11/machine/1170/monitor/
machines:
- id: test1170

View file

@ -1,6 +1,6 @@
---
layout: page
title: PDP-11/70 Boot Monitor with Debugger
title: PDP-11/70 with 256Kb, Boot Monitor, and Debugger
permalink: /devices/pdp11/machine/1170/monitor/debugger/
machines:
- id: test1170

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/70 Boot Monitor with Debugger</name>
<name pos="center">PDP-11/70 with 256Kb, Boot Monitor, and Debugger</name>
<computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667"/>
<ram id="ram" addr="0x00000" size="0x40000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.30.5/machine.xsl"?>
<machine id="test1170" class="pdp11" border="1" pos="center" background="#FAEBD7">
<name pos="center">PDP-11/70 Boot Monitor</name>
<name pos="center">PDP-11/70 with 256Kb and Boot Monitor</name>
<computer id="computer" busWidth="22"/>
<cpu id="cpu" model="1170" cycles="6666667" autoStart="true"/>
<ram id="ram" addr="0x00000" size="0x40000" file="/apps/pdp11/boot/monitor/BOOTMON.json"/>

View file

@ -10,3 +10,7 @@ machines:
{% include machine.html id="test1170" %}
This machine is also available with our built-in [Debugger](debugger/).
Other interesting things to know about this machine:
* It includes an [M9312 ROM](/devices/pdp11/rom/M9312/) at address 165000. The exact ROM is [23-616F1](/devices/pdp11/rom/M9312/23-616F1.txt).

View file

@ -7,8 +7,8 @@ permalink: /devices/pdp11/machine/
PDP-11 Machine Configurations
-----------------------------
[PDP-11 Devices](/devices/pdp11/) are used to build a variety of PDP-11 machines:
[PDP-11 Devices](/devices/pdp11/) are used to build a variety of PDP-11 machines, including:
* [PDP-11/20](/devices/pdp11/machine/1120/)
* PDP-11/45
* [PDP-11/45](/devices/pdp11/machine/1145/)
* [PDP-11/70](/devices/pdp11/machine/1170/)

View file

@ -0,0 +1,131 @@
---
layout: page
title: PDP-11/45 Control Panels
permalink: /devices/pdp11/panel/1145/
---
PDP-11/45 Control Panels
------------------------
The following Control Panel configurations are available:
* [PDP-11/45 Front Panel](front.xml) (with [Debugger](debugger/front.xml))
Use this [PDP-11/45](/devices/pdp11/machine/1145/panel/debugger/) to see the
[PDP-11/45 Front Panel](debugger/front.xml) in action.
Front Panel Basics
------------------
From the [PDP-11/45 Handbook (1973)](http://archive.pcjs.org/pubs/dec/pdp11/1145/PDP1145_Handbook_1973.pdf),
Chapter 8, p. 195:
> ### THE SYSTEM OPERATOR'S CONSOLE
>
> The PDP-11/45 System Operator's Console is designed for convenient system control. A complete set of function
> switches and display indicators provide comprehensive status monitoring and control facilities.
>
> #### 8.1 CONSOLE ELEMENTS
>
> The PDP-11/45 System Operator's Console provides the following facilities:
>
> 1. A System Key Switch (OFF/ON/LOCK)
> 2. A bank of 7 indicator lights, indicating the following Central Processor states:
> RUN, PAUSE, MASTER(UNIBUS), USER, SUPERVISOR, KERNEL, DATA.
> 3. An 18-bit Address Register display
> 4. An Addressing Error indicator light (ADRS ERR)
> 5. A 16-bit Data Register display
> 6. An 18-bit Switch Register
> 7. Control knobs
> a. Address Display Select
> 1. USER I VIRTUAL
> 2. USER D VIRTUAL
> 3. SUPERVISOR I VIRTUAL
> 4. SUPERVISOR O VIRTUAL
> 5. KERNEL I VIRTUAL
> 6. KERNEL O VIRTUAL
> 7. PROGRAM PHYSICAL
> 8. CONSOLE PHYSICAL
> b. Data Display Select
> 1. DATA PATHS
> 2. BUS REGISTER
> 3. FPP ADRS.CPU ADRS
> 4. DISPLAY REGISTER
> 8. Control Switches
> a. LOAD ADRS (Load Address)
> b. EXAM (Examine)
> c. REG EXAM (Register Examine)
> d. CONT (Continue)
> e. ENABLE/HALT
> f. S-INST/S-BUS CYCLE (Single Instruction/Single Bus Cycle)
> g. START
> h. DEPOSIT
> i. REG DEPOSIT
The PDPjs Front Panel replicates most (but not all) the features of a real PDP-11/45 Console. The switches,
which PDPjs displays as green to make them stand out from the rest of the traditional pink-and-magenta controls,
are summarized below.
### 0..21
Switches 0 to 21 control bits 0 to 21 of the SWITCH register. The UP position represents a 1, and the DOWN position
represents a 0. Once all the bits have been set, you can choose to load the contents of the SWITCH register into the
ADDRESS register (as displayed by the top row of LEDs), or directly into the memory location referenced by the ADDRESS
register (where it will become the DATA displayed by the second row of LEDs).
The SWITCH, ADDRESS, and DATA (aka DISPLAY) registers are all internal to the Front Panel hardware, and should not be
confused with CPU registers.
### TEST
This is a momentary switch that is normally in the DOWN position. When held in the UP position, it turns on all LEDs.
This "lamp test" was more important in the days when the lights were produced by bulbs with filaments that could burn out,
and if you didn't realize that a particular light was "burned out", you could mistake it for a zero.
While the TEST switch is more "cute" than useful on a virtual Front Panel, we have added one "innovation" to the switch:
pressing it also returns all the SWITCH register switches (0-21) to their DOWN position.
### LOAD [ADRS]
This is a momentary switch that is normally in the UP position. When pressed DOWN, it copies the SWITCH register to the
ADDRESS register.
### EXAM
This is a momentary switch that is normally in the UP position. When pressed DOWN, it reads the memory location referenced
by the ADDRESS register and displays it in the DATA register. If pressed repeatedly, each repetition also automatically
adds 2 to the ADDRESS register, making it easier to examine a series of words. Note that if the CPU registers are being
examined (starting at address 177700), the ADDRESS register will advance by 1 instead of 2.
Another "innovation" unique to PDPjs: if the STEP switch is toggled from the UP to the DOWN position, repeated EXAM or DEP
operations will decrease the ADDRESS register instead of increasing it.
### DEP
This is a momentary switch that is normally in the DOWN position. When pressed UP, it writes the contents of the SWITCH
register to the memory location referenced by the ADDRESS register, and displays the result in the DATA register. Like the
EXAM switch, if DEP is pressed repeatedly, each repetition also automatically adds 2 to the ADDRESS register, making it easier
to deposit the same value to a series of words.
### CONT
This is a momentary switch that is normally in the UP position. When pressed DOWN, it will start the CPU if it's currently
halted. If the CPU is already running, CONT has no effect. Also, if the ENABLE/HALT switch is in the DOWN (HALT) position,
then the CPU will continue for only ONE instruction and then stop again.
### ENABLE/HALT
This switch is a toggle that is normally in the UP (ENABLE) position. If it pressed DOWN while the CPU is running, the CPU will
stop. Once the CPU is stopped, this switch has no effect, other than determining what CONT will do when pressed.
### STEP
On a real PDP-11, this would select between cycle-stepping vs. instruction-stepping. Since PDPjs doesn't support cycle-stepping,
this switch has no effect (except as described above when the EXAM or DEP switches are pressed repeatedly).
### START
The START switch is similar to CONT, but it also performs the equivalent a RESET instruction before starting the CPU, so
unless you're starting execution at the beginning of a program, using START instead of CONT to continue execution is probably
not a good idea. Also, if the ENABLE/HALT switch is in the DOWN (HALT) position, START will still reset the machine but not
execute anything.

View file

@ -0,0 +1,10 @@
---
layout: page
title: PDP-11/45 Control Panel with Debugger
permalink: /devices/pdp11/panel/1145/debugger/
---
PDP-11/45 Control Panel with Debugger
-------------------------------------
* [PDP-11/45 Front Panel with Debugger](front.xml)

View file

@ -0,0 +1,239 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" width="100%" padding="8px">
<name>Control Panel</name>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">16</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">18</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">22</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B16" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B18" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B22" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">KRNL</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">SUPR</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">USER</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="KERNEL" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="SUPER" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="USER" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED1</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED2</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED3</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED2" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED3" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED4</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED5</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED6</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED5" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED6" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STRT</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">E/H</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="START" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="CONT" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right">
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S0" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S3" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S6" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S9" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S12" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S15" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S18" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-textarea" width="60%" padTop="8px" padBottom="8px">
<control type="textarea" binding="print" width="100%" height="380px" padRight="8px" pos="relative" style="resize:vertical;"/>
<control type="container" width="100%">
<control type="text" binding="debugInput" width="auto"/>
<control type="button" binding="debugEnter">Enter</control>
<control type="button" binding="clear">Clear</control>
</control>
</control>
<control type="container" class="pcjs-registers" width="35%" padding="8px">
<name>Registers</name>
<control type="register" label="R0" binding="R0" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="R1" binding="R1" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="R2" binding="R2" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="R3" binding="R3" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="R4" binding="R4" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="R5" binding="R5" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="SP" binding="R6" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="PC" binding="R7" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="register" label="PS" binding="PS" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
<control type="container" pos="left">
<control type="flag" label="N" binding="NF" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="Z" binding="ZF" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="V" binding="VF" width="8px" padRight="4px" padBottom="8px">0</control>
<control type="flag" label="C" binding="CF" width="8px" padRight="4px" padBottom="8px">0</control>
</control>
</control>
<control type="container" class="pcjs-registers" width="35%" padding="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="step">Step</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Fast</control>
<control type="description" binding="speed" pos="default">Stopped</control>
</control>
</panel>

View file

@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<panel id="panel" width="100%" padding="8px">
<name>Control Panel</name>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">16</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">18</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">22</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B16" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B18" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B22" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">KRNL</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">SUPR</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">USER</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="KERNEL" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="SUPER" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="USER" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED1</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED2</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED3</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED2" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED3" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED4</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED5</control>
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED6</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED5" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED6" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">START</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">ENABLE</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="START" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="CONT" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="6.2%" pos="right">
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S0" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S3" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S6" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S9" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S12" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S15" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S18" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
</control>
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
</control>
</control>
<control type="container" class="pcjs-textarea" width="60%" padTop="8px" padBottom="8px">
<control type="textarea" binding="print" width="100%" height="240px" padRight="8px" pos="relative" style="resize:vertical;"/>
</control>
<control type="container" class="pcjs-registers" width="35%" padding="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="reset">Reset</control>
<control type="button" binding="setSpeed">Fast</control>
<control type="description" binding="speed" pos="default">Stopped</control>
</control>
</panel>

View file

@ -8,5 +8,6 @@ PDP-11 Control Panels
---------------------
* [11/20 Front Panels](1120/)
* [11/45 Front Panels](1145/)
* [11/70 Front Panels](1170/)
* [Terminal Test Panels](test/)

View file

@ -215,6 +215,8 @@ RAMPDP11.prototype.initRAM = function()
if (!this.fAllocated && this.sizeRAM) {
if (this.bus.addMemory(this.addrRAM, this.sizeRAM, MemoryPDP11.TYPE.RAM)) {
this.fAllocated = true;
} else {
this.sizeRAM = 0; // don't bother trying again (it just results in redundant error messages)
}
}
if (!this.isReady()) {