Graphic errors / instability with Indivision AGA MK3

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • So it looks like maybe there's some temperature-related stuff going on?

    Absolutely! However, this is in the Amiga chipset, not Indivision AGA MK3. The tricky part is data-takeover from RAM into Lisa. There's a pull-up resistor on the DRAM-A0 line of every AGA chipset, which might be worth looking at. Further, the Vbb capacitor of Alice could use some adding - I normally put an extra 10µF ceramic cap on it. C2X is on the bottom side of the A1200, so it's quire a tedious job to add that.

  • Thank you, I'll look into that!

    Removing the bottom shield from the board used to be a pain in the rear, but since I found that one of my screw driver bit sets has a fitting female hex bit, it's not that bad anymore.

  • Yep, 5mm hex nut with a small outer dia is hard to come by in Europe. I have one that I made smaller on the outside on a lathe, so I don't damage the adjacent DB shell.

  • There's a pull-up resistor on the DRAM-A0 line of every AGA chipset, which might be worth looking at.


    Do you mean R151* ?
    I checked R151A-J and all are present and 68 Ohm.


    Some more observations about my 2B board:

    It looks like some prior owner has removed XR358. (Is this the one that the Indivision AGA MK3 can optionally add?) Commodore's schematics say this should be a 470 Ohm resistor; some forum posts suggest that 1k might be better, though. ( https://www.a1k.org/forum/inde…hreads/39474/#post-656938 )


    I had removed E123C and E125C when I recapped the board, since it is generally suggested to do so. But today I found a forum post by you that suggests that putting one of these back in might be a good idea: https://www.a1k.org/forum/inde…23088/page-85#post-423129


    So, the current status is:

    R151A-J: all present; 68 Ohm

    E121R: 27 Ohm

    E121C:-

    E122R: 27 Ohm

    E122C: -

    E123R: 27 Ohm

    E123C:-

    E125R: 27 Ohm

    E125C: -

    XR358: -

    C2X: 0.33 µF


    The current plan is:
    - Add 10µF in parallel to C2X

    - Add XR358 with 1k

    Should I also do something about E12*C ?

  • Do you mean R151* ?

    No, the pull-up resistor on DRA0 is XR358, which should be loaded with 470R. WIthout it, you'll have gfx errors in double-cas modes.


    It looks like some prior owner has removed XR358. (Is this the one that the Indivision AGA MK3 can optionally add?)

    No, Indivision AGA MK3 can only add a pull-up resistor on CCK or the 28MHz pixel clock.


    My old forum posts from 2011 you've found on a1k.org (I used to be active as "Paradroid" there) where I played around with E123C and E125C can safely be ignored. That was back when I had the ACA1230 with fully-sync clocking "just out" and still had to learn a lot about Gayle and it's various flavours of crashing. There is a CPLD update for the ACA1230 that takes it to the compatibility/stability level of the ACA1233n, and you can generally go by the recommendation to remove E123C and E125C.

    The current plan is:
    - Add 10µF in parallel to C2X

    - Add XR358 with 1k

    Make that 470R for XR358.

    Should I also do something about E12*C ?

    No, please leave them empty. They hardly affect graphics stability. Your problem is probably solely caused by XR358 missing.

  • No, the pull-up resistor on DRA0 is XR358.

    Huh, are you sure about that?

    amigapcb.org claims that XR358 is connected to CCK, which is consistent with the schematic I found on amigawiki.org:



    As far as I can see, the only resistor directly connected to DRA_0 is R151J, which is not a pullup, though.

    Am I missing something?

    Revised plan:

    - Replace XR358 with 470R

    - Wait for 1206 ceramic 10µF to arrive in the mail

  • Huh, are you sure about that?

    Not any more, no :-)


    I should have the schematics at hand when writing something like this. I'd expect the 470R pullup on CCK will also work, but may make the computer crash if you activate another 1k pullup on the MK3.


    The pullup resistor on DRA0 has often been applied on the not-assembled part of the clock port, and that was with a wires resistor. You might want to take a closer look at the "left" part of the clock port, not just the area around Alice where the bodge-resistor is also located on many boards.

  • Well, this keeps being interesting.

    I added a 1k Pullup to DRA0 als you suggested.


    before:


    after:


    Not sure if this is an improvement; the signal looked more square-y before, but the amplitude might have been a bit low. This seems to be the case with the other address lines, too, though.


    Unfortunately, I didn't measure CCK before putting the 470R on, but this is how it looks afterwards:


    Not that good, is it? Is it supposed to look like this?


    The difference with the added pullup from MK3 is visible but small:


    With pullup+cap from MK3:


    turning on the capacitance still crashes the system, even though the signal does not really look worse to me.


    Now I'm curious; I think I'll temporarily remove the 470R again, to see how the signal looks without it.

  • I added a 1k Pullup to DRA0 als you suggested.

    ...but did not report the one interesting thing: Are the GFX glitches gone?


    Not that good, is it? Is it supposed to look like this?

    CCK is not a nice signal in any Amiga, that's right. However, the bad over/undershoot that you're showing here rings the "probe adjustment bad" or maybe "GND connection bad"-bell.


    Your scope has a square wave output that you can use to adjust the probe - turn the little potentiometer of the probe until you see a true square wave - that's the first thing anyone MUST do on a new scope. Only after that you will be able to get meaningful data from any reading. Look for "Probe comp"- that's what the output is labelled on Agilent scopes.

  • ...but did not report the one interesting thing: Are the GFX glitches gone?

    Unfortunately not. Bear in mind though, that the additional 10µF on C2X is still missing.

    The behaviour changed a bit, though. On startup, glitches are present with or without the additional pullup of the MK3, but without it they are a bit worse. Capacitance crashes the system.

    After the system has been on for a while, the glitches seem to be completely gone when the additional pullup is off. Enabling it introduces a slight glitching again. (Before adding the 470R it was the other way around.)
    Turning on the capacitance now does not crash the system anymore, but apparently shifts the whole picture one pixel to the left! I have a hunch that this might be a bad thing. Is someone (Lisa?) recognizing the clock signal too early or too late in one of the two cases?

    Enabling the capacitance now also reduces (but not completely eliminates) the glitches that appear when the additional pullup is on, but that might be less relevant than the pixel-shifting thing.


    CCK is not a nice signal in any Amiga, that's right. However, the bad over/undershoot that you're showing here rings the "probe adjustment bad" or maybe "GND connection bad"-bell.


    Your scope has a square wave output that you can use to adjust the probe - turn the little potentiometer of the probe until you see a true square wave - that's the first thing anyone MUST do on a new scope. Only after that you will be able to get meaningful data from any reading. Look for "Probe comp"- that's what the output is labelled on Agilent scopes.

    Good point - I had not checked this in a while. Using the calibration squarewave of the scope, the probe does look fine, in 1x as well as in 10x mode, but this is at a vastly different time scale. At 100ns scale, I can barely make out the gradient in the signal. :-/

     


    Well, it's a rather cheap scope (the popular Rigol DS1054Z). So I guess maybe the calibration is worthless for higher frequencies? I don't know. As you can see, I'm just making my first steps into the analog world behind the comfy digital one. I also learned just now that 10x mode gives you a higher bandwidth compared to 1x mode. (That didn't change that much about the signals though.)


    Btw, thank you for taking the time to help me debug this!

  • After a bit of experimenting, I seem to have found the best configuration possible with this board.

    I added the extra 10µF to C2X but removed the pullups from XR358 and DRA0* again. Now I still get glitches, but they are not as frequent and not bad as before. With the MK3's pullup and capacitance disabled, the system is stable until Alice hits approx. 50°C. After that, a little bit of glitching appears. Turning on the pullup fixes this, but keeping it on will cause glitching when Alice is cold. So I think I have two options left to try:

    1. With a bit of luck, a heatsink for Alice will allow me to keep the MK3's pullup off at all time.

    2. If that fails, it should not be too difficult to build a little circuit that measures Alice's temperature and turns on a pullup on CCK when it gets too warm. (Maybe I could just use a thermistor as pullup if I find one with a suitable characterisic? This feels wrong, but it might just work. Maybe worth a try.)


    * can someone explain to me why it would make sense to add a pullup to only one of the address lines?

  • * can someone explain to me why it would make sense to add a pullup to only one of the address lines?

    If you have a burst access or in case of the Amiga a dual-cas access, multiple sequential accesses happen within the same machine cycle. For these accesses the A0 changes twice as fast compared to the other address lines. Maybe Commodore engineers decided it could do with a little help because either it is too slow at double the frequency or it has some under/overshoot that is suppressed by the pull-up. My guess is on the "get it faster" reason as often digital pins can pull to ground more strongly compared to driving high. And so a pull-up helps with shortening the rise time (A0 need to rise for the second half of a dual-cas access).

  • Hi,

    Apologies for inserting myself into your conversation but please may I ask a question? I have the same as you're seeing on my 1D4 machine, when trying to use dblpal/higfx etc. modes (I think I previously mentioned it in a different thread), and I've stumbled across this on Aminet...


    http://aminet.net/package/docs/hard/flickerfix


    I thought it sounded unlikely but since it was easy to check by just changing the palette in Workbench, I tried it... and it does seem to fix the flickering issue for me completely (changing the palette, not shorting the resistor). I literally just change the white colour in the Workbench palette to be 254, 254, 254, and the flickering stops. I am not sure if the hardware change also mentioned in the link is a good solution, or even if shorting the resistor E127R would be safe to try, so I would appreciate knowing what you guys think, you know a lot more than me about it than I do.

    Thanks in advance! :)

  • I would appreciate knowing what you guys think, you know a lot more than me about it than I do.

    This appears to be a Lisa-internal thing; if all output bits go to "1", the drivers appear to draw more current than the poor little bonding wire can provide. This may be different for different versions of the Lisa chip, but more than "an educated guess", as today's rule of thumb is that a third of the pins of a modern chip is for power supply. Lisa only has six power pins (3x Vcc, 3x GND). By more modern standards, it should be 28 pins, so it's easy to imagine how a power-related issue can cause the chip to fail in corner cases.

  • If you have a burst access or in case of the Amiga a dual-cas access, multiple sequential accesses happen within the same machine cycle. For these accesses the A0 changes twice as fast compared to the other address lines. Maybe Commodore engineers decided it could do with a little help because either it is too slow at double the frequency or it has some under/overshoot that is suppressed by the pull-up. My guess is on the "get it faster" reason as often digital pins can pull to ground more strongly compared to driving high. And so a pull-up helps with shortening the rise time (A0 need to rise for the second half of a dual-cas access).

    I see, that makes sense. Thank you!


    I am not sure if the hardware change also mentioned in the link is a good solution, or even if shorting the resistor E127R would be safe to try, so I would appreciate knowing what you guys think, you know a lot more than me about it than I do.

    What would that accomplish? Turn off the low-pass filter on CCK?

    If so, I think it would not damage anything, but seeing that CCK is already a rather dirty signal, it might introduce more instability if you're unlucky. Please don't take my word for it though - I'm a total noob at this. I'd like to hear the experts' opinion, too. :-)

  • or even if shorting the resistor E127R would be safe to try

    You won't damage anything if that's what you're worried about. I'd prefer to try a ferrite bead in this position, as the original design with E127R and E127C intended to make this a filter for higher frequencies. The resistance may cause trouble with the rise/fall time, so reducing it's resistance may be worth a try, but since you still want to maintain the "block high frequencies"-property, a ferrite bead is the better part to try. Go for the standard 56 Ohms @100MHz as a first shot in the dark.

  • Thanks very much, that's good to know.

    I'll order some smd ferrite beads to give it a try, and let you know if it helps for my machine. I know it's unlikely but I think it's worth a shot. :)

  • I believe I have solved the problem for me now.


    I tried the palette-trick that nuttie suggested, but that did not change anything. Also, E137R already was a ferrite bead on my board, so I left that unchanged (didn't try to short it, though). So my problem seems to have had a different cause.


    I added a heatsink to Alice, but that did not seem to have much impact - but it probably can't hurt either, so I left it on there.


    Now for the bit that really helped:

    Since I had trouble with enabled pullup on a cold system and without pullup when it had been on for a while, I tried to use a weaker pullup, hoping to find a compromise that would work in both situations. And - to my surprise, tbh - this seems to do the trick.

    My current configuration on the 2B board is:

    ==> XR358: 10k <==

    MK3's pullup/capacitance: always off

    C2X: 33nF+10µF


    I have not been able to reproduce the graphics glitches since. Yay! \o/

  • Congrats on fixing it! :)


    Your 2B board already having a ferrite bead on it where I am going to try one on my 1D4, gives me a bit hope that might help too (I'm still waiting for the ferrite beads to arrive in the post)!