Цитата Сообщение от Максагор Посмотреть сообщение
Тут уточняющий вопрос - под CP/M или под CP/M в АТМ? Потому что я не знаю о существовании стандартов поддержки вывода ЦВЕТА. Все мануалы в сети сообщают только о таких стандартных (подчеркиваю) ESC-последовательностях как позиционирование курсора, очистка, вставка удаление строк и подобное. А последовательностей типа "включить красный цвет фона символа" в описаниях стандарта VT52 я не нашел. В АТМ-версии CP/M такие последовательности есть, но они явно придуманы авторами локализации системы "с потолка". Вот для сравнения - данные по управляющим последовательностям экранного драйвера в АТМ CP/M:
http://atmturbo.nedopc.com/inf/bios_cpm.htm#91

Вот мануал по VT52 вообще:
http://zxpress.ru/article.php?id=7826 (там не только по VT52, так что надо пролистать). Или я чего-то не знаю и таковые стандарты есть?

Если же их нет, то написать универсальный "цветной" ANSI-вьювер под CP/M я не смогу. Только черно-белый - это пожалуйста. Надо?
Надо полнофункциональный.
И таки да - везде расширения по управлению цветом делались с потолка и они наверняка не будут совпадать с АТМ-овскими. (Кстати, от реализации к реализации VT52 и многие другие упр.коды могут не совпадать, например есть несколько версий управления "курсор домой", "включить курсор", "выключить курсор", инверсия, жирный и т.п. - 100% совпадаемость только у позиционирования курсора)

Просто надо сделать так: пиши как привычно под СP/М для ATM, но все ESC-последовательности храни как строки, причем с запасом, например длиной в 8 байт (мало ли у кого они какой длины, на Орионе например до 7 символов). Как то так (кстати, реальные для Ориона - если интересно см. к концу этого файла):

Код:
XYpos: db ESC, 'Y', Y20,X20, 0, 0, 0, 0
SetMode: db ESC, 'C', ColorMode, 0, 0, 0, 0, 0
SetColor: db ESC, 'P', Color, 0, 0, 0, 0, 0
CursOn:  db ESC, ':', 0, 0, 0, 0, 0, 0
CursOff:  db ESC, ';', 0, 0, 0, 0, 0, 0
Адреса этих строк описать, и каждый сможет их настроить под себя прямо в коде (а то и вообще инсталлятор сделать). Это общепринятая практика, сам я уже настраивал так несколько таких программ (да тот же pacman).

Цитата Сообщение от Максагор Посмотреть сообщение
ASCII - это просто текст с крупицей управляющих кодов типа "возврат каретки", "бэкспейс" и "табуляция" (ну и еще чуток таковых) и все. Данная утилита по дефолту может показывать обычный текст с такими кодами. Т.е. ANSI Viewer "может в ASCII графику". А ANSI - это дополнительный стандартизированный набор ESC-кодов, а конкретно вот:
https://ru.wikipedia.org/wiki/%D0%A3...%82%D0%B8_ANSI
И вот это вот и обрабатывает утилита...
Т.е. там не просто выводится текст(картинка текстом и псевдографикой) на экран, для чего достаточно переводов строк, но делается какая-то анимация (для чего уже нужны управляющие последовательности типа позиционирования)?