I have added a temporary AVR that simulates the VIC-20 SyncMem programming sequence.
This saves my VIC from any accidental wiring mishaps, and from hours of running idle.
I know 25MHz is pushing the limits in a big way, so I used messy and overly long wires.
Huh??... yeah, if it works like this, it will certainly work when I clean it up!
Logical thinking? Seems to work for me.
Here is the Sync memory connected to the counters, and temporary AVR...

Sync Generator Wired for testing.
There is no Video Memory yet, so I just wired the Color DAC to X Address bit 0.
The result is an alternating vertical stripe with a thickness of one pixel.
This is great for trying the monitor auto adjust function, which worked perfectly.
If timing is out (even by one pixel), auto adjust will blur out a large portion of the screen.
This blur effect is the pixel phase trying to stretch pixels, which is not a good thing to have.
The lines look perfectly crisp, so timing is exact to the 640 x 480 spec...

640x480 VGA Timing at 60 Hz.
A quick probe on the Horizontal Sync signal shows it at the correct frequency...

Horizontal Sync Frequency tested.
Since I am now on a roll, I decoded to connect one bank of Video Memory.
One bank equals a pair of 512K SRAMs wired as 512K x 16 Bits.
Each bank has its own set of XY counters made of four 74HC590 counters.
This configuration is required to keep propagation and capacitance low.
I will explain how this works later.
Here is one bank of Video Memory wired to a its XY counters...

One Video Memory Buffer wired for testing
Here is the result... 307,200 random pixels in 4096 wonderful colors...

307,200 random pixels from the SRAM.
Once again, I just threw the wiring together like spaghetti.
Even with this mess, the entire board is working perfectly at 25Mhz.
There are no glitches in the video, even if I push the wiring together in bundles.
This "bundle test" is my hi-tech way of adding capacitance to see if I am close to the edge.
Crunching up wires causes cross-talk, and will add a few ns of delay to the signals.
This time, I am safe, so I know the board will be fine once I shorten and clean the wiring.
The final non-breadboard version will be guaranteed to work perfectly as well.
What a mess!...

One Video Memory Buffer wired for testing.
Since I have the rest of the day free, I am going to try to put an image into the Video Memory.
Again, I will add another AVR to stuff the memory just for testing purposes.
I don't plan on adding the VIC back to the board until all wiring is clean and tested.
My VIC-20 is too important to risk during this messy testing phase!
So far I am victorious against captain propagation and the capacitance gang.
I now scoff at all those experts that claim a breadboard can't run beyond a few megahertz!
... OK, seriously, I know I am pushing it.
Hope my luck holds up, there are a LOT more ICs to add very soon.
Cheers,
Radical Brad