• Please review our updated Terms and Rules here

Running RT11 on 11/03 with Emulex UC07 and SCSI2SD

RichCini

Veteran Member
Joined
Aug 7, 2005
Messages
547
Location
Long Island, NY
All --

I thought I'd start a new thread about the UC07 and SCSI2SD to separate it from the RX01 thread which had some of this info in it.

Today I had some time today to install the UC07 I bought on eBay into my Heathkit H11 (LSI-11 with 28kw of RAM and two SLUs) and to build an RT11 v5.7 RD54 disk using SIMH 4.0. I mostly used this thread as a guide (http://www.vcfed.org/forum/showthre...or-installing-RT11-on-a-SCSI2SD-card-PDP11-83).

The UC07 came configured pretty generically. Per the manual, address 17772150 which is 172150 in 16-bit parlance, and BR4. The board has a few jumpers that I can't find definitions for (M-N-P, J-K-L, T-U), but that match pictures I've seen. The board is installed in slot 6 (next free slot).

I configured the SCSI2SD as a single RD54 at LUN0 and wrote the image I created to the card. Then I connected it to the UC07 just so there was a powered SCSI device on the bus.

Not expecting much at first, I thought I'd try to communicate with the FRD on the UC07, but I'm not getting any response. The CPU is halted. I used the following code from the above thread (also on page 5-4 of the manual) to try to access the diagnostics (adjusting the addresses), but the FRD doesn't come up:

@172150/000000 1
@172152/005400 30003
@/000400 42000
@172152/002000
@200g

The board was removed from working equipment, so let's assume for now it works. I'd like to check the following with the group to see if I've gone wrong anywhere:

* is the code above the right way to access the FRD on a 16-bit LSI-11 machine? Is this even compatible with an 11/03 (LSI-11)?
* is slot 6 an acceptable slot position or should I move it further up the chain? In slot order, the boards in the machine are RAM-CPU-RAM-SLU-SLU-UC07-XX-XX (XX=empty). The first four boards are the way the unit was delivered and I have run RT-11 using the TU58 emulator.
* anything else I missed?

Again, any clues would be greatly appreciated. Thanks!
 
Have you tried to boot from the disk?

I have never needed to setup anything in the FRD menu. Although with some card I was able to enter the menu and do some stuff. Right now I don't remember the steps. But I never changed anything.

In this article I have a bootstrap that I have tried for various systems that don't have a DU bootstrap already in ROM.
 
Pure speculation on my part but I would think the bios on an 03 or 23 is way different then the bios on a 83, then the whole mess of if your SCSI card is set up for 18 or 22 bit operation may be an issue. If I were smarter I am sure I would know this but can you run versions of RT-11 beyond 4.0 on an 11-03 or 23?
 
RT-11 v5.3 runs fine on a 11/03. Not the XM monitor of course.

A KDF11-A or any 11/03 CPU doesn't have much of PROM. Unless you put some new ROMs on a BDV11 there is nothing else than toggle in the bootstrap.

The boards I have seen there were a 7438 that should be installed for 22 bit operation and removed for 18 bit backplanes. As far as I understand it just drives the BDAL18-BDAL21 lines. Som 18 bit cards uses these signals for something completely different things.
 
Do make sure to un-HALT the CPU before you execute the GO command, it'll stop immediately if the HALT switch is active.

As mentioned, check the UC07 manual as to whether you need to adjust anything for smaller systems addressing. IIRC the manual says it's for all LSI-11 CPUs which would include the 11/2 found in the PDP-11/03 and such (WD16 chipset). I would assume that means the firmware will work with it as well.

Slot 6 should be fine as long as that's the very next slot in the bus grant chain, and you have no open slots in between. MSCP controllers in particular can be far away on the bus grant/interrupt priority chain as they have large buffers. Things like the SLUs need to be closest to the CPU since they have very little buffer.
 
A couple of thoughts, with the caveat that I never had an H11 or tried my UC07 with a LSI 11 (KD11-F) or 11/02 (KD11-HA).

1) The FRD bootstrap is correct
2) I believe that the UC07 uses DMA to download the normal or FRD bootstrap code into memory at loc 200.
3) In most of the LSI 11 or 11/02 documentation I reviewed (and my own ancient history), has the CPU in the first slot, then the memory next for the DMA request and grant to work. So unless you have H11 documentation that says otherwise, consider trying that order, followed by the UC07 in the third position.
4) Olde ads for the H11 mention that the backplane is compatible with DEC LSI-11 accessories.
 
