Я занимаюсь разработкой встроенных DOS с помощью OpenWatcom (отличный компилятор для Windows, предназначенный для 16-битных приложений DOS).Целевое оборудование имеет экран с символами 24x16 (который предположительно эмулирует CGA в некоторой степени), и я пытаюсь заставить окно CMD.EXE на моем компьютере с Windows 7 оставаться фиксированным 24x16 без каких-либо полос прокрутки.1002 * Я использовал оба свойства окна и MODE CON: COLS=24 LINES=16
, чтобы получить желаемый размер экрана, но как только мое приложение использует вызовы INT10 BIOS для очистки экрана, режим возвращается к 80x24.
Вот что я использую для очистки экрана:
void cls(void)
{
// Clear screen and reset cursor position to (0,0)
union REGS regs;
regs.w.cx = 0; // Upper left
regs.w.dx = 0x1018; // Lower right (of 16x24)
regs.h.bh = 7; // Blank lines attribute (white text on black)
regs.w.ax = 0x0600; // 06 = scroll up, AL=00 to clear
int86( 0x10, ®s, ®s );
}
Есть идеи?Я все еще могу проводить тестирование с разрешением 80x24 (или 80x25), но оно не совсем ведет себя как режим 24x16.