I think you`ve just confirmed the way I thought I`d have to do it - but I was rather hoping there was a way a mask could be combined in the blitting operation itself (like it was on the Amiga for instance)

The problem comes when I would need to mask dynamic stuff from the screen (as opposed to a static image I could easily make a mask from)

Therefore, this leads to a new question: how to make an alpha channel from an existing image? I'll have to check what happens when an e.g. 16bit image is drawn into a 2bit surface