Sorry about the color/poor resolution. I updated the expansion schematics (above). The pin 36 of the 65C02 is also BE (its not specified in the package file I used). I only show the part that has been connected on my breadboard. The 65C02 clk2(in) runs at the same phase as the clk2 output on the Vic-20. Eventually I will run it on a separate clock to get it faster, but for now its ok to get it running at the 1MHz from the internal Vic-20 clock.
I am not accessing the 6522 or anything else in the Vic-20, its only NMOS6502-> expansion port communication that is used. If neither of the BLK1/2/3/5, RAM1/2/3 or IO2/3 lines are low, nothing happends in my expansion since it won't open the 74LS245N buffers I have on the address/data bus. So effectively the 6522 is isolated from the expansion port when its accessed (its in memory area IO1). I also run a test for crosstalk and there is little of that on the Vic-20 side at least.
My primary suspect at this time is the transition between NMOS6502 and 65C02. It takes 40ns for the 245 buffers to go tristate and it takes 30ns for the 65C02 bus to go tristate. That is maximum delay. If they don't do this at the same time, you may get bus collision for some nanoseconds and that has been seen to give
bus problems before (with the 65C816 that uses both phases for memory access).
I will test the timing thing quite soon since I just recieved a 16ch logic analyzer (just need to find the time to set it up).
Update:
I tested the breadboard and as I suspected the BE goes high a little early. E.g. it tells the 65C02 to enable bus about 10-20ns before the 6502 data lines switches off. Now, the logic analyser doesn't show much of the actual signal execpt a 10-20 ns variation in the databus. Is this normal or is it due to a conflict? I don't really know yet.
When I run the 6502 (Vic-20) it drives BE high and accesses memory correctly. I then reset the 65C02 and trigger its reset-vectors so that it starts doing something. I am not sure it is doing what its supposed to, but the 6502 side continues to function for some milliseconds. Then it gets bus garbage and folds up.