• Please review our updated Terms and Rules here

PDP 11/45, Part 5

Hi Marty,

There seems to be a lot to take on board here...

T5 - if it is missing that is not good news!

There is a very good write-up of the TIG in KB11-A_Maint.pdf Page 204 of 214 Section 7.8.8 Fig 7-16. This diagram shows the phase relationships of the clocks to one another (simplified) and the text goes in to more detail.

To my knowledge - T1 through T5 should be there all the time - but there may be exceptions to that rule depending on the type of memory you have fitted???

The information regarding R139 is interesting. Was it a broken resistor or did it look good - but was open circuit?

There should be no difference with the TIG running with the XTAL oscillator or the R/C oscillator - other than the frequency of course. The two oscillators 'come together' at E32 pin 8 (74S64) and that is before the ring counter and logic that forms the timing generator. There is a possibility (with the R/C oscillator being a lower frequency) of a leaky capacitor, low gain transistor etc. affecting things. There seems to be a lot of discrete logic on this card - so I would look at that rather then the digital logic if you get discrepancies when you switch from the XTAL to the R/C oscillator.

The LOAD ADDRESS microcode goes from 170/167 -> 270 -> 230 -> 170 [REPEAT] so both 270 followed by 230 on a LOAD ADDRESS should occur.

EPROMS will work down to DC levels - so you can run an EPROM at any speed.

Did you 'bottom' the EXAMINE issue that was repeatable when the machine got warm/hot - or are you still working on that? I am note sure (from reading your posts) whether something you have done in the meantime has fixed that issue. If not, we still need to 'nail it down' (or is this what has lead you to the TIG?).

If you suspect a 'memory' problem - an 'out of the box thought' is to remove all the memory from the machine, set the switches up for a BRANCH instruction back to the same address and 'execute' the switch register...The switch register 'lives' at 777570. This is not a very 'interesting' program - but it will 'prove' a lot about the microcode and the CPU architecture (especially if you have your KM11 card up and running).

There are a number of issues for ROM. You have already identified EPROM devices and diode matrices. You could use diodes and DIP switches as well (so you can change the simple program on the fly). I used a 10x10 matrix plug-board many years ago. You could get shorting plugs and diode plugs. I used the shorting plug variant to make up things like RS232 testers and the diode plugs to make up ROM. Not sure I have seen any of these for many years though (they were used a lot in analogue synthesisers if I remember correctly)... I will have a hunt on the internet.

Remind me - does your BOOTSTRAP card work reliably with the console emulator in ROM? If so - do you have any spare sockets for ROM on this card? If you do - could you add some test program(s) to that?

If you did want to add a ROM card - are you thinking UNIBUS, MUD, FASTBUS or SPC? I could have a look at what you would have to wire up if I knew what your thoughts were. I am thinking of prettying up some SPC cards in the future for my own use - so quite happy to look at the SPC protocol.

Dave
 
Last edited:
Hi All;

Dave, Thank You for Your Questions and FeedBack..

First, while in the Tub, a few minutes ago, after working alot of the Morning on the Non-Working Timing Card (M8109).. I figure about what Is wrong with that Card..
One or Maybe a few Transistors in the Buffer or Level Conversion Sections is Bad, and so almost No signal getting through..
At, least I know where to look..

I Found a Transistor which was broken on one lead.. Bending it slightly back exposed the Bare lead.. Replacement time !!

Replaced the Transistor and that Fixed it, and I have T5 working on this Board in Both modes.. So, I now have One most likely Working Timing Board..
It still won't Run the Chase program.. But, I am pretty sure that I can't blame the problem on the Timing Board.. (Hopefully)..

""T5 - if it is missing that is not good news! "" I know.. I hope to get the other Timing Board going and then do a compare between the two boards..

""There is a very good write-up of the TIG in KB11-A_Maint.pdf Page 204 of 214 Section 7.8.8 Fig 7-16. This diagram shows the phase relationships of the clocks to one another (simplified) and the text goes in to more detail.""
That was my going to Bed Reading the last few nights..

