Thanks for the feedback guys, sorry I haven't replied sooner but I don't have the internet at home at the moment!
This is a fail to me because I had to keep scaling back my plans! Initially I was going for a remake of the Atari ST game, "Better dead than alien" but it just needed way too many sprites! Then I thought I'd be able to get away with 12 bad guys, 18 enemy bullets and the player sprite with 4 bullets but even this was too much at 50fps! If I dropped the frame rate to 25fps then I could probably get a bit closer to this... The code is mostly unrolled and I prepare all my sprite data so each sprite is a contiguous chunk with it's mask interlaced. I'd be happy to show the blitting code if anyone is interested, it was a gift from Chris and is surely as quick as it gets! I save time with the collision by not checking every row and I use the stack pointer for drawing wherever possible. I'm not sure what bobbing is, but you are right it is not a real scroll. I pre-draw 8 screens to make a full screen animation and then use the 8kb at the end of each screen to hold the mask data. As for the difficulty, the trick is to learn the first few waves so you can power up to double shot power as quickly as possible, then it gets a bit too easy... Thanks again! Rob.