Re: PDP-11/70 progress (and a cry for help)
On 02/21/2021 03:33 AM, Josh Dersch via cctalk wrote: "0" here selects DR (Destination Register) input to the mux and is incorrect; it should be 1 (PCB). During a single-instruction-step run, this value reads out OK on the analyzer. I noted a few other discrepancies in the capture (all of which match the ucode listing during a single-instruction step) which makes me think that the high outputs of the PROM are right on the bleeding-edge of acceptable TTL. I checked out the signal on the scope while running a BR .-1 instruction (which also doesn't execute correctly but at least doesn't halt... I don't have a storage scope to capture this during a single instruction execution) and it looks like the voltage swing is from about 0.15V to 1.7V or so. 1.6 to 1.7 V is the normal internal pull-up of a TTL gate input. It sounds like that is what you are seeing. The PROM can pull low when needed, but has no pull-up working anymore. On the off chance it was the 74S174 at E97 pulling the signals down, I socketed it and substituted a spare '174 in; no change. I also noted that the +5V at this chip was about 4.95V, I goosed it up to 5.10V to see if it made a difference (it did not.) So it seems likely it's the PROM. Looks like I may have some typing to do, though given that the ROM works well enough at slow speeds I might be able to dump it with my Data I/O Model 29 and compare it against the listings in the engineering drawings, to save some time... I'll try to dump the PROM tomorrow and see what I get. - Josh A status update here: I've dumped the bad PROM at U101 (and it read out fine on my Data I/O 29, comparing it with the listing in the engineering drawings). A local friend had a spare 11/70 boardset, so while I wait for some (hopefully) NOS bipolar PROMs to arrive, I've installed a spare RAC board. With this installed, instructions execute much better, and after tracing down a faulty Unibus terminator, I got it to run the bootstrap PROM on the M9301! I used my Unibone to boot XXDP+ from an emulated RL02 pack and over the past week I've been running diagnostics and debugging the hardware. Thus far: - Unibus Map registers non-functional: addresses decode but writes have no effect and all reads come back as "0". Replaced bad 8640 bus receiver on the Unibus Map board. - EMKA memory diagnostic hangs the processor in t5 of uAddr 343 (IRD.00), in PAUSE. Traced it down to the HC42 (replaces the original Cache Control Board) board of the Hypercache boardset, lacking any engineering info I swapped this for a spare that I'm fortunate enough to have. The system is now passing all but two diagnostics: - EMKA reports strange errors in banks 50-57 of memory and only with pattern 17; all other banks test fine: MEMORY DATA ERROR PCBANK VADD PADD GOOD BAD XOR MAR BOX MTYPE INT PAT ARRAY 032334 50 157564 05077564 000377 000377 00 0 ? MJ11 ? 17 ?? 032334 50 156450 05076450 000377 000377 00 0 ? MJ11 ? 17 ?? 032334 50 155330 05075330 000377 000377 00 0 ? MJ11 ? 17 ?? When a memory test reports an error, but the good and bad values are equal, I might suspect bad memory where the program is running from or a CPU error. 032334 50 154210 05074210 000377 000377 00 0 ? MJ11 ? 17 ?? 032342 50 154020 05074020 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153740 05073740 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153734 05073734 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153732 05073732 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153730 05073730 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153726 05073726 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153724 05073724 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153722 05073722 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153720 05073720 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153716 05073716 000377 177400 17 0 ? MJ11 ? 17 ?? And, these look like a byte enable bit might not be getting through and data from the previous test pattern remains in one byte. Jon
Re: PDP-11/70 progress (and a cry for help)
On Wed, Feb 17, 2021 at 12:45 AM Josh Dersch wrote: > > > I hooked the LA up to the two PROM bits that select the AMX input (RACC > UAMX00 H and RACC UAMX01 H), on the ROM & Address Control board. These > come from the PROM at U101 and go through a 74S174 at E97 before heading > over to the DAP board. And during FET.00 we have: > > Addr PCB PCA AMX > 260 44 44 0 > > "0" here selects DR (Destination Register) input to the mux and is > incorrect; it should be 1 (PCB). During a single-instruction-step run, > this value reads out OK on the analyzer. I noted a few other discrepancies > in the capture (all of which match the ucode listing during a > single-instruction step) which makes me think that the high outputs of the > PROM are right on the bleeding-edge of acceptable TTL. I checked out the > signal on the scope while running a BR .-1 instruction (which also doesn't > execute correctly but at least doesn't halt... I don't have a storage scope > to capture this during a single instruction execution) and it looks like > the voltage swing is from about 0.15V to 1.7V or so. > > On the off chance it was the 74S174 at E97 pulling the signals down, I > socketed it and substituted a spare '174 in; no change. I also noted that > the +5V at this chip was about 4.95V, I goosed it up to 5.10V to see if it > made a difference (it did not.) > > So it seems likely it's the PROM. Looks like I may have some typing to > do, though given that the ROM works well enough at slow speeds I might be > able to dump it with my Data I/O Model 29 and compare it against the > listings in the engineering drawings, to save some time... > > I'll try to dump the PROM tomorrow and see what I get. > > - Josh > A status update here: I've dumped the bad PROM at U101 (and it read out fine on my Data I/O 29, comparing it with the listing in the engineering drawings). A local friend had a spare 11/70 boardset, so while I wait for some (hopefully) NOS bipolar PROMs to arrive, I've installed a spare RAC board. With this installed, instructions execute much better, and after tracing down a faulty Unibus terminator, I got it to run the bootstrap PROM on the M9301! I used my Unibone to boot XXDP+ from an emulated RL02 pack and over the past week I've been running diagnostics and debugging the hardware. Thus far: - Unibus Map registers non-functional: addresses decode but writes have no effect and all reads come back as "0". Replaced bad 8640 bus receiver on the Unibus Map board. - EMKA memory diagnostic hangs the processor in t5 of uAddr 343 (IRD.00), in PAUSE. Traced it down to the HC42 (replaces the original Cache Control Board) board of the Hypercache boardset, lacking any engineering info I swapped this for a spare that I'm fortunate enough to have. The system is now passing all but two diagnostics: - EMKA reports strange errors in banks 50-57 of memory and only with pattern 17; all other banks test fine: MEMORY DATA ERROR PCBANK VADD PADD GOOD BAD XOR MAR BOX MTYPE INT PAT ARRAY 032334 50 157564 05077564 000377 000377 00 0 ? MJ11 ? 17 ?? 032334 50 156450 05076450 000377 000377 00 0 ? MJ11 ? 17 ?? 032334 50 155330 05075330 000377 000377 00 0 ? MJ11 ? 17 ?? 032334 50 154210 05074210 000377 000377 00 0 ? MJ11 ? 17 ?? 032342 50 154020 05074020 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153740 05073740 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153734 05073734 000377 17 177400 0 ? MJ11 ? 17 ?? 032342 50 153732 05073732 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153730 05073730 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153726 05073726 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153724 05073724 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153722 05073722 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153720 05073720 000377 177400 17 0 ? MJ11 ? 17 ?? 032342 50 153716 05073716 000377 177400 17 0 ? MJ11 ? 17 ?? Occasionally testing banks 50-57 will die with a trap to 4 instead. Pattern 17 tests using alternating patterns of "0" and "1" bytes, using byte accesses to memory, I'm curious why only this pattern would fail. Accesses to this area of memory from the console work fine - EKBD fails with: ADDRESS MULTIPLEXER, AMX, CPU INPUTS TEST FAILED. ERROR ADDRESS REGISTER NOT SET CORRECTLY. TEST. CALL AT PC. EXPECTED ADRS. GOT ADRS. ERROR REG. 5 752406000576144406 (Note the similar address range to the EMKA failures). I've verified that AMX, etc. are not to blame here. I suspect this issue is related to the memory issue above. I've looked at the MMU hardware to see if address generation is breaking for some reason at these addresses and it seems to be OK. I'm going to keep pokin
Re: PDP-11/70 progress (and a cry for help)
On 02/17/2021 02:45 AM, Josh Dersch via cctalk wrote: "0" here selects DR (Destination Register) input to the mux and is incorrect; it should be 1 (PCB). During a single-instruction-step run, this value reads out OK on the analyzer. I noted a few other discrepancies in the capture (all of which match the ucode listing during a single-instruction step) which makes me think that the high outputs of the PROM are right on the bleeding-edge of acceptable TTL. I checked out the signal on the scope while running a BR .-1 instruction (which also doesn't execute correctly but at least doesn't halt... I don't have a storage scope to capture this during a single instruction execution) and it looks like the voltage swing is from about 0.15V to 1.7V or so. Well, that sounds like the pull-up transistor on the PROM has gone open or extremely weak. You might try a resistor to +5V and see if that makes it work. It would explain the error only happening at full speed. Jon
Re: PDP-11/70 progress (and a cry for help)
On Tue, Feb 16, 2021 at 5:08 PM Fritz Mueller via cctalk < cctalk@classiccmp.org> wrote: > > On Tue, Feb 16, 2021 at 2:36 AM Fritz Mueller via cctalk < > cctalk@classiccmp.org> wrote: > > So you could set up on t4 or t5 of that microinstruction with the KM11... > > > On Feb 16, 2021, at 11:08 AM, Josh Dersch wrote: > > I can't, though -- all of this stuff works fine when running slowly :) > > Oh right -- I keep forgetting that part! So that really does leave you > with just the LA to catch things in the act I guess. > > > Right now I'm thinking it is most likely the AMX selecting the wrong > input (I'm guessing that BMX is correctly selecting KOMX, to get the > constant "2" for the add operation). > > I agree; seems a good place to look next. > I hooked the LA up to the two PROM bits that select the AMX input (RACC UAMX00 H and RACC UAMX01 H), on the ROM & Address Control board. These come from the PROM at U101 and go through a 74S174 at E97 before heading over to the DAP board. And during FET.00 we have: Addr PCB PCA AMX 260 44 44 0 "0" here selects DR (Destination Register) input to the mux and is incorrect; it should be 1 (PCB). During a single-instruction-step run, this value reads out OK on the analyzer. I noted a few other discrepancies in the capture (all of which match the ucode listing during a single-instruction step) which makes me think that the high outputs of the PROM are right on the bleeding-edge of acceptable TTL. I checked out the signal on the scope while running a BR .-1 instruction (which also doesn't execute correctly but at least doesn't halt... I don't have a storage scope to capture this during a single instruction execution) and it looks like the voltage swing is from about 0.15V to 1.7V or so. On the off chance it was the 74S174 at E97 pulling the signals down, I socketed it and substituted a spare '174 in; no change. I also noted that the +5V at this chip was about 4.95V, I goosed it up to 5.10V to see if it made a difference (it did not.) So it seems likely it's the PROM. Looks like I may have some typing to do, though given that the ROM works well enough at slow speeds I might be able to dump it with my Data I/O Model 29 and compare it against the listings in the engineering drawings, to save some time... I'll try to dump the PROM tomorrow and see what I get. - Josh
Re: PDP-11/70 progress (and a cry for help)
> On Tue, Feb 16, 2021 at 2:36 AM Fritz Mueller via cctalk > wrote: > So you could set up on t4 or t5 of that microinstruction with the KM11... > On Feb 16, 2021, at 11:08 AM, Josh Dersch wrote: > I can't, though -- all of this stuff works fine when running slowly :) Oh right -- I keep forgetting that part! So that really does leave you with just the LA to catch things in the act I guess. > Right now I'm thinking it is most likely the AMX selecting the wrong input > (I'm guessing that BMX is correctly selecting KOMX, to get the constant "2" > for the add operation). I agree; seems a good place to look next. > Have the 11/70 microcode PROMs been dumped? I had to recreate the 11/05 PROM > from the listings in the engineering drawings... I am not sure? For the 11/45, I also keyed it in by hand from the engineering drawings, but since it is only a 32x8 bit ROM this was pretty easy. --FritzM.
Re: PDP-11/70 progress (and a cry for help)
On Tue, Feb 16, 2021 at 2:36 AM Fritz Mueller via cctalk < cctalk@classiccmp.org> wrote: > > > > On Feb 16, 2021, at 1:13 AM, Josh Dersch wrote: > > My money's on t5 going wrong -- an ALU input mux or operation being > selected incorrectly, possibly. This also somewhat explains why execution > doesn't trap due to executing a HALT from an odd address -- it isn't > actually executing from the wrong address, because the bus address is > loaded from a still-good PCB in t1. > > Yes -- that seems to match the observations. So you could set up on t4 or > t5 of that microinstruction with the KM11 in single-clock-phase mode, and > then have at the ALU with a logic probe to check... > I can't, though -- all of this stuff works fine when running slowly :). It's possible that while running in single-clock mode I might be able to see a waveform that's slightly off on the 'scope, if I can pinpoint the failure. Right now I'm thinking it is most likely the AMX selecting the wrong input (I'm guessing that BMX is correctly selecting KOMX, to get the constant "2" for the add operation). > > There is a small ALU control ROM on the GRA (E74 in the upper left of > sheet GRAA), which selects the ALU mode and operation based on lines coming > over from the IRC. I had a failure of this part on my 11/45, and ended up > with incorrect ALU setup in some circumstances. That part is a 256-bit > DM8598 tri-state bipolar mask ROM, and the truth table is on sheet GRAK. > > Looking back at my notes, I think it was Glen who informed me (on this > list, in 2016!) that the Signetics 82S123 PROM could be substituted here. > Programmed one up, and it worked, in case you run into the same thing and > it is useful info. > I think I may have ended up doing a similar substitution with a microcode ROM on my 11/05. Have the 11/70 microcode PROMs been dumped? I had to recreate the 11/05 PROM from the listings in the engineering drawings... - Josh > > cheers, > --FritzM. > >
Re: PDP-11/70 progress (and a cry for help)
> On Feb 16, 2021, at 1:13 AM, Josh Dersch wrote: > My money's on t5 going wrong -- an ALU input mux or operation being selected > incorrectly, possibly. This also somewhat explains why execution doesn't > trap due to executing a HALT from an odd address -- it isn't actually > executing from the wrong address, because the bus address is loaded from a > still-good PCB in t1. Yes -- that seems to match the observations. So you could set up on t4 or t5 of that microinstruction with the KM11 in single-clock-phase mode, and then have at the ALU with a logic probe to check... There is a small ALU control ROM on the GRA (E74 in the upper left of sheet GRAA), which selects the ALU mode and operation based on lines coming over from the IRC. I had a failure of this part on my 11/45, and ended up with incorrect ALU setup in some circumstances. That part is a 256-bit DM8598 tri-state bipolar mask ROM, and the truth table is on sheet GRAK. Looking back at my notes, I think it was Glen who informed me (on this list, in 2016!) that the Signetics 82S123 PROM could be substituted here. Programmed one up, and it worked, in case you run into the same thing and it is useful info. cheers, --FritzM.
Re: PDP-11/70 progress (and a cry for help)
On Mon, Feb 15, 2021 at 8:01 PM Fritz Mueller via cctalk < cctalk@classiccmp.org> wrote: > Hi Josh, > > In the situation you describe, I guess I would first chip clip '174s for a > slice of both PCA and PBC on the LA, run the troublesome instruction > sequence, and look at the trace. Check that CLKPCA H and CLKPCB H are > happening when and only when expected, and that all the timing there looks > okay. > > You would also be able to see good-data-clocked-in-but-bad-data-presented > on that trace, indicating more failed '174, or see any bad data arriving > from the ALU upstream. > > I'll take a look through the flows after dinner. The "0002" might be one > operand used to increment the PC, but the other operand shows up as all > zeros because of a bad ALU setup? I guess I'd trace to definitively rule > out PCA and PCB first, and then move backward around the chain from there > verifying the ALU, ALU muxs, mux sources, etc.? > > --FritzM. > Thanks, Fritz, that's a good idea. I'm a bit short on dip clips at the moment so I had to read PCA and PCB on separate passes (and just the low 6 bits); and right now the clock's still hooked up to RACA CLKA RAR H (which clocks when the ucode ROM address changes) so it's not quite as fine grained as I'd like (I have to move everything around to get the logic analyzer's clock signal hooked up to the main clock and it's just too late tonight...). But still, this is fairly revealing. This is an execution of a MOV #1, R0 instruction poked in at address 40: Addr PCB PCA 334 40 40 260 40 40 343 42 42 022 42 44 027 44 44 205 44 44 260 44 44 343 03 03 010 03 05 316 03 05 164 03 05 240 03 05 352 03 05 170 03 05 (Note that the sample is taken at the beginning of the microinstruction). Based on this, it's clear that things get messed up during 260 (FET.10). The operations performed during this instruction are: t1: BA <- PCB; BC <- DATI t2: t3: BRQ STROBE t4: BUS PAUSE t5: PCA <- PCB + 2 t6 IR <- BUS; BR <- BUS PCB <- PCA t3 FPA <- BA My money's on t5 going wrong -- an ALU input mux or operation being selected incorrectly, possibly. This also somewhat explains why execution doesn't trap due to executing a HALT from an odd address -- it isn't actually executing from the wrong address, because the bus address is loaded from a still-good PCB in t1. More investigation later this week... - Josh
Re: PDP-11/70 progress (and a cry for help)
Hi Josh, In the situation you describe, I guess I would first chip clip '174s for a slice of both PCA and PBC on the LA, run the troublesome instruction sequence, and look at the trace. Check that CLKPCA H and CLKPCB H are happening when and only when expected, and that all the timing there looks okay. You would also be able to see good-data-clocked-in-but-bad-data-presented on that trace, indicating more failed '174, or see any bad data arriving from the ALU upstream. I'll take a look through the flows after dinner. The "0002" might be one operand used to increment the PC, but the other operand shows up as all zeros because of a bad ALU setup? I guess I'd trace to definitively rule out PCA and PCB first, and then move backward around the chain from there verifying the ALU, ALU muxs, mux sources, etc.? --FritzM.