On 04/09/2014 21:14, markus@mubf.de wrote:
Err, yes. Sorry, I forgot and spoke too soon:
Ok, no trouble.
I have looked before into the TAS() macro, but didn't see anything suspicuous - frankly, I didn't know tas is behaving bad on the Firebee.
I discovered that while helping Olivier to port MyAES to the FireBee. It was the hard way: putting debug traces, test again and again, etc. So I remembered. The solution was to change TAS to BSET.B.
TAS is very special as it is the only instruction causing a read-modify-write cycle. I don't know precisely what that means, but it seems to be something very specific on the address and data bus.
For an unknown reason, it does not work as expected on the FireBee. I don't know exactly what is different, but any code using TAS on the FireBee behaves bad. Probably some hardware thing at the bus level. I was also surprised to find "never use TAS on Amiga" in Commodore hardware docs.
-- Vincent Rivière