I am actually not familiar with emphatic, but I did write the Hijack Linux kernel extensions.

I think the ioctl sequence to write the display is something like this:
EMPEG_HIJACK_WAIT_FOR_PLAYER
EMPEG_HIJACK_TAKEOVER // give the display to userland
...
EMPEG_HIJACK_DISPCLEAR // clear the userland display (maybe not needed)
...
EMPEG_HIJACK_DISPTEXT // write text to the display, hijack does the font.
EMPEG_HIJACK_DISPWRITE // write complete display contents (2048 bytes)
...
The actual receiving end of those ioctls is in hijack/arch/arm/special/hijack.c
Cheers