Ограничение размеров отображаемой части экрана

Kernel-side graphics support
  • А когда внешний монитор подключен, как это всё работает?
    Шindoшs, я так понимаю, определяет разрешение по тому, что выдает матрица, так?
  • У Шиндовс специальный драйвер, без него она плющит. В драйвере 2 варианта - либо плющить, либо проматывать режим 800*600. Ну и разумеется виртуально созданный режим 800*480 тоже присутствует.

    Внешний монитор может иметь те разрешения которые он поддерживает, с поправкой на те что есть в списке режимов Vesa. Если режим не совместимый с Flat panel, то она отключается, а изображение на мониторе остается, однако это требует манипуляций с настройками BIOS.

    Если же подразумевались последствия функции на внешнем мониторе, то он будет отображать режим 800*600, но на нижние 80 линий не будет выводиться изображение после вызова функции. Я это уже описывал очень подробно в теме, ссылку на которую я дал в первом посте. Впрочем никто ведь не заставляет использовать функцию и программу - с настройками по умолчанию она будет делать НИЧЕГО. :)
  • Кстати даже особо делать ничего не надо - в ядре уже есть весь нужный функционал (в kernel.asm процедура set_screen), но используется он только драйверами. Остается добавить новый системный вызов и все.
  • SVN r.2654 - установить пределы отрисовки.
    Описание читать в документационной части исходников ядра.

    Программа будет несколько позднее.
  • SVN r.2656 - приложение CROPFLAT для установки пределов отрисовки.
    Пример запуска с параметрами:

    Code: Select all

    CROPFLAT XS800 YS480
    Я решил сократить синтаксис, по сравнению с первоначально предложенным.
  • SVN r.2657 - CROPFLAT добавлен в ночные сборки и AUTORUN.DAT, в заремленном состоянии. Т.е. по факту он не загружается при старте и если возникнет потребность можно отредактировать AUTORUN.DAT в своей скачанной ночной сборке, с правильными параметрами.
  • Для тех кто вдруг все еще не понял, объясняю наглядно что сделано.
    Снимки делались с экрана RoverBook U800, так что качество не фонтан.

    Режим 640*480 - не сильно напрягаясь можно заметить, что изображение растянуто.
    Spoiler:
    640_480.JPG
    640_480.JPG (70.19 KiB)
    Viewed 8240 times
    Режим 800*600 - не сильно напрягаясь можно заметить, что изображение уходит за пределы экрана.
    Spoiler:
    800_600.JPG
    800_600.JPG (57.21 KiB)
    Viewed 8240 times
    Теперь запуск системы с добавленной в AUTORUN.DAT программой CROPFLAT и нужными параметрами. В синем загрузочном экране, как и в предыдущем случае, выбран режим 800*600.
    Spoiler:
    800_480.JPG
    800_480.JPG (64.61 KiB)
    Viewed 8240 times
    Если вы пользуетесь стандартными дисплеями, или эмуляторами (Qemu, Boch, VirtualBox, VMware и т.д.), или у вас работает какой либо драйвер видеокарты, сделанный для Колибри и позволяющий выбирать видеорежимы - вам эта программа не нужна.
  • Who is online

    Users browsing this forum: No registered users and 4 guests