Image Map Image Map
Page 8 of 18 FirstFirst ... 456789101112 ... LastLast
Results 71 to 80 of 178

Thread: Commodore CBM 2001-16N - BIG MESS!

  1. #71

    Default

    Quote Originally Posted by Dwight Elvey View Post
    That would tell me there is an issue reading D9. With the chan 2 sync'd to D8 pin 20, look at the selects for D9 EPROM. I suspect it isn't being enabled. With the same scope setup, I'd expect to see the SEL F to start there
    Sorry, i dont fully understand. Can you please clarify how to check this? Thank you.

  2. #72

    Default

    First, the NOP generator is sending out addresses 0 to FFFF on a continuous loop. As different parts of the memory window are accessed, those that feed data to the buss will do that. The NOP takes two clock cycles. The address decoder, D2, decodes blocks of memory. We have it so that the scope is synchronized to see the data bus, starting at SEL-E* for the D8 as shown in the picture. With the scope set to 5 ms/div we see data being fetched from D8, D9 and then starting at 0000 and up.
    Each of the selects will take 4096 reads of NOP. Each NOP fetch uses 2 cycles of the 1 MHz clock. A block of memory takes .000002 * 4096 = 0.008192 seconds to read. At 5 ms/div, that is 1.6384 divisions. The screen shot you posted shows 6 and change in memory windows, as decoded by the D2 decoder.
    On my viewer, I can arbitrarily stop or freeze the video as it is playing. Since the video is showing 6 windows, it show the data from the 0/1 EPROM you made, at the start of the sweep ( I assume it is D8 as shown in the picture ). I see two bands over the same time of 0 and 1. It looks like two continuous lines because the scope sweep is too slow to show the 0/1 square wave. Still, we can see the data as the two lines of 0/1 at the same time period. The EPROM we made only is 4096/2 reads long so there would be a blank spot in memory after our EPROM of 2048 clocks. Doing the math, it would be 0.8192 divisions. Checking the video, I can see, after our 0/1 data, a time of the bus floating about 0.8 divisions. That looks like two close spaced line, because of some cross talk noise, most likely from an address line. At the end of the 0.8 divisions, I expect to see data from D9 for 1.6384 divisions. Instead, what I see is another floading data bus, for about 1.6 divisions ( voltage has change slightly but still floating ). That means, for some reason D9 is not being read!
    There are a number of reason this can happen:

    The strobe from the address decoder is not getting to pin 20.
    There is not a 0 volts on pin 18.
    There is no supply voltage on pin 24.
    There is no 0 voltages on pin 12.
    The particular data line we are looking at, in the video, doesn't make it to the data bus.

    The next experiment is to sync on pin 20 of our EPROM in D8 but look at D9 pin 20. We should see a 0 pulse at about 1.6 division in for 1.6 divisions( assuming the same 5ms/div setting ). There looks to be some delay between the trigger and the start of the display on your scope but that isn't to be worried about. If the pulse is missing we need to find out why. Or it might be one of the other issues I listed.
    I hope that is clear.
    ( all math was done on my calculator but still subject to error by the idiot hitting the buttons )
    Dwight
    Last edited by Dwight Elvey; February 18th, 2020 at 06:11 AM.

  3. #73

    Default

    Thank you for your detailed explanation. I am trying to follow your math and need to learn how the data bus is working - still missing some basics here as i am not an electronic expert like many Senior members here. But I understood that with the NOP Generator the CPU is cycling through all address lines and this allows us to analyze a lot of things.

    I already did some continuity checks on D9 which looked ok but i will have a closer look again once i am back home!

    When you say "...to sync on pin 20 of our EPROM in D8 but look at D9 pin 20..." do you mean to take the trigger signal from D8-20 (CH1) and measure D9-20 (CH2) ? Sorry when asking such stupid questions

  4. #74
    Join Date
    Feb 2009
    Location
    Southern California, USA
    Posts
    2,834

    Default

    PET Selects waveforms.pdf
    Quote Originally Posted by miata View Post

    When you say "...to sync on pin 20 of our EPROM in D8 but look at D9 pin 20..." do you mean to take the trigger signal from D8-20 (CH1) and measure D9-20 (CH2) ?
    Yes, that's what Dwight is asking. You can display both traces if the screen is bright enough. SEL F (D9-20) should start at the trailing edge of SEL E (D8-pin 20).
    -Dave
    Last edited by dave_m; February 18th, 2020 at 12:48 PM. Reason: added pdf file of waveform

  5. #75

    Default

    The math is just mathbut I'll break it all down. If I do a search for the 6502 instruction set it tells me that the NOP take two cycles. I know that the 6502 on the PET's runs at 1Mhz. There for, each NOP takes 2 microseconds or 0.000002 seconds or 2 1MHz cycles.
    Next I know that the 6502 uses 16 bits in its address space. That is 65536 decimal locations. At 0.000002 seconds per NOP, that is 0.131072 seconds for one sweep. Look at the address decoder on the schematic. You'll see that it is a 4 to 16 decoder. Since it takes the top 4 address bits, A15 to A12, that means it divides the full sweep into 16 address strobes. If you divide 65536 by 16, you get 4096. This is the number of bytes in the 2732 EPROM. If you look at the way the 2716 EPROM is addressed, you'll see that it is only active on the data bus for 1/2 of the time that the 2732 EPROM would be. So, there would be a 1/2 of the SEL signal from the address decoder where the bus would be undriven. I call this floating. When I look at your video, I can see the 2716 driving 1's and 0's for about 1/2 of a SEL time. I can see a float ( undriven ) for the other half. Where I expect to see the next D9 EPROM on your screen, I see yet another float. After the width of the SEL for D9, I expect to see things after address 0. The 6502 expects RAM to start at 0. I do in fact see what looks to be randomish data there but no data were I should see D9 driving data.
    So, back to the math. 0.131072 seconds is a full address sweep, we calculated above. The address decoder splits that up into 16 time segments. 0.131072 / 16 is 0.008192 seconds. That is the time for each SEL from the address decoder. Since you are at 5 ms/div I simply divide 0.031072 by 0.005 that give me 1.6384 divisions ( it is always good to do unit math to make sure we end up with the right result. seconds / ( second / divisions ) = divisions. Something a physics teacher taught me in high school )
    That means that the select for the 2716 plus the floating time should be at about 1.6 divisions. As I recall, the video shows it at 1.2 divisions. I can only assume your scope has about 0.2 divisions of delay to start the trace. ( Most Techtronix scopes feed the signal through a delay line to compensate for trigger delay. ) So, after the 1.4 divisions of our 2716 and some float, I see about 1.6 divisions of float, right where I expect to see D9 data!
    It is missing!
    Things you need to know. 65536 is 2 to the power of 16, often call 64K. 0.001 seconds is 1 ms. 0.000001 second is one micro second ( often written as 1 us in ascii ).
    When you go back to check things, remember that I said the fault could also be D9, even though the SEL-F signal ohms out correctly the chip may not be putting it out. I do suggest you check every thing as an active operating signal with the NOP in place. You should then be able to see where things are failing. Also when probing the EPROM at D9, don't press the probe too hard on the pin. Often a bad socket will look to work fine when pressed but fail as soon as you remove the pressure.
    Good hunting.
    Dwight

  6. #76

    Default

    Thanks, Dwight. This clears things up a lot! Step by step i get a better understanding of this old machine. And also the other people following this thread.
    I think we get closer to the failure mode. I cant wait to follow up with my measurements. I am glad that recording a Video of the old scope screen is helpful. I should note that it is a slow motion video - otherwise it is even more difficult to follow.

  7. #77

    Default

    Quote Originally Posted by miata View Post
    Thanks, Dwight. This clears things up a lot! Step by step i get a better understanding of this old machine. And also the other people following this thread.
    I think we get closer to the failure mode. I cant wait to follow up with my measurements. I am glad that recording a Video of the old scope screen is helpful. I should note that it is a slow motion video - otherwise it is even more difficult to follow.
    I'd stop the video at different times and one could see parts of the waveform. By looking at different times, I could piece the entire wave form together. I'm not sure how the camera you are using works but it might take a longer exposure if you turn the room lights off and shoot with only the scope sweeping. Many cameras will take a longer exposure. Still, the video as shown was useful. Since it was only a few seconds long, I was able to stop it with fractional second positions. If it had been longer, I'd not been able to do that as easily. If it had been shorter, it would have lacked having several sweeps and not been able to get all the pieces it together. Different sweeps showed different parts of the sweep.
    Dwight

  8. #78

    Default

    So, i did another measurement today. I put the CH1 (Trigger at D8-20) on the Top of the Screen and CH2 (D9-20) on the bottom. As i already stated i did not get a sweep at all when the Scope is set to microseconds. I used the 5ms/div again. You were right at around 1,6 1,7 div the SEL-E goes high and in the same time the SEL-F goes low. SEL-F stays there for another 1,6-1,7 div and goes back high. I guess thats what we expected?

    Please note, the total sweep is around 11,6 div long (10 div on the visible screen plus 1,6 div when scrolling right to the end of the sweep) which means ca. 58ms, so ca. half the cycle lenght you calculated.
    Here is the Video:
    https://youtu.be/sJNqYfPkPSs

    I did a closer look to D9-20 with other settings (CH2 only on the screen, 0,5 V/div). After the signal goes high there are 2 lines with slightly different voltages visible. Is that the burst of square waves we are creating with that modified D8 EPROM ?
    Here is the Video:
    https://youtu.be/aBF5ocezmgE


    scope_D8-20 trigger_D9-20.jpg

  9. #79

    Default

    First to your question about the 2 lines late in the sweep. No, it is not from the D8 EPROM. It is only active on the first part of the sweep it is turned off by the signal on D8 20. When a TTL signal goes high, above the driving voltage, it is like a float, unlike when it is pulled to zero. The signal is like the earlier display when you saw the funny spikes on the high parts of the signal. Like I said, this is normal noise for TTL signals. Anything, and I mean anything, above 2.5V is a solid high or 1. It may have some noise and other things but that is typical TTL.
    What we saw in the earlier scope shot, the widely spaced signal right at the start was the square waves of the D8 EPROM. Later signals, about the center of the sweep, with the spiky high parts, was the random values of the RAM.
    What we want to see is what the data lines look like on D9. We can see it is getting the select where we expect it.
    Show a video of a data line on D9 so we have the thing we are looking for. Also make the video shorter. When it was only 5 seconds long, I was able to stop it better. Did you try making a video with the room lights dimmer?
    I'm curious about how the adapter connects pin 18 and pin 20. Are they just tied together with the same signal?
    Dwight

  10. #80

    Default

    Yes, pin 18 and 20 are connected straight together inside the 2732 to 2332 adapter. I did check all Adapters with my Multimeter.

    Thanks again for the clarification about the TTL chip behaviour. I will measure the data line tommorow. Unfortunately i needed to move away the Computer, Scope and my Tools since we got a guest today. We got a sunny day therefore I could not dimm the light so much. Too many big windows in our hobby room! Maybe I need to use another room in our flat. I am missing a hobby basement or garage!

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •