gr.text_base must be updated 30fps in your Fs->draw_it() callback.  You probably 
want GrPrint() or just Print().  The DolDoc code takes care of plotting text to 
gr.text_base.

Bits 0-7        8-Bit ASCII Scrn Code
Bits 8-11       Foreground color
Bits 12-15      Background color
Bits 16-20      Signed X pos shift val
Bits 21-25      Signed Y pos shift val
Bit  28         Blink
Bit  29         Inverted (Swap foreground and background)
Bit  30         Sel (XOR colors with FF)
Bit  31         Underline

GrUpdateTaskWin() calls DocUpdateTaskDocs() which calls DocRecalc() where the 
document text is plotted into gr.text_base.  Then, GrUpdateTextBG() and 
GrUpdateTextFG() render the gr.text_base onto gr.dc2, a raw graphic bitmap.

See ::/Demo/Games/Maze.HC.