Thanks all. I always wondered about the order that the cards were installed in the machine when I got it, so I will rearrange them and give that a try. The UC07 manual didn't mention any hardware mods required for an 18-bit bus, but I will re-read it just in case I missed something.

To answer a post further up, I have gotten both RT-11 v53 SJ and FB monitors to run without any problems using the TU58 emulator.
 
The UC07 manual didn't mention any hardware mods required for an 18-bit bus, but I will re-read it just in case I missed something.

FWIW, My UC07 plugged into my PDP-11/23 with an 18 bit bus and worked straight off. I had my own problems understanding how to use the on-board setup commands, but I got it to go with some study. My first shot at getting something onto my SCSI disk was by booting up off of a TU-58 emulator on serial port 0, and copying things over to the UC07 disk drive.

My backplane is Q-bus straight down the left hand side. I have the processor on top, memory next down, UC07 after that, and down the bottom is the boot/diagnostics board. YMMV.

smp
 
FWIW, My UC07 plugged into my PDP-11/23 with an 18 bit bus and worked straight off. I had my own problems understanding how to use the on-board setup commands, but I got it to go with some study. My first shot at getting something onto my SCSI disk was by booting up off of a TU-58 emulator on serial port 0, and copying things over to the UC07 disk drive.

My backplane is Q-bus straight down the left hand side. I have the processor on top, memory next down, UC07 after that, and down the bottom is the boot/diagnostics board. YMMV.

smp

Thanks! What's the module number for your boot/diagnostics board?
 
Thanks! What's the module number for your boot/diagnostics board?

Hi again, rich,

I have a BA11-N chassis with H9273 4x9 Q18/CD backplane:

- M8186 11/23 KDF11-A CPU
- Qty 2, M8044-DB MSV11 32 KW RAM
- Qty 2, M7940 DLV11 SLU
- Emulex UC07
- empty
- empty
- M8012-YA BDV11 bootstrap, termination, ROM

smp
 
3) In most of the LSI 11 or 11/02 documentation I reviewed (and my own ancient history), has the CPU in the first slot, then the memory next for the DMA request and grant to work. So unless you have H11 documentation that says otherwise, consider trying that order, followed by the UC07 in the third position.

That's how all of my QBus machines are set up. I've never tried putting the memory anywhere other than immediately after the CPU, no idea what that would cause, though ODT would probably continue working as it doesn't use interrupts or DMA.

Thanks! What's the module number for your boot/diagnostics board?

Once you get the UC07 configured, you can enable its autoboot and use that without needing a ROM set that support MSCP. I don't know that there's a DEC MSCP compatible ROM that supports the LSI-11/2 CPU -- the KDF11-B ROMs definitely don't.
 
Booting a TU58 and copying the files to SCSI disks is very time consuming.
Disk images of operating systems can be transferred to the SD card using, e.g,
the win32diskimager https://sourceforge.net/projects/win32diskimager/ on windows or the dd http://linux.die.net/man/1/dd program on Linux. Transferring of the first partition is completely unproblematic.
I use two Dilog SCSI controllers with SCSI2SD and I transferred RT11 images to SD cards with win32diskimager within seconds.

Bela
 
Following up on this, I rearranged all of the cards in the cage to be CPU-RAM-RAM-SLU-SLU-UC07. I also made sure that jumpers W5 and W6 were removed (W5 was still in - sets bootstrap address to 173000) on the CPU card. LED3 on the UC07 is on which means the card is idle and waiting for a command, but I did a hardware self-test and it passed. CPU is halted. SCSI2SD is on.

Even after this, I still get no response from the card. When I go "200G" it just returns to the ODT prompt. So, I'm wondering if it's really not compatible with the 11/03 or if there's something else wrong -- the manual only mentions the 11/73, 11/23, 11/23+ and 11/02 processors.

If it's not, then I have a UC07 and SCSI2SD for sale :)
 
Have you checked what kind of instructions there are at 200? The controller is supposed to DMA stuff into memory.

I cannot see why it would not be compatible with the LSI-11/03 (KD11-x / M7264) but still be compatible with the LSI-11/2 (KD11-HA / M7270). AFAIK there is no such thing as 11/02 which is mentioned in the manual. Probably a typo.

