Merge branch 'master' into gh-pages

This commit is contained in:
Jeff Parsons 2016-11-26 17:02:01 -08:00
commit 65fcfebcc2
12 changed files with 123 additions and 116 deletions

View file

@ -28,4 +28,7 @@
<keyboard id="keyboard" model="VT100"> <keyboard id="keyboard" model="VT100">
<control type="button" binding="setup" padLeft="8px" padBottom="8px">SET-UP</control> <control type="button" binding="setup" padLeft="8px" padBottom="8px">SET-UP</control>
</keyboard> </keyboard>
<serial id="serialPort" adapter="0" binding="print">
<control type="button" binding="test" value="HELLO WORLD!\n\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D\\e[D" padLeft="8px">TEST RECEIVER</control>
</serial>
</machine> </machine>

View file

@ -50,7 +50,7 @@ Refer to [Help](/disks/dec/rl02k/xxdp/#help) from the RL02K version.
The "D" (DIRECTORY) command displays the following information: The "D" (DIRECTORY) command displays the following information:
ENTRY# FILNAM.EXT DATE LENGTH START ENTRY# FILNAM.EXT DATE LENGTH START
1 HDDKB0.SYS 2-JAN-70 2 000112 1 HDDKB0.SYS 2-JAN-70 2 000112
2 HMDKB1.SYS 2-JAN-70 17 000113 2 HMDKB1.SYS 2-JAN-70 17 000113
3 HDDKB1.SYS 2-JAN-70 2 000114 3 HDDKB1.SYS 2-JAN-70 2 000114

View file

@ -18,7 +18,7 @@ available for drive "RL0", click **Load**, and wait for the message:
Then start the machine (click **Run**) and make sure the following prompt has been displayed: Then start the machine (click **Run**) and make sure the following prompt has been displayed:
PDP-11 MONITOR V1.0 PDP-11 MONITOR V1.0
BOOT> BOOT>
At the prompt, type "BOOT RL0". The following text should appear: At the prompt, type "BOOT RL0". The following text should appear:
@ -26,12 +26,12 @@ At the prompt, type "BOOT RL0". The following text should appear:
CHMDLD0 XXDP+ DL MONITOR CHMDLD0 XXDP+ DL MONITOR
BOOTED VIA UNIT 0 BOOTED VIA UNIT 0
28K UNIBUS SYSTEM 28K UNIBUS SYSTEM
ENTER DATE (DD-MMM-YY): ENTER DATE (DD-MMM-YY):
RESTART ADDR: 152010 RESTART ADDR: 152010
THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP. THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP.
. .
NOTE: Any RL11 disk drive (RL0-RL3) can be used. RL0 was selected for demonstration purposes. NOTE: Any RL11 disk drive (RL0-RL3) can be used. RL0 was selected for demonstration purposes.
@ -50,7 +50,7 @@ The "H" (HELP) command displays the following information:
Monitor Commands Monitor Commands
---------------- ----------------
R run a program R run a program
L load a program L load a program
S start a program S start a program
@ -59,8 +59,8 @@ The "H" (HELP) command displays the following information:
F set the terminal fill count F set the terminal fill count
E enable alternate system device E enable alternate system device
H type help information H type help information
DRS Commands DRS Commands
------------ ------------
Execution Execution
@ -70,27 +70,27 @@ The "H" (HELP) command displays the following information:
CONTINUE continue diagnostic at test that was CONTINUE continue diagnostic at test that was
interrupted by a ^C interrupted by a ^C
PROCEED continue from an error halt PROCEED continue from an error halt
Units Under Test Units Under Test
---------------- ----------------
ADD activate a unit for testing ADD activate a unit for testing
DROP deactivate a unit DROP deactivate a unit
DISPLAY print a list of device information DISPLAY print a list of device information
Flags Flags
----- -----
FLAGS print status of all flags FLAGS print status of all flags
ZFLAGS reset all flags ZFLAGS reset all flags
Statistics Statistics
---------- ----------
PRINT print statistical information PRINT print statistical information
Exitting Exitting
-------- --------
EXIT return to XXDP+ runtime monitor EXIT return to XXDP+ runtime monitor
DRS Command Switches DRS Command Switches
-------------------- --------------------
/TESTS:test-list execute only the tests specified /TESTS:test-list execute only the tests specified
@ -99,11 +99,11 @@ The "H" (HELP) command displays the following information:
/EOP:ddddd report end-of-pass after each ddddd passes /EOP:ddddd report end-of-pass after each ddddd passes
(ddddd = 1 to 64000) (ddddd = 1 to 64000)
/UNITS:unit-list command will affect only specified units /UNITS:unit-list command will affect only specified units
DRS Flags DRS Flags
--------- ---------
Flag Effect Flag Effect
---- ------ ---- ------
HOE halt on error - control is returned to runtime HOE halt on error - control is returned to runtime
@ -127,8 +127,8 @@ The "H" (HELP) command displays the following information:
LOT loop on test LOT loop on test
EVL execute evaluation (on diagnostics which have EVL execute evaluation (on diagnostics which have
evaluation support) evaluation support)
UPD1 Commands UPD1 Commands
------------- -------------
CLR clear UPD1 program buffer CLR clear UPD1 program buffer
@ -140,8 +140,8 @@ The "H" (HELP) command displays the following information:
DUMP dump a program image DUMP dump a program image
DEL delete a file DEL delete a file
BOOT bootstrap a device BOOT bootstrap a device
UPD2 Commands UPD2 Commands
------------- -------------
File Manipulation File Manipulation
@ -151,7 +151,7 @@ The "H" (HELP) command displays the following information:
FILE transfer a file or files FILE transfer a file or files
DEL delete a file or files DEL delete a file or files
REN rename a file REN rename a file
File Modification File Modification
----------------- -----------------
CLR clear UPD2 program buffer CLR clear UPD2 program buffer
@ -161,14 +161,14 @@ The "H" (HELP) command displays the following information:
HICORE set upper memory limit for dump HICORE set upper memory limit for dump
LOCORE set lower memory limit for dump LOCORE set lower memory limit for dump
DUMP dump a program image DUMP dump a program image
New Medium Creation New Medium Creation
------------------- -------------------
ZERO initialize a medium ZERO initialize a medium
SAVM save a monitor on a disk SAVM save a monitor on a disk
SAVE save a monitor on a tape SAVE save a monitor on a tape
COPY copy entire medium COPY copy entire medium
Miscellaneous Miscellaneous
------------- -------------
ASG assign a logical name to a device ASG assign a logical name to a device
@ -176,18 +176,18 @@ The "H" (HELP) command displays the following information:
READ read a file to check validity READ read a file to check validity
EOT write end-of-tape mark EOT write end-of-tape mark
DRIVER load a device driver DRIVER load a device driver
Returning to Monitor Returning to Monitor
-------------------- --------------------
BOOT bootstrap a device BOOT bootstrap a device
EXIT return control to the runtime monitor EXIT return control to the runtime monitor
Printing Printing
-------- --------
PRINT print a file on the line printer PRINT print a file on the line printer
TYPE type a file on the console terminal TYPE type a file on the console terminal
PATCH Commands PATCH Commands
-------------- --------------
BOOT Boot specified device BOOT Boot specified device
@ -200,8 +200,8 @@ The "H" (HELP) command displays the following information:
PATCH Crreate patched file PATCH Crreate patched file
SAVP Save input table SAVP Save input table
TYPE Print input table on terminal TYPE Print input table on terminal
XTECO Non-edit Commands XTECO Non-edit Commands
----------------------- -----------------------
TEXT - create new text file TEXT - create new text file
@ -211,23 +211,23 @@ The "H" (HELP) command displays the following information:
PRINT - print a file on the line printer PRINT - print a file on the line printer
DIR - list directory of specified medium DIR - list directory of specified medium
EXIT - return to monitor EXIT - return to monitor
XTECO Edit Commands XTECO Edit Commands
------------------- -------------------
Pointer Location Pointer Location
---------------- ----------------
L - move the pointer line by line L - move the pointer line by line
C - move the pointer character by character C - move the pointer character by character
J - move the pointer to the beginning of text J - move the pointer to the beginning of text
ZJ - move the pointer to the end of text ZJ - move the pointer to the end of text
Search Search
------ ------
S - search for specified string in text now in memory S - search for specified string in text now in memory
N - search for specified string in remainder of text file N - search for specified string in remainder of text file
Modify/Display Text Modify/Display Text
------------------- -------------------
T - type text T - type text
@ -235,7 +235,7 @@ The "H" (HELP) command displays the following information:
K - delete line(s) K - delete line(s)
I - insert text I - insert text
A - append text to that currently in memory A - append text to that currently in memory
Terminating Edit Mode Terminating Edit Mode
--------------------- ---------------------
EX - exit edit mode EX - exit edit mode
@ -246,7 +246,7 @@ The "H" (HELP) command displays the following information:
The "D" (DIRECTORY) command displays the following information: The "D" (DIRECTORY) command displays the following information:
ENTRY# FILNAM.EXT DATE LENGTH START ENTRY# FILNAM.EXT DATE LENGTH START
1 MMDP .SAV 3-MAR-83C 17 000310 1 MMDP .SAV 3-MAR-83C 17 000310
2 MTDP .SAV 3-MAR-83C 17 000331 2 MTDP .SAV 3-MAR-83C 17 000331
3 HSAAD0.SYS 3-MAR-83 24 000352 3 HSAAD0.SYS 3-MAR-83 24 000352

View file

@ -12,22 +12,22 @@ From the
p. 1-6: p. 1-6:
11/70 CPU DIAGNOSTIC PART 1 11/70 CPU DIAGNOSTIC PART 1
ABSTRACT: ABSTRACT:
This diagnostic is the first part of the 11/70 CPU, it designed to detect and This diagnostic is the first part of the 11/70 CPU, it designed to detect and
report logic faults in the CPU. Any fault detected in this program causes the report logic faults in the CPU. Any fault detected in this program causes the
program to "HALT". After this, run the second part of the CPU test, EKBBF0. program to "HALT". After this, run the second part of the CPU test, EKBBF0.
OPERATING PROCEDURES: OPERATING PROCEDURES:
Set the switch register by <CONTROL P> (RD console) Set the switch register by <CONTROL P> (RD console)
CON = xxxxxxWZ CON = xxxxxxWZ
(W = deposit xxxxxx into console switch register) (W = deposit xxxxxx into console switch register)
(R = read and type console switch settings) (R = read and type console switch settings)
(Z = switch console terminal back to program) (Z = switch console terminal back to program)
.R EKBAD0 .R EKBAD0
SWITCH SETTINGS SWITCH SETTINGS
SW15 = 1 halt on error SW15 = 1 halt on error
SW14 = 1 loop on test SW14 = 1 loop on test
@ -51,4 +51,3 @@ on [bitsavers.org](http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/f
PRODUCT NAME: CEKBAD0 11/70 CPU #1 PRODUCT NAME: CEKBAD0 11/70 CPU #1
DATE CREATED: MAY, 1980 DATE CREATED: MAY, 1980
MAINTAINER: DIAGNOSTIC ENGINEERING MAINTAINER: DIAGNOSTIC ENGINEERING

View file

@ -12,21 +12,21 @@ From the
p. 1-7: p. 1-7:
11/70 CPU DIAGNOSTIC PART 2 11/70 CPU DIAGNOSTIC PART 2
ABSTRACT: ABSTRACT:
This diagnostic is the second part of the 11/70 CPU, it tests advanced This diagnostic is the second part of the 11/70 CPU, it tests advanced
instructions and miscellaneous logic. instructions and miscellaneous logic.
OPERATING PROCEDURES: OPERATING PROCEDURES:
Set the switch register by <CONTROL P> (RD console) Set the switch register by <CONTROL P> (RD console)
CON = xxxxxxWZ CON = xxxxxxWZ
(W = deposit xxxxxx into console switch register) (W = deposit xxxxxx into console switch register)
(R = read and type console switch settings) (R = read and type console switch settings)
(Z = switch console terminal back to program) (Z = switch console terminal back to program)
.R EKBBF0 .R EKBBF0
SWITCH SETTINGS SWITCH SETTINGS
SW15 = 1 halt on error SW15 = 1 halt on error
SW14 = 1 loop on test SW14 = 1 loop on test
@ -144,28 +144,28 @@ The source code listing for TEST 40 matches the code above, and begins at the sa
ERROR 235 ;RED ZONE REFERENCE FAILED TO TRAP ERROR 235 ;RED ZONE REFERENCE FAILED TO TRAP
BR 8$ BR 8$
3$: MOV #STACK,SP ;RESET THE SP 3$: MOV #STACK,SP ;RESET THE SP
MOV #CPUSPUR,@#ERRVEC ;RESTORE LOCATION 4 MOV #CPUSPUR,@#ERRVEC ;RESTORE LOCATION 4
ERROR 237 ;BEN 13 FAILED TO PUP.00 ERROR 237 ;BEN 13 FAILED TO PUP.00
BR 8$ BR 8$
1$: CMP @#0,#6$ ;DID BEN 13 FAIL? 1$: CMP @#0,#6$ ;DID BEN 13 FAIL?
BEQ 7$ ;BRANCH IF NO BEQ 7$ ;BRANCH IF NO
MOV #STACK,SP ;RESET THE SP MOV #STACK,SP ;RESET THE SP
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
ERROR 240 ;BEN 13 FAILED TO BRK.80 ERROR 240 ;BEN 13 FAILED TO BRK.80
BR 8$ BR 8$
7$: CMP #-1,@#336 ;;DID YEL ZONE OCCUR? 7$: CMP #-1,@#336 ;;DID YEL ZONE OCCUR?
BNE 8$ ;BRANCH IF NO BNE 8$ ;BRANCH IF NO
CLR @#336 ;SETUP FOR LOOPING CLR @#336 ;SETUP FOR LOOPING
ERROR 251 ;YEL ZONE IN RED REGION ERROR 251 ;YEL ZONE IN RED REGION
; ;
;TEST TO ENSURE PSW REFERENCE VIA THE SP CAUSES A RED ZONE TRAP ;TEST TO ENSURE PSW REFERENCE VIA THE SP CAUSES A RED ZONE TRAP
8$: MOV #63$,$LPERR ;SETUP ERROR LOOP 8$: MOV #63$,$LPERR ;SETUP ERROR LOOP
63$: MOV #4$,@#ERRVEC ;SETUP ERRVEC 63$: MOV #4$,@#ERRVEC ;SETUP ERRVEC
MOV #PSW,SP ;PUT ADDRESS OF PSW IN SP MOV #PSW,SP ;PUT ADDRESS OF PSW IN SP
CLR (SP) ;EXECUTE THE TRAP CAUSING INSTRUCTION CLR (SP) ;EXECUTE THE TRAP CAUSING INSTRUCTION
MOV #1076,SP ;RESET THE SP MOV #1076,SP ;RESET THE SP
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
ERROR 241 ;NO RED ZONE ON STACK OVERFLOW ERROR 241 ;NO RED ZONE ON STACK OVERFLOW
PDPjs was failing to trigger a RED stack violation on this instruction: PDPjs was failing to trigger a RED stack violation on this instruction:
@ -189,20 +189,20 @@ and begins at the same address (031532):
;* OCCURS AND NOT THE T BIT TRAP. ;* OCCURS AND NOT THE T BIT TRAP.
;;*************************************************************** ;;***************************************************************
TST63: SCOPE TST63: SCOPE
MOV #TST64,NEXTTST ;SAVE ADDRESS OF NEXT TEST MOV #TST64,NEXTTST ;SAVE ADDRESS OF NEXT TEST
MOV #^D1990,$ICNT ;ADJUST ITTERATION COUNT MOV #^D1990,$ICNT ;ADJUST ITTERATION COUNT
MOV #10$,$LPADR ;SETUP LOOP ADR MOV #10$,$LPADR ;SETUP LOOP ADR
10$: MOV #2$,@#TPVEC ;SETUP TELEPRINTER VECTOR 10$: MOV #2$,@#TPVEC ;SETUP TELEPRINTER VECTOR
MOV #1$,$LPERR ;SETUP ERROR LOOP MOV #1$,$LPERR ;SETUP ERROR LOOP
1$: MOV #STACK,SP ;INITIALIZE THE SP 1$: MOV #STACK,SP ;INITIALIZE THE SP
SPL 3 SPL 3
MOV #BIT6,@$TPS ;SET PRINTER INTERRUPT FLAG MOV #BIT6,@$TPS ;SET PRINTER INTERRUPT FLAG
MOV #15,@$TPB ;SEND CHARACTER MOV #15,@$TPB ;SEND CHARACTER
WAIT ;EXECUTE INSTRUCTION UNDER TEST WAIT ;EXECUTE INSTRUCTION UNDER TEST
;FAILURE ;FAILURE
CLR @$TPS ;CLEAR INTERR ENABLE BIT CLR @$TPS ;CLEAR INTERR ENABLE BIT
ERROR 377 ;WAIT INSTRUCTION DID NOT ERROR 377 ;WAIT INSTRUCTION DID NOT
BR 5$ ;WAIT FOR INTERRUPT BR 5$ ;WAIT FOR INTERRUPT
After setting and hitting a breakpoint at 031532, we can step through the instructions in this test: After setting and hitting a breakpoint at 031532, we can step through the instructions in this test:

View file

@ -12,36 +12,36 @@ From the
p. 1-10: p. 1-10:
11/70 MEMORY MANAGEMENT TEST 11/70 MEMORY MANAGEMENT TEST
ABSTRACT: ABSTRACT:
This program was designed using a "BOTTOM UP" approach starting with the smallest segment of MEMORY This program was designed using a "BOTTOM UP" approach starting with the smallest segment of MEMORY
MANAGEMENT logic and building up to cover all the logic. The program begins by testing some of the MANAGEMENT logic and building up to cover all the logic. The program begins by testing some of the
internal CPU data and address path and address detection logic, then works outward through the MEM. internal CPU data and address path and address detection logic, then works outward through the MEM.
MANAGEMENT registers. It is assumed that both the CPU and the CACHE have been tested, or are known MANAGEMENT registers. It is assumed that both the CPU and the CACHE have been tested, or are known
to be good. to be good.
OPERATING PROCEDURES: OPERATING PROCEDURES:
Set the switch register by <CONTROL P> Set the switch register by <CONTROL P>
CON = xxxxxxWZ CON = xxxxxxWZ
(W = deposit xxxxxx into console switch register) (W = deposit xxxxxx into console switch register)
(R = read and type console switch settings / CON = R) (R = read and type console switch settings / CON = R)
(Z = switch console terminal back to program) (Z = switch console terminal back to program)
.R EKBEE1 .R EKBEE1
SWITCH SETTINGS SWITCH SETTINGS
SW15 = 1 halt on error SW15 = 1 halt on error
SW14 = 1 loop on current test SW14 = 1 loop on current test
SW13 = 1 inhibit all error typeouts SW13 = 1 inhibit all error typeouts
SW12 = 1 inhibit trace trapping SW12 = 1 inhibit trace trapping
SW11 = 1 inhibit iterations SW11 = 1 inhibit iterations
SW10 = 1 ring bell on error SW10 = 1 ring bell on error
SW09 = 1 loop on error SW09 = 1 loop on error
SW08 = 1 loop on test in SWR <06:00> SW08 = 1 loop on test in SWR <06:00>
SW07 = 1 inhibit multiple error typeouts SW07 = 1 inhibit multiple error typeouts
SW06 = 1 selects subtest SW06 = 1 selects subtest
... ...
The closest we have to a source code listing of the EKBEE1 diagnostic comes from some The closest we have to a source code listing of the EKBEE1 diagnostic comes from some
[scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AC-7975E-MC_CEKBEE0_1170_MEM_MGMT_May80.pdf) [scanned microfiche](http://archive.pcjs.org/pubs/dec/pdp11/diags/AC-7975E-MC_CEKBEE0_1170_MEM_MGMT_May80.pdf)
@ -59,13 +59,13 @@ the PDF (p. 199 of the source code listing):
;*TEST 122 KT BEND ;*TEST 122 KT BEND
;* ;*
;* THIS TEST ENSURES THAT TMCE KT BEND GOES LOW ON AN ODD ;* THIS TEST ENSURES THAT TMCE KT BEND GOES LOW ON AN ODD
;* ADDRESS ERROR, SL RED, AND NEXM. THIS IS DONE BY EXECUTING ;* ADDRESS ERROR, SL RED, AND NEXM. THIS IS DONE BY EXECUTING
;* AN INSTRUCTION FOR EACH Of THESE THESE CASES THAT ALSO ;* AN INSTRUCTION FOR EACH Of THESE THESE CASES THAT ALSO
;* CAUSES A KT ABORT. THE ABORT SHOULD NOT BE HONORED. ;* CAUSES A KT ABORT. THE ABORT SHOULD NOT BE HONORED.
;* ;*
;* NOTE: ON A KB11-E OR KB11-EM THE KT ABORT SHOULD BE HONORED OVER A ;* NOTE: ON A KB11-E OR KB11-EM THE KT ABORT SHOULD BE HONORED OVER A
;* NEXM TRAP. IF THIS IS A KB11-E/EM THEN THIS FEATURE IS TESTED. ;* NEXM TRAP. IF THIS IS A KB11-E/EM THEN THIS FEATURE IS TESTED.
;;*************************************************************** ;;***************************************************************
As noted in the *mapVirtualToPhysical()* function in [cpustate.js](/modules/pdp11/lib/cpustate.js), this test As noted in the *mapVirtualToPhysical()* function in [cpustate.js](/modules/pdp11/lib/cpustate.js), this test
begins at PC 076060, which is exactly 0100 bytes lower than the address shown in the source code listing (076160). begins at PC 076060, which is exactly 0100 bytes lower than the address shown in the source code listing (076160).

View file

@ -161,6 +161,7 @@
background-color: #000000; background-color: #000000;
} }
.pcjs-rled { .pcjs-rled {
float: left;
width: 8px; width: 8px;
height: 8px; height: 8px;
margin: 4px; margin: 4px;

View file

@ -358,7 +358,7 @@ SerialPort8080.prototype.setBinding = function(sHTMLType, sBinding, control, sVa
* *
* Note that I've judiciously avoided using terms "escape notation" or "escape sequence" to talk about * Note that I've judiciously avoided using terms "escape notation" or "escape sequence" to talk about
* these sequences, because ESC is one of the additional characters I want to support, and using the word * these sequences, because ESC is one of the additional characters I want to support, and using the word
* "escape" in both contexts is WAY confusing. * "escape" in both contexts is WAY too confusing.
*/ */
sValue = sValue.replace(/\\e/g, String.fromCharCode(0x1b)); sValue = sValue.replace(/\\e/g, String.fromCharCode(0x1b));

View file

@ -166,6 +166,7 @@
background-color: #000000; background-color: #000000;
} }
.pcjs-rled { .pcjs-rled {
float: left;
width: 8px; width: 8px;
height: 8px; height: 8px;
margin: 4px; margin: 4px;

View file

@ -161,6 +161,7 @@
background-color: #000000; background-color: #000000;
} }
.pcjs-rled { .pcjs-rled {
float: left;
width: 8px; width: 8px;
height: 8px; height: 8px;
margin: 4px; margin: 4px;

View file

@ -161,6 +161,7 @@
background-color: #000000; background-color: #000000;
} }
.pcjs-rled { .pcjs-rled {
float: left;
width: 8px; width: 8px;
height: 8px; height: 8px;
margin: 4px; margin: 4px;

View file

@ -161,6 +161,7 @@
background-color: #000000; background-color: #000000;
} }
.pcjs-rled { .pcjs-rled {
float: left;
width: 8px; width: 8px;
height: 8px; height: 8px;
margin: 4px; margin: 4px;