@Bombus

Библиотека реализующая вывод по VT100 для DOS?

Захотелось с контроллера (ICP DAS, операционка DOS) получить удобную отладочную консоль. К примеру, подключаемся с помощью терминальной программы через COM или Ethernet порт и консолька в верхней строке выводит информацию по свободной памяти, количество задач, еще какие данные, а ниже обычный отладочный вывод. Далекое подобие команды top. Т.е. можно уйти от мельтешения строк при обновлении информации, что мне кажется очень удобным.
Обычно для этих целей используют ncurses, но он под Linux. Мне не понятна ситуация с совместимостью с DOS. Какие предполагаю сложности:
1) terminfo (отсутствует в DOS)
2) зависимость от библиотек (*.h), которые используются только под Linux
3) таймеры (есть ли различие для С++ программиста или код получается кроссплатформенным)
Возможно какие-то проблемы надуманы и вызваны недостатком опыта.
С другой стороны, есть кроссплатформенный аналог - pdcurses. Для каждой ОС реализуется свой вариант библиотеки, а дальше необходимый вариант выбирается include'ом. Но под DOS там нет речи про управляющие последовательности (VT100), т.к. пишется напрямую в видеобуфер, что конечно не вариант.
Есть ли библиотеки позволяющие реализовать интерфейс через VT100 под DOS/Windows?
И правильно ли я понимаю, что ncurses выводит в stdout и для вывода на удаленное устройство нужно перенаправить выходной поток?
  • Вопрос задан
  • 455 просмотров
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg
Любые ответы на любые вопросы
Интересно, как вы из принципиально однозадачного DOS, в котором многозадачность реализуется жесточайшими костылями на прерываниях, будете получать количество задач.

Учтите, что раз это станок - DOS работает на нем в режиме почти реального времени - любая дополнительная программа может нарушить это хрупкое равновесие и все пойдет прахом.

Диагноз - блажь / не удовлетворить.
Ответ написан
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Вообще-то termcap была портирована под DOS, кажется вместе с Emacs. Но я не о том, установите MSDOS-Kermit. В нем есть и поддержка VT100, и не только - www.columbia.edu/kermit

Да, также он есть в виде библиотеки, которую можно применить в своих программах.
Также, в свое время, была очень популярна библиотека TurboVision https://ru.wikipedia.org/wiki/Turbo_Vision - это как замена curses для DOS.

Соответственно kermit + turbovision можно заменить всё что угодно.
PS. Я один такой некромант?

Ну а для многозадачности установите полуось вместо дос...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы