Модификация текстового режима
Каким образом в DOS'e можно установить текстовый режим к примеру 80x30 или 80x50? Поиск в источниках особых результатов не дал: в книге Зубкова есть пример модификации текстовго режима 80x25 в 80х30, но алгоритм подобного преобразования практически не описан.
Модифицируешь регистры видеоконтроллера (есть таблицы значений регистров для каждого видеорежима) и некоторые переменные BIOS. Конкретно нужно модифицировать MOR и регистры CRT. Я активно использую режим 80x30, но не 80x50, т.к. там уж слишком маленький размер знакоместа (символьной матрицы). Но сейчас у меня под рукой нет исходников. В учебнике Зубкова как раз описывается перенастройка видеорежима на 80x30. Кстати 80x50 имеет практически те же самые параметры, что и 80x25, вот только высота символов у него в два раза меньше. За это отвечает один единственный регистр CRT, правда, нужно будет перезагрузить еще и новый шрифт, а то будут видны только верхние половины символов.
2. Загружаешь созданный фонт в знакогенератор и сообщаешь видеоконтроллеру высоту символов.
3. Можно увеличить число строк растра с 400 до 480, но это не очень хорошо - уменьшится также частота обновления экрана с 70 до 60 Гц, а это - мерцание.
4. Записать в область данных BIOS высоту экрана в текстовых строках. Если у тебя высота символа 12 и количество строк растра ты увеличил до 480, то это будет 480/12=40 текстовых строк.
Спасибо за помощь. Режим удалось сменить)