This could be done with a single VT100 escape: print multi-line junk, move the cursor back, print less junky junk, repeat.
(Even with some optimization: for any line that is not changing any more, just emit a CR-LF).
You don't even need to put the TTY into raw mode; no termios calls needed, and \n is your CR-LF.