Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Grafhics+mouse 
:(
    Опции темы
Andreyq
Дата 25.1.2005, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.1.2005

Репутация: нет
Всего: нет



Vsem privet!

Pomogite plz.

Est' vot takoq kod

void main( )
{
clrscr(); //4istit screen v c

union REGS i, o; //
i.x.ax = 0x4f02; //
i.x.bx = 0x101; //vkly4aet 640x480 256colors
int86 ( 16, &i, &o ); //

getch(); //zdet nazatiya knopki (lyboq)

asm{ //
mov ax,0x01 //vkly4aet mouse
int 0x033 //
}
}

Problema v tom 4to u menya eto ne rabotaet no ya ne znay po4imu.
Mozet kto nibud' perepisat' etot kod tak 4tob on zarabotal?
PM MAIL   Вверх
oleg1973
Дата 25.1.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



драйвер мыши стоит?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Akina
Дата 25.1.2005, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Что не работает? Установка графического режима? проверяй что возвращается в регистрах после int86 (должно быть AL=4Fh и AH=0). Включение курсора мыша? перед int 33h функцией 1 вызови функцию 0 и проверь как минимум наличие и работоспособность драйвера.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
oleg1973
Дата 25.1.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



а с каких пор у нас vesa через int86 режимы стала переключать? smile



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 25.1.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



vesa 3 описание
очнь редкий документ smile раздают тока девелоперам

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  vbe3.pdf


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Andreyq
Дата 27.1.2005, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.1.2005

Репутация: нет
Всего: нет



Если честно то я не сильно в ассемблере рублю.
Если просто в графическом виде (EGA/VGA) написать:

asm{
mov ax,0x01
int 0x033
}

то включится мышь.

А вот когда я меняю драйвер на VESA или SVGA, начинаются проблемы.

На счёт VESA я уверен что это работает:
union REGS i, o;
i.x.ax = 0x4f02;
i.x.bx = 0x101;
int86 ( 16, &i, &o );

Но вот соеденить никак не могу графику и мышь.

Перепешите плз код так чтоб работал режим 640х480ч256цветов с мышью.
PM MAIL   Вверх
oleg1973
Дата 27.1.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



замени int86 на int10
и будет тебе счастье smile


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Guest
Дата 27.1.2005, 22:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











нету такого в Турбо С int10 - есть только int86 и int86х
  Вверх
oleg1973
Дата 28.1.2005, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



не могет такого быть
int10 ето прерывание биоса и отменить его ну никак не получится

Код

_asm
{
mov ax,4f02
mov bx,101
int10
}


должно переключить в режим 101 (640*480*256)
но там тебя ждет сюрпрайз,сегменты видеопамяти
так как 640*480=307200 байт, тоесть 300кб
а у нас сегментация в реальном режэиме 64к окно
300/64=4,6
тоесть твой экран будет поделен на 5 фрагментов
переключать которые можно через функ 4f05
тормоза буду это точно


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.