The 6809 CPU core, cpu09.vhd, has been used as the basis of a CoCo3 and in a <a href="http://www.edcheung.com/album/album07/Pinball/wpc_sound.htm"> Williams Pinball Controller .</a>
The Williams Pinball Controller fails when the FIRQ is enabled. I have written test software that exercises FIRQ and it appears to work fine for my code. The solution for the pinball controller was to set the Entire flag in the FIRQ microcode. The Entire flag causes all the processor registers to be stack on an interrupt. I have no idea why this should be necessary. Further investigation is needed. It could always be a timing issue as cpu09.vhd is not cycle accurate and is roughly 15% faster, cycle for cycle than the original 6809.