gr.text_base must be updated 60fps 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 Screen 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.CC.