Exactly what M7264 board du you have? With 4kWord memory or not? Which revision?
 
The memory boards are Heath-labeled 32kw with the top 4kw disabled.

I loaded the ROM per the instructions and dumped the first 076 bytes starting at 200, as follows. Not sure how to check this against the embedded ROM but since location 206 refers to the board address I feel that something loaded.

000200: mov #000340,@#177776 [012737 000340 177776]
000202: swab -(r0) [000340]
000204: ldcfd @012705(sp),f3 [177776 012705]
000206: mov #172150,r5 [012705 172150]
000210: addf @-(r0),f1 [172150]
000212: clr 000000(r5) [005065 000000]
000214: halt [000000]
000216: bit #004000,000002(r5) [032765 004000 000002]
000220: jsr r0,r0 [004000]
000222: rti [000002]
000224: beq 000216 [001774]
000226: mov #030003,000002(r5) [012765 030003 000002]
000230: bit r0,r3 [030003]
000232: rti [000002]
000234: cmp #000400,000002(r5) [022765 000400 000002]
000236: br 000240 [000400]
000240: rti [000002]
000242: bne 000234 [001374]
000244: mov #043000,000002(r5) [012765 043000 000002]
000246: bic @(r0)+,r0 [043000]
000250: rti [000002]
000252: cmp #002000,000002(r5) [022765 002000 000002]
000254: bge 000256 [002000]
000256: rti [000002]
000260: bne 000252 [001374]
000262: mov #002000,000002(r5) [012765 002000 000002]
000264: bge 000266 [002000]
000266: rti [000002]
000270: tstb @#177560 [105737 177560]
000272: ldcfd 100040(r0),f1 [177560 100040]
000274: bpl 000376 [100040]
000276: movb @#177562,r0 [113700 177562]
 
With the G143R version of the UC07 firmware the PDP-11 host resident part of the FRD code is contained within bytes 0xE5F2 though 0xE6A5 of the 64KB firmware image, which is DMA copied into locations 200o though 463o into the PDP-11 host memory.

Code:
sim> e 200-463
200:    012737
202:    000340
204:    177776
206:    012705
210:    172150
212:    005065
214:    000000
216:    032765
220:    004000
222:    000002
224:    001774
226:    012765
230:    030003
232:    000002
234:    022765
236:    000400
240:    000002
242:    001374
244:    012765
246:    043000
250:    000002
252:    022765
254:    002000
256:    000002
260:    001374
262:    012765
264:    002000
266:    000002
270:    105737
272:    177560
274:    100040
276:    113700
300:    177562
302:    120027
304:    000023
306:    001011
310:    105737
312:    177560
314:    100375
316:    113700
320:    177562
322:    120027
324:    000021
326:    001370
330:    000422
332:    052700
334:    001000
336:    010065
340:    000002
342:    016500
344:    000002
346:    032700
350:    001000
352:    001773
354:    042700
356:    001000
360:    010065
362:    000002
364:    016500
366:    000002
370:    032700
372:    001000
374:    001373
376:    016500
400:    000002
402:    032700
404:    000400
406:    001730
410:    010065
412:    000002
414:    016501
416:    000002
420:    032701
422:    000400
424:    001373
426:    042701
430:    000400
432:    010165
434:    000002
436:    105700
440:    001713
442:    105737
444:    177564
446:    100375
450:    110037
452:    177566
454:    105737
456:    177564
460:    100375
462:    000702

