|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.04.2008, 20:12 | #1 |
Пользователь
Регистрация: 08.04.2008
Сообщений: 10
|
видео режимы
Какой существует видео режим кроме прерывания биос 10h?
|
08.04.2008, 21:25 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Прерывание - это не видеорежим.
Видеорежим устанавливается вызовом прерывания int 10h, 00 VESA (ассоциация) ввела стандарт на видеорежимы Super VGA Standart (какой-то номер) и, соответственно, в BIOS реализована поддержка вызовами того-же int 10h, 4Fh Может переформулируете вопрос ? |
08.04.2008, 21:42 | #3 |
Пользователь
Регистрация: 08.04.2008
Сообщений: 10
|
хм...ладно, какие еще есть видеосервисы кроме предоставляемых bios?
|
08.04.2008, 22:22 | #4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
в DOS никаких.
|
09.04.2008, 20:09 | #5 |
Пользователь
Регистрация: 08.04.2008
Сообщений: 10
|
я как понимаю видео сервис int 10h медленный, логически должен быть как-нибудь быстрый?
|
09.04.2008, 21:02 | #6 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Для смены режимов/активной страницы возможно прямое обращение к портам видеоконтроллера. Но это вряд ли будет быстрее, чем реализовано в int 10h Что-то мы ходим кругами вокруг да около. Никак не пойму, что же такое вы хотите реализовать в DOS. |
|
09.04.2008, 21:09 | #7 |
Пользователь
Регистрация: 08.04.2008
Сообщений: 10
|
Из уст преподователя: реализовать вывод линии используя два разных графических режима.
|
09.04.2008, 21:20 | #8 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
По-моему можно не задумываться о смене страниц. Просто установить режим и вывести линию прямой записью в видеопамять.
Для вывода линии можно использовать алгоритм Bresengham'а. Примеры думаю несложно будет найти. А два режима, наверное, для того, чтобы продемонстрировать ваше понимание работы видеопамяти. Можно взять самый простой режим - один байт на пиксел. Второй режим - что-то посложнее. Для вычисления координат точек придется применять сдвиги. В любом случае предварительно лучше почитать книгу о видеоадаптерах. |
09.04.2008, 21:28 | #9 |
Пользователь
Регистрация: 08.04.2008
Сообщений: 10
|
первый алгоритм я реализовал... я полагаю это использование 0ch int 10h в цикле, а второй...мне сказали использовать int 10h, но как?
|
09.04.2008, 21:38 | #10 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Второй вариант - прямая запись в видеопамять. int 10 здесь можно задействовать разве что для получения информации о текущем режиме. Дальше об этом режиме нужно прочитать все, что только можно. А сам вывод будет делаться очень просто: По координатам точки вычисляем смещение пиксела в видеостраницы mov SI, [смещение] mov DS, [базовый адрес видеостраницы - обычно A000h] mov [DS:SI], <цвет символа> Поищите --- Григорьев "Видеосистемы ПК" там есть с примерами Последний раз редактировалось alexBlack; 09.04.2008 в 21:45. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Видео | sf911 | Помощь студентам | 6 | 05.06.2008 22:54 |
видео | sf911 | Свободное общение | 1 | 05.06.2008 19:55 |
Видео | Stanislav | Свободное общение | 0 | 17.11.2007 14:29 |
видео и dat файлы | bill | Свободное общение | 9 | 22.10.2007 12:17 |