It is true that the 68K bus is asynchronous by design, and it is also true that there are many successful asynchronous designs for the ST. Despite that I would never use an asynchronous design. I think it is an obsolete idea that made sense back in the day, among other things because there was no other choice. Modern tools and modern components, like virtually any FPGA, are based and designed for a rigorous synchronous design.Badwolf wrote: 24 Jul 2024 15:15 With the exception of the ACIAs I think (which run at 1/10th the anyway), every bus cycle on the CPU is asynchronous by design. Bus arbitration even more so.
That doesn't mean that an asynchronous design won't work. But sometimes it will not, and you might have a very hard time trying to figure out what the problem is. E.g., it is very difficult to perform a good timing analysis for an asynchronous design.
I can't elaborate on your specific case however, just a small comment. The 68K has a synchronizer chain at the input of most control signals, including of course BR & BGACK. This is what allows bus arbitration to operate asynchronously reliably. But the ST chipset has NOT. Nor GLUE (or STE MCU) neither Blitter has any synchronization chain on any signal. Some control signals are not synchronized at all.
Be aware that GLUE and BLITTER don't follow the bus arbitration specs very strictly.But, wait a moment! I was just re-reading the 68k manual page for bus arb timing and realised I'd completely forgotten that BG can be asserted mid cycle and the requestor waits for the end of the cycle to assert BGK.
Any signal that arrives late to the CPU (as could happen when working asynchronously), including not only BR, but also DTACK, might take an extra cycle to be detected by a slower CPU. But there is nothing specific to CMOS vs NMOS, just faster vs slower.exxos wrote: 24 Jul 2024 15:25 If you want to investigate deeper , I suggest you look at BR and how fast the CPU reacts to it. IIRC , the NMOS CPU can take a clock cycle longer over the HC CPU.