""To my knowledge - T1 through T5 should be there all the time - but there may be exceptions to that rule depending on the type of memory you have fitted??? ""
"" T1 through T5 should be there all the time "" my thought exactly !!!!!!!!

"" The information regarding R139 is interesting. Was it a broken resistor or did it look good - but was open circuit? ""
Actually it was my Mistake, but it looked like just an open Resistor..

"" There should be no difference with the TIG running with the XTAL oscillator or the R/C oscillator - other than the frequency of course. The two oscillators 'come together' at E32 pin 8 (74S64) and that is before the ring counter and logic that forms the timing generator. There is a possibility (with the R/C oscillator being a lower frequency) of a leaky capacitor, low gain transistor etc. affecting things. There seems to be a lot of discrete logic on this card - so I would look at that rather then the digital logic if you get discrepancies when you switch from the XTAL to the R/C oscillator. ""

The Transistors are in mainly three Sections, Buffers and Level conversions and lastly Rest of the machine Timing Drivers..
So, I think it mostly is/would be in the IC Sections, which as I said above, I am going to get the other one working (Hopefully) first, and then come back to this one.. Also, the R/C could oscillate from about 6 MHZ to about 36 MHZ..

""The LOAD ADDRESS microcode goes from 170/167 -> 270 -> 230 -> 170 [REPEAT] so both 270 followed by 230 on a LOAD ADDRESS should occur. ""

OK..

"" EPROMS will work down to DC levels - so you can run an EPROM at any speed. Good, that will Simplify things..

"" Did you 'bottom' the EXAMINE issue that was repeatable when the machine got warm/hot - or are you still working on that? I am note sure (from reading your posts) whether something you have done in the meantime has fixed that issue. If not, we still need to 'nail it down' (or is this what has lead you to the TIG?). ""
For Now it sort of Disappeared, But this is/was what Led me to the TIG..
I Put the origional Boards back in, and Now it Does that same thing, So, one or more of the Boards are Bad..
I need to replace them one at a time and only one each at a time, and see if I can find the Bad Board(s)..
The three Boards that I traded out were M8101 GRA, M8102 IR, and M8203 RAC..

"" If you suspect a 'memory' problem - an 'out of the box thought' is to remove all the memory from the machine, set the switches up for a BRANCH instruction back to the same address and 'execute' the switch register...The switch register 'lives' at 777570. This is not a very 'interesting' program - but it will 'prove' a lot about the microcode and the CPU architecture (especially if you have your KM11 card up and running). ""
Actually, I don't suspect the Memory itself, As I can Deposit and Examine memory, even after days of being turned off..
But, I cannot use the Core at frequencies below about 10 or 11 MHZ, it won't Read the core any longer..
Which is why I wanted something that I could go all the way down to 1HZ if needed..

"" There are a number of issues for ROM. You have already identified EPROM devices and diode matrices. You could use diodes and DIP switches as well (so you can change the simple program on the fly). I used a 10x10 matrix plug-board many years ago. You could get shorting plugs and diode plugs. I used the shorting plug variant to make up things like RS232 testers and the diode plugs to make up ROM. Not sure I have seen any of these for many years though (they were used a lot in analogue synthesisers if I remember correctly)... I will have a hunt on the internet. ""
Eproms or Flip Flops would be fine as I have plenty of each, But my Douglas Boards Only take 14 or 16 pin IC's..

""Remind me - does your BOOTSTRAP card work reliably with the console emulator in ROM? If so - do you have any spare sockets for ROM on this card? If you do - could you add some test program(s) to that? ""
It used to Work, But, remember Someone told me to Take it out along with my Serial Cards..
So it is only CPU, Memory and Front Panel..

"" If you do - could you add some test program(s) to that? "" I don't have alot of Proms..

"" If you did want to add a ROM card - are you thinking UNIBUS, MUD, FASTBUS or SPC? I could have a look at what you would have to wire up if I knew what your thoughts were. I am thinking of prettying up some SPC cards in the future for my own use - so quite happy to look at the SPC protocol. ""
This Would be MUD UniBus, that would fit in Place of where my Core Memory lives at the present time..

THANK YOU Marty
 
Last edited:
I can only find one source of those little plug matrix panels in the entire world (GHIELMETTI) - but you definitely won't like their prices...

If you want to make a ROM card - I would suggest basing it on the MR11-DB (M792) diode matrix cards. You can simplify the design somewhat using more modern components.

For example (for a ROM module):

Ignore address line A00 (this is only used for byte transfers and the UNIBUS always reads WORDS).

You will need some inverter logic in each address line (A01..A17) as the UNIBUS is active low. Wire inverted A01 through Axx directly to the address lines of your EPROM.

Wire the higher-numbered address lines to decode for the location of the ROM board. You will also need to include MSYN and C1 in your address decoding (you can ignore C0 if you are reading only).

MSYN being active (voltage level = 0V on the UNIBUS) means that the address and control (Axx and Cx) are valid and you can decode them. C1 being active (voltage level = 0V on UNIBUS) means that the UNIBUS MASTER (the CPU) is reading from the SLAVE (your EPROM card). I would like to bet that I have the voltage sense of C1 the wrong way round - so bear that in mind. I will have a check later myself. It says '0' in the table for a DATI or a DATIP transfer - which I would like to bet means inactive and therefore the voltage on the UNIBUS = +Ve voltage. So I probably do have it the wrong way around!

When MSYN, C1 and the address bus are all indicating that your ROM card is addressed - you can drive the UNIBUS DATA BUS from your EPROMS plus pull the SSYN line low to indicate to the CPU that the data from your card is now valid. You may have to drive the PA and PB lines (though buffers) to indicate there is no parity problem. You want PA=PB=0 (so I bet this means UNIBUS 'high' voltage levels).

All the signals FROM your EPROM card need to be buffered correctly (16*data lines, SSYN and - potentially - the parity lines PA and PB).

Hope this quick intro helps?

Dave
 
Hi All;

Thank You, Dave, for Your help and suggestions..

"' If you want to make a ROM card - I would suggest basing it on the MR11-DB (M792) diode matrix cards. You can simplify the design somewhat using more modern components. ""

I will look into it as soon as I can, this week..

THANK YOU Marty
 
Or the ROM part of an M9312.

One have to keep in mind that there are a number of caveats with M9312:

1. Four bits are read out at a time in four times in a row combining them into a 16 bit word.
2. There are five ROMs. One is the console emu ROM which is 1024x4 (256x16) and then four different boot PROMs (256x4).
3. Location 173024 is special in that it is wire ored with the contents of some swtches.
4. To facilitate the above one has inverted a number of bits in the PROM.

M9301 is a little bit simpler as it is reading the PROMs in 16 bits parallell and not 4 four bits at a time and that there are only four PROMS (512x4) giving the whole space, not five.

You need a program go get the bits right... Eric Smith has made a program for M9312 PROMs. I haven't tested it though.

I think the M9301 would be easier to work with. A small adapter on top of the four PROM sockets connected to an EEPROM.
 
Hi All;

Mattislind, Thank You for the ideas and suggestions..

I am mainly looking for information about being able to connect to the Unibus and be able to read like from address '000000.. Nothing fancy..
But, I think these Ideas are good, I just need to study then a bit.. To see what is applicable..

THANK YOU Marty
 
Hi All;

OK, I got it back to where I had it before..
Switching out the M8103 for the M8123, means that I don't have a problem when it warms up.. And Address and Data are not getting mixed up..
But it still stops at T1 on the Timing Board, So, something is causing this to happen, at Present, I have No idea of where the Culprit is lurking..

THANK YOU Marty
 
Great.

Let's assume the two 'events' are unrelated to each other at this point in time.

If the 'original problem' has gone (it works now when it is both cold and hot) then the problem is almost certainly the M8103 (microcode board). I would suggest looking around E102 - as this latch is the only point that the clock signals for the two registers that are getting screwed up simultaneously come together.

When you say 'it stops at T1 on the timing board' - what have you done just prior to it stopping and what are you looking at to deduce it is T1 it is stopping at?

There is some useful material to read in http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/1145/EK-11045-MM-007.pdf on page 6-20 onwards.

Also, don't forget that the clock 'phases' overlap (see http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/1145/KB11-A_Maint.pdf page 7-68) so T1 is already active when T2 just becomes active. Is this what you are seeing I wonder?

Dave
 
Last edited:
Hi All;

Dave, Thank You for Your Input..
I was just going to write up, what I think might be a wrong assumption on my part..

"" When you say 'it stops at T1 on the timing board' - what have you done just prior to it stopping and what are you looking at to deduce it is T1 it is stopping at? ""
What is On when I 'do' a Start, is it goes from T1 thru T5 Blinking, to Only T2 being on,
So instead of T1 being the Stopping place, I am thinking that it might be T3 Stop is actually the Culprit, I am looking at it on my scope.. So, I am going to look at E11 and E12..
I will look at Your link in a minute.. Thank You..
WOW, I have had this Link to the whole document before, and I have Not really Looked at it Before, So, SEEING Information about Using the Maintenance Card, Is Really Great..

Before, I had to Re-Wire the S1 thru S3 Circuitry, I said at that time, that I would later look at S4, I think that time has arrived, just to make sure that this is Not the problem..

"" If the 'original problem' has gone (it works now when it is both cold and hot) then the problem is almost certainly the M8103 (microcode board). I would suggest looking around E102 - as this latch is the only point that the clock signals for the two registers that are getting screwed up simultaneously come together. ""
I will have a look at this later, Since I want it to be a Fixed Spare..

THANK YOU Marty
 
Last edited:
I am not wholly convinced that an M8123 (from an 11/70) will run 'correctly' in place of an M8103 (from an 11/45). The microcode is different - for a start the M8123 appears to have 68 bits whereas the M8103 has 64 bits. Some of the decoding ROMS are external to the microcode board - so unless DEC have designed the cards to be upwardly compatible you may be chasing your tail...

I will have a more in-depth check when I get home and can find the maintenance prints for the 11/70 - but I thought I would just raise some doubt in the meantime.

Dave
 
Hi All;

Dave, Thank You for Your answer..
From What little that I checked before, the Proms that I checked were the same, and I will check the 64 versus the 68 bit, as Yes that would make a difference..
"" Some of the decoding ROMS are external to the microcode board - so unless DEC have designed the cards to be upwardly compatible you may be chasing your tail... ""
I have been there before.. Thanks for the Warning..

OK, S4 is wired Correctly, so that been checked..

I checked the Extra bits and it looks like they are OK..

THANK YOU Marty
 
Last edited:
Yes - that is the only document I have ever seen describing the maintenance card in any detail...

There are extra microcode bits - but they seem to be associated with the FPU - so probably OK - although I can't find the engineering drawings for the 11/70 (and hence the microcode listing) to see if they are the same. I notice that the 11/70 doesn't have the front-panel switches for register examine and deposit - so I wonder what they did with those microcodes? It may be that you can use the M8123 in place of the M8103 (but not the other way around) - i.e. they are upwardly compatible - but that is an assumption at this point in time... Just bear it in mind in case we come across other 'weirdoes' in the future.

So - when you say it stopped in the T1 clock phase - is this with some maintenance panel switches active, or does it stop in T1 when it should run continuously?

If you don't use the maintenance card - does the CPU run the basic 'console' microcode loop correctly? And is it depositing and examining correctly (both memory and registers)?

Dave
 
Hi All;

Dave, Thank You for Your INPUT, Haven't we been here before..

"" Yes - that is the only document I have ever seen describing the maintenance card in any detail...
Good to KNOW..

"" There are extra microcode bits - but they seem to be associated with the FPU - so probably OK - although I can't find the engineering drawings for the 11/70 (and hence the microcode listing) to see if they are the same. ""

Look in bitsavers under 11/70 Document ## http://bitsavers.trailing-edge.com/pdf/dec/pdp11/1170/MP0KB11-C0_1170engDrw_Nov75.pdf

Page #77 and following..

"" I notice that the 11/70 doesn't have the front-panel switches for register examine and deposit - so I wonder what they did with those microcodes? It may be that you can use the M8123 in place of the M8103 (but not the other way around)""
That Sounds most likely !!
"" - i.e. they are upwardly compatible - but that is an assumption at this point in time... Just bear it in mind in case we come across other 'weirdoes' in the future. ""
Will do..

"" So - when you say it stopped in the T1 clock phase - is this with some maintenance panel switches active, or does it stop in T1 when it should run continuously? ""

So, Remember I said it might not be T1, but it could be T3, anyway..
"" is this with some maintenance panel switches active, or does it stop in T1 when it should run continuously? ""
Yes, with the Maintenance card active and
Yes, it stops when it should Continue..

If you don't use the maintenance card - does the CPU run the basic 'console' microcode loop correctly? And is it depositing and examining correctly (both memory and registers)? ""
This answer is with the Maintenance card in.. And with out the maintenance card in, it stops working after I press Start, so I assume it's the same thing, going into a T state..
Yes, and No, Yes it runs the Console Loop, and Yes it Deposits and Examines..
But, NO, when I Press 'Start' it Immediate halts with T2 Lit.. Only, a Restart will put things back to normal..

THANK YOU Marty
 
Last edited:
Excellent - I have just downloaded the 11/70 engineering drawings - although it may be tomorrow now by the time I get to have a more closer look.

EDIT1: There are differences that I have seen (for example FET.07 - microcode word 237 - seems to be different between the 11/70 and 11/45). the CCL bits have got a '3' set on the 11/70 but a '0' on the 11/45. This coding is defined as 'LOAD FROM FPP IF ENABLED'. For some reason FET.07 seems to be missing from the 11/70 flow code for the FETCH instruction (but this may be down to a typographical error in the documentation).

EDIT2: Microcode word 133 is completely different (FOP.10). This is also in the area of the floating point processor.

I wonder if there is just an incompatibility between the two machines in the area of the FPU - but there is some physical wiring that would be necessary to get the 11/45 to work with the 11/70 microcode ROM card?

When the CPU stops (after you have hit START) what is the value of the microcode address when you select that from the front panel display)? It gives me something more definitive to have a look at.

Cheers,

Dave
 
Last edited:
Hi All;

Dave, Thank You for Your Analysis..

"' When the CPU stops (after you have hit START) what is the value of the microcode address when you select that from the front panel display)? It gives me something more definitive to have a look at. ""

The MicroCode Address is '260..

OK, It looks Like I/we will need to make an attempt at fixing the M8103 Board..
I am about to take out E102, and Replace it..

Well it's better and then not better..
At first it looked like it was working better and even running a program correctly..
But, after a slight warm up, it goes back to it's former way of doing things.. Mixing up Address and Data..
Only 116 more Ic's to go..

On another thought, I guess it could be one of the Proms that is No good, I am not sure at this point, Of just How to check that out..
Just an Idea..

THANK YOU Marty
 
Last edited:
Hi All;
At first it looked like it was working better and even running a program correctly..
But, after a slight warm up, it goes back to it's former way of doing things.. Mixing up Address and Data..
Only 116 more Ic's to go..
THANK YOU Marty

Have you tried freeze spray ro nail down what chip / what area is the problem?

I had a problem that only occurred when cold. When warm it started to work just fine. I used freeze spray and was able to identify that either of two chips were bad. It turned out that when I desoldered a 74194 one leg of the chip just fell off. It was probably making better contact when it was getting warmer.
 
Hi All;

Mattislind, Thank You for Your suggestion..

Yes, I had, I have just been putting it off, hoping that there would be another method, or idea..

I don't have any at the present, but I do have some 'air duster'.. I don't know if it will do the job or not..

I will be out most of the Day, so I won't be getting much done today..

I tried the Duster, It looks like it's E106 Prom, I will pull it out and try one from the other Board, and see..

Well, I got back a little earlier than I thought that I would.. And I pulled out E106 and socketed it..
The Good news is that it runs awhile longer than before, before it fails..
The Bad news is that it still fails, and I also pulled the Same word Prom from the M8123 and it does not seem to work, but
since at first the machine was having the same kind of trouble with it's origional Prom, I will try it again, before saying for sure that it won't work.. It showed no Examine, but it would Deposit.. It will not work in the M8103, No Examine..

