README updates in prep for release
This commit is contained in:
parent
2494f9266f
commit
6c82b66291
9 changed files with 165 additions and 95 deletions
47
_posts/2016-11-07-vote-for-the-pdp-11.md
Normal file
47
_posts/2016-11-07-vote-for-the-pdp-11.md
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Vote For The PDP-11!
|
||||||
|
date: 2016-11-07 23:00:00
|
||||||
|
permalink: /blog/2016/11/07/
|
||||||
|
machines:
|
||||||
|
- id: test1170
|
||||||
|
type: pdp11
|
||||||
|
debugger: true
|
||||||
|
config: /devices/pdp11/machine/1170/panel/debugger/machine.xml
|
||||||
|
---
|
||||||
|
|
||||||
|
[PDPjs](/devices/pdp11/machine/) support continues to improve:
|
||||||
|
|
||||||
|
- Functional [Front Panels](/devices/pdp11/panel/1170/#front-panel-basics) (see the demo below)
|
||||||
|
- ROMs such as DEC's [M9312 ROMs](/devices/pdp11/rom/M9312/) can now be installed
|
||||||
|
- Support for DEC's [RL11 Disk Controller](/devices/pdp11/rl11/) has now been implemented
|
||||||
|
|
||||||
|
To test RL11 support below, start the machine (click "Run"), then select the "XXDP Diagnostics" disk from the
|
||||||
|
"Disk Drive Controls", click "Load", and wait for the message:
|
||||||
|
|
||||||
|
Mounted disk "XXDP Diagnostics" in drive RL0
|
||||||
|
|
||||||
|
to appear. Then check the output window and make sure the following prompt has been displayed:
|
||||||
|
|
||||||
|
PDP-11 MONITOR V1.0
|
||||||
|
|
||||||
|
BOOT>
|
||||||
|
|
||||||
|
At the prompt, type "BOOT RL0". The following text should appear:
|
||||||
|
|
||||||
|
CHMDLD0 XXDP+ DL MONITOR
|
||||||
|
BOOTED VIA UNIT 0
|
||||||
|
28K UNIBUS SYSTEM
|
||||||
|
|
||||||
|
ENTER DATE (DD-MMM-YY):
|
||||||
|
|
||||||
|
RESTART ADDR: 152010
|
||||||
|
THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP.
|
||||||
|
|
||||||
|
.
|
||||||
|
|
||||||
|
|
||||||
|
{% include machine.html id="test1170" %}
|
||||||
|
|
||||||
|
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||||
|
*Nov 7, 2016*
|
||||||
|
|
@ -19,6 +19,7 @@ PCjs also includes a small collection of disk images in the [Disk Libraries](/di
|
||||||
|
|
||||||
* [IBM PC](/disks/pcx86/)
|
* [IBM PC](/disks/pcx86/)
|
||||||
* [Challenger 1P](/disks/c1p/)
|
* [Challenger 1P](/disks/c1p/)
|
||||||
|
* [DEC](/disks/dec/)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,85 +10,3 @@ machines:
|
||||||
{% include machine.html id="test1170" %}
|
{% include machine.html id="test1170" %}
|
||||||
|
|
||||||
This machine is also available with our built-in [Debugger](debugger/).
|
This machine is also available with our built-in [Debugger](debugger/).
|
||||||
|
|
||||||
Front Panel Basics
|
|
||||||
------------------
|
|
||||||
|
|
||||||
From the [PDP-11/70 Handbook (1979)](http://archive.pcjs.org/pubs/dec/pdp11/1170/PDP1170_Handbook_1979.pdf), Chapter 10,
|
|
||||||
p. 325:
|
|
||||||
|
|
||||||
> ### CONSOLE OPERATION
|
|
||||||
|
|
||||||
> The PDP-11/70 console allows direct control of the computer system. It contains a power switch for the CPU,
|
|
||||||
which is also usually used as the Master Switch for the system. The console is used for starting, stopping, resetting,
|
|
||||||
and debugging. Lights and switches provide the facilities for monitoring operation, system control, and maintenance.
|
|
||||||
Debugging and detailed tracing of operations can be accomplished by having the computer execute single instructions or
|
|
||||||
single cycles. Contents of all locations can be examined, and data can be entered manually from the console switches.
|
|
||||||
|
|
||||||
The PDPjs Front Panel replicates most (but not all) the features of a real PDP-11/70 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.
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ Toggle-Ins
|
||||||
|
|
||||||
As DEC notes in the [PDP-11/70 Maintenance Service Guide](http://archive.pcjs.org/pubs/dec/pdp11/1170/PDP1170_Maintenance_Service_Guide_Apr88.pdf),
|
As DEC notes in the [PDP-11/70 Maintenance Service Guide](http://archive.pcjs.org/pubs/dec/pdp11/1170/PDP1170_Maintenance_Service_Guide_Apr88.pdf),
|
||||||
Chapter 4: "There are several useful toggle-ins that are probably not very well known." Excerpts are provided below. If you're
|
Chapter 4: "There are several useful toggle-ins that are probably not very well known." Excerpts are provided below. If you're
|
||||||
not sure how to "toggle in" code using a Front Panel, check out [Front Panel Basics](/devices/pdp11/machine/1170/panel/#front-panel-basics).
|
not sure how to "toggle in" code using a Front Panel, check out [Front Panel Basics](/devices/pdp11/panel/1170/#front-panel-basics).
|
||||||
|
|
||||||
However, since the above machine also includes the PDPjs Debugger, you'll find that it's much easier to use the Debugger commands
|
However, since the above machine also includes the PDPjs Debugger, you'll find that it's much easier to use the Debugger commands
|
||||||
described below to load and execute these "toggle-ins".
|
described below to load and execute these "toggle-ins".
|
||||||
|
|
|
||||||
|
|
@ -7,4 +7,90 @@ permalink: /devices/pdp11/panel/1170/
|
||||||
PDP-11/70 Control Panels
|
PDP-11/70 Control Panels
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
The following Control Panel configurations are available:
|
||||||
|
|
||||||
* [PDP-11/70 Front Panel](front.xml) (with [Debugger](debugger/front.xml))
|
* [PDP-11/70 Front Panel](front.xml) (with [Debugger](debugger/front.xml))
|
||||||
|
|
||||||
|
Use this [PDP-11/70](/devices/pdp11/machine/1170/panel/debugger/) to see the [PDP-11/70 Front Panel](debugger/front.xml) in action.
|
||||||
|
|
||||||
|
Front Panel Basics
|
||||||
|
------------------
|
||||||
|
|
||||||
|
From the [PDP-11/70 Handbook (1979)](http://archive.pcjs.org/pubs/dec/pdp11/1170/PDP1170_Handbook_1979.pdf), Chapter 10,
|
||||||
|
p. 325:
|
||||||
|
|
||||||
|
> ### CONSOLE OPERATION
|
||||||
|
|
||||||
|
> The PDP-11/70 console allows direct control of the computer system. It contains a power switch for the CPU,
|
||||||
|
which is also usually used as the Master Switch for the system. The console is used for starting, stopping, resetting,
|
||||||
|
and debugging. Lights and switches provide the facilities for monitoring operation, system control, and maintenance.
|
||||||
|
Debugging and detailed tracing of operations can be accomplished by having the computer execute single instructions or
|
||||||
|
single cycles. Contents of all locations can be examined, and data can be entered manually from the console switches.
|
||||||
|
|
||||||
|
The PDPjs Front Panel replicates most (but not all) the features of a real PDP-11/70 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.
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ Machines containing the [RL11 Component](/modules/pdp11/lib/pc11.js) include:
|
||||||
- [PDP-11/70 Boot Monitor](/devices/pdp11/machine/1170/monitor/) (with [Debugger](/devices/pdp11/machine/1170/monitor/debugger/))
|
- [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/))
|
- [PDP-11/70 with Front Panel](/devices/pdp11/machine/1170/panel/) (with [Debugger](/devices/pdp11/machine/1170/panel/debugger/))
|
||||||
|
|
||||||
PCjs has archived a selection of [RL02K Disk Images](/disks/dec/rl02k/) for use by those machines, most of which are
|
PCjs has archived a selection of [RL02K Disk Images](/disks/dec/rl02k/) for use by those machines, which are
|
||||||
listed in the following RL11 Device XML file:
|
listed in the following RL11 Device XML file:
|
||||||
|
|
||||||
- [Default](/devices/pdp11/rl11/default.xml)
|
- [Default](/devices/pdp11/rl11/default.xml)
|
||||||
|
|
@ -25,18 +25,15 @@ Device XML files not only configure a device, but also list all the resource the
|
||||||
used to control the device, such as choosing which disks should be "auto-mounted" by the RL11 device. For example:
|
used to control the device, such as choosing which disks should be "auto-mounted" by the RL11 device. For example:
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<device id="pc11" type="pc11" baudReceive="9600" autoMount='{path:"/apps/pdp11/tapes/absloader/DEC-11-L2PC-PO.json"}' pos="left" width="35%" padLeft="8px" padBottom="8px">
|
<device id="rl11" type="rl11" autoMount='{RL3:{path:"http://archive.pcjs.org/disks/dec/rl02k/RL02K-XXDP.json"}}' pos="left" width="35%" padLeft="8px" padBottom="8px">
|
||||||
<name>Paper Tape Controls</name>
|
<name>Disk Drive Controls</name>
|
||||||
<control type="container">
|
<control type="container">
|
||||||
<control type="list" binding="listTapes">
|
<control type="list" binding="listDrives"/>
|
||||||
<tape id="tape00" name="Bootstrap Loader (16Kb)" path="/apps/pdp11/boot/bootstrap/BOOTSTRAP-16KB.json"/>
|
<control type="list" binding="listDisks">
|
||||||
<tape id="tape01" name="Absolute Loader" path="/apps/pdp11/tapes/absloader/DEC-11-L2PC-PO.json"/>
|
<disk id="rl3" name="XXDP Diagnostics" path="http://archive.pcjs.org/disks/dec/rl02k/RL02K-XXDP.json"/>
|
||||||
<tape id="tape02" name="BASIC (Single User)" path="/apps/pdp11/tapes/basic/DEC-11-AJPB-PB.json"/>
|
|
||||||
</control>
|
</control>
|
||||||
<control type="button" binding="attachTape">Attach</control>
|
<control type="button" binding="loadDrive">Load</control>
|
||||||
<control type="button" binding="loadTape">Load</control>
|
<control type="description" binding="descDisk" padRight="8px"/>
|
||||||
<control type="description" binding="descTape" padRight="8px"/>
|
<control type="file" binding="mountDisk"/>
|
||||||
<control type="file" binding="mountTape"/>
|
|
||||||
<control type="progress" binding="readProgress" pos="default" width="250px" padTop="8px">Tape Progress</control>
|
|
||||||
</control>
|
</control>
|
||||||
</device>
|
</device>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ Browse these PCjs Disk Libraries:
|
||||||
|
|
||||||
* [IBM PC](pcx86/)
|
* [IBM PC](pcx86/)
|
||||||
* [Challenger 1P](c1p/)
|
* [Challenger 1P](c1p/)
|
||||||
|
* [DEC](dec/)
|
||||||
|
|
||||||
Additional selected software is available in the PCjs [Software Archives](/apps/).
|
Additional selected software is available in the PCjs [Software Archives](/apps/).
|
||||||
|
|
||||||
|
|
|
||||||
10
disks/dec/README.md
Normal file
10
disks/dec/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: DEC Disk Images
|
||||||
|
permalink: /disks/dec/
|
||||||
|
---
|
||||||
|
|
||||||
|
DEC Disk Images
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* [RL02K](rl02k/)
|
||||||
10
disks/dec/rl02k/README.md
Normal file
10
disks/dec/rl02k/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: DEC RL02K Disk Images
|
||||||
|
permalink: /disks/dec/rl02k/
|
||||||
|
---
|
||||||
|
|
||||||
|
DEC RL02K Disk Images
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
* [XXDP Diagnostics](http://archive.pcjs.org/disks/dec/rl02k/RL02K-XXDP.json)
|
||||||
Loading…
Reference in a new issue