1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-25 19:56:53 +00:00

KLDCP - KL10 diagnostics console program.

This commit is contained in:
Lars Brinkhoff
2018-06-12 22:35:45 +02:00
parent c40ea830fa
commit 8563a595d0
18 changed files with 11973 additions and 0 deletions

47
doc/kldcp/ioelev.conven Executable file
View File

@@ -0,0 +1,47 @@
Conventions for relations between KLDCP and IOELEV
Core locations -
3000 KLDCP does JSR PC, here when it has nothing to do
and 10 is running. IOELEV should INIT if it hasn't
already, then go into its main loop. It should CLC, RTS PC
if the 10 goes down; KLDCP will print appropriate message.
To go into temporary KLDCP command mode, SEC, RTS PC.
If microcode hangs, PMSG <...>, JMP 100004 (CTRLC).
3004, 3006 - .RAD50 /IOELEV/
3010, 3012 - random crufty version numbers (not actually used)
14, 16 BPT vector, I guess it's OK for 11 ddt to use these.
.. interrupt vectors for various devices are initially set
up by KLDCP to point to error routine; IOELEV can load
over these.
0-400 vectors
3000-? IOELEV (what is 400-3000 used for?)
?-100000 11 DDT
100000-? KLDCP
?-160000 stack
KLDCP will supply IOELEV with a stack; 11 DDT will have to be modified
to believe it.
Even while the IOELEV main loop is not running, interrupts will be
turned on and IOELEV P.I. level can run. Various things like "MR" will
do a pdp11 "RESET" instruction and flush this. This allows the right thing
to happen if the 10 halts, you go to KLDCP, in KLDCP you type DDT, and
now you're back in IOELEV.
Consequently IOELEV has to handle the flavor of teletype that DDT & SALV use.
It's best to do an "RI" before running, e.g., DEC diagnostics.
IOELEV isn't allowed to turn on interrupts for any devices that KLDCP
also uses; mainly, 60-cycle clock and DTE20. These have to be handled
entirely in the main program and not touched at all at P.I. level (since
IOELEV's P.I. level runs concurrently with KLDCP.)
IOELEV main program level can (and will) use KLDCP's EMT's to hack the DTE20.

104
doc/kldcp/kldcp.inst Normal file
View File

@@ -0,0 +1,104 @@
KL10 CONSOLE INSTRUCTIONS
Conventions:î____________
Commands end with carriage return. DELETE deletes the last character
typed; deleted characters are echoed between backslashes. CTRL/U
deletes the line being typed.
Numbers are octal. 36-bit numbers may be typed as two half-words
separated by a space. Negative numbers may be entered; thus -1 means
36 1-bits. In the following, <foo> is a symbol; don't type the angle
brackets.
To examine and deposit memory:î______________________________
"EM <address>" types out the contents of the addressed location. If
<address> is omitted, the last address used is used again. "EN"
examines the last address used plus one. "EM <first> , <last>"
examines the <first> address through the <last> address, inclusive.
Don't put spaces around the comma.
"DM <address> : <contents>" deposits into memory. You can omit the
<address>, but not the colon, to re-use the last address used.
Putting R and a space in front of a command repeats it, with
typeout turned off, until you hit CTRL/C.
The Switches:î_____________
The left-most 16 switches are on the pdp11 panel. Numbers have been
affixed to indicate the pdp10 bit numbers. The remaining switches are
set by the "SW <octal value>" command. "SW" alone types out the
current setting of the switches.
Running Diagnostics:î____________________
Load the DEC microcode with the "P U.RAM" command. Type "SM" to start
the microcode. To run DG series diagnostics, which run in the pdp11,
type e.g. "P DGKAB.A11", then "SED". To run other diagnostics, which
run in the pdp10, type "P SUBRTN", then "P DDMMG" (for instance), then
"STD" to start it.
Stopping a Running Program:î___________________________
Hit BREAK, then CTRL/C. If the running program is in the pdp10, the
"SP" command is needed to stop it.
Powering the machine back on:î_____________________________
Check for boxes with no lights on; their circuit breakers may have
tripped. Hit the DISK button to reload KLDCP. If it doesn't reload,
disk unit 0 may need to be powered on and off. Type "RP0" to select
disk unit 0. Do "J KLINIT". This loads the ITS microcode and
configures memory and cache. If you get a bunch of "ADR=xxx COR=yyy
ACT=000" messages, some memory is hung. Try resetting it. (RESET
switch is at bottom right inside front door of each memory.)
Standard Tests:î_______________
"J KLDIAG" runs a series of diagnostics to check out the processor.
Switch 0 is raised to stop each diagnostic (at the end of the current
pass) and run the next. If it says "please load u code ver 73" do "P
MBOX.RAM" then "HC". The "E bus diagnostic enable switch" is a toggle
inside the front door of the left-most bay, near the "DTE SWITCH
PANEL" decal.
To run memory tests, "P U.RAM", "SM", "PE0", "P SUBRTN", "P DDMMG",
"STD". Or, "P DGKBB.A11", "SED".
Other Commands:î_______________
"MR" does a master reset of the machine.
"SM" starts the microcode. Try this if you get "? UCODE HUNG",
"? EM ERR", etc.
"J NTSDDT" loads in an exec DDT from disk.
A complete list of KLDCP commands is in an 8 1/2 x 11 printout
labelled "KLDCP OPR" around somewhere in the machine room.
Map of the machine:î___________________
(Door) DISK #2 #1 #0 (RP04)
I/O BAY CPU BAY CONSOLE BAY
(DMA, DIA, IMP) (MBOX, EBOX) (PDP11, DECTAPE)
LA36
TAPE DRIVE (TU41) CONSOLE TTY DISK CONTROL (RH10)
TAPE CONTROL (TM10B) DISK CHANNEL (DF10C)
TAPE CHANNEL (DF10C) MEMORY A (MF10)
IO PDP11 CHANNEL (DL10) MEMORY B (MF10)
IO PDP11 (PDP11/40) . . .
IO PDP11 (DH11) MEMORY H (MF10)
(Door) 

View File

@@ -99,6 +99,7 @@
- JEDGAR, counter spying tool.
- JOBS, list jobs by category.
- JOTTO, word-guessing game.
- KLDCP, KL10 diagnostics console program.
- KLFEDR, KL10 frontend directory tool.
- KLRUG, KL10 frontend debugger.
- LAY, SUDS layout program.