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

Build your own PDP 8I, Part 2..

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

  • Marty
    replied
    Hi All;

    PBirkel, Thank You for You suggestion.. "" But it might be a good point at which to take your "new circuit" and first verifying it by simulation before committing it to new-wires-and-sockets? ""
    I have for a long time tried to stay away from Simulation, because of the steep Learning Curve of getting it into my head and the computer..
    As well as all of the typing and debugging of that just to get it right, for the Schematic.. I could be all Wrong, but it seemed easier to just wire it, than all that would be needed to get it done by getting it into simulation..
    I have looked at what everyone has offered earlier, and I would need to figure out, exactly how to enter it in IC mode instead of gate mode, which I never got past..

    DDS, Thank You for the reply and the suggestion, Actually, I have been kind of doing this already..
    As the Schematic is divided into sections, that are parts of the whole thing, and I have been checking each section..
    But, I can in some cases further divide the sections into smaller parts..
    And since they are machine wire wrap sockets, I could only put in the Ic's that are needed for a particular circuit..
    I can and did put a circuit or two on my Breadboard and made what didn't work, work.. Trying different things, until I proved it would work as the origional circuit was, or what was needed to make it work..
    Mostly, the 'fixes' are having to do with Ic counts, in other words on the Alu there are five signals that control what the Alu does, and in each of these there are anywhere from three to maybe eight gate delays on any of the control signals, and so they all don't reach the Alu at the same time..
    Most of these are things like having a 7402 followed by a 7404, which I can instead replace with a 7432, and eliminate the 7404.. Or a 7400 followed by a 7404, which I can replace by a 7408 and eliminate the 7404..
    And so by doing this I can bring them all closer to the three gates of delay..
    Also, I can replace the 74175 which is a 6 register part, so two are required, with a 74174, which has 4 registers per part, so it will require three of these for the 12 bits.. But by doing this I can in a number of places eliminate 12 (7404) inversion gates and have less loading on the 74174, than was on the 74175..

    THANK YOU Marty
    Last edited by Marty; September 16, 2015, 04:25 AM.

    Leave a comment:


  • DDS
    replied
    Originally posted by Marty View Post
    Hi All;

    I have been thinking about making some changes to this circuit, there is a fairly great amount of changes, and at present, the way I have wired up the Capacitors, that they might be shorting to the pins around them, so I am for all these reasons and a few more.. I am going to draw up the new circuit and replace all of the 14 pin sockets with 16 pin sockets and the bottom two pins will be for the Capacitor..
    So, it will be like starting all over again..
    Way back in my youth, while earning my Boy Scout Woodcarving Merit Badge, I was taught the most common mistake a beginning whittler makes is taking too big a chip. In later years in Computer Science school we learned to divide a program or OS into manageable sections and debug them as separate pieces before combining them into a whole. I believe they called this "Top Down Design - Bottom Up Coding".

    I hesitated to say anything before, because I didn't want to rain on your parade as you "boldly went where no man has gone before". But now that you've decided to reboot your project you might also want to rethink how you're going about it.

    What I would do is break the design into subsections, then breadboard, test and debug each one before trying to put it all together. That's how the "big boys" originally did it and they had good reason to do so. Build up a generic "register" then test your ability to gate data into and out of it. Then expand that and model each of the specific PDP8 registers in the design. Do the same with the ALU. Then model the connecting busses. Test how data flows from one part to another under single step. Then build the clock and test how it does or does not control the rest of the circuit.

    Smaller "chips". Smaller headaches. Localized and therefore easier to find and fix errors.

    Just my $0.02 suggestion.

    Leave a comment:


  • DDS
    replied
    Originally posted by Marty View Post
    Hi All;

    I have been thinking about making some changes to this circuit, there is a fairly great amount of changes, and at present, the way I have wired up the Capacitors, that they might be shorting to the pins around them, so I am for all these reasons and a few more.. I am going to draw up the new circuit and replace all of the 14 pin sockets with 16 pin sockets and the bottom two pins will be for the Capacitor..
    So, it will be like starting all over again..
    Way back in my youth, while earning my Boy Scout Woodcarving Merit Badge, I was taught the most common mistake a beginning whittler makes is taking too big a chip. In later years in Computer Science school we learned to divide a program or OS into manageable sections and debug them as separate pieces before combining them into a whole. I believe they called this "Top Down Design - Bottom Up Coding".

    I hesitated to say anything before, because I didn't want to rain on your parade as you "boldly went where no man has gone before". But now that you've decided to reboot your project you might also want to rethink how you're going about it.

    What I would do is break the design into subsections, then breadboard, test and debug each one before trying to put it all together. That's how the "big boys" originally did it and they had good reason to do so. Build up a generic "register" then test your ability to gate data into and out of it. Then expand that and model each of the specific PDP8 registers in the design. Do the same with the ALU. Then model the connecting busses. Test how data flows from one part to another under single step. Then build the clock and test how it does or does not control the rest of the circuit.

    Smaller "chips". Smaller headaches. Localized and therefore easier to find and fix errors.

    Just my $0.02 suggestion.

    Leave a comment:


  • pbirkel@gmail.com
    replied
    Originally posted by Marty View Post
    Hi All;

    I have been thinking about making some changes to this circuit, there is a fairly great amount of changes, and at present, the way I have wired up the Capacitors, that they might be shorting to the pins around them, so I am for all these reasons and a few more.. I am going to draw up the new circuit and replace all of the 14 pin sockets with 16 pin sockets and the bottom two pins will be for the Capacitor..
    So, it will be like starting all over again..
    :-<. But it might be a good point at which to take your "new circuit" and first verifying it by simulation before committing it to new-wires-and-sockets?

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have been thinking about making some changes to this circuit, there is a fairly great amount of changes, and at present, the way I have wired up the Capacitors, that they might be shorting to the pins around them, so I am for all these reasons and a few more.. I am going to draw up the new circuit and replace all of the 14 pin sockets with 16 pin sockets and the bottom two pins will be for the Capacitor..
    So, it will be like starting all over again..

    Leave a comment:


  • Marty
    replied
    Hi All;

    I think I have found a few more mistakes, I need to do some more checking for sure..
    On the Accumulator, I replaced one of the Ic's, which seemed to be Bad (74194)..
    The MA Register is Stepping by itself, some of the time, also, when the left hand of the Board is flexed it can make the computer work and or cause the MA register to continuously increment it's contents..

    THANK YOU Marty
    Last edited by Marty; September 15, 2015, 02:29 PM.

    Leave a comment:


  • Marty
    replied
    Hi All;

    I got some things done this afternoon and night, I need to check the Accumulator and Ma and Mb and the Write Circuits for correctness..
    The last three bits of the Accumulator have a problem when doing a bit rotate, which just might be a bad Ic, but, I might just as well check everything affecting it..

    THANK YOU Marty

    Leave a comment:


  • Marty
    replied
    Hi All;

    PBirkel, Yes, Which is what surprises me.. I bought them, at the same time I bought most of the IC's that I would need in 74LSxx , instead of 74(plain).. Thinking that was what was wrong, That I had some Bad Ic's in my 74xx's that I was using, and so new ones would eliminate that problem.. I also, rewired in the 74181 Sockets, from some old (think) trash sockets to new machine sockets..
    So, one of the wiring errors (problems) was a missing wire to one of the S(0-3) control signals.. Another couple was in the PC (Program Counter) circuitry that I had worked on months ago..
    So, now You are up to date on my progress..

    I have been working on it, on and off for the last few weeks..

    THANK YOU Marty

    Leave a comment:


  • pbirkel@gmail.com
    replied
    Originally posted by Marty View Post
    Hi All;

    I have found a multitude of problems, Mostly wiring errors, about 5 or 6..
    But, the one that has caused my most head shaking, is that I bought 3 new 7489's and put them in, and one or more is Bad..
    I replaced all three of them, and it works better..
    I have not yet tried to put any programs in, or tried any of the switches, other than '0000..
    Which will be next.. and which may prove to find more mistakes, but for now I am Happy..

    THANK YOU Marty
    You deserve it :->! Did you get those 7489s from a reputable supplier?

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have found a multitude of problems, Mostly wiring errors, about 5 or 6..
    But, the one that has caused my most head shaking, is that I bought 3 new 7489's and put them in, and one or more is Bad..
    I replaced all three of them, and it works better..
    I have not yet tried to put any programs in, or tried any of the switches, other than '0000..
    Which will be next.. and which may prove to find more mistakes, but for now I am Happy..

    THANK YOU Marty

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have put the Altair away, and I am getting the PDP 8i clone out, I can do a re-look at it with a fresh outlook at it..

    THANK YOU Marty

    Leave a comment:


  • daver2
    replied
    There are a few 'limitations' of this simulation:

    1. The Fetch, Execute, Defer, Pause and Run front-panel status lights do not work.

    2. The single-step switch doesn't work (the single instruction does work).

    3. I need to change the microcode address latches from 74163 (synchronous reset) to 74161 (asynchronous reset).

    4. On a MAC, the keyboard handler does not work properly with CHEKMO for <NEWLINE>. The MAC/KEYBOARD block within LOGISIM returns <LF> instead of <CR>. I suspect that if you run LOGISIM on a Windows box it may work. I will look for a DEPOSIT modification for CHEKMO...

    5. A bit of tidying up and comments are called for (microcode) and some text boxes adding to the LOGISIM logic to describe the function of each logic sub-system.

    6. I may look at some logic reduction for the discrete logic and moving to 'IC pinouts' instead of 'functional' blocks of logic.

    I will post details on the LOGISIM model tomorrow when I have a bit more time...

    Dave

    Leave a comment:


  • daver2
    replied
    8imc_copy.zip contains the microcode for the PDP-8/i implementation.

    PDP8i_MICROCODE.java contains the microcode itself plus a 'harness' to generate the data necessary for importing into LOGISIM.

    Use build8imc.sh to compile PDP8i_MICROCODE.java (assuming you have a java compiler installed of course) to generate PDP8i_MICROCODE.class.

    Use run8imc.sh to run the previously compiled Java program. The output produced on stdout contains (first) any errors during the processing of the microcode, followed by a listing of the microcode (text labels, hex microcode ROM addresses and hex microcode words) followed by the key output starting with "v2.0 raw" and then a load of HEX numbers. You need to copy and paste the header ("v2.0 raw") and all of the immediately following HEX numbers to the file PDP8iMICROCODE for inclusion within the LOGISIM simulation.

    Don't worry if all this is gibberish to you - I have done it for you (i.e. the 'other' ZIP file containing the LOGISM simulation has the microcode already included). If you want to experiment yourself - you will need to adopt a procedure something like the above to incorporate your changes into the simulation.

    Dave

    Leave a comment:


  • daver2
    replied
    Current state of my LOGISIM implementation of a PDP-8/i

    Hi,

    Latest update of my LOGISIM PDP-8/i implementation.

    Not yet 100% complete (what ever is) - but it successfully runs all of the MAINDEC diagnostics I have tried so far.

    I will post a more detailed description later of what is included in the ZIP files, what the outstanding issues are and (more importantly) how to 'use' it!

    Enjoy,

    Dave
    Attached Files

    Leave a comment:


  • daver2
    replied
    Thanks for the "heads-up" on CAF (plus the other odd 8/e IOT instructions).

    Whilst replying above regarding the problems I experienced with the library for the SN74174 it set me thinking and I think I have found why MAINDEC-8i-D02B-D fails to run properly. When performing the opcode ISZ; I increment MB and write the new value to the RAM (MEM) and MB simultaneously. This causes me a problem as MB is increment by 1 but MEM has MB+2 stored into it! The output from MB is routed throughout the ALU - which adds 1 to it and routes the incremented value back to MB and MEM. I tried to be too clever and write the 'MB incremented' value to MB and MEM simultaneously. The MB register latches the incremented value on the leading edge of the clock - but the MEM (RAM) control signals (/CE and /WE) are LEVEL signals and store the value CONTINUOUSLY whilst the RAM device is enabled for writing. Of course, latching the incremented value of MB back into MB causes the incremented value to be presented to the ALU - which increments it again (the 74181 is combinatorial logic only) and this newly incremented value is also presented to the RAM (MEM) which is then stored...

    It took longer to explain than to actually fix my microcode. Marty - you may find some similar issues if you are using conventional RAM chips in your hardware implementation?

    It now looks like my logisim implementation of an 8i is successfully running MAINDEC-8i-D01B-D and MAINDEC-8i-D02B-D successfully (apart from the teletype output and the last part of D02B where the interrupts are tested).

    My next issue is to implement the IOT instructions for the teletype and reader and the interrupts. I am away on a business trip this week - but I will upload what I have done so far when I get back before continuing with the development.

    Dave

    Leave a comment:

Working...
X