I think (I'll look at the code tonight), but I'm first creating 3 (or 2 for paged) video bitmaps to cover the screen bitmaps, then I'm creating the smaller bitmaps from the memory bitmaps.
Thomas, was my code right or should I be doing it the way Synaps Jump recommended, as I can't see anything wrong with my code.
I should say, that when I'm getting errors with the video/system bitmaps seemingly looking at the wrong bitmap (though memory bitmaps work), only happens when I'm using sub-bitmaps of video or system bitmaps.
I can let you see my code if you wish, but it's spread over a couple of files
One final nail in my video/system bitmap is when I try and delete my surface bitmap, e.g. destroy_bitmap(page) it crashes with a pointer error, but I've checked and I haven't got the screen locked for drawing and just a few seconds before this my game loop was showing the video pages fine.
Now, another problem I'm having that I noticed on a very simple example that just used textprintf_ex() was there was lots of white noise in blocks over my screen when I use video bitmaps for the surface. I'm simply using the code as shown in the allegro help file.