Merge branch 'next-release'
This commit is contained in:
commit
afa10574df
12 changed files with 123 additions and 116 deletions
|
|
@ -28,4 +28,7 @@
|
|||
<keyboard id="keyboard" model="VT100">
|
||||
<control type="button" binding="setup" padLeft="8px" padBottom="8px">SET-UP</control>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ Refer to [Help](/disks/dec/rl02k/xxdp/#help) from the RL02K version.
|
|||
The "D" (DIRECTORY) command displays the following information:
|
||||
|
||||
ENTRY# FILNAM.EXT DATE LENGTH START
|
||||
|
||||
|
||||
1 HDDKB0.SYS 2-JAN-70 2 000112
|
||||
2 HMDKB1.SYS 2-JAN-70 17 000113
|
||||
3 HDDKB1.SYS 2-JAN-70 2 000114
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
PDP-11 MONITOR V1.0
|
||||
|
||||
|
||||
BOOT>
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
.
|
||||
|
||||
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
|
||||
----------------
|
||||
|
||||
|
||||
R run a program
|
||||
L load a program
|
||||
S start a program
|
||||
|
|
@ -59,8 +59,8 @@ The "H" (HELP) command displays the following information:
|
|||
F set the terminal fill count
|
||||
E enable alternate system device
|
||||
H type help information
|
||||
|
||||
|
||||
|
||||
|
||||
DRS Commands
|
||||
------------
|
||||
Execution
|
||||
|
|
@ -70,27 +70,27 @@ The "H" (HELP) command displays the following information:
|
|||
CONTINUE continue diagnostic at test that was
|
||||
interrupted by a ^C
|
||||
PROCEED continue from an error halt
|
||||
|
||||
|
||||
Units Under Test
|
||||
----------------
|
||||
ADD activate a unit for testing
|
||||
DROP deactivate a unit
|
||||
DISPLAY print a list of device information
|
||||
|
||||
|
||||
Flags
|
||||
-----
|
||||
FLAGS print status of all flags
|
||||
ZFLAGS reset all flags
|
||||
|
||||
|
||||
Statistics
|
||||
----------
|
||||
PRINT print statistical information
|
||||
|
||||
|
||||
Exitting
|
||||
--------
|
||||
EXIT return to XXDP+ runtime monitor
|
||||
|
||||
|
||||
|
||||
|
||||
DRS Command Switches
|
||||
--------------------
|
||||
/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
|
||||
(ddddd = 1 to 64000)
|
||||
/UNITS:unit-list command will affect only specified units
|
||||
|
||||
|
||||
|
||||
|
||||
DRS Flags
|
||||
---------
|
||||
|
||||
|
||||
Flag Effect
|
||||
---- ------
|
||||
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
|
||||
EVL execute evaluation (on diagnostics which have
|
||||
evaluation support)
|
||||
|
||||
|
||||
|
||||
|
||||
UPD1 Commands
|
||||
-------------
|
||||
CLR clear UPD1 program buffer
|
||||
|
|
@ -140,8 +140,8 @@ The "H" (HELP) command displays the following information:
|
|||
DUMP dump a program image
|
||||
DEL delete a file
|
||||
BOOT bootstrap a device
|
||||
|
||||
|
||||
|
||||
|
||||
UPD2 Commands
|
||||
-------------
|
||||
File Manipulation
|
||||
|
|
@ -151,7 +151,7 @@ The "H" (HELP) command displays the following information:
|
|||
FILE transfer a file or files
|
||||
DEL delete a file or files
|
||||
REN rename a file
|
||||
|
||||
|
||||
File Modification
|
||||
-----------------
|
||||
CLR clear UPD2 program buffer
|
||||
|
|
@ -161,14 +161,14 @@ The "H" (HELP) command displays the following information:
|
|||
HICORE set upper memory limit for dump
|
||||
LOCORE set lower memory limit for dump
|
||||
DUMP dump a program image
|
||||
|
||||
|
||||
New Medium Creation
|
||||
-------------------
|
||||
ZERO initialize a medium
|
||||
SAVM save a monitor on a disk
|
||||
SAVE save a monitor on a tape
|
||||
COPY copy entire medium
|
||||
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
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
|
||||
EOT write end-of-tape mark
|
||||
DRIVER load a device driver
|
||||
|
||||
|
||||
Returning to Monitor
|
||||
--------------------
|
||||
BOOT bootstrap a device
|
||||
EXIT return control to the runtime monitor
|
||||
|
||||
|
||||
Printing
|
||||
--------
|
||||
PRINT print a file on the line printer
|
||||
TYPE type a file on the console terminal
|
||||
|
||||
|
||||
|
||||
|
||||
PATCH Commands
|
||||
--------------
|
||||
BOOT Boot specified device
|
||||
|
|
@ -200,8 +200,8 @@ The "H" (HELP) command displays the following information:
|
|||
PATCH Crreate patched file
|
||||
SAVP Save input table
|
||||
TYPE Print input table on terminal
|
||||
|
||||
|
||||
|
||||
|
||||
XTECO Non-edit Commands
|
||||
-----------------------
|
||||
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
|
||||
DIR - list directory of specified medium
|
||||
EXIT - return to monitor
|
||||
|
||||
|
||||
|
||||
|
||||
XTECO Edit Commands
|
||||
-------------------
|
||||
|
||||
|
||||
Pointer Location
|
||||
----------------
|
||||
L - move the pointer line by line
|
||||
C - move the pointer character by character
|
||||
J - move the pointer to the beginning of text
|
||||
ZJ - move the pointer to the end of text
|
||||
|
||||
|
||||
Search
|
||||
------
|
||||
S - search for specified string in text now in memory
|
||||
N - search for specified string in remainder of text file
|
||||
|
||||
|
||||
Modify/Display Text
|
||||
-------------------
|
||||
T - type text
|
||||
|
|
@ -235,7 +235,7 @@ The "H" (HELP) command displays the following information:
|
|||
K - delete line(s)
|
||||
I - insert text
|
||||
A - append text to that currently in memory
|
||||
|
||||
|
||||
Terminating 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:
|
||||
|
||||
ENTRY# FILNAM.EXT DATE LENGTH START
|
||||
|
||||
|
||||
1 MMDP .SAV 3-MAR-83C 17 000310
|
||||
2 MTDP .SAV 3-MAR-83C 17 000331
|
||||
3 HSAAD0.SYS 3-MAR-83 24 000352
|
||||
|
|
|
|||
|
|
@ -12,22 +12,22 @@ From the
|
|||
p. 1-6:
|
||||
|
||||
11/70 CPU DIAGNOSTIC PART 1
|
||||
|
||||
|
||||
ABSTRACT:
|
||||
|
||||
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
|
||||
program to "HALT". After this, run the second part of the CPU test, EKBBF0.
|
||||
|
||||
|
||||
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
|
||||
program to "HALT". After this, run the second part of the CPU test, EKBBF0.
|
||||
|
||||
OPERATING PROCEDURES:
|
||||
Set the switch register by <CONTROL P> (RD console)
|
||||
CON = xxxxxxWZ
|
||||
(W = deposit xxxxxx into console switch register)
|
||||
(R = read and type console switch settings)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
(R = read and type console switch settings)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
.R EKBAD0
|
||||
|
||||
|
||||
SWITCH SETTINGS
|
||||
SW15 = 1 halt on error
|
||||
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
|
||||
DATE CREATED: MAY, 1980
|
||||
MAINTAINER: DIAGNOSTIC ENGINEERING
|
||||
|
||||
|
|
|
|||
|
|
@ -12,21 +12,21 @@ From the
|
|||
p. 1-7:
|
||||
|
||||
11/70 CPU DIAGNOSTIC PART 2
|
||||
|
||||
|
||||
ABSTRACT:
|
||||
|
||||
This diagnostic is the second part of the 11/70 CPU, it tests advanced
|
||||
instructions and miscellaneous logic.
|
||||
|
||||
|
||||
This diagnostic is the second part of the 11/70 CPU, it tests advanced
|
||||
instructions and miscellaneous logic.
|
||||
|
||||
OPERATING PROCEDURES:
|
||||
Set the switch register by <CONTROL P> (RD console)
|
||||
CON = xxxxxxWZ
|
||||
(W = deposit xxxxxx into console switch register)
|
||||
(R = read and type console switch settings)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
(R = read and type console switch settings)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
.R EKBBF0
|
||||
|
||||
|
||||
SWITCH SETTINGS
|
||||
SW15 = 1 halt on error
|
||||
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
|
||||
BR 8$
|
||||
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
|
||||
BR 8$
|
||||
1$: CMP @#0,#6$ ;DID BEN 13 FAIL?
|
||||
BEQ 7$ ;BRANCH IF NO
|
||||
MOV #STACK,SP ;RESET THE SP
|
||||
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
|
||||
ERROR 240 ;BEN 13 FAILED TO BRK.80
|
||||
BR 8$
|
||||
BEQ 7$ ;BRANCH IF NO
|
||||
MOV #STACK,SP ;RESET THE SP
|
||||
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
|
||||
ERROR 240 ;BEN 13 FAILED TO BRK.80
|
||||
BR 8$
|
||||
7$: CMP #-1,@#336 ;;DID YEL ZONE OCCUR?
|
||||
BNE 8$ ;BRANCH IF NO
|
||||
CLR @#336 ;SETUP FOR LOOPING
|
||||
ERROR 251 ;YEL ZONE IN RED REGION
|
||||
BNE 8$ ;BRANCH IF NO
|
||||
CLR @#336 ;SETUP FOR LOOPING
|
||||
ERROR 251 ;YEL ZONE IN RED REGION
|
||||
;
|
||||
;TEST TO ENSURE PSW REFERENCE VIA THE SP CAUSES A RED ZONE TRAP
|
||||
8$: MOV #63$,$LPERR ;SETUP ERROR LOOP
|
||||
63$: MOV #4$,@#ERRVEC ;SETUP ERRVEC
|
||||
MOV #PSW,SP ;PUT ADDRESS OF PSW IN SP
|
||||
CLR (SP) ;EXECUTE THE TRAP CAUSING INSTRUCTION
|
||||
MOV #1076,SP ;RESET THE SP
|
||||
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
|
||||
ERROR 241 ;NO RED ZONE ON STACK OVERFLOW
|
||||
MOV #PSW,SP ;PUT ADDRESS OF PSW IN SP
|
||||
CLR (SP) ;EXECUTE THE TRAP CAUSING INSTRUCTION
|
||||
MOV #1076,SP ;RESET THE SP
|
||||
MOV #CPUSPUR,@#ERRVEC ;RESTORE ERRVEC
|
||||
ERROR 241 ;NO RED ZONE ON STACK OVERFLOW
|
||||
|
||||
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.
|
||||
;;***************************************************************
|
||||
TST63: SCOPE
|
||||
MOV #TST64,NEXTTST ;SAVE ADDRESS OF NEXT TEST
|
||||
MOV #^D1990,$ICNT ;ADJUST ITTERATION COUNT
|
||||
MOV #10$,$LPADR ;SETUP LOOP ADR
|
||||
MOV #TST64,NEXTTST ;SAVE ADDRESS OF NEXT TEST
|
||||
MOV #^D1990,$ICNT ;ADJUST ITTERATION COUNT
|
||||
MOV #10$,$LPADR ;SETUP LOOP ADR
|
||||
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
|
||||
SPL 3
|
||||
MOV #BIT6,@$TPS ;SET PRINTER INTERRUPT FLAG
|
||||
MOV #15,@$TPB ;SEND CHARACTER
|
||||
WAIT ;EXECUTE INSTRUCTION UNDER TEST
|
||||
SPL 3
|
||||
MOV #BIT6,@$TPS ;SET PRINTER INTERRUPT FLAG
|
||||
MOV #15,@$TPB ;SEND CHARACTER
|
||||
WAIT ;EXECUTE INSTRUCTION UNDER TEST
|
||||
;FAILURE
|
||||
CLR @$TPS ;CLEAR INTERR ENABLE BIT
|
||||
ERROR 377 ;WAIT INSTRUCTION DID NOT
|
||||
BR 5$ ;WAIT FOR INTERRUPT
|
||||
CLR @$TPS ;CLEAR INTERR ENABLE BIT
|
||||
ERROR 377 ;WAIT INSTRUCTION DID NOT
|
||||
BR 5$ ;WAIT FOR INTERRUPT
|
||||
|
||||
After setting and hitting a breakpoint at 031532, we can step through the instructions in this test:
|
||||
|
||||
|
|
|
|||
|
|
@ -12,36 +12,36 @@ From the
|
|||
p. 1-10:
|
||||
|
||||
11/70 MEMORY MANAGEMENT TEST
|
||||
|
||||
|
||||
ABSTRACT:
|
||||
|
||||
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
|
||||
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
|
||||
to be good.
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
to be good.
|
||||
|
||||
OPERATING PROCEDURES:
|
||||
Set the switch register by <CONTROL P>
|
||||
CON = xxxxxxWZ
|
||||
(W = deposit xxxxxx into console switch register)
|
||||
(R = read and type console switch settings / CON = R)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
Set the switch register by <CONTROL P>
|
||||
CON = xxxxxxWZ
|
||||
(W = deposit xxxxxx into console switch register)
|
||||
(R = read and type console switch settings / CON = R)
|
||||
(Z = switch console terminal back to program)
|
||||
|
||||
.R EKBEE1
|
||||
|
||||
|
||||
SWITCH SETTINGS
|
||||
SW15 = 1 halt on error
|
||||
SW14 = 1 loop on current test
|
||||
SW13 = 1 inhibit all error typeouts
|
||||
SW12 = 1 inhibit trace trapping
|
||||
SW11 = 1 inhibit iterations
|
||||
SW10 = 1 ring bell on error
|
||||
SW09 = 1 loop on error
|
||||
SW08 = 1 loop on test in SWR <06:00>
|
||||
SW07 = 1 inhibit multiple error typeouts
|
||||
SW06 = 1 selects subtest
|
||||
...
|
||||
SW15 = 1 halt on error
|
||||
SW14 = 1 loop on current test
|
||||
SW13 = 1 inhibit all error typeouts
|
||||
SW12 = 1 inhibit trace trapping
|
||||
SW11 = 1 inhibit iterations
|
||||
SW10 = 1 ring bell on error
|
||||
SW09 = 1 loop on error
|
||||
SW08 = 1 loop on test in SWR <06:00>
|
||||
SW07 = 1 inhibit multiple error typeouts
|
||||
SW06 = 1 selects subtest
|
||||
...
|
||||
|
||||
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)
|
||||
|
|
@ -59,13 +59,13 @@ the PDF (p. 199 of the source code listing):
|
|||
;*TEST 122 KT BEND
|
||||
;*
|
||||
;* THIS TEST ENSURES THAT TMCE KT BEND GOES LOW ON AN ODD
|
||||
;* ADDRESS ERROR, SL RED, AND NEXM. THIS IS DONE BY EXECUTING
|
||||
;* AN INSTRUCTION FOR EACH Of THESE THESE CASES THAT ALSO
|
||||
;* 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
|
||||
;* NEXM TRAP. IF THIS IS A KB11-E/EM THEN THIS FEATURE IS TESTED.
|
||||
;;***************************************************************
|
||||
;* ADDRESS ERROR, SL RED, AND NEXM. THIS IS DONE BY EXECUTING
|
||||
;* AN INSTRUCTION FOR EACH Of THESE THESE CASES THAT ALSO
|
||||
;* 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
|
||||
;* 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
|
||||
begins at PC 076060, which is exactly 0100 bytes lower than the address shown in the source code listing (076160).
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@
|
|||
background-color: #000000;
|
||||
}
|
||||
.pcjs-rled {
|
||||
float: left;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: 4px;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
* 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));
|
||||
|
||||
|
|
|
|||
|
|
@ -166,6 +166,7 @@
|
|||
background-color: #000000;
|
||||
}
|
||||
.pcjs-rled {
|
||||
float: left;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: 4px;
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@
|
|||
background-color: #000000;
|
||||
}
|
||||
.pcjs-rled {
|
||||
float: left;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: 4px;
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@
|
|||
background-color: #000000;
|
||||
}
|
||||
.pcjs-rled {
|
||||
float: left;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: 4px;
|
||||
|
|
|
|||
|
|
@ -161,6 +161,7 @@
|
|||
background-color: #000000;
|
||||
}
|
||||
.pcjs-rled {
|
||||
float: left;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin: 4px;
|
||||
|
|
|
|||
Loading…
Reference in a new issue