Other than what I already mentioned not really no..
What I found a few months ago with my new STE booster tests, was that speeding up (I think) BGACK, so the CPU switches to 32MHz helped. It seemed to be more at the end of the cycle where the problem occurs. I think the CPU has a lot of "internal messing about" at the end of of BG cycle, which may or not be related.Anyway, I meant what I was demo'ing in that video. There's evidence the problem isn't coming *out* of bus relinquishment as stacking delays on the end of a cycle don't have any effect, whereas putting the brakes on the second BR asserts (could be mid-cycle) does improve things.
I did document this on the forum *somewhere* as well. But ultimately while that trick did help, I found it not be ultimately reliable..
Yes been through all this for years :lol: :pullhair: :stars: :crazy:To me that says the mystery lies at the *start* of the bus arb cycle. But got knows what it could be.
I suggest you get it stable on the STFM first really as things are easier timing wise. The STE is "next level chaos".
Problem with the STE is it doesn't like the 8MHz being out of sync either as you can trigger DMA issues yet again.. That is what I fixed on my STE booster recently.. The 2.2K bus pullups and HC CPU help as it changes the DMA timings by up to about 22ns, so you can "afford" to have a 8MHz clock delay in theory up to that amount.
However, while the pullups and HC CPU there to solve DMA issues.. And when you have a PLD/GAL etc, you can add delays by like 10ns.. then 3ns for the schmitt trigger.. another 3ns to smooth the CPU clock.. You basically end up at square one again...
Again this is why I developed this new board.. viewtopic.php?p=116390#p116390 to counteract the delays of the buffers and GAL. On the flipside, if you removed the 2.2K bus pullups, you "lose" about 10ns and your screwed again.
@terriblefire's clock switching code is a verilog genius really in solving the clock sync issues. While I don't fully follow what he did, I think the gist is basically running the 8MHz clock via a shift register clocked with the 100mhz clock. This way, you can advance or retard the internal CPU clock timing based on what point you pick off the shift registers outputs. So the more delays you have on the 8MHz clock logic, you just tap off a earlier shift register output and the CPU 8MHz ends up in perfect sync with the system 8Mhz (or damned close!) .


