Theory of operation
The A3000 flicker fixer consists of two parts. The scan doubler which converts the 15kHz video signal to 31kHz, and the flicker fixer that converts interlaced Amiga screen modes to progressive 31kHz ones. So the flicker fixer is essentially only active in interlaced screen modes. What it does is store each field (1/2 interlaced frame) in field memories (OKI 514221) that delays the field for a certain amount of time. There is one chip for each 4 color bits (R,G,B – U471,U472,U473). One chip can hold exactly one field of digital video. Then line buffers are used (uPD42101C) that output one line at a time. Amber controls that each line is output twice – once the original, then once the delayed line – so to form a non-interlaced progressive screen.
If you have no output at all on the VGA connector in either mode (switch up: 15kHz, switch down: 31kHz) it means the scandoubler is not working (duh!). The frequencies used by the scandoubler are generated by the U481 NE564 PLL (Phase locked loop) circuit. It’s supposed to generate a 14MHz and a 28MHz clock synced to the video/color clock. It’s very likely that one or more clocks are missing due to battery corrosion and broken traces or VIAs. U477 buffers most clocks and is close to the battery so often needs replacement. Check all traces to and from it. Also check that the _VC1 clock is present at pin 6 of U481, without it it cannot lock to the video clock and horizontal lines are not stable, as shown in this picture:
The horizontal lines will not be stable and jitter left and right, symptom of no locked loop.
If you have no picture at all and hsync looks like this on scope:
then there’s no lock and calibration is out of whack.
PLL clock re-adjustment procedure
- Make sure that VC470 is corrosion free and moves freely. If green corrosion is present: clean with clear vinegar, then a little contact spray to make it go smooth, then clean PROPERLY with isopropyl alcohol (preferably spray can) and dry thoroughly with compressed air.
- Hook up an oscilloscope to pin 2 and 3 of J483 (test point). Both clocks are adjusted simultaneously with VC470, I prefer to use the 14MHz clock for adjusting.
- Put J482 in OPEN (2-3) position
- Get a plastic, isolated capacitor adjustment tool. Without this it’s very difficult since touching the cap with metal changes it’s value.
- Adjust VC470 until you have approx. 14.1878MHz. It does not have to be exact, +/- 0.1MHz is good enough.
- Put J482 in CLOSED LOOP and voila, you should have working scandoubler output!
- Optionally adjust VR470 for horizontal phase. It depends on the monitor you use.
This is a picture of what the 14MHz clock should look like. Note this is measured in closed loop mode so it’s exactly 14.1878MHz.
This is a picture of what the 28MHz clock should look like. Note this is measured in closed loop mode so it’s exactly 28.3755MHz.
If you need to replace the NE564 solder it directly to the board, it’s sensitive so a socket is not recommended.
As stated before, the flicker fixer operates only if the Amiga outputs interlaced mode. I test this with the demo 9 Fingers by Spaceballs since it runs ok on 030 and is all in interlaced mode and has a static end picture. If the picture in interlaced mode is all messed up on the VGA output, you can set the scandouble only jumper (see pic above) to test that the scandoubler is working OK.
The flicker fixer can have many problems. Dead traces and or VIAs, and broken field memories or line buffers. The OKI field memories are sensitive and die a lot (of the recent 2 3000d boards I worked on, 5 out of the 6 chips were bad!). The typical failure mode of those are: delay timing wrong, so you see shifted colors on screen, and generating spurious pixels when they are not supposed to. Like in this example picture:
Measuring the field memories
Fist of all: make sure all clock signals to them are present! Corrosion can easily take out a via. Each OKI has 6 clock inputs. They are all always active. Then they have data INPUT and data OUTPUT pins, 4 bits. Put them up on your scope and verify that the input waveforms look the same as output waveforms. Sometimes some color bits aren’t used on a screen, then these inputs are LOW. If the corresponding output pins are sending pulses, there’s the cause for your spurious pixels (it shouldn’t do that).
Measuring the line buffers
Same as the memories, make sure all clock signals are present. Each buffer has 4 clock inputs and like the OKIs they have separate data INPUT and OUTPUT pins, and they should be the same. If the IC has activity on input pins but not on output it is broken and should be replaced. This manifests itself as missing colors on the screen. There are separate buffers for delayed and nondelayed lines, so you can have for example blue missing on each odd line. Or in other cases where some bits are working and some not you can have parts of colors missing.
Also U480 generates some clocks for the line buffers, and it’s close to the battery. If you need to replace the 74ALS74 you can also use a 74F74 and probably an LS since it only generates 50Hz from 14MHz.
In any case it doesn’t hurt to desolder and socket the three OKI chips if flicker fixer issues since they fail so often. It will also assist with troubleshooting since you can swap them around and see colors going good or bad.
In this case the RED and GREEN chips needed replacement.
And it works again! Perfect stable image.
Confirmed good source for OKI field memories: https://www.utsource.net/itm/p/1352376.html
Confirmed good source for NEC line buffers: https://www.utsource.net/itm/p/389954.html
I hope this helps someone else out there!