Announcement

Collapse
1 of 2 < >

Welcome back!

If you're seeing this then welcome to the NEW Vintage Computer Forums.

The forums have been updated to the latest version of the software which means new features and some changes to old ones.

Please don't be alarmed. Change is good!
2 of 2 < >

Forum 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.


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.


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.



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.


"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.

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

Memory problem with PET 2001

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

  • I'll take a few more traces of read and writes blown up for additional comparison.

    Most of the original ICs on PETs were, thankfully, not made by MOS. The PET uses almost all standard 74-series logic chips. MOS's versions of these were almost without exculsion, terrible. In the several C64s I've repaired I don't think I've ever actually seen a still-working MOS logic chip. Thankfully, I don't think they were really making these in 77 or 78 when this PET was built. My understanding was that they started making them as a hedge against other suppliers to get the pricing they wanted for the C64. I could be wrong. Has anyone seen a PET with MOS parts?

    The parts I've been replacing things with are TI, Motorola and National Semiconductor for the most part, all pretty solid vendors. The majority of what I took out were TI and I believe National Semiconductor. The DRAMs were Hitachi. Interestingly the TI parts seemed to rust very badly compared to the others. Hopefully that won't be a problem in the future since I plan to keep this machine in a better environment than the last owner (in a shed, near a salt water inlet.)

    Greg

    Originally posted by naclark View Post
    Thank you!

    Greg, is it possible to get traces showing only read and only write cycling, for additional comparison? And I read you replaced most ICs but are these OG MOSTEKs? (I am skimming TI spec sheets also.)
    Last edited by grbrady; February 19, 2021, 02:20 PM.

    Comment


    • Alright, exciting!

      If there is both a timing and MUX concern, could that point to the root cause hiding in ( at least ) Clock Generator No. 1?
      Func Diag.png

      Comment


      • Originally posted by Nivag Swerdna View Post
        Likewise welcome! Don't let the initial moderation posting delay put you off, it wears off after a bit.
        In the super slow PET the timing is much larger than the DRAM device allows so I don't think these constraints matter... or more precisely the nCAS (i.e. tCAC) does drive and it operates in a mode >> tRCD.
        Thank you I am starting to understand more as I get through the memory design document.
        Untitled.png

        Comment


        • I think I may have this problem licked. I know Dave doesn't like swapping stuff randomly, but based on the fact that 1. We were pretty sure that the problem was timing-related and 2. I knew that I had faster LS parts in some locations that call for S or standard 74 parts on the schematics, I went ahead and replaced the 74LS74 I had in location H1 with a newly received 74S74. I put in the PETTESTER ROM and let it run without issue through 64 passes of the memory test over the course of about 2 hours without any errors.
          IMG_7242.jpg

          Should I be satisfied that this is now working properly? Are there any other tests that I should do or should I just use it and see if anything crops up. I'm more than happy to do any other tests and measurements that you can suggest to verify operation or to wrap up any of the threads that we were discussing. I've retained the part and can easily swap it back in for comparison.

          But, if there's nothing else to be done, I just want to make sure I thank you all for your help -- especially Nivag and Dave. I definitely owe you many beers or whatever other libation is to your liking. I hope maybe someday I'll get the chance to pay you back on that.

          Also, I wanted to get a general feeling from the group as to whether I should upgrade the RAM from 16k to 32k. The pads are all present on the board and I have enough memory on hand to do it. The board is already very much not original from all the rework I've had to do to get to this point, but it's more-or-less equivalent to what it would have shipped with. Any opinions?

          Cheers,
          Greg
          Last edited by grbrady; February 20, 2021, 07:11 PM. Reason: typos

          Comment


          • Great to see!

            Comment


            • >>> I know Dave doesn't like swapping stuff randomly, but

              It worked, so I would take it!

              Good to see that it passes my PETTESTER code (that is a pretty stressful test). However, I would still try our walking ‘1’ test just to make sure that doesn’t identify something awry.

              Since you now have a socket in there for the 74x74 (H1) I would take s logic analyser trace (with the walking ‘1’ test that you have previously validated still works) to check what has happened to ‘fix’ the timing.

              The worst case scenario here is that you are masking the problem by changing H1 rather than fixing the problem. If it was borderline erroring before, it may be borderline working now?

              I will take a look at the schematics on Monday. I have another project to do today (housework)...

              If you are going to keep the PET for your own purposes then I would upgrade to 32K (to run larger programs). But use IC sockets of course just in case the upgrade causes problems... But’s that only my opinion of course...

              Dave

              Comment


              • Wow! Well I wasn't expecting that! 74..74 devices are notorious in their failure like ...161s etc but I was NOT looking in that part of the circuit!

                Now... We should have spotted that on a scope picture of nRAS0... might have to look back.

                The fundamental difference between a 74LS74 and a 74S74 is output drive. A 74S74 can pull down 20mA whereas a 74LS74 can do less than half that!

                For my own amusement I would want to see a scope trace of nRAS and MUX together with old and new... I suspect you might find the relative timing might have a slight difference.

                But.. don't chase red herrings down rabbit holes... a win is a WIN!

                Good job
                Last edited by Nivag Swerdna; February 21, 2021, 02:45 AM.

                Comment


                • The timing should be locked to a clock pulse (one of the 8 phases) and not left to the whim of a gate delay or pull-down capability.

                  At that frequency - any type of 'slow' gate should really work IMHO.

                  I suspect we have not fixed the fault - only masked it - unless H1 really was 'dead ish'.

                  You may find (for example) it is really H2 or H4 - and putting a faster gate in place of H1 has just shifted the errant pulse slightly to the left or right (thus masking the problem only for it to reappear again as the machine continues to age further).

                  Just a thought - but I would still have a play with the machine myself to check out more of the functionality to make sure other things are OK (e.g. does it now run BASIC and does the cassette interface work).

                  Dave

                  Comment


                  • I finally got a little quality time with the PET tonight. I took some traces with the walking bit test. Here is an example of it when it is writing a "1" to RD7 at address $00 and reading it back.
                    RAM_addresses_control_ok.PNG
                    To my eye, this looks correct.

                    I've also played around with the machine quite a bit. It boots to basic, I can type in programs and the run, etc. I haven't tried loading things from cassette as my datasette needs to be serviced. I have successfully loaded things from "disk" (PET2SD) repeatedly with success and played a few games, etc., that all seem to play and run normally (although sometimes the keybindings are weird, presumably because I have a business keyboard and the games don't take that into account.) No random drops into the ML monitor or anything. It currently seems to be 100%.

                    I also installed 8 new sockets to upgrade the RAM to 32k. However, I haven't been able to get the second bank of RAM to be recognized correctly, at least by BASIC. I think this is probably because of the jumper settings. Here is a photo of the two jumper blocks as they are now, working properly with 16k of RAM:
                    IMG_7245.jpg
                    Pretty nasty and rusty looking, I know, but has good continuity across all the unbroken links. BTW, this is how basically every IC on the board looked when I started working on it. I haven't touched these since I thought the type of jumper was interesting and knew I can't replace them. By eye and by my meter, this is how they're configured:

                    A: open
                    B: open
                    C: shorted
                    D: open
                    E: open
                    F: shorted

                    H: shorted
                    I: shorted
                    J: shorted
                    K: open
                    L: open
                    M: open
                    N: open
                    P: shorted
                    R: open
                    S: shorted

                    If we compare refer to the documentation at http://www.zimmers.net/anonftp/pub/c...N/320351-6.gif, the jumpers when used with 4116 RAM (the mentioned item 33) should be set like this:
                    jumper_settings.png

                    Neither the 16k nor the 32k configuration correspond to what I have on my board, working with 16k.

                    If we refer to jumper block in the RAM schematic at http://www.zimmers.net/anonftp/pub/c...N/320349-5.gif
                    jumpers_schematic.png
                    This looks to me like maybe L and M should be open and H, I, and J should be shorted, which is how the board is set (for 16k) and what is indicated in the document for 32k. Other jumpers in the schematic and on my board (A, B, C, E, F) agree with the document. I can't find any of the other jumpers in the schematic (D, K, N, P, R, S), so no idea about those.

                    So, does any one know what the correct jumper settings for 16k or 32k are?

                    If I need to short any of these, does any one know if that's possible using these same blocks? Should I replace them with pin headers and regular jumper caps? Should I keep the jumpers as they are and if I need to short them should I just solder a bodge wire to the bottom of the board to keep these looking original?

                    Or, does it seem like it's not a jumper problem and I should start beeping out traces and looking at signals on the second bank of RAM?

                    Cheers,
                    Greg



                    Originally posted by daver2 View Post
                    >>> I know Dave doesn't like swapping stuff randomly, but

                    It worked, so I would take it!

                    Good to see that it passes my PETTESTER code (that is a pretty stressful test). However, I would still try our walking ‘1’ test just to make sure that doesn’t identify something awry.

                    Since you now have a socket in there for the 74x74 (H1) I would take s logic analyser trace (with the walking ‘1’ test that you have previously validated still works) to check what has happened to ‘fix’ the timing.

                    The worst case scenario here is that you are masking the problem by changing H1 rather than fixing the problem. If it was borderline erroring before, it may be borderline working now?

                    I will take a look at the schematics on Monday. I have another project to do today (housework)...

                    If you are going to keep the PET for your own purposes then I would upgrade to 32K (to run larger programs). But use IC sockets of course just in case the upgrade causes problems... But’s that only my opinion of course...

                    Dave
                    Last edited by grbrady; February 26, 2021, 10:25 PM.

                    Comment


                    • Yes, address $0000 looks fine. However, the interesting thing would be address $0001 (as stated back in post #164).

                      The fact that the machine appears to work consistently is good, I am just concerned as to why? That has never been answered (except by a faulty H1 that we don’t know that for sure).

                      Links N, P, R and S are on sheet #1 - and are nothing to do with DRAM.

                      The only link of concern is K. It is not on the schematic but should be linked. This could be a factory-fitted link and may not appear on the schematic due to an oversight?

                      I would probe around with a multimeter (power off) to see if you can find out where the two ends of link K are connected to.

                      You could also check with the scope that /CAS1 is being activated (along with BANK SEL) etc.

                      Dave
                      Last edited by daver2; February 28, 2021, 02:42 AM.

                      Comment


                      • I didn't have time to hook the logic analyzer up to check $0001 yet, but I was able to get 32k up and working consistently. A couple of the (still original) RAM chips in the first bank didn't seem to want to play nicely with the newly added RAM in the second bank. I presume they must be marginal and the extra load on some of the lines caused them to not be as reliable. Swapping those out for new ones seems to have fixed the issue and it passes the memory test. The jumper settings on the board as listed above seem to work with 32k. I thought I had what link K does figured out, but in thinking it through in order to write it up here I realize I need to revisit the board.

                        I was able to play "Attack of the PETSCII Robots", which requires 32k, for quite a while without trouble (other than sucking at the game.):
                        IMG_7254 2.jpg

                        I will take traces at $0001 with the logic analyzer and re-examine link K next time I get a chance to work on things. After that, I want to add CB2 sound and see how that works. I'll have to look at how some have implemented that and likely procure some parts.

                        Cheers,
                        Greg

                        Originally posted by daver2 View Post
                        Yes, address $0000 looks fine. However, the interesting thing would be address $0001 (as stated back in post #164).

                        The fact that the machine appears to work consistently is good, I am just concerned as to why? That has never been answered (except by a faulty H1 that we donít know that for sure).

                        Links N, P, R and S are on sheet #1 - and are nothing to do with DRAM.

                        The only link of concern is K. It is not on the schematic but should be linked. This could be a factory-fitted link and may not appear on the schematic due to an oversight?

                        I would probe around with a multimeter (power off) to see if you can find out where the two ends of link K are connected to.

                        You could also check with the scope that /CAS1 is being activated (along with BANK SEL) etc.

                        Dave

                        Comment


                        • Originally posted by Nivag Swerdna View Post

                          For my own amusement I would want to see a scope trace of nRAS and MUX together with old and new... I suspect you might find the relative timing might have a slight difference.
                          Yea, same here, but also don't mess with it if the system is up and running!

                          I stretched the latest plot and compared with earlier plots and MUX and CAS were a bit different ( and of course you were right about tRCD not seemingly mattering ). Are there any better timing plots to use as a reference?

                          Could the memory the PET had, as received by Greg, be from production early on and of not so great a design copy?

                          Compare_sm.png
                          Write_cyc_early_sm.png

                          Comment


                          • Originally posted by daver2 View Post

                            You may find (for example) it is really H2 or H4 - and putting a faster gate in place of H1 has just shifted the errant pulse slightly to the left or right (thus masking the problem only for it to reappear again as the machine continues to age further).

                            Dave
                            This is all very new to me; what changes have you seen as the boards and ICs age?

                            Comment

                            Working...
                            X