Code:
sim> e -m 200-463
200:    MOV #340,@#177776
206:    MOV #172150,R5
212:    CLR 0(R5)
216:    BIT #4000,2(R5)
224:    BEQ 216
226:    MOV #30003,2(R5)
234:    CMP #400,2(R5)
242:    BNE 234
244:    MOV #43000,2(R5)
252:    CMP #2000,2(R5)
260:    BNE 252
262:    MOV #2000,2(R5)
270:    TSTB @#177560
274:    BPL 376
276:    MOVB @#177562,R0
302:    CMPB R0,#23
306:    BNE 332
310:    TSTB @#177560
314:    BPL 310
316:    MOVB @#177562,R0
322:    CMPB R0,#21
326:    BNE 310
330:    BR 376
332:    BIS #1000,R0
336:    MOV R0,2(R5)
342:    MOV 2(R5),R0
346:    BIT #1000,R0
352:    BEQ 342
354:    BIC #1000,R0
360:    MOV R0,2(R5)
364:    MOV 2(R5),R0
370:    BIT #1000,R0
374:    BNE 364
376:    MOV 2(R5),R0
402:    BIT #400,R0
406:    BEQ 270
410:    MOV R0,2(R5)
414:    MOV 2(R5),R1
420:    BIT #400,R1
424:    BNE 414
426:    BIC #400,R1
432:    MOV R1,2(R5)
436:    TSTB R0
440:    BEQ 270
442:    TSTB @#177564
446:    BPL 442
450:    MOVB R0,@#177566
454:    TSTB @#177564
460:    BPL 454
462:    BR 270
 
CPU is halted.

When I go "200G" it just returns to the ODT prompt.

Not sure if this was already asked and answered - when you say the CPU is halted and you are at the ODT prompt, is the front panel switch in the Run or Halt position before you issue the "200G"?
 
Don't give up yet. We still have plenty of advise to give. Qbus backplanes come in a variety of types from "Confusing" to "Dangerous". Fortunately, you are in the former side of the spectrum. Apologies in advance if you know or have done any of this.

1) The H11 supports DMA (see http://messui.the-chronicles.org/comp/heathkit.pdf)

2) The Qbus you have most likely uses serpentine bus ordering. We've already given you the logical ordering of the cards.

1.4.2.1 Serpentine configuration

The early 4x4 LSI11 backplanes had a "serpentine" slot configuration, the cards must be ordered by this chain (and remember: no empty slots!).


--------------Qbus ----- ---Qbus-----
ROW 1 #--- | A | B | --> | C | D | -.
-------- -------- -------- -------- |
-------- -------- -------- -------- |
ROW 2 .--- | A | B | <-- | C | D | <'
| -------- -------- -------- --------
| -------- -------- -------- --------
ROW 3 `--> | A | B | --> | C | D | .
-------- -------- -------- -------- |
|
etc... <-​
Taken from http://decvax.50megs.com/doc/qbus/tutorial.html

Make sure the cards are following this physical order:
Quad Width Processor
Memory #1 | Memory #2
UC-07 Card | Serial #1
Serial #2


3) It possible that the serial cards are not passing the dma grant signal. Move the UC07 to sit logically right after memory (as above).
 
Last edited:
** I was running out the door when I originally wrote this. What follows is a edit after proper reflection.

The LSI 11/03 M7264 does not have a PSW at 177776. So the effect of the first instruction would be to trap to 4 for an timeout on bus address on most LSI's, but the LSI11 (11/03) does not implement this. So it halts.

Try 206G or just a P and see how far it goes. If the code continues to try to manipulate the PSW directly, that would be a problem. PSW stands for Processor Status Word. The bootstrap that is getting loaded (it appears so anyway) first tries to inhibit all interrupts. Reasonable thing to do, but the instructions necessary to achieve this is not universal. MTPS and MFPS are used on LSI 11/2 11/03 and later Qbus processors.

Looks like the bootstrap for the FRD isn't compatible with the LSI 11/03. That doesn't mean you won't be able to get a bootable RT11 OS setup on this configuration.
The UC07 manual has jumpers for the 11/2 (11/02), so it definitely works with this CPU. I would not give up. I have an M7264 somewhere in the pile that I could be convinced to find and pull out and check out.
 
Last edited:
Hello again,

I am certain that all the advice you are getting is valid for an LSI-11 system. I have a PDP-11/23 that the good folks here helped me to get up and running with my Emulex UC07 some time ago, and I do not do anything with memory location 200 at all.

In the Emulex UC07 manual, section 5 has instructions for setting up the on-board NOVRAM for whatever SCSI disk you have attached. Section 5.4.2 Starting F.R.D. on an LSI-11 System - here are the ODT commands to get into the on-board code to do the setup.

In the Emulex manual, section 7.5 has the ODT commands for doing the bootstrap from your SCSI disk. This is the bootstrap that I use to boot RT-11SJ from my SCSI disk.

This is what has worked for me. Hopefully it can work for you, too, once you have your boards installed properly in your backplane.

Good luck.

smp
 
Last edited:
Back
Top