Alynna wrote:These clocks are based on the 14.31818mhz crystal driving the main clock of every Amiga (x2 for the main clock, x8 for the SDRAM clock)
It absolutely doesn't matter if 14.31818 or 14.34375 like it was. The only matter is relation between SDRAM and this clock. It's the same in both cases.
So, probably you already know this has no relation to stability. The first stable build you got is just a lucky draw of exactly current source code.
Change something - and you may get unstable build
The main source of instability, is multiple clocks. Although SDRAM is 4x of 28MHz clock, in terms of clock networks these 2 clocks are not in sync. Each clock travels on its own clock network and get different delays on different places of FPGA. Quartus tries to guess on which places these clocks should match, but it's not always obvious. Hence we have metastability when different builds behave differently.
Even though you may think that current build is stable, the instability can hide in some places you didn't check yet. Some games may have garbage on screen or don't run at all.
The "cheaper" solution is to use a single clock 114MHz. Use clock enable for 28MHz, so everything will be on the same clock network. Of course code must be revised to make sure these is no use of falling edge of 28MHz clock or other tricks working on clock and not working on clock enable. Another problem may arise is how the whole project will work on 114MHz clock.