Wait se comprueba en el flanco de bajada de T2. Me preocupa que el CPC genere el wait precisamente en el flanco de subida y nos lo perdamos. Cuando Wait (Ready en el CPC) no está a 1, los datos de la ram no pasan al bus de datos (supongo que cuando Ready=0, RomEN será siempre 1 también, y los de la rom tampoco pasarán).
Si marcamos el trap, también deberíamos borrarlo cuando no toque.
Por cierto, ese !wait tiene que ser "wait"
Edit: he reutilizado parte de tu propuesta poniendo un "detector de waits" en otro process con falling edge de clk. Creo que funcionará.
Gracias por el aporte