#IDCMP
This message turned up in search, but its forum couldn’t be identified from the original transcript, so it may not be linked into its thread.
Mike, I agree with Charlie. Both the code samples you showed have one level
too many of indirection. You should write
move.l im_Class(a1),d1
then start testing the bits in d1.
The IDCMP does indeed set *all* the flags you have requested in your initial
window structure at once, in each and every message.
The "btst" command will test any of 32 bits when acting a data register, as
you did in the second code fragment you posted. The modulo of 8 applies
applies only when you test at a location in memory.