![]() |
|
Модераторы: bsa |
![]()
|
|
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
Помогите мне пожалуйста. Есть такая проблема, на субноутбуке с разрешением 1024х600 не получается выставить видеорежим 800х600 (103h по стандарту VESA).
Работаю в среде Турбо Си версии 2.01. Попытка выставить режим осуществлялась следующим кодом: #include<stdio.h> #include<dos.h> unsigned char far * Mem_SVGA = (unsigned char far *) 0xA0000000; int main(){ union REGS in_r, out_r; in_r.x.ax=0x4F02; in_r.a.bx=0x103h; int86(0x10, &in_r, &out_r); /* ставим пиксель (100,100) */ *(Mem_SVGA+800*100+100)=1; getch(); } Дело в том, что код рабочий и режим выставляет, пиксель на экране ставит. но! Если я в момент выполнения прграммы переключаюсь на другое окно винды (Alt+Tab) появляется чёрный экран и всё виснет..... далее синий экран смерти и перезагрузка. Такой же эффект после завершения программы и выход в среду турбо Си - если я из турбо си пробую выйти после работы проги или переключить окно... Уж не знаю что и делать!!! Ведь в выходных регистрах AH = 0 и AL = 4F то есть это признак того что данный режим 103h поддерживается. Причём этот код прекрасно работает на обычных ноутбуках с разрешением 1024 на 768 а на субноутбуках никак (тестировалось на ASUS EEE и LENOVO s10)... Вот. какие у кого мысли? |
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 2 Всего: 9 |
Проблема явно с виндой. Ну не должны обычные программы(пусть даже криво написанные) ее до такого доводить) Как вариант, глюкавые драйвера видеокарты/чего-либо другого. В любом случае, из советов можно придумать разве что обновить драйвера/ не переключаться больше по alt-tab Ну или попробовать запустить эту прогу изпод DosBOXа, возможно в режиме полной эмуляции. |
|||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
Поясню ещё раз. С драйверами всё ок, прога тестировалась на двух разных ноутбуках (Асус и Леново). Можно и не переключать Альт+Таб, прога просто после закрытия экзешника вешает комп...
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
на синем экране указывается причина, повлекшая такую ситуацию.
напишите ее сюда. |
|||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
А как мне её зафиксировать? Синий экран на секундочку появляется и сразу перезагрузка...
|
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
Нужно залесть в свойства Компьютера и там где-то можно автоперезагрузку убрать.
*ушел писать троян* |
|||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
так) убрала) Там ещё галочка была: записать событие в системный журнал! Возможно где-то в журнале есть данные об ошибке?
|
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 2 Всего: 9 |
Ну, то что с драйверами все ок, вы знать никак не можете - они могут вполне нормально работать на обычных режимах, но рухнуть, при доступе к ним через DOS функции. Причем, так как драйвера работают на низком уровне, они рушат за собой и систему. Другие возможные причины "синего экрана" - это баг виндов и плохие модули ОЗУ/перегрев микросхем. Первое наврядли, так как происходило бы на обоих компьютерах(и вообще, долго такие баги в исходниках не задерживаются, даже у микрософт), второе тоже, так как было бы невоспроизводимо. И попробуй запустить через DosBOX. Это эмулятор апаратного и программного окружения DOS, в крайнем случае рухнет только он. |
|||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
Так так! Вот спасибо господину Kallikanzarid! Автоперезагрузки теперь нет! И вот какая ошибка написана, я постараюсь всё слово в слово переписать с экрана)
A problem has been detected and Windows has been shut down to prevent damage to your computer. If this is the first time you've seen this stop error screen, restart your computer. If this screen appears again, follow these steps: Check to be shure you have adequate disk space. If a driver is identified in the Stop message, disable the driver or check with the manufacturer for driver updates. Try changing video adapters. Check with your hardware vendor for any BIOS updates. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode. Technical information: *** STOP: 0x0000008E (0x80000004, 0x806ECAE1, 0xA9B0C6B0, 0x00000000) Beginning dump of physical memory Phisical memory dump complete. Contact your system administrator or technical support group for further assistance. |
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 2 Всего: 9 |
Добавлено через 1 минуту и 25 секунд http |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
Спасибо за ссылки! Но там нету моей проблемы... У меня система XP SP3 Home Edition
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
В данном случае это почти не важно. Попробуй обновить видео драйверы. |
|||
|
||||
| MMMAsha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 5.2.2009 Репутация: нет Всего: нет |
на сайте леново нашла видеодрайвер, но он той же версии что шёл вместе с ноутом... Попробовала поставить - естественно нет результатов...
Я тут подумала, а вот когда я включаю режим 800 на 600 в свойствах экрана он же нормально работает, без глюков... почему тогда принудительно выставленный режим лагает. Ох, что же делать, господа! я в отчаянии.. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
MMMAsha, зайди на сайт производителя видеочипа и скачай оттуда.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |