Preliminary solution to GFX corruption problem
I found a method to reliably reproduce the graphics corruption effect. It's an effect where the blitter gets the wrong data, thus copying the wrong data, or at least the wrong amount of data.
I had to place some insulating material on Alice to heat it up and keep it from radiating too much heat. With a cool Alice, or at least in free-floating air, it was hard to get the gfx corruption reliable, but with Alice in a cosy coat of styrofoam, I had reliable GFX corruption when moving windows around on the Workbench and when using the TGtest in AIBB.
At first I tried solving the problem on the digital side (within the CPLD of the accelerator), but failed due to it's high access speed to the chipset. As some of you like to call it, the ACA1230 is "maxing out" the AGA chipset, and to those of you who are a little more technical: my state machine relies on the chipset of catching the data on the falling edge of CPU_CLK right after DSACK has been detected active (low) on the previous rising edge. It's a matter of a few nanoseconds that Alice (and the blitter that's contained therein) is missing the data when hot.
I call the fix preliminary, because I have to wait until the whole system has cooled down and re-try. Note that Alice isn't the only one that's handling clocks - Budgie makes the largest part of that work, but Alice depends on those clocks, so I still need to verify that it works reliably on a cold start.
The board in question is a 1D.4. I can't tell if it's a Commodore or an Escom board. However, I have measured severe clock jitter especially during blitter operation. This 1D.4 board had no filters on the 14MHz CPU clock lines installed at all, but all my other boards have a filter combination assembled that is NOT seen in the schematics. The two 14MHz signals are ran through filter combos E121 and E122. Schematics say that it's 27R/22p combinations, but the faulty board has no caps installed - only the 27R resistors. During heavy blitter operation, the 14MHz clock (which is the basis for the whole accelerator timing) is jittering as much as 8ns, but it looks just fine with an idle workbench.
Remove resistors E121R and E122R and replace them with 0805 ferrite beads - something in the range of 60R@100MHz or more. The two parts are located on the top of the board, near the 28MHz oscillator (see first attached picture).
Next, assemble two 22pF capacitors (size 0805) in places E121C and E122C. These places were empty on the board in question, but need to be assembled with the parts mentioned in the A1200 schematics, and that's a 22pF capacitor. These two parts are located on the bottom of the mainboard, also near the 28MHz oscillator - see second attachment.
This will clean up the 14MHz clock "big time" and make it completely immune against blitter-induced noise. However, it's not fixing the whole problem. I found that when assembling E125C with a 22pF capacitor, but leaving E123C open, the machine is rock-solid, even with a heated-up Alice. With E125C removed, it's still showing some gfx corruption, but with the one part in place, the data-takeover into the AGA chipset is truly happening at the right moment, and the fast access of the ACA1230 doesn't cause trouble to the mainboard any more.
To give that final fix a face, I have taken a third picture of that filter group under Alice.
I found that some boards have a ferrite bead installed in E127R, and other boards have a 27R resistor installed there. This also makes a difference in chipset timing and may be another part that I have to look at if the board starts acting up again when cold. However, since I have boards working great with one or the other installed, it doesn't seem to make that much of a difference.
I'll let the board, accelerator and power supply cool down for a few hours now, and report back how it behaves when cold. If anyone of you with access to the required parts, tools and "bad boards" wants to give this a try, I'd be happy to hear your report(s).