Aha, actually the small bitmaps were caused by not writing both the high and low half word when the pixel transfer mmio range is written to.