![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Andreyq |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.1.2005 Репутация: нет Всего: нет |
Всем привет!
Я много раз натыкался на темы с описанием svga и vesa но никак не могу соеденить их с мышью! Вернее могу но не так как хотелось бы void initmouse(void)//Initialize mouse { asm{ mov ax,0x01 int 0x033 } } В этой функции мышь инициалезировалась и выводилась на экран но в сочетании с вышеперечисленными драйверами такой способ не действует. Вылетает из ТС сразу же! Короче надо переписать код так чтоб эта функция (initmouse) работала. void setsvga ( int ); void display256( ); void set_pixel64 ( int, int, unsigned char ); void main( ) { clrscr(); display256(); } void display256() { int y1; setsvga ( 0x107 ); for(int x1=0;x1<300;x1++) for(y1=0;y1<480;y1++) set_pixel64(x1*2+1,y1,y1); for(x1=256*2.3;x1>0;x1-=2)//тут можно помутить for(y1=0;y1<480;y1++) set_pixel64(x1,y1,x1/2); getch(); initmouse(); <<<<<<без этой строки всё ок getch(); setsvga ( 0x003 );//нормальный TEXT MODE } void setsvga ( int m ) { union REGS i, o; i.x.ax = 0x4f02; i.x.bx = m; int86 ( 16, &i, &o ); } void set_vesa_seg ( int bank_number ) { union REGS i, o; i.x.ax = 0x4F05; i.x.bx = 0; i.x.dx = bank_number; int86 ( 16, &i, &o ); } void set_pixel64 ( int x, int y, unsigned char color ) { unsigned short curr_vesa_seg = 0xffff; unsigned short vesa_seg,vesa_offset; unsigned long seg_size = (0xffff) + 1L; unsigned long offset; offset = ( ( unsigned long ) y * ( unsigned long ) 640 + ( unsigned long ) x ); vesa_seg = offset / seg_size; vesa_offset = offset % seg_size; if ( vesa_seg != curr_vesa_seg ) { set_vesa_seg ( vesa_seg ); curr_vesa_seg = vesa_seg; } pokeb ( 0xA000, ( unsigned ) vesa_offset, color ); } ....а может мне вообще в асм раздел надо было.... Короче SOS |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |