![]() |
|
![]() ![]() ![]() |
|
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
я знаю что видео карта через свои порты возвращает обратный ход луча,
вот я думаю а нельзяли с помощь этого сигнала определить включин ли монитор или нет. Подскажите. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Ха ! Думаю, что вряд ли: питание моника - это напряжение на конденсаторах лучевой, а видеокарта рулит лучом безо всякой связи с этим напрчяжением...
Хотя мысль интересная ! -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
Да но видео карта от куда принимает сигнал обратного хода, когда нет питания на лучевой - не должно быть и этого сигнала. Так что видать мне придется заняться долгими экспириментами.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
В книге нашел вот чего, правда это под ДОС, но я думаю переделать можно:
void WaitVert() { _asm { mov AX, 0h mov ES, AX mov DX, ES:[463h] add DL, 6 in AL, DX test AL, 8 jz wait_on wait_off: in AL, DX test AL, 8 jnz wait_off wait_on: in AL, DX test AL, 8 jz wait_on ; здесь операции, которые надо делать во время обратного хода луча } } поидее, когда нет обратного хода значит нет и питания и эта функции никогда не отработает если нет обр. хода, т.е. можно засечь время и посмотреть если в течение получаса ![]() Работать это скорее всего не будет т.к. монитор сам настраивается под синхроимпульсы видеокарты и карта не знает есть ли вообще монитор. ![]() -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
ARTi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.1.2003 Репутация: нет Всего: нет |
cully
все это конечно хорошо и даже почти верно (в книжке описан общий случай), но оно действительно не будет работать. Дело в том, что синхроимпульс посылается самой видяхой монитору, а никак не наоборот! Поэтому обратный ход луча должен быть в любом случае, независимо от того, включен монитор или выключен. Такова логика работы. В VGA-регистрах CRT-контроллера есть даже такие, как начало/конец обратного хода луча по горизонтали/вертикали. А почти любая видяха становится VGA-совместимой, если переключиться в видеорежим 12h/13h. Сейчас вспомнил подтверждение этого факта. Мой эмуль делает нестандартный видеорежим ~50 Гц. Раньше, когда настройка CRT делалась криво, монитору это не нравилось и он постоянно перенастраивался на видеорежим. У меня даже спец. кнопка была - F12 ;) для переинициализации видеорежима, иначе монитор мог полчаса показывать черный экран. А еще раньше и этой кнопки не было, я просто выключал/включал монитор. Такое вот зло... Ну и вот, поскольку там почти все завязано именно на обратный ход луча (прерывания Speccy 50 Гц и все такое), то в момент выключения монитора, по вашей "гипотезе", должно было бы наблюдаться торможение или вообще подвисание эмуля/эмулируемой проги (проигрывание музона, например), чего на самом деле не происходит. Так что, дорогой step, отвечая на твой вопрос, скажу: нет, по обратному ходу луча невозможно определить, включен монитор или нет. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |