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

  • vrs42
    replied
    Originally posted by daver2 View Post
    Thanks for the feedback. The reason I was asking about the 8e versions in particular is that they seemed to be a 'fuller' set (complete with PDF listings) rather than the 08. If I use an 08 diagnostic without the listing and it fails then the debugging will be more complex than just reading through the listing and seeing where it halted. But I agree with you - the 08 should work relatively flawlessly whereas the 8e could be problematic if they use a BSW or something not on an 8i.
    The instruction that they seem most overly fond of is "CAF".

    Thanks for your great website.
    Thanks! I try to make it kind of a one-stop-shop for things PDP-8, though that does
    mean a lot of stuff is actually derivative or even an outright copy of stuff that can be
    found elsewhere.

    Vince

    Leave a comment:


  • daver2
    replied
    Vince,

    Thanks for the feedback. The reason I was asking about the 8e versions in particular is that they seemed to be a 'fuller' set (complete with PDF listings) rather than the 08. If I use an 08 diagnostic without the listing and it fails then the debugging will be more complex than just reading through the listing and seeing where it halted. But I agree with you - the 08 should work relatively flawlessly whereas the 8e could be problematic if they use a BSW or something not on an 8i.

    I might try the 08 diagnostics first that are accompanied by listings and then move on to the 8e diagnostics second - but have a look through them before hand for any signs of 8e-specific code.

    Thanks for your great website.

    Cheers,

    Dave

    Leave a comment:


  • daver2
    replied
    The initial problem I had with the 7400-lib was with the 74174 simulation I am using for the bulk of the registers (in particularly the PC). When I ran my simulation - LOGISIM would halt with a message stating that there was oscillations when it tried to perform the operation "PC := PC + 1". According to the TEXAS INSTRUMENTS data sheet, the 74174 requires a high-going clock edge to latch the data in. It is not a 'transparent' latch, where the data is latched when the clock input is logic '1'. Opening the 74174 library device, I noted that the clock input for the latches had been configured as 'logic high' (transparent) rather than 'low to high'. Modifying the D-type flip-flop parameters for the latches sorted the problem.

    The library '7400-lib' has a 7486 part. But you are correct, the first thing you need to do is to create the library parts that you are using in your physical implementation. If you open the 7486 library part you will see how to create a 'simple' gate-level IC. Open my 74194 device for a more complex part. I would suggest creating a new project in LOGISIM, opening the 7400-lib library, and creating a new sub-circuit for each new IC that you require that is not in the library. Copy an existing device wholesale from the library to your new sub-circuit, delete the logic from the copied part, edit the I/O pins and change the pin names and ensure the pin direction (input or output) is correct, and enter the new logic required. get hold of the TEXAS INSTRUMENTS data sheets for each of the parts you require and implement the logic exactly as it is described within the data sheet. Fully test the new part by creating a part on the 'main' worksheet and connecting up D flip-flops to all the inputs and LEDs to all the outputs of your new device. Use the Q outputs of the D flip-flops as the inputs to your logic circuits. The reason I suggest this is that you can toggle the state of the D flip-flop whilst in simulation mode to set the various input combinations to your new device. Once the new part is working correctly, delete it from the 'main' circuit and move on to the next logic part.

    Once you have all of your IC simulations developed, pinch a copy of my front panel switches and LEDs (to save you re-entering it again...) by copying and pasting and then start to develop your sub-circuits from your logic ICs (e.g. the MA, MB, PC,... etc. registers).

    As you can see from my current PDP-8 schematic; my 'main' circuit is the PDP-8s 'user interface' with the PDP-8 itself being a sub-circuit connected to the I/O.

    Dave

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have hand copied the instructions from Your (Dave's) posting #50 and #63..

    "" I found an error within one of the library ICs that I was using - so I have fixed that. ""
    I would like to know more about that and adding any Ic's that are not in the Library, such as (I think) the 7486..
    And for either starting from scratch or modifying what is there to comply to what I actually have in my schematics..

    THANK YOU Marty

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have put the PDP 11/45 away for now, and somewhat put the PDP 8i clone away for awhile.. While I do some more Reading and studying and possibly trying out Ligisim as well..

    I have instead gotten out a couple of my Old Philco Radios for a change of pace..
    Nope !! Put the Radio's away..

    THANK YOU Marty
    Last edited by Marty; June 18, 2015, 02:26 PM.

    Leave a comment:


  • vrs42
    replied
    Originally posted by daver2 View Post
    Does anyone know if some of the 8/E diagnostics from http://so-much-stuff.com/pdp8/software/maindec.php will run unmodified on an 8/i? For example, the Random AND Test "maindec-8e-d0db-pb". I am looking for some more diagnostics to test out my logic before I start to look at converting it to hardware (the more diagnostics I can run on logisim the better).
    In general, the diagnostics are grouped there. The 8/I should be able to run stuff from the maindec-08 group and from the maindec-8i sections without problems, as well as probably most of the stuff from maindec-8L Stuff from maindec-8e will in general be more problematic. I'd probably try maindec-08-dhkab-a-pb before maindec-8e-d0da-pb or maindec-8e-d0db-pb.
    Sometimes they are secretly the same, and/or will run fine, sometimes not.

    Let me know if you find write-ups for (or issues with) the images there, and I'll see what I can do to make the collection better.

    Vince

    Leave a comment:


  • daver2
    replied
    Forgot to ask...

    Does anyone know if some of the 8/E diagnostics from http://so-much-stuff.com/pdp8/software/maindec.php will run unmodified on an 8/i? For example, the Random AND Test "maindec-8e-d0db-pb". I am looking for some more diagnostics to test out my logic before I start to look at converting it to hardware (the more diagnostics I can run on logisim the better).

    Dave

    Leave a comment:


  • daver2
    replied
    Sorry - I did not understand what your issue with logisim was.

    In the "Simulate" menu select "Simulation Enable" and "Ticks Enabled" and then set a suitable "Tick Frequency". You then need to select the 'hand' tool (not the arrow). Arrow for edit. Hand for poking things (like PDP-8 toggle keys...).

    I do find it a bit 'stubborn' at times. I have to disable the simulation (un-tick Simulation Enabled from the Simulate Menu), select Reset Simulation from the Simulate Menu (all the boolean wires go blue - indicating an unknown state) and then select Simulation Enabled again from the Simulate menu. This generally works - unless a Java run-time error occurs (in which case all bets are off and you have to close down logisim and restart it).

    MAINDEC-8i-D01B-D works now MAINDEC-8i-D02B-D doesn't - but that's a problem for tomorrow (D02 is testing some new instructions that D01 didn't test so I am not surprised that further errors have surfaced).

    My schematic is based on the LD30 architecture from the book - but the rest of the logic (the microcode part of the LD30 etc.) is of my own design (with a little help from that Japanese website I found of course to spur me on). So I suspect that we are using completely different logic - but still based on the PDP-8 and the book itself so (for example) my SKIP logic (that I have now implemented) should be pretty similar to what you should have implemented.

    The logisim schematic I have completely drawn myself from scratch. Incidentally, I found an error within one of the library ICs that I was using - so I have fixed that.

    I will post some of my new stuff tomorrow evening when I am a bit more awake!

    Dave

    Leave a comment:


  • Marty
    replied
    Hi All;

    Dave, Thank You for the Helpful suggestions..

    "" One trick I used in the past was to solder the decoupling capacitors on top of the IC's directly to the VCC and GND pins of the ICs. A bit of accurate component lead bending and soldering required - but the result is good if you have left them off the build. ""
    I looked at doing this way, but, It has the same problem as wire-wrapping to the pin.. Not enough pin Length, and It would short out adjacent pins.. My favorite trick is to use a two pin longer Wire-wrap Socket, a 16 pin socket for a 14 pin IC, and a 18 pin socket for a 16 pin IC.. But, if I had originally done this, I would have Not been able to fit all of the row's of Sockets in the Printed Circuit Board that I have..
    "" The LOGISIM application should open. If you can get this far I can talk you through the next step. You can 'script' the above command to make invoking it easier in the future. ""
    When I start Logisim, it seems to be in Edit mode and not in run mode..
    "" The major advantage of using a logic simulator is that you can debug your design and make changes before committing to the hardware. It is not 100% foolproof - but it should take care of a lot of the logic design errors up front. ""
    I already know this, I am still wondering where or what Schematic you are using ?? Is it different than what I am using ??

    THANK YOU Marty

    Leave a comment:


  • daver2
    replied
    One trick I used in the past was to solder the decoupling capacitors on top of the IC's directly to the VCC and GND pins of the ICs. A bit of accurate component lead bending and soldering required - but the result is good if you have left them off the build.

    To run LOGISIM you need to acquire a modern Java run-time environment and enter the command line tool of your favourite O/S to type the following command:

    java -jar logisim.jar

    The LOGISIM application should open. If you can get this far I can talk you through the next step. You can 'script' the above command to make invoking it easier in the future.

    The major advantage of using a logic simulator is that you can debug your design and make changes before committing to the hardware. It is not 100% foolproof - but it should take care of a lot of the logic design errors up front.

    Dave

    Leave a comment:


  • Marty
    replied
    Hi All;

    I have started to put in some Caps, it will probably be about every other Ic, as many of the wire-wrap pins are already fully wrapped.. And the couple of unused pins, I can tie to their neighboring pins..

    THANK YOU Marty

    Leave a comment:


  • m_thompson
    replied
    Marty,

    It isn't necessarily the processor clock rate, but the rise and fall times of the signals that causes problems. You should follow daver2's recommendation and add 0.1 uF bypass caps to each IC, and pull the unused inputs high.

    Leave a comment:


  • Marty
    replied
    Hi All;
    Dave, Congratulations on Your progress.. I didn't/don't know how to make it work..
    "" What are you doing with the unused inputs of the ICs? "" For now they are Floating, but as I determine that it is not needed, then I will tie it to it's neighbor..
    "" Are you using adequate decoupling capacitors in your build? It is generally recommended to use one 0.1 uF decoupling capacitor per IC fitted as close to the VCC and GND pins as possible. "" For now I don't have any at all, since I am running a very low frequency, about 340HZ.. I have generally not had a problem with doing this..
    I am also, at this point tying the Button/switches to an R-S Flip-flop, which before yesterday the Buttons/switches were just pulled Low to ground when the switch was pressed.. And this is causing some new problems, so I might need to make the R-S flip-flop into a clocked flip-flop to make it only one clock cycle per button push.. I will need to experiment with some circuits and see how to implement it..

    THANK YOU Marty

    Leave a comment:


  • daver2
    replied
    Marty,

    Just been thinking about your 'random' problems.

    What are you doing with the unused inputs of the ICs? Are you tying them high or low to prevent random noise from affecting the logic? Tying them low works (but has the side effect of drawing ten times or so more current than pulling them high). Depending on the IC family you are using (I see you are using 7400 series ICs) you shouldn't directly tie unused pins to the VCC rail - but pull them high via a 10 kOhm resistor.

    Are you using adequate decoupling capacitors in your build? It is generally recommended to use one 0.1 uF decoupling capacitor per IC fitted as close to the VCC and GND pins as possible.

    Dave

    Leave a comment:


  • daver2
    replied
    I have the first major 'cut' of my LD30 (microcoded PDP-8i) running inside of LOGISIM.

    I have just finished a RIM/BIN converter for converting paper tape images to a format that can be directly loaded into the RAM module of LOGISIM - so I am able to load in MAINDEC-8i Instruction Test #1. I am currently debugging my processor and have so far fixed a few silly errors (like holding the LINK flip-flop in reset!).

    Currently baulking at 'TAD TEST 13' where it doesn't seem capable of executing TAD K4000 followed by TAD K4000 to give an AC of 0000 and a LINK of '1'. I shall debug that tomorrow evening...

    I will get MAINDEC-8i Instruction test #1 running properly and then post my logic diagram and microcode whilst I move on to test #2.

    The major things not implemented at the moment is the IOT instruction in general and the ability to HALT the processor execution and single-cycle it - but Rome wasn't built in a day! Learning an awful lot about the PDP-8 instruction set though!

    Dave

    Leave a comment:

Working...
X