Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

PDP-8/E Omnibus unexpected behavior

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    PDP-8/E Omnibus unexpected behavior

    On my front panel the lower six address lights don't work properly so I, with Vince's help, built a board that has transparent latches on MA11 -> MA0 with the Latch Enable (active high) connected to TP4 and the output of the latches connected to LEDs (the inversion is handled by connecting one side of the LED to +5V (through a current limiting resistor) and the other side connected to the latch so when the latch output (and the address line) is low the LED is on.

    Everything works except the address displayed on my board is one more than that of the data displayed on the front panel with the dial set to MB.

    If I press Load Address and Exam I see the data I wrote into address 0000 and my board displays address 0001.

    I also tried PULSE_LA_ADDR_H with the same results.

    Should I be latching on a different signal?

    Does anyone have any ideas?

    Thanks,

    Mike PDP8AddressBusDisplay.png
    Last edited by BitWiz; October 26, 2021, 07:45 PM. Reason: Added schematic.

    #2
    It just occurred to me that this might be normal behavior. It's been so long I don't remember how the front panel works. But I would think when you press Load Address that address would be on the bus when exam is pressed.

    After the data has been loaded then the address register is incremented.

    Comment


      #3
      That sounds correct to me: every time you toggle EXAM it will load the data at the current address into MB and then increment the address...

      Comment


        #4
        What do the front panel address lights show? Does it always show the next address not the address of the data on the MB display. The last time I used a PDP-8/E was more than 30 years ago so my brain is a bit fuzzy. I don't remember needing to subtract 1 from the address lights.

        Also, press Load Address would put the current address on the lights. Gating on TP4 doesn't seem to do that.

        The 1972 Small Computer Handbook says that the "Memory Address Indicates the contents of the memory address which will be accessed next"

        So everything is working correctly. Now how do I get my little board to display the same thing as the front panel when I press load address?

        Comment


          #5
          The front panel operation is described in quite some detail in:-
          DEC-8E-HMM1A-D-D_PDP-8e_Maintenance_Manual_Volume_1_Processor_Sep73.pdf , starting at p3-095.
          Along with the engineering drawings, I'm sure your answers are there, but it might be heavy-going before they emerge...
          (I've spent quite some time looking at this, but a lot of it still hasn't sunk in)

          Comment


            #6
            Originally posted by kb811 View Post
            That sounds correct to me: every time you toggle EXAM it will load the data at the current address into MB and then increment the address...
            That is correct so it's ready to read the next memory location.
            PDP-8 and PDP-11 enthusiast. But enjoy most older PC stuff too.

            Comment


              #7
              Does the front panel put the appropriate signals on the bus when Load Address is pressed or just when Exam or deposit is pressed?

              Short of analyzing each signal with a scope as Address Load, Extended Address Load, Deposit and Exam I have not been able to figure it out from the Omnibus timing diagrams and standard documentation.

              Comment


                #8
                Originally posted by tradde View Post

                That is correct so it's ready to read the next memory location.
                But when you press Address Load the Address lights display the address on the switch register. What happens on the bus? How do I capture that address rather than the next address?

                Comment


                  #9
                  I am a little confused. Pressing load address transfers the switch register into the MA. I don't think pressing load address will cause the CPU to generate a TP4 so your board will not latch the bus data. Pressing examine should read memory into the MB and then increment the MA. TP4 is a good place to latch the address for the next memory cycle although the memory boards do not latch this as it is supposed to be stable.

                  Your board latches the data on EMA0 through EMA2 and MA0 through MA11 on TP4. The front panel circuitry does not latch the data, it shows the live omnibus. In the case of the lamp version of the front panel the lines are buffered with a DEC380A which is a quad 2 input NOR gate where one of the inputs of each gate is grounded. This makes it an inverter. Presumably, they use this part because of the way it loads the omnibus. The output of that goes into an open collector inverter, a SN7416 which has 15V capable outputs. These are the lamp drivers. In the case of the LED front panel there is a single part that buffers the bus to the LED. This buffer is a DEC 7417 which looks like a SN7417 which is an open collector buffer with high voltage (15V) outputs. In other words, the front panel for the EMA and the MA lines is what is on the omnibus. When you use TP4 to latch the address you are not looking at the same thing as the front panel.

                  All this is to resolve an issue with the lower 6 bits of the MA not displaying correctly on the front panel. The front panel as far as the address lines goes is extremely simple. It echos what is on the omnibus. The first question is if the issue is in the front panel, the Major Registers board, or some other card in the machine. Any board that connects to the MA lines on the omnibus are suspect. This means any data break controller or memory board could cause issues. Also the bus terminator board touches those lines. Remove anything you can for the purposes of testing. If you have a disk or dectape controller in the machine that do data break transfers remove them. If you have more than 4k of memory remove those boards as well. The boot boards work by toggling data into memory, they don't directly touch the address lines but you don't need it for this so pull it. You don't need any peripherals at this point so remove those. You may find that pulling all the boards you don't need causes your problem to go away.

                  What do you see when you do a load address of 0000? Do you get all zeros?
                  What do you see when you do a load address of 7777? Do you get all ones?
                  If those work then try the patterns 0001, 0002, 0004, 0010, 0020, 0040, 0100, 0200, 0400, 1000, 2000, 4000.
                  And finally invert those patterns and walk a zero through the MA with 7776, 7775, 7773, 7767, 7757, 7737, 7677, 7577, 7377, 6777, 5777, 3777

                  If all those work the problem is probably not the front panel or the circuitry in the MA register.
                  Doug Ingraham
                  2nd owner of Straight 8 SN1173
                  5 other PDP-8's including an 8/i and a DECSet 8000
                  SOL-20

                  Comment


                    #10
                    Doug,

                    Thank you for your very detailed response.

                    First off I should say that my system with only the CPU board set, 4K core board set, Bus Loads, RFI Shield and Asynchronous Board (M8650) passes all MainDecs for CPU and memory. It also loads and runs focal. So I believe that my front panel problem is on the front panel board itself. I have an extender board coming and when it gets here i will dig into it in greater detail.

                    Secondly, my thinking is that when you press Address Load the address on the switch register is transferred to the MA register on the front panel. When the EXAM or DEPOSIT switch is pressed the address is then transferred to the bus and a read or write transaction takes place depending upon the signals on the bus. That is why I am confused that my board latches the next address rather than the address currently being read. It is possible that multiple TP4 cycles are happening, the first cycle contains the current address and the next cycle contains the current address plus 1. I'm not seeing the first cycle because the second one happens so quickly after the first that the first is not seen. I will have to look at TP4 on my oscilloscope to see if that is the case.

                    Here is a video demonstrating the problem that I posted in an earlier post about my front panel issues: https://drive.google.com/file/d/1DNf...ew?usp=sharing

                    The upper 6 address bits work fine, the lower six do not. Whether you roll over from 7777 or not. Here are some additional symptoms:

                    All address bits off except for SR9 works correctly. MA9 will be on when the SR9 is on and Address Load is pressed and will turn off if is it low. MA9 will go off with SR9 on if SR7, SR9, SR10, SR11 are on as well and Address Load is pressed.

                    MA11 is on all the the time but gets dimmer the more of the lower six address switches that are on. This includes if SR11 is on. SR0 - SR5 do not affect MA11.

                    I believe this is solely in the lamp drivers for the MA6 through MA11 because the correct address is loaded onto the bus when I press Address Load and deposit data into memory and then look at it. The correct data is loaded at the correct address.

                    I appreciate any and all ideas.

                    Thanks,

                    Mike

                    Comment


                      #11
                      LA = load address. The switch register is now represented in the address lines. No need for a latch to see that.

                      EXAM performs a single machine cycle to read the memory on the selected address. Mem_start_L is triggered with a 400ns pulse to let the machine run one cycle to read that address. It shows the data which was loaded in that selected address. But the machine had to run one cycle to be able to show you the data in that address. That is why the address counts one up with examine. But that is nice if you want to read the next address too. Only need to exam, Machine reads the displayed address, gives you the answer and gets ready for the next.

                      The downside is when you see that the memory content is not what you wanted. Then you have to reload the address again to actually deposit new information in that location.
                      Last edited by Roland Huisman; October 27, 2021, 09:09 PM.
                      WTB: Case for Altair 8800 ...... Rolands Github projects

                      Comment


                        #12
                        Originally posted by BitWiz View Post
                        Secondly, my thinking is that when you press Address Load the address on the switch register is transferred to the MA register on the front panel.
                        This can not be correct since there is no MA register on the front panel. The top row of lamps are simply what is on the omnibus on the MA pins.

                        Since it passes the maindecs and runs Focal, you are correct that it must be an issue with the front panel. And I give it a 90% chance of being an issue with E19 since that is the only part common to all six of those bits. Replace E19 which on my front panel is a DEC 7416 which is just an SN7416. E19 is the third IC to the left of the rotary switch or the 8th IC from the left edge of the board below the lamps. There could also be a problem with E16 but it only deals with MA8 through MA11 so far less likely.

                        What I think is happening with your board is that when you press load address there is no TP4 generated. It is not supposed to be generated. The only thing that happens is the switch register is gated into the MA register. This is why your board does not change on a load address.
                        Doug Ingraham
                        2nd owner of Straight 8 SN1173
                        5 other PDP-8's including an 8/i and a DECSet 8000
                        SOL-20

                        Comment


                          #13
                          Originally posted by DougIngraham View Post
                          This can not be correct since there is no MA register on the front panel. The top row of lamps are simply what is on the omnibus on the MA pins.

                          Since it passes the maindecs and runs Focal, you are correct that it must be an issue with the front panel. And I give it a 90% chance of being an issue with E19 since that is the only part common to all six of those bits. Replace E19 which on my front panel is a DEC 7416 which is just an SN7416. E19 is the third IC to the left of the rotary switch or the 8th IC from the left edge of the board below the lamps. There could also be a problem with E16 but it only deals with MA8 through MA11 so far less likely.

                          What I think is happening with your board is that when you press load address there is no TP4 generated. It is not supposed to be generated. The only thing that happens is the switch register is gated into the MA register. This is why your board does not change on a load address.
                          Doug,

                          Thank you for your help. By MA register I meant the latches that hold the lights for the front panel.

                          My question is how do I capture the address used in that one cycle (for exam or deposit) rather then the address plus 1? At some during that one cycle the actual address read should be on the MA lines.

                          As soon as I get my extender board I will scope out E19 (Vince Slyngstad also suggested starting with that E19).

                          Thanks again,

                          Mike

                          Comment


                            #14
                            Originally posted by Roland Huisman View Post
                            LA = load address. The switch register is now represented in the address lines. No need for a latch to see that.

                            EXAM performs a single machine cycle to read the memory on the selected address. Mem_start_L is triggered with a 400ns pulse to let the machine run one cycle to read that address. It shows the data which was loaded in that selected address. But the machine had to run one cycle to be able to show you the data in that address. That is why the address counts one up with examine. But that is nice if you want to read the next address too. Only need to exam, Machine reads the displayed address, gives you the answer and gets ready for the next.

                            The downside is when you see that the memory content is not what you wanted. Then you have to reload the address again to actually deposit new information in that location.
                            Roland,

                            Thank you for your response. My LED board latches the data on the address bus. How do I capture the current address being accessed rather than the next address to be accessed?

                            Thanks,

                            Mike

                            Comment


                              #15
                              Originally posted by BitWiz View Post
                              By MA register I meant the latches that hold the lights for the front panel.
                              There are no latches on the front panel for the EMA and MA bits. Just buffers to prevent the lamps from loading the bus.

                              Originally posted by BitWiz View Post
                              My question is how do I capture the address used in that one cycle (for exam or deposit) rather then the address plus 1? At some during that one cycle the actual address read should be on the MA lines.
                              Latch with SOURCE (H) instead. SOURCE (H) is found on pin AL2 and is the signal that directs the core memory to turn on its read/write currents. But you could probably latch with anything except for TP4 in order to not get the next cycle's anticipated address. TP4 is the earliest point to latch the address for the next memory cycle. What all could you use?

                              SOURCE (H) AL2
                              WRITE (H) AS2
                              INHIBIT (H) AP2
                              STROBE (H) AM2
                              TP1 (H) CD2
                              TP2 (H) CE2
                              TP3 (H) CH2
                              TS1 (L) CK2
                              TS2 (L) CL2
                              TS3 (L) CM2


                              I am reasonably certain that once you replace E19 and the lamps are working correctly the MA display will show you the plus 1 address after the examine or deposit. This is correct operation.

                              Knowing the issue is with E19 you will also want to see if you can find the reason E19 failed. A 7416 is a high voltage open collector inverter. Each output can sink 40 ma according to the data book. I wonder if the wrong bulb was used or if a bulb shorted or something like that. There is no overcurrent protection so a bulb with an operating resistance of less than 200 ohms would burn it out eventually. The bulb resistance will be a lot less than 200 ohms when measured with an ohm meter. My replacement 7371 bulbs have about a 35 ohm resistance when cold. At 8 volts this bulb pulls 33 ma making its operating resistance around 240 ohms. Note that 33 ma is nearing the limit of the 7416 device. If you calculate the startup current when the bulb is cold you find that each bulb will pull around 240 ma which is well in excess of the per gate limit. However DEC has arranged that the bulbs will have some current flowing even when the gate is turned off. This pre-warms the filament and increases its resistance so the starting current is nothing close to 240 ma. Another side effect of doing this is that the bulbs last longer as the filaments are not subjected to as severe of thermal cycling. DEC used a 390 ohm resistor to provide a minimum filament current of a little less than 20 ma at startup and more than 12 ma when up to temp. I did those calculations because I was curious about the operating currents. Anyway, look for some reason the 7416 blew up so your replacement doesn't suffer the same fate. If you don't find a reason, it was probably fixed already.
                              Doug Ingraham
                              2nd owner of Straight 8 SN1173
                              5 other PDP-8's including an 8/i and a DECSet 8000
                              SOL-20

                              Comment

                              Working...
                              X