I've spent days trying to work out why Inmos TDS3 compresses all its output onto one line on RISC OS. Turns out it's a TDS bug!
If TDS hadn't been open-sourced I'd never have found it.
If the GOTO X/Y definition in the ITERM (termcap) file ends with a X or Y coordinate substitution, its offset parameter will be sent as a literal byte instead of the coordinate!
The workaround is to end the definition with at least one literal character, e.g. a null.