Using µTracer11 with a PDP-11/34
The PDP-11/34 CPU is named "KD11-E", its two-board CPU implementation consists of modules "M8265 DATAPATH" and "M8266 CONTROL".
Many 11/34a also have the advanced "Programmer Console" KY11-LB, whose controller is the M7859 quad card.
- µTracer11 "M93X2 probe" is mounted into the PDP-11/34 in standard "UNIBUS" A/B slots, but multiple positions are possible.
- To control micro code execution, M93X2 is also connected to two 10pin KY11-LB "Maintenance" headers on "M8266 CONTROL".
- A RS232 cable goes to the host PC to communicate with the µTracer11 GUI User Interface.
The two 10pin diagnostic headers on the CPU are normally used by the "M7859 KY11-LB Programmers Console" to control the micro code via the front panel.
The original KY11-LB cables can be routed through M93x2 probe to the CPU too ... but parallel Micro Stepping via front panel and µTracer11 GUI confuses both. Lets ignore this feature until later.
***
There are 3 options to mount the M93X2 probe. Examples are shown for a single DD11-PK backplane, where all memory and disks are implemented via an UniBone.
In any case, M93X2 is powered by UNIBUS +5V. The USB-Power-Jumper must be removed.
1. M93X2 probe as UNIBUS terminator
Here its mounted in the last UNIBUS slot, replacing the M9302 terminator.
DD11-PK
A B C D E F
+--------+--------+--------+--------+--------+--------+
1 | <<<<<<<<<<<<<<< M8266 KD11E CONTROL >>>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
2 | <<<<<<<<<<<<<< M8265 KD11E DATA PATH >>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
3 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
4 | <<<< M9312 >>>> | <<<<<<<<< M7859 KY11-LB >>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
5 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
6 | | | <<<<<<<<<<<< UniBone >>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
7 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
8 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
9 | M93X2 probe | <<<<<<<<<< M7856 DL11 >>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
Terminator packs and "SACK-turnaround" are active, like in M9302.
2. M93X2 probe replacing the BOOTROM M9312
The M9312 BOOT ROM carries CPU-side terminators and ROM with boot loader logic.
Its placed in a "Modified Unibus Slot" slot (MUD). On DD11-PK, all A/B slots on rows 3..8 are MUD.
Remember: MUD don't carry the Grant lines, but have high voltages there ... but these blue jumpers out!
DD11-PK
A B C D E F
+--------+--------+--------+--------+--------+--------+
1 | <<<<<<<<<<<<<<< M8266 KD11E CONTROL >>>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
2 | <<<<<<<<<<<<<< M8265 KD11E DATA PATH >>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
3 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
4 | M93X2 probe | <<<<<<<<< M7859 KY11-LB >>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
5 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
6 | | | <<<<<<<<<<<< UniBone >>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
7 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
8 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
9 | M9302 terminator| <<<<<<<<<< M7856 DL11 >>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
Terminator packs are active, but the "SACK-turnaround" and the GRANT line jumpers and "SACK-turnaround" are OUT.
The M93x2 must be able to upload code on Power-ON, so the BOOT switch must be connected too.
3. M93X2 as add-on in MUD slot
Here its mounted in an arbitrary MUD slot, parallel to M9302 terminator and M9312 BOOT ROM.
DD11-PK
A B C D E F
+--------+--------+--------+--------+--------+--------+
1 | <<<<<<<<<<<<<<< M8266 KD11E CONTROL >>>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
2 | <<<<<<<<<<<<<< M8265 KD11E DATA PATH >>>>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
3 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
4 | M9312 BOOT ROM | <<<<<<<<< M7859 KY11-LB >>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
5 | M93X2 probe | | G727A | | |
+--------+--------+--------+--------+--------+--------+
6 | | | <<<<<<<<<<<< UniBone >>>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
7 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
8 | | | | G727A | | |
+--------+--------+--------+--------+--------+--------+
9 | M9302 terminator| <<<<<<<<<< M7856 DL11 >>>>>>>>>>> |
+--------+--------+--------+--------+--------+--------+
Terminator packs are removed, and GRANT lines jumpers and "SACK-turnaround" are out.
Messy real world setup
In my 11/34, I use "Setup #3, MUD". It looks like:
Due to clarity, the passthrough-cables from KY11-LB M7859 controller to M93X2 are not shown here.
Controlling the 11/34
After cabling, the GUI can be started on the host. Here is a possible MS-Windows commandline script:
set EXE=gui\release\gui.exe
set RESOURCEDIR=resources\
set COMPORT=COM9
%EXE% -t pdp1134phys --serial %COMPORT% --resourcedir %RESOURCEDIR% --symbolfile pdp11_hardware.sym
µTracer11 operation in parallel with KY11-LB is a bit tricky, as the KY11-LB firmware is not expecting somebody else is starting and stopping the CPU micro machine.
1. don't use KY11-LB "Maintenance Mode" (entered with Keypad keys [CNTRL]+[1]) when GUI is started.
Micro- Singlestepping only possible vie GUI OR KY11-LB, not in a mix!
2. Macro CPU HALT, CONTINUE
M93X2 is plugged into a standard UNIBUS slot, so it can not control the CPU HALT lines on itself. You have to use the KY11-LB
In a typical debug situatuation, you have a test program, which stops on a HALT opcode before the point yo want to debug.
You then stop the micro machine inGUI.
On single stepping, you see the micro machine executing the HALT loop: micro program pointer is in 000-015-000-015-.. sequence.
To proceed with with code after the HALT opocde, you' normally press [CNTRL]-[CONT],
However, due to KYLB operating under unplanned conditions (micro machine halted, but KYLB expect it running), we can not normally recover from HALT
when micro stepping is active.. We see a CNTRL-CONT pushing someting weird into the Macro PC ...
boot switch ?
-------------------
RUnning the 11/34
Remove the Macro HALT conditons: Let the uMAchine running again (GUI: MAN CLK ENAB), and press CNTRL-CONT
Due to KYLB operating under unplanned conditions (miro machine halted, but KYLB expect it running), we can not normally recover from HALT
when micro stepping is active.. We see a CNTRL-CONT pushing someting weird into the Macro PC ...
1$: tstb @#177560
bpl 1$
STehres the 11734 CPU,as you knwo it .. the "Macro" CPU"
It is impelnetned via a "micro machine"
Keep in mind, the "Micro machine" is running even if the Macro CPU is halted.
What is the mciro machine doing for a HALTED 11/34?
Power On the 11/34, it should boot into the M9312 BOOT ROM console emulator.
Check than you can see th3 "q prompt in your console temrinal ... this menas 11/34 is lsitening to the DL11 UART at 177560 and processing charcters
Start GUI, you see lots of UNIBSU accesses
HALt the MAcro CPU with CNTRL-HLT/SS on the KYLB panel
GUI: "MAN CLK ENAB" ... now mciro machoen stoppend and can besingel stepped
GUI: multiple MAN CLK -> mpc cycles 015, 000, 0015, 000 ... the uMachine loop for HALTED MAcro CPU
Also the UNIBUS DATA lines shown an upcounting pattern, and SACk and BBSY are active.
Tahts iactivity of the KYLB console processor,
--------
Show ing powe-upo diagnotic micro code
MAN CLK ENAB, uMachine stopped
"Pwoer Cycle"
MAN CLK -> uPC executes power up diagnsotics
START/STOP 11/34 only via KY11 panel.
When attaching GUI and 11734 halted:
HALT 11/34, start GUI: