• Please review our updated Terms and Rules here

PDP 11/45, Part 4

Hi All;

Dave, I am very sure that the Memories in pictures 39 and 45 etc, are UniBus Memories, and from Looking at picture 76 (last picture) of the main chassis.. I can't tell for sure (unless You can get a Number off of it), but it just might be a UniBus chassis (I can't tell from the picture how many slots it has , my guess is somewhere between 6 and 9..

THANK YOU Marty
 
Hi All;

I have run, DCQKC-E, And it Traps to 4..

On the Terminal Screen it shows..
DCQKC-E 11/40 & 11/45 INST EXER
OPT.CP= 044406

TRAPPED TO 4

(On the 11/45 Front Panel it showed)..
Address '003306
Data '013400
After Pressing CONT it showed on the Terminal Screen..
PASS #0000 VPC=177777 PSW=004316
(and on the 11/45 Front Panel it showed)..
Address '003600
Data '013400 ..

I am not sure where for sure to look in the Listing, can anyone Help me, pointing in the right direction.. Indicating what part of the program Failed, and If that has Anything to do with where it failed on Dave's Program..

THANK YOU Marty
 
Firstly you are running the diagnostic with SW15 set ON - please turn it OFF. Your console terminal seems to work (unlike Bill's initially) as we get the sign on message, so let the diagnostic tell us in plain English what is going on without halting itself. I think the fact that you have hit CONTinue means that it went on to tell us - but all the same, let it do it of its own accord.

The OPT.CP number (044406) tells me:

It's running on a PDP 11/45!!!
You don't have the memory management option fitted.
You don't have the floating point processor option fitted.
You don't have any KW11 cards fitted.
You have the EIS and KJ options fitted (they are part of the 11/45 hardware by default I think).
You have a console serial port fitted (we know that anyhow as it printed the message out!)

If the above is correct - re-run the diagnostic and tell me what you get.

Dave
 
Hi All;

Dave, I'm warming everything up.. Once I get all Loaded, I'LL be back..
Do I need to change Memory Locations 1002 as Bill Stated ??
On the Earlier Run, I did it wrong, based on my Mis-reading of a way earlier Posting by Bill..

OK, I Re-Ran it and the only difference is that it keeps on Repeating the same Error..
This was with making the change at '1002..

OK, I Re-Loaded it and Re-Ran it, and I made NO change to Address 1002 , and the only difference is that it keeps on Repeating the same Error.. So, changing Location 1002 seems to make No difference in my Case..

004.jpg

THANK YOU Marty
 
Last edited:
My gut feeling would be no.

I think they were/are there for clunky old teletypes like the ASR33 that required time for the carriage to return etc. I think the 'pokes' were to slow things down a bit whilst printing (but that is a bit of a guess though).

Dave
 
Hi All;

I have seven Tests to Run, They are all Memory Tests, but that should include a Fair amount of different Instructions..
So far I have run the following --

DZMMK - Up - Down Address Test,
DZMMD - Basic Memory Pattern Test,
DZMME - Memory Moving One's and Zero's Test,
DZMMF - Ones Suspect Test,

I don't have the rest at Present, I seem to have lost them, I Found them and much more from the site where I have been Downloading files from, as well as continuing to run Logic Tests..
DZMMG - Worst Case Noise,
DZMMH - Core Heat Test - This test is for Core, yet since it is in MOS it Runs faster and Yet it is still slow going.. 1st pass complete..
Once it makes it thru one Pass, I can be fairly certain that at least 24K of my Memory is probably Good..
Then I can change it by putting in the Memory Map Option, and see if it will work with that..
DZMMI - Random Data Tests

I am working my way thru the list of Tests that I have, that seem to work on the 11/45..

I have also, just Found either most or all of the CKxx Test's and have DownLoaded then, later I will Copy them to my other PC that is used for the 11/45..
Thank You bill for the Link, and Thank You for Who-Ever Downloaded these or Extracted these files from Something else..

THANK YOU Marty
 
Last edited:
TRAP 4 is the 'catchall' for any error not identified elsewhere!

This includes:

1) Odd address errors (accessing a word at an odd address).