So, just in case, I need another Prom, Does anyone have any Proms for sale 256X4, 82S129BA or Equivalent..
Or a reliable place I can get them..

THANK YOU Marty
 
Last edited:
I was hoping to send you a post before you started to replace E106.

I had a look at what the E106 microcode ROM 'drives' (in terms of signals) and they appear to have nothing to do with the loading of the registers we were looking at. I was, therefore, going to suggest that this ROM was either a second fault - or there is something else going on round the ROM that could account for the problem (e.g. a broken copper PCB trace associated with the clock signals for the SR and/or DR registers passing close to E106).

The problem (as I see it at the moment) is that we have no evidence so far of what the fault actually is. We (well I) have made an assumption that the SR register (which holds the address for the EXAMINE) is being corrupted by something during execution of the EXAMINE microcode. Back in post #106 I identified which pin the clock was for the SR register. My assumption is that if you monitor the clock pin of the SR register (with, say, an oscilloscope) you should see a pulse when you operate the LOAD ADDRESS key (as we are specifying the address) but NOT when you operate the EXAMINE key. So, pressing LOAD ADDRESS should give us a pulse on SR and then operating EXAMINE should not give us a pulse. You MUST operate LOAD ADDRESS (get a pulse) followed by EXAMINE (not get a pulse) in that order (otherwise the second - and subsequent) EXAMINE will increment the address register (SR) and that is not what we want it to do.

LOAD ADDRESS = pulse on SR register. EXAMINE = no pulse on SR register. Keep repeating this sequence.

When your machine warms up - we (well you) *** SHOULD *** (if my assumption is correct) see a pulse appearing on the SR clock. This will be the good news - because we now have seen some behavior which is incorrect. You can then trace backwards from the SR clock pin back to the microcode ROM (through the latch that you have said you have replaced). We don't need to 'test' the ROM itself - we are looking for the presence of a pulse on the associated output pin when the problem starts.

Now - having tracked down something that is in error - the next question is "is this a cause or an effect" (i.e. is it the microcode data path - from the ROM forwards to the SR register that is going faulty) or is this as a result of some other failure further back (e.g. a faulty address to the ROM)?

This is why we need to single-step the microcode to see that the correct microcode words are being addressed when you hit EXAMINE. If not - the problem is further back.

If you remember back to the '8' we broke the debugging down into quite small chunks - with zero assumptions. We managed this because the chips were socketed and you had no problem pulling one out and replacing it with a little test board - or re-wrapping the wiring for a test. We don't have that luxury with the 11/45 so we have to try and 'break the loop' somehow. This is the purpose of the maintenance card (we can single step the microcode - clock edge by clock edge if necessary) to deduce where the error actually is.

There is also some useful information I put in post #93 regarding the ROMs responsible for the clocking of the DR and SR registers.

Of course - all this may be incorrect (it is purely conjecture until backed up by evidence)...

Sorry to go on a bit - but I thought we were getting somewhere - then we got diverted to getting a working maintenance card (quite rightly) and we have not gone back to where we were originally.

Incidentally - the address for the EXAMINE need not be in RAM/CORE memory. It could be a processor register within the I/O space (e.g. the Processor status word at virtual address 177776 physical address 777776). This should avoid the need for depositing data into memory and any problem associated with slowing down the clock with your CORE. Performing a HARD reset (HALT and START simultaneously from the console) should load a fixed default value into the PSW. I can't quite remember what the value should be though at the moment. I will go and hunt it out... EDIT: OCTAL(000340). Perform a HARD RESET; set the LOAD ADDRESS to 177776; EXAMINE - should give you 000340. LOAD ADDRESS and then EXAMINE should give you the same result (when cold and working). I am assuming the address and data will go 'berserk' when the machine warms up... As the virtual address of the PSW (177776) is loaded into the switch register - you should still be able to perform the LOAD ADDRESS followed by EXAMINE 'ritual' repeatedly whilst 'scoping around with a probe on the SR register clock back to the microcode ROM pin (which I think is E113 pin 11).

Dave
 
Last edited:
Back
Top