That's not good. The voltages are okay. They will be a little lower than you would expect because they go via resistors.
If the ULA, the ROM and the Z80 CPU are okay, and there are no shorts on the address, control and data busses, even with no working RAM, the CPU should start executing the ROM code. One of the first things the ROM code does is set the border to white.
if there is no lower RAM, the ULA will make the best it can of whatever levels are detected on the data bus at the time it tries to fetch screen data. You will not get a static picture with flashing blocks.
Did you say you have tried swapping the ULA?
Mark