2) Fatal stack violations (i.e. Bill's problem).

3) Timeout whilst accessing a resource (e.g. memory or I/O not present).

4) Parity error.

[You can read about these on page 229 of http://bitsavers.trailing-edge.com/pdf/dec/pdp11/handbooks/PDP1145_Handbook_1973.pdf].

My guess (with VPC being set to 177777) is that this is an ODD ADDRESS TRAP (i.e. the processor tried to execute an instruction at an ODD address in the PC - which is illegal - hence the trap). It is also strange that the PC is way up at the very top of the 18-bit memory space.

My gut feeling about what caused the error could be associated with the register values I saw when you ran my noddy IOT test program in that the processor has executed an instruction which caused it to 'disappear off to somewhere random in the memory' for some reason.

Let me have a think during the day - although my first thought would be to re-run my IOT test program and see why that didn't work as we expected. The smaller the test program - the better the chance of seeing what is going on.

The 'loop' probably just means that whatever caused the initial error keeps re-occurring. The TRAP 4 trap handler will probably report the error and try and recover the situation - but it can't; and you get another TRAP 4 - repeat infinitum. YES - I have just checked. With SW15 OFF (don't halt on error) we get the English printout and then it 'returns' from where it came from (i.e. the address that caused the TRAP in the first place). Again - you can't execute instructions at an odd address - so you get another TRAP 4 - repeat infinitum. So, running with SW15 ON - should give you a HALT initially when the TRAP 4 occurs. Pressing CONT should give us the English message arising from the TRAP - and then your 11/45 should HALT again at the end of the error reporting routine (according to the listing which is not quite in step with the code - but will probably be good enough for a first 'stab' at the problem). This is what I think you stated happened in post #202 above. The manual for the diagnostic (not the version that goes with this revision of the diagnostic but the last revision) states that after reporting the TRAP the diagnostic restarts itself. To get the same error repeated indicates that it is a consistent error (rather than random).

If you can remember which site you got your diagnostics from - I would be interested in the link (or a copy of them) for my own use.

Dave
 
Last edited:
Hi All;

Dave, Thank You for the Synopsis of the problem..

Here is the Particular Link --
http://www.retrocmp.com/images/stories/joerg/pdp11_diagnostic_database/////modules/CQKC.html

and here is the General Link --
http://www.retrocmp.com/images/stories/joerg/pdp11_diagnostic_database////modules.html

Under CQKC the one I think I used was cqkce0_11-45.bin ..

We can try one of the other two that are Listed, if they would be closer to either of the PDF's..

But, what bothers me is what I ran had a 'D' in front of it, I think they are the same but maybe not..
I will copy and run all three and report what I find back to You..

OK, it's the same program, just with a D in front of it, I will try the other two versions and report back..

I am running DMMZH Core Heating Test, between running different versions of CQKC, so to Destroy an remnants of the previous program..

OK, Loaded the next one, it's basically the same..
CQKCG1.BIC

DCQKC-G 11/40 & 11/45 INST EXER
OPT.CP=044406

OPT.DEV.=000001

TRAPPED TO 4
PASS #0000 VPC=177777 PSW=014042

With DCQKG2 it's different..

DCQKCG2 11/40 & 11/45 INST EXER
OPT.CP=044406
OPT.DEV.=000001
TRAPPED TO 4
PASS #0000
(After CONT)
PASS #0000 VPC=003476 PSW=000350

This is more Encouraging !!
I am going to put in the Memory Management and see if there is any Difference in all three Programs..
With Memory Management I cannot get any of the Serial Cards to go to Console mode, Two of the Cards Show Address Error Lite, but one Does not, it's an M9312 , BRD #1..
I am Addressing at 765020.. And it shows Data there.. And Not like Memory which shows either all One's or all Zero's, until I write to it..

Has Anyone Set up a serial Card for Memory management Addressing ?? I don't think it's any different..

HELP !!!!!!!!!!!!

THANK YOU Marty
 
Last edited:
Hi All;

Changing the computer back to non- Memory Management mode..
And starting at Address 165020 I have the following Data --
5003,
5203,
5103,
6203,
6303,
6003,
5703
5403,
5303
And this is as far as I have Recorded..
With Memory Management I get the following -- (at 765020)

I FOUND a Problem.. Bits 8 and 9 are Stuck High !!!!
OK, I have Something to work with..

THANK YOU Marty
 
Last edited:
Just to remind you - if you don't have the memory management card(s) installed - you have to have an M8116 in slot 14. This would be replaced by the M8107 when the MMU is installed.

There is no difference in the configuration of the I/O cards with and without the MMU. This is transparent and the 'Harry Potter' magic is done by the MMU.

With no MMU - the I/O space occupies the top of a 16-bit address space.

With MMU - the I/O space occupies the top of an 18-bit address space. The mapping is done so that the lower areas are mapped such that the virtual address space == physical address space. The exception is where the I/O page would be for a 16-bit (none MMU machine) where the mapping is initialised such that what would be the 16-bit I/O space in virtual memory is mapped to the I/O space in physical memory.

Dave
 
Hi All;

Dave, Thanks for the Reminders..

"" Just to remind you - if you don't have the memory management card(s) installed - you have to have an M8116 in slot 14. This would be replaced by the M8107 when the MMU is installed. ""

You may not know, but, way back when, I Wire-Wrapped my own SJB Card (8116)..
Which is what I have been using when not trying to Make the Memory Management Board(s) work ..

"" This is transparent and the 'Harry Potter' magic is done by the MMU. ""
If You think He could Help, Send Him Over..

Anyway, what is Your Synopsis, of the Situation..
We at least have some better Results with CQKCG2, than with the other Two..
I Can Re-Run it and Report what the Front Panel shows, If that Would be of any Help as to where to Look for what is Causing the Problem..
OR, You could make ANY Suggestions as for what I can do Next..

THANK YOU Marty
 
Marty - before you run the program do you set memory address 1002 = 011000 (i.e. put 011 in 1003, 000 in 1002). In my version 1003 defaults to 001. If you have a serial terminal you need to change to 011 to see the output to a serial terminal.

Bill
 
Marty,

I can't tell anything from the .BIC version that you ran - we don't have a disassembly of it and would have to do that before the error made any sense.

I have a disassembly of the .BIN version that Bill did - so that should be the diagnostic of choice to run. This produced a 'silly' VPC - so I can't tell anything from it at all (it screwed up...).

Can you go back to running my 'noddy' IOT test program - as that produced some strange results. If we can't get that to run as expected - then that is the thing to use to find the problem.

Dave
 
Hi All;

Jack, Thanks for the Input, But as Dave said Earlier, it Didn't seem Necessary, and As I showed in a Previous post, I ran it Both with the Modification and with out the Modification, and it made NO difference..
Jack, can You Please Tell me How to do the Disassembly is it with PDPGUI or Something else.. So, that I can Disassemble the G2 file for Dave, for His Look see..

Dave, "" I have a disassembly of the .BIN version that Bill did - so that should be the diagnostic of choice to run. This produced a 'silly' VPC - so I can't tell anything from it at all (it screwed up.. ""
I re-ran it earlier this morning, and it did the same thing, as well as the G1 version..
Hopefully, we can Disassemble the G2 Version and compare it to what Bill has run and has Disassembled..

"" Can you go back to running my 'noddy' IOT test program - as that produced some strange results. If we can't get that to run as expected - then that is the thing to use to find the problem. ""

Yes, as soon as I find it again, I can try it again for You..

THANK YOU Marty
 
Post #191 if you can't find it in your notebook.

Since I was using RSX11M+ and EDT a few hours ago to modify some software for work:-

S/Jack/Bill/

Dave
 
Hi All;

Dave, Thanks, I could find it in my NoteBook, I just wanted to make sure, I had copied it correctly..

Jack, If You can't tell me How to disassemble the files, Could You do G1 and G2, and Post there here ??

Maybe if we put all three types all next to each other, we can find out where the difference is between G2 and the others..

Hi, Dave, I tried Your Program, it stopped at '250 ??

001.jpg


Jack, I found the PDPGUI Disassembly, I am going to give it a whirl..
No, good as I can see, it downloads all of it, but it won't show all of it, nor save it to a file..

THANK YOU Marty
 
Last edited:
Hi All;

Dave, that is what I used, only it would read in the whole file, but, it wouldn't Display all of the selected address range..
Only a part of it, and I didn't see a way to save the Resultant disassembly to a file that I could then send to You..
I don't know if there are the BIN or BIC files that we need, but there are plenty of ones to try by DEC and see if any of them can show something..

I have a Question, on PDPGUI is there a way to make the Buzzer Sound on the PC Computer, when in the Program it is sending a Signal to Ring the Teletype Bell ??

On Some of the Test Programs from DEC, that is the only way it Tells me that it has made a Complete Pass..

THANK YOU Marty
 
Last edited:
Marty,

Running more complex diagnostic programs doesn't necessarily help. As we found from the PDP-8 work - the smallest programs are the best until you have given the machine as good a checkout as you can. Then you can move on to the manufacturer's diagnostics themselves.

I would suggest loading and running the following program:

Memory location - Value

20 - 220 ; IOT trap vector (PC).
22 - 340 ; IOT trap vector (PSW).

176 - 0 ; HALT
200 - 012706 ; MOV #600,SP
202 - 600
204 - 240 ; NOP
206 - 240 ; NOP
210 - 4 ; IOT
212 - 240 ; NOP
214 - 0 ; HALT
216 - 0 ; HALT
220 - 0 ; HALT
222 - 0 ; HALT
224 - 0 ; HALT
226 - 0 ; HALT

START the program from address 176.

The program should HALT after executing the HALT instruction at 176 with the PC=200.

SINGLE STEP the program and note down the PC values (until they go outside of the program addresses defined above) and report the values. Let's see if we can see where your 11/45 goes wrong.

I notice that the VPC (when it went wrong with the DEC instruction exerciser) was 17777777 (which is a 22-bit address). Is your machine an 18-bit machine or has it been upgraded to 22-bits? Where did you get the design from for your home-built 'MMU-substitute' card?

Dave
 
Last edited:
Hi All;

Dave, Thank You for the update Program..

"" I notice that the VPC (when it went wrong with the DEC instruction exerciser) was 17777777 (which is a 22-bit address). ""
Are You sure, I will have to go look at that my self ??

"" Is your machine an 18-bit machine or has it been upgraded to 22-bits? ""
It's an 18 bit machine, as far as I know there is no larger than 18 bit 11/45's..
An 11/70 has the larger Address space, but it's Data Path's are is the same card as mine, and so are some of the other cards in the 11/70, I have Investigated this looking for spare cards for my machine..
I have all or almost all of the Cards for an 11/70..

"" Where did you get the design from for your home-built 'MMU-substitute' card? ""
In the Pack of Schematics that came with my machine is the Schematic for the SJB Board, and I basically Copied it.. Since I did not have that Board, nor have I seen one in the Wild..

I will copy the Program into my NoteBook and give it a whirl and let You know the Results..

One Question, I am leaving the other parts of Memory as they are from Power up,
But, I can run something else like address test OR possibly fill the whole memory with '000000's and see If that makes any difference in the Results..
Could You possibly write a program that fills all of Memory with '000000's ??
But, for this first Test, I will leave Everything as I find it..

"" Running more complex diagnostic programs doesn't necessarily help. As we found from the PDP-8 work - the smallest programs are the best until you have given the machine as good a checkout as you can. Then you can move on to the manufacturer's diagnostics themselves. ""

Most of these are specific type of Diagnostic programs, they are the D0xx programs, such as it checks Branching, and another one checks jumps another adding and so forth.. I thought these would help Pinpoint some or any more problems that this machine might have..

THANK YOU Marty
 
Last edited:
Back
Top