PDP-11/04 & 11/34 - Testing the M7847 Memory Boards - Page 1
Forum section: electronics / general

author: intabits
author_rank: Frequent Contributor
timestamp: April 24, 2020, 10:29:42 am
content: I've made a lot (too many?) of videos about my PDP11/04 and 11/34 computers, but have not yet got past messing with the power supplies and the console interface.So it's high time to start moving towards running systems by getting more parts of them running. The next logical step is the memory system, and for these computers, that's three M7847 16KW boards. (2 from the 11/04, 1 from the 11/34)One of the boards:-My initial testing shows that one board looks to be operational, one definitely not, and one (literally) half working. The failed one may be as simple as dodgy address selection DIP switches. The half working unit appears to have a stuck bit in the upper 8KW. And as per usual, I manage to get myself confused, so even for the "operational" board, I need to do some further research and testing.To help with the testing, I used what I call the "interceptor" module that allows a PC to drive the PDP console. Although working reasonably well, this is still under development, and that may have contributed some ambiguity to the results. But it certainly holds promise as a tool for future automated testing and operation of these computers.The available engineering drawings are poor quality, such that part numbers are not discernible in the layout drawings, and not much better in the schematics. Together with the lack of part identification on the board itself, this will make working on these boards difficult.Video of my blundering about:-

author: MK14
author_rank: Super Contributor
timestamp: April 24, 2020, 02:33:35 pm
content: It seems to currently say:"Video UnavailableThis Video is private."

author: intabits
author_rank: Frequent Contributor
timestamp: April 24, 2020, 02:46:14 pm
content: Oops, thanks for letting me know.I thought I changed it to public, but seems it didn't take!

author: radiogeek381
author_rank: Regular Contributor
timestamp: April 24, 2020, 04:02:45 pm
content: Not sure how helpful this is, but...As a Digital engineer, I was *encouraged* to keep designs to the qualified parts list. Adding a part to the list involved lots of effort, from finding second sources (required) to wrangling the component test group to develop incoming test protocols. Specifications were the easy part. This was all done to avoid problems the company had (and almost all companies had) with parts going out of production, primary sources going under, supply difficulties, and quality control.So, if you see a 16 pin memory part on some module that is the same size as the 16 pin part on another module, it is a fair bet that they are the same part, provided they're from the same "time" plus or minus. Similarly for other logic parts.As for the drawings, were they done by hand? Is the name in the signature box "S. Foonly"? Can you read the "drawn by" or "des. by" signature?Just curious.

author: radiogeek381
author_rank: Regular Contributor
timestamp: April 24, 2020, 05:02:43 pm
content: The video was great. It took me back -- I wrote a *lot* of PDP-11 code when Moses was a little boy.You could test the memory with a program loaded into the first few bytes of RAM. "Toggling it in" might be a bit tedious, but not beyond what folks used to do back then.Not having assembled it, or even tried it -- this is what a test program using the "checkerboard" pattern would look like: (no warranty implied). When you stop the program, R5 will contain a count of errors that you found. You could change the ERR code to just branch to ERR, and then the faulty address will be in R2Code:START:MOV#0xAAAA, R0; we'll use a checkerboardSTTST:;; load a pointers to the start of the test regionMOV#ENDLP, R1MOVR1, R2CLRR5; the error countMOVR0, R3; get the patternWLP:MOVR3, @(R1)+; write the pattern, bump the addressCOMR3; complement the patternTSTR1BNEWLP; branch until wrap around to zero;; when we get here, we've filled memory;; the pattern is in R3, because we've made sure;; this chunk of code is an even number of words long;; R2 is already pointing to the start of the test area;; We'll reload R3 just in case ENDLP isn't evenMOVR0, R3; the patternRLP:MOV@(R2)+, R6; readCMPR6, R3; compareBNEERR; bump the error counter if we need toCONT:COMR3; flip the patternTSTR2; are we at the end?BNERLP; loop until we point to zero;; when we get here, we've read and written all memory.;; now flip the checkerboard pattern and do it againCOMR0BRSTTST; do it all over againERR:INCR5; bump the error countBRCONTENDLP:; start of memory regionNow cue folks who will run and debug the code

author: intabits
author_rank: Frequent Contributor
timestamp: April 24, 2020, 09:42:56 pm
content: Someone commented in the video about even byte addresses (for words) being used on the console. Not having much experience with these machines I was not conscious of that (though it does ring a bell), so my test of the board with a starting address other than 00000, was incorrect, resulting in some confusion.The second board in the PDP11/04 follows contiguously after the first 16KW board, and I was sending the start address of 16384 (for words), but it should have been 32768 (for bytes). That would be 100000 octal, which is what was working in the earlier section when it was being tested manually.Quote from: radiogeek381 on April 24, 2020, 04:02:45 pmI went down into the catacombs and found some engineering print sets that includes two originals of the MS11 schematics, where all the part designations and location diagrams are quite readable (but small). There is much mention in them of variations beyond the "-JP" suffix to "MS11". These are two letter codes such as "BB", "EH", "YA", etc. - about 40 of them, that I don't understand, and can't see where they are defined. But one small table does indicate that some of these are for memory chips, and lists some of those codes along with manufacturers such as Mostek, Intel, and Fujitsu.Having these quality drawings will be invaluable for any future repair work, which would be impossible with what's currently available online.When restrictions allow, I'll scan one of the MS11 print sets and send it to BitSavers.QuoteI think all the DEC drawings from this era are hand-drawn. I can't see that name, but the "Made by" box contains the name "D. HEALY"Quote from: radiogeek381 on April 24, 2020, 05:02:43 pmThanks! Glad you enjoyed.I've done a lot of program toggling also, just not on these machines. (my first computer was an EDUC-8)When I get a CPU operational, I'll give your test routine a whirl. But I'll be using my "interceptor" to load it in, rather than manual entry.QuoteThanks for providing that.I hope someone does assemble and run it. (and then provides the object listing for others to enter)

author: intabits
author_rank: Frequent Contributor
timestamp: May 06, 2020, 11:14:30 am
content: Continuing with the testing of M7847 16KW memory boards for my PDP-11s, there's been a number of developments:-- Firmware code for simulating console key-presses, is now more tightly synchronized to themultiplex scanning of the keypad and display, allowing a significantly faster keystroke rate.- This may have contributed to the lower occurrence of "Bus Errors".- More M7847 memory boards found in the dungeon,- Plus terminator cards, and other useful stuff.- Good quality print sets for the M7847 engineering drawings(The only ones available online were too poor quality to be of much use)- A proper scripting language has been developed for driving the PDP-11 console under control of a PC.- I now have 5 (maybe 6) M7847 boards that pass the basic test.Video of these activities:-For those that may be interested, here is the script used for the memory testing:-https://pastebin.com/NgMuD4DG