ioctl(fd,_IO('d',0));

should do the screen format conversion to the hoopy hardware memory layout for the screen. Your mmap'ed image is pretty standard left to right, top to bottom, 4bpp layout.

Screen on & off (and amp on/off, they're controlled by the same high-side-driver):

ioctl(fd,_IOW('d',1, int), state);
where 'state' is 1 or 0.

There are other calls used to deal with the screen buffering (you can buffer screens to lock them with the audio DMA) but this sort of stuff really needs proper documentation (ie, we're a bit busy at the mo!)

Hugo