From 399e1d06a730c7bee340f6d9f813b5eee1b40945 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 1 Dec 2016 07:38:27 -0800 Subject: [PATCH] Added a few PDP-11/45 configurations --- devices/c1p/machine/8kb/README.md | 4 +- devices/c1p/machine/README.md | 4 +- devices/pdp11/machine/1120/README.md | 6 +- devices/pdp11/machine/1145/README.md | 17 ++ devices/pdp11/machine/1145/panel/README.md | 16 ++ .../machine/1145/panel/debugger/README.md | 15 ++ .../machine/1145/panel/debugger/machine.xml | 16 ++ devices/pdp11/machine/1145/panel/machine.xml | 15 ++ devices/pdp11/machine/1145/vt100/README.md | 20 ++ .../machine/1145/vt100/debugger/README.md | 20 ++ .../machine/1145/vt100/debugger/machine.xml | 15 ++ devices/pdp11/machine/1145/vt100/machine.xml | 14 + devices/pdp11/machine/1170/README.md | 6 +- devices/pdp11/machine/1170/monitor/README.md | 2 +- .../machine/1170/monitor/debugger/README.md | 2 +- .../machine/1170/monitor/debugger/machine.xml | 2 +- .../pdp11/machine/1170/monitor/machine.xml | 2 +- devices/pdp11/machine/1170/panel/README.md | 4 + devices/pdp11/machine/README.md | 4 +- devices/pdp11/panel/1145/README.md | 131 ++++++++++ devices/pdp11/panel/1145/debugger/README.md | 10 + devices/pdp11/panel/1145/debugger/front.xml | 239 ++++++++++++++++++ devices/pdp11/panel/1145/front.xml | 215 ++++++++++++++++ devices/pdp11/panel/README.md | 1 + modules/pdp11/lib/ram.js | 2 + 25 files changed, 768 insertions(+), 14 deletions(-) create mode 100644 devices/pdp11/machine/1145/README.md create mode 100644 devices/pdp11/machine/1145/panel/README.md create mode 100644 devices/pdp11/machine/1145/panel/debugger/README.md create mode 100644 devices/pdp11/machine/1145/panel/debugger/machine.xml create mode 100644 devices/pdp11/machine/1145/panel/machine.xml create mode 100644 devices/pdp11/machine/1145/vt100/README.md create mode 100644 devices/pdp11/machine/1145/vt100/debugger/README.md create mode 100644 devices/pdp11/machine/1145/vt100/debugger/machine.xml create mode 100644 devices/pdp11/machine/1145/vt100/machine.xml create mode 100644 devices/pdp11/panel/1145/README.md create mode 100644 devices/pdp11/panel/1145/debugger/README.md create mode 100644 devices/pdp11/panel/1145/debugger/front.xml create mode 100644 devices/pdp11/panel/1145/front.xml diff --git a/devices/c1p/machine/8kb/README.md b/devices/c1p/machine/8kb/README.md index 245911755..ca6304132 100644 --- a/devices/c1p/machine/8kb/README.md +++ b/devices/c1p/machine/8kb/README.md @@ -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. diff --git a/devices/c1p/machine/README.md b/devices/c1p/machine/README.md index 91f138fa4..2e8a8e121 100644 --- a/devices/c1p/machine/README.md +++ b/devices/c1p/machine/README.md @@ -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/) diff --git a/devices/pdp11/machine/1120/README.md b/devices/pdp11/machine/1120/README.md index dd8ff47b1..7ffc4074e 100644 --- a/devices/pdp11/machine/1120/README.md +++ b/devices/pdp11/machine/1120/README.md @@ -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. diff --git a/devices/pdp11/machine/1145/README.md b/devices/pdp11/machine/1145/README.md new file mode 100644 index 000000000..e4887ccd0 --- /dev/null +++ b/devices/pdp11/machine/1145/README.md @@ -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. diff --git a/devices/pdp11/machine/1145/panel/README.md b/devices/pdp11/machine/1145/panel/README.md new file mode 100644 index 000000000..23a07f928 --- /dev/null +++ b/devices/pdp11/machine/1145/panel/README.md @@ -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). diff --git a/devices/pdp11/machine/1145/panel/debugger/README.md b/devices/pdp11/machine/1145/panel/debugger/README.md new file mode 100644 index 000000000..d6bcffb4b --- /dev/null +++ b/devices/pdp11/machine/1145/panel/debugger/README.md @@ -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). diff --git a/devices/pdp11/machine/1145/panel/debugger/machine.xml b/devices/pdp11/machine/1145/panel/debugger/machine.xml new file mode 100644 index 000000000..7df9b4de2 --- /dev/null +++ b/devices/pdp11/machine/1145/panel/debugger/machine.xml @@ -0,0 +1,16 @@ + + + + PDP-11/45 with 256Kb, Front Panel and Debugger + + + + + + + + + + + + diff --git a/devices/pdp11/machine/1145/panel/machine.xml b/devices/pdp11/machine/1145/panel/machine.xml new file mode 100644 index 000000000..5e4d985d6 --- /dev/null +++ b/devices/pdp11/machine/1145/panel/machine.xml @@ -0,0 +1,15 @@ + + + + PDP-11/45 with 256Kb and Front Panel + + + + + + + + + + + diff --git a/devices/pdp11/machine/1145/vt100/README.md b/devices/pdp11/machine/1145/vt100/README.md new file mode 100644 index 000000000..8a995b2da --- /dev/null +++ b/devices/pdp11/machine/1145/vt100/README.md @@ -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" %} diff --git a/devices/pdp11/machine/1145/vt100/debugger/README.md b/devices/pdp11/machine/1145/vt100/debugger/README.md new file mode 100644 index 000000000..8523985d6 --- /dev/null +++ b/devices/pdp11/machine/1145/vt100/debugger/README.md @@ -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" %} diff --git a/devices/pdp11/machine/1145/vt100/debugger/machine.xml b/devices/pdp11/machine/1145/vt100/debugger/machine.xml new file mode 100644 index 000000000..bd28d071a --- /dev/null +++ b/devices/pdp11/machine/1145/vt100/debugger/machine.xml @@ -0,0 +1,15 @@ + + + + PDP-11/45 with 256Kb, Front Panel, and Debugger + + + + + + + + + + + diff --git a/devices/pdp11/machine/1145/vt100/machine.xml b/devices/pdp11/machine/1145/vt100/machine.xml new file mode 100644 index 000000000..d70e8b2ee --- /dev/null +++ b/devices/pdp11/machine/1145/vt100/machine.xml @@ -0,0 +1,14 @@ + + + + PDP-11/45 with 256Kb and Front Panel + + + + + + + + + + diff --git a/devices/pdp11/machine/1170/README.md b/devices/pdp11/machine/1170/README.md index 720c0eed2..bd84188ee 100644 --- a/devices/pdp11/machine/1170/README.md +++ b/devices/pdp11/machine/1170/README.md @@ -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. diff --git a/devices/pdp11/machine/1170/monitor/README.md b/devices/pdp11/machine/1170/monitor/README.md index 0d51dee37..51de15fb5 100644 --- a/devices/pdp11/machine/1170/monitor/README.md +++ b/devices/pdp11/machine/1170/monitor/README.md @@ -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 diff --git a/devices/pdp11/machine/1170/monitor/debugger/README.md b/devices/pdp11/machine/1170/monitor/debugger/README.md index 0dca71b9c..637cd5cf3 100644 --- a/devices/pdp11/machine/1170/monitor/debugger/README.md +++ b/devices/pdp11/machine/1170/monitor/debugger/README.md @@ -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 diff --git a/devices/pdp11/machine/1170/monitor/debugger/machine.xml b/devices/pdp11/machine/1170/monitor/debugger/machine.xml index 84988ff36..bdd3cdcca 100644 --- a/devices/pdp11/machine/1170/monitor/debugger/machine.xml +++ b/devices/pdp11/machine/1170/monitor/debugger/machine.xml @@ -1,7 +1,7 @@ - PDP-11/70 Boot Monitor with Debugger + PDP-11/70 with 256Kb, Boot Monitor, and Debugger diff --git a/devices/pdp11/machine/1170/monitor/machine.xml b/devices/pdp11/machine/1170/monitor/machine.xml index 832b52be5..e5e6b5d9f 100644 --- a/devices/pdp11/machine/1170/monitor/machine.xml +++ b/devices/pdp11/machine/1170/monitor/machine.xml @@ -1,7 +1,7 @@ - PDP-11/70 Boot Monitor + PDP-11/70 with 256Kb and Boot Monitor diff --git a/devices/pdp11/machine/1170/panel/README.md b/devices/pdp11/machine/1170/panel/README.md index 31432d16f..7155d0c83 100644 --- a/devices/pdp11/machine/1170/panel/README.md +++ b/devices/pdp11/machine/1170/panel/README.md @@ -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). diff --git a/devices/pdp11/machine/README.md b/devices/pdp11/machine/README.md index a752bab15..34704bcc1 100644 --- a/devices/pdp11/machine/README.md +++ b/devices/pdp11/machine/README.md @@ -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/) diff --git a/devices/pdp11/panel/1145/README.md b/devices/pdp11/panel/1145/README.md new file mode 100644 index 000000000..a167e6ca2 --- /dev/null +++ b/devices/pdp11/panel/1145/README.md @@ -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. diff --git a/devices/pdp11/panel/1145/debugger/README.md b/devices/pdp11/panel/1145/debugger/README.md new file mode 100644 index 000000000..d4d02b7ec --- /dev/null +++ b/devices/pdp11/panel/1145/debugger/README.md @@ -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) diff --git a/devices/pdp11/panel/1145/debugger/front.xml b/devices/pdp11/panel/1145/debugger/front.xml new file mode 100644 index 000000000..b90312c32 --- /dev/null +++ b/devices/pdp11/panel/1145/debugger/front.xml @@ -0,0 +1,239 @@ + + + Control Panel + + + 16 + 18 + 22 + + + + + + KRNL + SUPR + USER + + + + + + + ADDRESS + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + LED1 + LED2 + LED3 + + + + + + LED4 + LED5 + LED6 + + + + + + + DATA + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + STRT + STEP + E/H + + + + + + CONT + DEP + EXAM + + + + + + LOAD + TEST + + + + + 0 + 1 + 2 + + + + + + 3 + 4 + 5 + + + + + + 6 + 7 + 8 + + + + + + 9 + 10 + 11 + + + + + + 12 + 13 + 14 + + + + + + 15 + 16 + 17 + + + + + + 18 + 19 + 20 + + + + + + 21 + + + + + + + + Enter + Clear + + + + Registers + 000000 + 000000 + 000000 + 000000 + 000000 + 000000 + 000000 + 000000 + 000000 + + 0 + 0 + 0 + 0 + + + + Run + Step + Reset + Fast + Stopped + + diff --git a/devices/pdp11/panel/1145/front.xml b/devices/pdp11/panel/1145/front.xml new file mode 100644 index 000000000..5aad69e5e --- /dev/null +++ b/devices/pdp11/panel/1145/front.xml @@ -0,0 +1,215 @@ + + + Control Panel + + + 16 + 18 + 22 + + + + + + KRNL + SUPR + USER + + + + + + + ADDRESS + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + LED1 + LED2 + LED3 + + + + + + LED4 + LED5 + LED6 + + + + + + + DATA + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + . + + + + + + START + STEP + ENABLE + + + + + + CONT + DEP + EXAM + + + + + + LOAD + TEST + + + + + 0 + 1 + 2 + + + + + + 3 + 4 + 5 + + + + + + 6 + 7 + 8 + + + + + + 9 + 10 + 11 + + + + + + 12 + 13 + 14 + + + + + + 15 + 16 + 17 + + + + + + 18 + 19 + 20 + + + + + + 21 + + + + + + + + Run + Reset + Fast + Stopped + + diff --git a/devices/pdp11/panel/README.md b/devices/pdp11/panel/README.md index 6b1164795..7f031c9de 100644 --- a/devices/pdp11/panel/README.md +++ b/devices/pdp11/panel/README.md @@ -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/) diff --git a/modules/pdp11/lib/ram.js b/modules/pdp11/lib/ram.js index 133b99d37..16a9d7b78 100644 --- a/modules/pdp11/lib/ram.js +++ b/modules/pdp11/lib/ram.js @@ -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()) {