Я думаю fn04 можно расширить
http://wiki.kolibrios.org/wiki/SysFn04/ruCode:
esi = для A=0 длина строки, для A=1 игнорируется
таких длинных строк не бывает, поэтому esi можно дополнить:
При этом совместимость сохраняется.
Code:
esi = Для A=0:
0xAABBBBBB, где
AA = разрядность буфера:
XRRYYYYYb
X - если = 1, использовать перенос строки и возврат каретки CR LF
RR - резерв
YYYYY - разрядность буфера:
00000 - 32 бит (по умолчанию)
10000 - 24 бит
BBBBBB - длинна строки.
Это позволило бы выводить несколько строк и указать размерность буфера